cdkmonitoringconstructs

package module
v0.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

README

CDK Monitoring Constructs

NPM version Maven Central PyPI version NuGet version Gitpod Ready-to-Code Mergify

Easy-to-use CDK constructs for monitoring your AWS infrastructure with Amazon CloudWatch.

  • Easily add commonly-used alarms using predefined properties
  • Generate concise CloudWatch dashboards that indicate your alarms
  • Extend the library with your own extensions or custom metrics
  • Consume the library in multiple supported languages

Installation

TypeScript

https://www.npmjs.com/package/cdk-monitoring-constructs

In your package.json:

{
  "dependencies": {
    "cdk-monitoring-constructs": "^7.0.0",

    // peer dependencies of cdk-monitoring-constructs
    "@aws-cdk/aws-redshift-alpha": "^2.112.0-alpha.0",
    "aws-cdk-lib": "^2.112.0",
    "constructs": "^10.0.5"

    // ...your other dependencies...
  }
}
Java

See https://mvnrepository.com/artifact/io.github.cdklabs/cdkmonitoringconstructs

Python

See https://pypi.org/project/cdk-monitoring-constructs/

C#

See https://www.nuget.org/packages/Cdklabs.CdkMonitoringConstructs/

Features

You can browse the documentation at https://constructs.dev/packages/cdk-monitoring-constructs/

Item Monitoring Alarms Notes
AWS API Gateway (REST API) (.monitorApiGateway()) TPS, latency, errors Latency, error count/rate, low/high TPS To see metrics, you have to enable Advanced Monitoring
AWS API Gateway V2 (HTTP API) (.monitorApiGatewayV2HttpApi()) TPS, latency, errors Latency, error count/rate, low/high TPS To see route level metrics, you have to enable Advanced Monitoring
AWS AppSync (GraphQL API) (.monitorAppSyncApi()) TPS, latency, errors Latency, error count/rate, low/high TPS
Amazon Aurora (.monitorAuroraCluster()) Query duration, connections, latency, CPU usage, Serverless Database Capacity Connections, Serverless Database Capacity and CPU usage
AWS Billing (.monitorBilling()) AWS account cost Total cost (anomaly) Requires enabling the Receive Billing Alerts option in AWS Console / Billing Preferences
AWS Certificate Manager (.monitorCertificate()) Certificate expiration Days until expiration
AWS CloudFront (.monitorCloudFrontDistribution()) TPS, traffic, latency, errors Error rate, low/high TPS
AWS CloudWatch Logs (.monitorLog()) Patterns present in the log group Minimum incoming logs
AWS CloudWatch Synthetics Canary (.monitorSyntheticsCanary()) Latency, error count/rate Error count/rate, latency
AWS CodeBuild (.monitorCodeBuildProject()) Build counts (total, successful, failed), failed rate, duration Failed build count/rate, duration
AWS DocumentDB (.monitorDocumentDbCluster()) CPU, throttling, read/write latency, transactions, cursors CPU
AWS DynamoDB (.monitorDynamoTable()) Read and write capacity provisioned / used Consumed capacity, throttling, latency, errors
AWS DynamoDB Global Secondary Index (.monitorDynamoTableGlobalSecondaryIndex()) Read and write capacity, indexing progress, throttled events
AWS EC2 (.monitorEC2Instances()) CPU, disk operations, network
AWS EC2 Auto Scaling Groups (.monitorAutoScalingGroup()) Group size, instance status
AWS ECS (.monitorFargateService(), .monitorEc2Service(), .monitorSimpleFargateService(), monitorSimpleEc2Service(), .monitorQueueProcessingFargateService(), .monitorQueueProcessingEc2Service()) System resources and task health Unhealthy task count, running tasks count, CPU/memory usage, and bytes processed by load balancer (if any) Use for ecs-patterns load balanced ec2/fargate constructs (NetworkLoadBalancedEc2Service, NetworkLoadBalancedFargateService, ApplicationLoadBalancedEc2Service, ApplicationLoadBalancedFargateService)
AWS ElastiCache (.monitorElastiCacheCluster()) CPU/memory usage, evictions and connections CPU, memory, items count
AWS Glue (.monitorGlueJob()) Traffic, job status, memory/CPU usage Failed/killed task count/rate
AWS Kinesis Data Analytics (.monitorKinesisDataAnalytics) Up/Downtime, CPU/memory usage, KPU usage, checkpoint metrics, and garbage collection metrics Downtime, full restart count
AWS Kinesis Data Stream (.monitorKinesisDataStream()) Put/Get/Incoming Record/s and Throttling Throttling, throughput, iterator max age
AWS Kinesis Firehose (.monitorKinesisFirehose()) Number of records, requests, latency, throttling Throttling
AWS Lambda (.monitorLambdaFunction()) Latency, errors, iterator max age Latency, errors, throttles, iterator max age Optional Lambda Insights metrics (opt-in) support
AWS Load Balancing (.monitorNetworkLoadBalancer(), .monitorFargateApplicationLoadBalancer(), .monitorFargateNetworkLoadBalancer(), .monitorEc2ApplicationLoadBalancer(), .monitorEc2NetworkLoadBalancer()) System resources and task health Unhealthy task count, running tasks count, (for Fargate/Ec2 apps) CPU/memory usage Use for FargateService or Ec2Service backed by a NetworkLoadBalancer or ApplicationLoadBalancer
AWS OpenSearch/Elasticsearch (.monitorOpenSearchCluster(), .monitorElasticsearchCluster()) Indexing and search latency, disk/memory/CPU usage Indexing and search latency, disk/memory/CPU usage, cluster status, KMS keys
AWS RDS (.monitorRdsCluster()) Query duration, connections, latency, disk/CPU usage Connections, disk and CPU usage
AWS Redshift (.monitorRedshiftCluster()) Query duration, connections, latency, disk/CPU usage Query duration, connections, disk and CPU usage
AWS S3 Bucket (.monitorS3Bucket()) Bucket size and number of objects
AWS SecretsManager (.monitorSecretsManager()) Max secret count, min secret sount, secret count change Min/max secret count or change in secret count
AWS SecretsManager Secret (.monitorSecretsManagerSecret()) Days since last rotation Days since last change or rotation
AWS SNS Topic (.monitorSnsTopic()) Message count, size, failed notifications Failed notifications, min/max published messages
AWS SQS Queue (.monitorSqsQueue(), .monitorSqsQueueWithDlq()) Message count, age, size Message count, age, DLQ incoming messages
AWS Step Functions (.monitorStepFunction(), .monitorStepFunctionActivity(), monitorStepFunctionLambdaIntegration(), .monitorStepFunctionServiceIntegration()) Execution count and breakdown per state Duration, failed, failed rate, aborted, throttled, timed out executions
AWS Web Application Firewall (.monitorWebApplicationFirewallAclV2()) Allowed/blocked requests Blocked requests count/rate
Custom metrics (.monitorCustom()) Addition of custom metrics into the dashboard (each group is a widget) Supports anomaly detection

Getting started

Create a facade

Important note: Please, do NOT import anything from the /dist/lib package. This is unsupported and might break any time.

  1. Create an instance of MonitoringFacade, which is the main entrypoint.
  2. Call methods on the facade like .monitorLambdaFunction() and chain them together to define your monitors. You can also use methods to add your own widgets, headers of various sizes, and more.

For examples of monitoring different resources, refer to the unit tests.

export interface MonitoringStackProps extends DeploymentStackProps {
  // ...
}

// This could be in the same stack as your resources, as a nested stack, or a separate stack as you see fit
export class MonitoringStack extends DeploymentStack {
  constructor(parent: App, name: string, props: MonitoringStackProps) {
    super(parent, name, props);

    const monitoring = new MonitoringFacade(this, "Monitoring", {
      // Defaults are provided for these, but they can be customized as desired
      metricFactoryDefaults: { ... },
      alarmFactoryDefaults: { ... },
      dashboardFactory: { ... },
    });

    // Monitor your resources
    monitoring
      .addLargeHeader("Storage")
      .monitorDynamoTable({ /* Monitor a DynamoDB table */ })
      .monitorDynamoTable({ /* and a different table */ })
      .monitorLambdaFunction({ /* and a Lambda function */ })
      .monitorCustom({ /* and some arbitrary metrics in CloudWatch */ })
      // ... etc.
  }
}
Customize actions

Alarms should have an action setup, otherwise they are not very useful. Currently, we support notifying an SNS topic.

const onAlarmTopic = new Topic(this, "AlarmTopic");

const monitoring = new MonitoringFacade(this, "Monitoring", {
  // ...other props
  alarmFactoryDefaults: {
    // ....other props
    action: new SnsAlarmActionStrategy({ onAlarmTopic }),
  },
});

You can override the default topic for any alarm like this:

monitoring
  .monitorSomething(something, {
    addSomeAlarm: {
      Warning: {
        // ...other props
        threshold: 42,
        actionOverride: new SnsAlarmActionStrategy({ onAlarmTopic }),
      }
    }
  });
Custom metrics

For simply adding some custom metrics, you can use .monitorCustom() and specify your own title and metric groups. Each metric group will be rendered as a single graph widget, and all widgets will be placed next to each other. All the widgets will have the same size, which is chosen based on the number of groups to maximize dashboard space usage.

Custom metric monitoring can be created for simple metrics, simple metrics with anomaly detection and search metrics. The first two also support alarming.

Below we are listing a couple of examples. Let us assume that there are three existing metric variables: m1, m2, m3. They can either be created by hand (new Metric({...})) or (preferably) by using metricFactory (that can be obtained from facade). The advantage of using the shared metricFactory is that you do not need to worry about period, etc.

// create metrics manually
const m1 = new Metric(/* ... */);
const metricFactory = monitoringFacade.createMetricFactory();

// create metrics using metric factory
const m1 = metricFactory.createMetric(/* ... */);
Example: metric with anomaly detection

In this case, only one metric is supported. Multiple metrics cannot be rendered with anomaly detection in a single widget due to a CloudWatch limitation.

monitorCustom({
  title: "Metric with anomaly detection",
  metrics: [
    {
      metric: m1,
      anomalyDetectionStandardDeviationToRender: 3
    }
  ]
})

Adding an alarm:

monitorCustom({
  title: "Metric with anomaly detection and alarm",
  metrics: [
    {
      metric: m1,
      alarmFriendlyName: "MetricWithAnomalyDetectionAlarm",
      anomalyDetectionStandardDeviationToRender: 3,
      addAlarmOnAnomaly: {
        Warning: {
          standardDeviationForAlarm: 4,
          alarmWhenAboveTheBand: true,
          alarmWhenBelowTheBand: true
        }
      }
    }
  ]
})
Example: search metrics
monitorCustom({
  title: "Metric search",
  metrics: [
    {
      searchQuery: "My.Prefix.",
      dimensionsMap: {
        FirstDimension: "FirstDimensionValue",
        // Allow any value for the given dimension (pardon the weird typing to satisfy DimensionsMap)
        SecondDimension: undefined as unknown as string
      }
      statistic: MetricStatistic.SUM,
    }
  ]
})

Search metrics do not support setting an alarm, which is a CloudWatch limitation.

Route53 Health Checks

Route53 has strict requirements as to which alarms are allowed to be referenced in Health Checks. You adjust the metric for an alarm sot hat it can be used in a Route53 Health Checks as follows:

monitoring
  .monitorSomething(something, {
    addSomeAlarm: {
      Warning: {
        // ...other props
        metricAdjuster: Route53HealthCheckMetricAdjuster.INSTANCE,
      }
    }
  });

This will ensure the alarm can be used on a Route53 Health Check or otherwise throw an Error indicating why the alarm can't be used. In order to easily find your Route53 Health Check alarms later on, you can apply a custom tag to them as follows:

import { CfnHealthCheck } from "aws-cdk-lib/aws-route53";

monitoring
  .monitorSomething(something, {
    addSomeAlarm: {
      Warning: {
        // ...other props
        customTags: ["route53-health-check"],
        metricAdjuster: Route53HealthCheckMetricAdjuster.INSTANCE,
      }
    }
  });

const alarms = monitoring.createdAlarmsWithTag("route53-health-check");

const healthChecks = alarms.map(({ alarm }) => {
  const id = getHealthCheckConstructId(alarm);

  return new CfnHealthCheck(scope, id, {
    healthCheckConfig: {
      // ...other props
      type: "CLOUDWATCH_METRIC",
      alarmIdentifier: {
        name: alarm.alarmName,
        region: alarm.stack.region,
      },
    },
  });
});
Custom monitoring segments

If you want even more flexibility, you can create your own segment.

This is a general procedure on how to do it:

  1. Extend the Monitoring class
  2. Override the widgets() method (and/or similar ones)
  3. Leverage the metric factory and alarm factory provided by the base class (you can create additional factories, if you will)
  4. Add all alarms to .addAlarm() so they are visible to the user and being placed on the alarm summary dashboard

Both of these monitoring base classes are dashboard segments, so you can add them to your monitoring by calling .addSegment() on the MonitoringFacade.

Modifying or omitting widgets from default dashboard segments

While the dashboard widgets defined in the library are meant to cover most use cases, they might not be what you're looking for.

To modify the widgets:

  1. Extend the appropriate Monitoring class (e.g., LambdaFunctionMonitoring for monitorLambdaFunction) and override the relevant methods (e.g., widgets):

    export class MyCustomizedLambdaFunctionMonitoring extends LambdaFunctionMonitoring {
      widgets(): IWidget[] {
        return [
          // Whatever widgets you want instead of what LambdaFunctionMonitoring has
        ];
      }
    }
    
  2. Use the facade's addSegment method with your custom class:

    declare const facade: MonitoringFacade;
    
    facade.addSegment(new MyCustomizedLambdaFunctionMonitoring(facade, {
      // Props for LambdaFunctionMonitoring
    }));
    
Custom dashboards

If you want even more flexibility, you can take complete control over dashboard generation by leveraging dynamic dashboarding features. This allows you to create an arbitrary number of dashboards while configuring each of them separately. You can do this in three simple steps:

  1. Create a dynamic dashboard factory
  2. Create IDynamicDashboardSegment implementations
  3. Add Dynamic Segments to your MonitoringFacade
Create a dynamic dashboard factory

The below code sample will generate two dashboards with the following names:

  • ExampleDashboards-HostedService
  • ExampleDashboards-Infrastructure
// create the dynamic dashboard factory.
const factory = new DynamicDashboardFactory(stack, "DynamicDashboards", {
  dashboardNamePrefix: "ExampleDashboards",
  dashboardConfigs: [
    // 'name' is the minimum required configuration
    { name: "HostedService" },
    // below is an example of additional dashboard-specific config options
    {
      name: "Infrastructure",
      range: Duration.hours(3),
      periodOverride: PeriodOverride.AUTO,
      renderingPreference: DashboardRenderingPreference.BITMAP_ONLY
    },
  ],
});
Create IDynamicDashboardSegment implementations

For each construct you want monitored, you will need to create an implementation of an IDynamicDashboardSegment. The following is a basic reference implementation as an example:

export enum DashboardTypes {
  HostedService = "HostedService",
  Infrastructure = "Infrastructure",
}

class ExampleSegment implements IDynamicDashboardSegment {
  widgetsForDashboard(name: string): IWidget[] {
    // this logic is what's responsible for allowing your dynamic segment to return
    // different widgets for different dashboards
    switch (name) {
      case DashboardTypes.HostedService:
        return [new TextWidget({ markdown: "This shows metrics for your service hosted on AWS Infrastructure" })];
      case DashboardTypes.Infrastructure:
        return [new TextWidget({ markdown: "This shows metrics for the AWS Infrastructure supporting your hosted service" })];
      default:
        throw new Error("Unexpected dashboard name!");
    }
  }
}
Add Dynamic Segments to MonitoringFacade

When you have instances of an IDynamicDashboardSegment to use, they can be added to your dashboard like this:

monitoring.addDynamicSegment(new ExampleSegment());

Now, this widget will be added to both dashboards and will show different content depending on the dashboard. Using the above example code, two dashboards will be generated with the following content:

  • Dashboard Name: "ExampleDashboards-HostedService"

    • Content: "This shows metrics for your service hosted on AWS Infrastructure"
  • Dashboard Name: "ExampleDashboards-Infrastructure"

    • Content: "This shows metrics for the AWS Infrastructure supporting your hosted service"
Monitoring scopes

You can monitor complete CDK construct scopes using an aspect. It will automatically discover all monitorable resources within the scope recursively and add them to your dashboard.

monitoring.monitorScope(stack, {
  // With optional configuration
  lambda: {
    props: {
      addLatencyP50Alarm: {
        Critical: { maxLatency: Duration.seconds(10) },
      },
    },
  },

  // Some resources that aren't dependent on nodes (e.g. general metrics across instances/account) may be included
  // by default, which can be explicitly disabled.
  billing: { enabled: false },
  ec2: { enabled: false },
  elasticCache: { enabled: false },
});

Contributing

See CONTRIBUTING for more information.

Security policy

See SECURITY for more information.

License

This project is licensed under the Apache-2.0 License.

Documentation

Overview

cdk-monitoring-constructs

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BitmapDashboard_IsConstruct

func BitmapDashboard_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func BitmapDashboard_IsOwnedResource

func BitmapDashboard_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func BitmapDashboard_IsResource

func BitmapDashboard_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func BitmapWidgetRenderingSupport_IsConstruct

func BitmapWidgetRenderingSupport_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func DashboardWithBitmapCopy_IsConstruct

func DashboardWithBitmapCopy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func DashboardWithBitmapCopy_IsOwnedResource

func DashboardWithBitmapCopy_IsOwnedResource(construct constructs.IConstruct) *bool

Returns true if the construct was created by CDK, and false otherwise. Experimental.

func DashboardWithBitmapCopy_IsResource

func DashboardWithBitmapCopy_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func DefaultDashboardFactory_IsConstruct

func DefaultDashboardFactory_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func DynamicDashboardFactory_IsConstruct

func DynamicDashboardFactory_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func MonitoringFacade_IsConstruct

func MonitoringFacade_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func MonitoringNamingStrategy_IsAlarmFriendly

func MonitoringNamingStrategy_IsAlarmFriendly(str *string) interface{}

Experimental.

func MonitoringScope_IsConstruct

func MonitoringScope_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func NewAgeAlarmFactory_Override

func NewAgeAlarmFactory_Override(a AgeAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewAlarmFactory_Override

func NewAlarmFactory_Override(a AlarmFactory, alarmScope constructs.Construct, props *AlarmFactoryProps)

Experimental.

func NewAlarmMatrixWidget_Override

func NewAlarmMatrixWidget_Override(a AlarmMatrixWidget, props *AlarmMatrixWidgetProps)

Experimental.

func NewAlarmNamingStrategy_Override

func NewAlarmNamingStrategy_Override(a AlarmNamingStrategy, globalPrefix *string, localPrefix *string, dedupeStringStrategy IAlarmDedupeStringProcessor)

Experimental.

func NewAlarmSummaryMatrixWidget_Override

func NewAlarmSummaryMatrixWidget_Override(a AlarmSummaryMatrixWidget, props *AlarmSummaryMatrixWidgetProps)

Experimental.

func NewAnomalyDetectingAlarmFactory_Override

func NewAnomalyDetectingAlarmFactory_Override(a AnomalyDetectingAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewAnomalyDetectionMathExpression_Override

func NewAnomalyDetectionMathExpression_Override(a AnomalyDetectionMathExpression, props *awscloudwatch.MathExpressionProps)

Experimental.

func NewApiGatewayMetricFactory_Override

func NewApiGatewayMetricFactory_Override(a ApiGatewayMetricFactory, metricFactory MetricFactory, props *ApiGatewayMetricFactoryProps)

Experimental.

func NewApiGatewayMonitoring_Override

func NewApiGatewayMonitoring_Override(a ApiGatewayMonitoring, scope MonitoringScope, props *ApiGatewayMonitoringProps)

Experimental.

func NewApiGatewayV2HttpApiMetricFactory_Override

func NewApiGatewayV2HttpApiMetricFactory_Override(a ApiGatewayV2HttpApiMetricFactory, metricFactory MetricFactory, props *ApiGatewayV2HttpApiMetricFactoryProps)

Experimental.

func NewApiGatewayV2HttpApiMonitoring_Override

func NewApiGatewayV2HttpApiMonitoring_Override(a ApiGatewayV2HttpApiMonitoring, scope MonitoringScope, props *ApiGatewayV2HttpApiMonitoringProps)

Experimental.

func NewAppSyncMetricFactory_Override

func NewAppSyncMetricFactory_Override(a AppSyncMetricFactory, metricFactory MetricFactory, props *AppSyncMetricFactoryProps)

Experimental.

func NewAppSyncMonitoring_Override

func NewAppSyncMonitoring_Override(a AppSyncMonitoring, scope MonitoringScope, props *AppSyncMonitoringProps)

Experimental.

func NewApplicationLoadBalancerMetricFactory_Override

func NewApplicationLoadBalancerMetricFactory_Override(a ApplicationLoadBalancerMetricFactory, metricFactory MetricFactory, props *ApplicationLoadBalancerMetricFactoryProps)

Experimental.

func NewAuroraAlarmFactory_Override

func NewAuroraAlarmFactory_Override(a AuroraAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewAuroraClusterMonitoring_Override

func NewAuroraClusterMonitoring_Override(a AuroraClusterMonitoring, scope MonitoringScope, props *AuroraClusterMonitoringProps)

Experimental.

func NewAutoScalingGroupMetricFactory_Override

func NewAutoScalingGroupMetricFactory_Override(a AutoScalingGroupMetricFactory, metricFactory MetricFactory, props *AutoScalingGroupMetricFactoryProps)

Experimental.

func NewAutoScalingGroupMonitoring_Override

func NewAutoScalingGroupMonitoring_Override(a AutoScalingGroupMonitoring, scope MonitoringScope, props *AutoScalingGroupMonitoringProps)

Experimental.

func NewAwsConsoleUrlFactory_Override

func NewAwsConsoleUrlFactory_Override(a AwsConsoleUrlFactory, props *AwsConsoleUrlFactoryProps)

Experimental.

func NewBaseServiceMetricFactory_Override

func NewBaseServiceMetricFactory_Override(b BaseServiceMetricFactory, metricFactory MetricFactory, props *BaseServiceMetricFactoryProps)

Experimental.

func NewBillingMetricFactory_Override

func NewBillingMetricFactory_Override(b BillingMetricFactory)

Experimental.

func NewBillingMonitoring_Override

func NewBillingMonitoring_Override(b BillingMonitoring, scope MonitoringScope, props *BillingMonitoringProps)

Experimental.

func NewBitmapDashboard_Override

func NewBitmapDashboard_Override(b BitmapDashboard, scope constructs.Construct, id *string, props *awscloudwatch.DashboardProps)

Experimental.

func NewBitmapWidgetRenderingSupport_Override

func NewBitmapWidgetRenderingSupport_Override(b BitmapWidgetRenderingSupport, scope constructs.Construct, id *string)

Experimental.

func NewCertificateManagerMetricFactory_Override

func NewCertificateManagerMetricFactory_Override(c CertificateManagerMetricFactory, metricFactory MetricFactory, props *CertificateManagerMetricFactoryProps)

Experimental.

func NewCertificateManagerMonitoring_Override

func NewCertificateManagerMonitoring_Override(c CertificateManagerMonitoring, scope MonitoringScope, props *CertificateManagerMonitoringProps)

Experimental.

func NewCloudFrontDistributionMetricFactory_Override

func NewCloudFrontDistributionMetricFactory_Override(c CloudFrontDistributionMetricFactory, metricFactory MetricFactory, props *CloudFrontDistributionMetricFactoryProps)

Experimental.

func NewCloudFrontDistributionMonitoring_Override

func NewCloudFrontDistributionMonitoring_Override(c CloudFrontDistributionMonitoring, scope MonitoringScope, props *CloudFrontDistributionMonitoringProps)

Experimental.

func NewCloudWatchLogsMetricFactory_Override

func NewCloudWatchLogsMetricFactory_Override(c CloudWatchLogsMetricFactory, metricFactory MetricFactory, props *CloudWatchLogsMetricFactoryProps)

Experimental.

func NewCodeBuildProjectMetricFactory_Override

func NewCodeBuildProjectMetricFactory_Override(c CodeBuildProjectMetricFactory, metricFactory MetricFactory, props *CodeBuildProjectMetricFactoryProps)

Experimental.

func NewCodeBuildProjectMonitoring_Override

func NewCodeBuildProjectMonitoring_Override(c CodeBuildProjectMonitoring, scope MonitoringScope, props *CodeBuildProjectMonitoringProps)

Experimental.

func NewCompositeMetricAdjuster_Override

func NewCompositeMetricAdjuster_Override(c CompositeMetricAdjuster, adjusters *[]IMetricAdjuster)

Experimental.

func NewConnectionAlarmFactory_Override

func NewConnectionAlarmFactory_Override(c ConnectionAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewCustomAlarmFactory_Override

func NewCustomAlarmFactory_Override(c CustomAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewCustomMonitoring_Override

func NewCustomMonitoring_Override(c CustomMonitoring, scope MonitoringScope, props *CustomMonitoringProps)

Experimental.

func NewCustomWidget_Override

func NewCustomWidget_Override(c CustomWidget, props *CustomWidgetProps)

Experimental.

func NewDashboardWithBitmapCopy_Override

func NewDashboardWithBitmapCopy_Override(d DashboardWithBitmapCopy, scope constructs.Construct, id *string, props *awscloudwatch.DashboardProps)

Experimental.

func NewDefaultAlarmAnnotationStrategy_Override

func NewDefaultAlarmAnnotationStrategy_Override(d DefaultAlarmAnnotationStrategy)

Experimental.

func NewDefaultDashboardFactory_Override

func NewDefaultDashboardFactory_Override(d DefaultDashboardFactory, scope constructs.Construct, id *string, props *MonitoringDashboardsProps)

Experimental.

func NewDefaultMetricAdjuster_Override

func NewDefaultMetricAdjuster_Override(d DefaultMetricAdjuster)

Experimental.

func NewDefaultWidgetFactory_Override

func NewDefaultWidgetFactory_Override(d DefaultWidgetFactory)

Experimental.

func NewDoNotModifyDedupeString_Override

func NewDoNotModifyDedupeString_Override(d DoNotModifyDedupeString, prefix *string, suffix *string)

Experimental.

func NewDocumentDbMetricFactory_Override

func NewDocumentDbMetricFactory_Override(d DocumentDbMetricFactory, metricFactory MetricFactory, props *DocumentDbMetricFactoryProps)

Experimental.

func NewDocumentDbMonitoring_Override

func NewDocumentDbMonitoring_Override(d DocumentDbMonitoring, scope MonitoringScope, props *DocumentDbMonitoringProps)

Experimental.

func NewDoubleAxisGraphWidget_Override

func NewDoubleAxisGraphWidget_Override(d DoubleAxisGraphWidget, props *DoubleAxisGraphWidgetProps)

Experimental.

func NewDynamicDashboardFactory_Override

func NewDynamicDashboardFactory_Override(d DynamicDashboardFactory, scope constructs.Construct, id *string, props *MonitoringDynamicDashboardsProps)

Experimental.

func NewDynamoAlarmFactory_Override

func NewDynamoAlarmFactory_Override(d DynamoAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewDynamoTableGlobalSecondaryIndexMetricFactory_Override

func NewDynamoTableGlobalSecondaryIndexMetricFactory_Override(d DynamoTableGlobalSecondaryIndexMetricFactory, metricFactory MetricFactory, props *DynamoTableGlobalSecondaryIndexMetricFactoryProps)

Experimental.

func NewDynamoTableMetricFactory_Override

func NewDynamoTableMetricFactory_Override(d DynamoTableMetricFactory, metricFactory MetricFactory, props *DynamoTableMetricFactoryProps)

Experimental.

func NewDynamoTableMonitoring_Override

func NewDynamoTableMonitoring_Override(d DynamoTableMonitoring, scope MonitoringScope, props *DynamoTableMonitoringProps)

Experimental.

func NewEC2MetricFactory_Override

func NewEC2MetricFactory_Override(e EC2MetricFactory, metricFactory MetricFactory, props *EC2MetricFactoryProps)

Experimental.

func NewEC2Monitoring_Override

func NewEC2Monitoring_Override(e EC2Monitoring, scope MonitoringScope, props *EC2MonitoringProps)

Experimental.

func NewEc2ServiceMonitoring_Override

func NewEc2ServiceMonitoring_Override(e Ec2ServiceMonitoring, scope MonitoringScope, props *CustomEc2ServiceMonitoringProps)

Experimental.

func NewElastiCacheAlarmFactory_Override

func NewElastiCacheAlarmFactory_Override(e ElastiCacheAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewElastiCacheClusterMetricFactory_Override

func NewElastiCacheClusterMetricFactory_Override(e ElastiCacheClusterMetricFactory, metricFactory MetricFactory, props *ElastiCacheClusterMetricFactoryProps)

Experimental.

func NewElastiCacheClusterMonitoring_Override

func NewElastiCacheClusterMonitoring_Override(e ElastiCacheClusterMonitoring, scope MonitoringScope, props *ElastiCacheClusterMonitoringProps)

Experimental.

func NewErrorAlarmFactory_Override

func NewErrorAlarmFactory_Override(e ErrorAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewExtendDedupeString_Override

func NewExtendDedupeString_Override(e ExtendDedupeString, prefix *string, suffix *string)

Experimental.

func NewFargateServiceMonitoring_Override

func NewFargateServiceMonitoring_Override(f FargateServiceMonitoring, scope MonitoringScope, props *CustomFargateServiceMonitoringProps)

Experimental.

func NewFillingAlarmAnnotationStrategy_Override

func NewFillingAlarmAnnotationStrategy_Override(f FillingAlarmAnnotationStrategy)

Experimental.

func NewGlueJobMetricFactory_Override

func NewGlueJobMetricFactory_Override(g GlueJobMetricFactory, metricFactory MetricFactory, props *GlueJobMetricFactoryProps)

Experimental.

func NewGlueJobMonitoring_Override

func NewGlueJobMonitoring_Override(g GlueJobMonitoring, scope MonitoringScope, props *GlueJobMonitoringProps)

Experimental.

func NewHeaderWidget_Override

func NewHeaderWidget_Override(h HeaderWidget, text *string, level HeaderLevel, description *string, descriptionHeight *float64)

Experimental.

func NewKeyValueTableWidget_Override

func NewKeyValueTableWidget_Override(k KeyValueTableWidget, data *[]*map[string]interface{})

Experimental.

func NewKinesisAlarmFactory_Override

func NewKinesisAlarmFactory_Override(k KinesisAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewKinesisDataAnalyticsAlarmFactory_Override

func NewKinesisDataAnalyticsAlarmFactory_Override(k KinesisDataAnalyticsAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewKinesisDataAnalyticsMetricFactory_Override

func NewKinesisDataAnalyticsMetricFactory_Override(k KinesisDataAnalyticsMetricFactory, metricFactory MetricFactory, props *KinesisDataAnalyticsMetricFactoryProps)

Experimental.

func NewKinesisDataAnalyticsMonitoring_Override

func NewKinesisDataAnalyticsMonitoring_Override(k KinesisDataAnalyticsMonitoring, scope MonitoringScope, props *KinesisDataAnalyticsMonitoringProps)

Experimental.

func NewKinesisDataStreamMetricFactory_Override

func NewKinesisDataStreamMetricFactory_Override(k KinesisDataStreamMetricFactory, metricFactory MetricFactory, props *KinesisDataStreamMetricFactoryProps)

Experimental.

func NewKinesisDataStreamMonitoring_Override

func NewKinesisDataStreamMonitoring_Override(k KinesisDataStreamMonitoring, scope MonitoringScope, props *KinesisDataStreamMonitoringProps)

Experimental.

func NewKinesisFirehoseMetricFactory_Override

func NewKinesisFirehoseMetricFactory_Override(k KinesisFirehoseMetricFactory, metricFactory MetricFactory, props *KinesisFirehoseMetricFactoryProps)

Experimental.

func NewKinesisFirehoseMonitoring_Override

func NewKinesisFirehoseMonitoring_Override(k KinesisFirehoseMonitoring, scope MonitoringScope, props *KinesisFirehoseMonitoringProps)

Experimental.

func NewLambdaFunctionEnhancedMetricFactory_Override

func NewLambdaFunctionEnhancedMetricFactory_Override(l LambdaFunctionEnhancedMetricFactory, metricFactory MetricFactory, lambdaFunction awslambda.IFunction)

Experimental.

func NewLambdaFunctionMetricFactory_Override

func NewLambdaFunctionMetricFactory_Override(l LambdaFunctionMetricFactory, metricFactory MetricFactory, props *LambdaFunctionMetricFactoryProps)

Experimental.

func NewLambdaFunctionMonitoring_Override

func NewLambdaFunctionMonitoring_Override(l LambdaFunctionMonitoring, scope MonitoringScope, props *LambdaFunctionMonitoringProps)

Experimental.

func NewLatencyAlarmFactory_Override

func NewLatencyAlarmFactory_Override(l LatencyAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewLogLevelAlarmFactory_Override

func NewLogLevelAlarmFactory_Override(l LogLevelAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewLogMonitoring_Override

func NewLogMonitoring_Override(l LogMonitoring, scope MonitoringScope, props *LogMonitoringProps)

Experimental.

func NewMetricFactory_Override

func NewMetricFactory_Override(m MetricFactory, props *MetricFactoryProps)

Experimental.

func NewMonitoringAspect_Override

func NewMonitoringAspect_Override(m MonitoringAspect, monitoringFacade MonitoringFacade, props *MonitoringAspectProps)

Experimental.

func NewMonitoringFacade_Override

func NewMonitoringFacade_Override(m MonitoringFacade, scope constructs.Construct, id *string, props *MonitoringFacadeProps)

Experimental.

func NewMonitoringHeaderWidget_Override

func NewMonitoringHeaderWidget_Override(m MonitoringHeaderWidget, props *MonitoringHeaderWidgetProps)

Experimental.

func NewMonitoringNamingStrategy_Override

func NewMonitoringNamingStrategy_Override(m MonitoringNamingStrategy, input *NameResolutionInput)

Experimental.

func NewMonitoringScope_Override

func NewMonitoringScope_Override(m MonitoringScope, scope constructs.Construct, id *string)

Creates a new construct node. Experimental.

func NewMonitoring_Override

func NewMonitoring_Override(m Monitoring, scope MonitoringScope, props *BaseMonitoringProps)

Experimental.

func NewMultipleAlarmActionStrategy_Override

func NewMultipleAlarmActionStrategy_Override(m MultipleAlarmActionStrategy, actions *[]IAlarmActionStrategy)

Experimental.

func NewNetworkLoadBalancerMetricFactory_Override

func NewNetworkLoadBalancerMetricFactory_Override(n NetworkLoadBalancerMetricFactory, metricFactory MetricFactory, props *NetworkLoadBalancerMetricFactoryProps)

Experimental.

func NewNetworkLoadBalancerMonitoring_Override

func NewNetworkLoadBalancerMonitoring_Override(n NetworkLoadBalancerMonitoring, scope MonitoringScope, props *NetworkLoadBalancerMonitoringProps)

Experimental.

func NewNoopAlarmActionStrategy_Override

func NewNoopAlarmActionStrategy_Override(n NoopAlarmActionStrategy)

Experimental.

func NewOpenSearchBackportedMetrics_Override

func NewOpenSearchBackportedMetrics_Override(o OpenSearchBackportedMetrics, domain interface{})

Experimental.

func NewOpenSearchClusterAlarmFactory_Override

func NewOpenSearchClusterAlarmFactory_Override(o OpenSearchClusterAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewOpenSearchClusterMetricFactory_Override

func NewOpenSearchClusterMetricFactory_Override(o OpenSearchClusterMetricFactory, metricFactory MetricFactory, props *OpenSearchClusterMetricFactoryProps)

Experimental.

func NewOpenSearchClusterMonitoring_Override

func NewOpenSearchClusterMonitoring_Override(o OpenSearchClusterMonitoring, scope MonitoringScope, props *OpenSearchClusterMonitoringProps)

Experimental.

func NewOpsItemAlarmActionStrategy_Override

func NewOpsItemAlarmActionStrategy_Override(o OpsItemAlarmActionStrategy, severity awscloudwatchactions.OpsItemSeverity, category awscloudwatchactions.OpsItemCategory)

Experimental.

func NewQueueAlarmFactory_Override

func NewQueueAlarmFactory_Override(q QueueAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewRdsClusterMetricFactory_Override

func NewRdsClusterMetricFactory_Override(r RdsClusterMetricFactory, metricFactory MetricFactory, props *RdsClusterMetricFactoryProps)

Experimental.

func NewRdsClusterMonitoring_Override

func NewRdsClusterMonitoring_Override(r RdsClusterMonitoring, scope MonitoringScope, props *RdsClusterMonitoringProps)

Experimental.

func NewRedshiftClusterMetricFactory_Override

func NewRedshiftClusterMetricFactory_Override(r RedshiftClusterMetricFactory, metricFactory MetricFactory, props *RedshiftClusterMetricFactoryProps)

Experimental.

func NewRedshiftClusterMonitoring_Override

func NewRedshiftClusterMonitoring_Override(r RedshiftClusterMonitoring, scope MonitoringScope, props *RedshiftClusterMonitoringProps)

Experimental.

func NewRoute53HealthCheckMetricAdjuster_Override

func NewRoute53HealthCheckMetricAdjuster_Override(r Route53HealthCheckMetricAdjuster)

Experimental.

func NewS3BucketMetricFactory_Override

func NewS3BucketMetricFactory_Override(s S3BucketMetricFactory, metricFactory MetricFactory, props *S3BucketMetricFactoryProps)

Experimental.

func NewS3BucketMonitoring_Override

func NewS3BucketMonitoring_Override(s S3BucketMonitoring, scope MonitoringScope, props *S3BucketMonitoringProps)

Experimental.

func NewSecretsManagerAlarmFactory_Override

func NewSecretsManagerAlarmFactory_Override(s SecretsManagerAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewSecretsManagerMetricFactory_Override

func NewSecretsManagerMetricFactory_Override(s SecretsManagerMetricFactory, metricFactory MetricFactory)

Experimental.

func NewSecretsManagerMonitoring_Override

func NewSecretsManagerMonitoring_Override(s SecretsManagerMonitoring, scope MonitoringScope, props *SecretsManagerMonitoringProps)

Experimental.

func NewSecretsManagerSecretMetricFactory_Override

func NewSecretsManagerSecretMetricFactory_Override(s SecretsManagerSecretMetricFactory, metricFactory MetricFactory, props *SecretsManagerSecretMetricFactoryProps)

Experimental.

func NewSecretsManagerSecretMonitoring_Override

func NewSecretsManagerSecretMonitoring_Override(s SecretsManagerSecretMonitoring, scope MonitoringScope, props *SecretsManagerSecretMonitoringProps)

Experimental.

func NewSingleAxisGraphWidget_Override

func NewSingleAxisGraphWidget_Override(s SingleAxisGraphWidget, props *SingleAxisGraphWidgetProps)

Experimental.

func NewSingleWidgetDashboardSegment_Override

func NewSingleWidgetDashboardSegment_Override(s SingleWidgetDashboardSegment, widget awscloudwatch.IWidget, dashboardsToInclude *[]*string)

Create a dashboard segment representing a single widget. Experimental.

func NewSnsAlarmActionStrategy_Override

func NewSnsAlarmActionStrategy_Override(s SnsAlarmActionStrategy, props *SnsAlarmActionStrategyProps)

Experimental.

func NewSnsTopicMetricFactory_Override

func NewSnsTopicMetricFactory_Override(s SnsTopicMetricFactory, metricFactory MetricFactory, props *SnsTopicMetricFactoryProps)

Experimental.

func NewSnsTopicMonitoring_Override

func NewSnsTopicMonitoring_Override(s SnsTopicMonitoring, scope MonitoringScope, props *SnsTopicMonitoringProps)

Experimental.

func NewSqsQueueMetricFactory_Override

func NewSqsQueueMetricFactory_Override(s SqsQueueMetricFactory, metricFactory MetricFactory, props *SqsQueueMetricFactoryProps)

Experimental.

func NewSqsQueueMonitoringWithDlq_Override

func NewSqsQueueMonitoringWithDlq_Override(s SqsQueueMonitoringWithDlq, scope MonitoringScope, props *SqsQueueMonitoringWithDlqProps)

Experimental.

func NewSqsQueueMonitoring_Override

func NewSqsQueueMonitoring_Override(s SqsQueueMonitoring, scope MonitoringScope, props *SqsQueueMonitoringProps, invokedFromSuper *bool)

Experimental.

func NewStaticSegmentDynamicAdapter_Override

func NewStaticSegmentDynamicAdapter_Override(s StaticSegmentDynamicAdapter, props IDashboardFactoryProps)

Experimental.

func NewStepFunctionActivityMetricFactory_Override

func NewStepFunctionActivityMetricFactory_Override(s StepFunctionActivityMetricFactory, metricFactory MetricFactory, props *StepFunctionActivityMetricFactoryProps)

Experimental.

func NewStepFunctionActivityMonitoring_Override

func NewStepFunctionActivityMonitoring_Override(s StepFunctionActivityMonitoring, scope MonitoringScope, props *StepFunctionActivityMonitoringProps)

Experimental.

func NewStepFunctionLambdaIntegrationMetricFactory_Override

func NewStepFunctionLambdaIntegrationMetricFactory_Override(s StepFunctionLambdaIntegrationMetricFactory, metricFactory MetricFactory, props *StepFunctionLambdaIntegrationMetricFactoryProps)

Experimental.

func NewStepFunctionMetricFactory_Override

func NewStepFunctionMetricFactory_Override(s StepFunctionMetricFactory, metricFactory MetricFactory, props *StepFunctionMetricFactoryProps)

Experimental.

func NewStepFunctionMonitoring_Override

func NewStepFunctionMonitoring_Override(s StepFunctionMonitoring, scope MonitoringScope, props *StepFunctionMonitoringProps)

Experimental.

func NewStepFunctionServiceIntegrationMetricFactory_Override

func NewStepFunctionServiceIntegrationMetricFactory_Override(s StepFunctionServiceIntegrationMetricFactory, metricFactory MetricFactory, props *StepFunctionServiceIntegrationMetricFactoryProps)

Experimental.

func NewSyntheticsCanaryMetricFactory_Override

func NewSyntheticsCanaryMetricFactory_Override(s SyntheticsCanaryMetricFactory, metricFactory MetricFactory, props *SyntheticsCanaryMetricFactoryProps)

Experimental.

func NewSyntheticsCanaryMonitoring_Override

func NewSyntheticsCanaryMonitoring_Override(s SyntheticsCanaryMonitoring, scope MonitoringScope, props *SyntheticsCanaryMonitoringProps)

Experimental.

func NewTaskHealthAlarmFactory_Override

func NewTaskHealthAlarmFactory_Override(t TaskHealthAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewThroughputAlarmFactory_Override

func NewThroughputAlarmFactory_Override(t ThroughputAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewTopicAlarmFactory_Override

func NewTopicAlarmFactory_Override(t TopicAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewTpsAlarmFactory_Override

func NewTpsAlarmFactory_Override(t TpsAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewUsageAlarmFactory_Override

func NewUsageAlarmFactory_Override(u UsageAlarmFactory, alarmFactory AlarmFactory)

Experimental.

func NewWafV2MetricFactory_Override

func NewWafV2MetricFactory_Override(w WafV2MetricFactory, metricFactory MetricFactory, props *WafV2MetricFactoryProps)

Experimental.

func NewWafV2Monitoring_Override

func NewWafV2Monitoring_Override(w WafV2Monitoring, scope MonitoringScope, props *WafV2MonitoringProps)

Experimental.

func NewXaxrMathExpression_Override deprecated

func NewXaxrMathExpression_Override(x XaxrMathExpression, props *XaxrMathExpressionProps)

Deprecated: Use MathExpression from aws-cdk-lib/aws-cloudwatch instead.

func SecretsManagerMetricsPublisher_IsConstruct

func SecretsManagerMetricsPublisher_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func SecretsManagerSecretMetricFactory_MetricNameDaysSinceLastChange

func SecretsManagerSecretMetricFactory_MetricNameDaysSinceLastChange() *string

func SecretsManagerSecretMetricFactory_MetricNameDaysSinceLastRotation

func SecretsManagerSecretMetricFactory_MetricNameDaysSinceLastRotation() *string

func SecretsManagerSecretMetricFactory_Namespace

func SecretsManagerSecretMetricFactory_Namespace() *string

Types

type AddAlarmProps

type AddAlarmProps struct {
	// Alarm description is included in the ticket and therefore should describe what happened, with as much context as possible.
	// Experimental.
	AlarmDescription *string `field:"required" json:"alarmDescription" yaml:"alarmDescription"`
	// Suffix added to base alarm name.
	//
	// Alarm names need to be unique.
	// Experimental.
	AlarmNameSuffix *string `field:"required" json:"alarmNameSuffix" yaml:"alarmNameSuffix"`
	// Comparison operator used to compare actual value against the threshold.
	// Experimental.
	ComparisonOperator awscloudwatch.ComparisonOperator `field:"required" json:"comparisonOperator" yaml:"comparisonOperator"`
	// Threshold to alarm on.
	// Experimental.
	Threshold *float64 `field:"required" json:"threshold" yaml:"threshold"`
	// Behaviour in case the metric data is missing.
	// Experimental.
	TreatMissingData awscloudwatch.TreatMissingData `field:"required" json:"treatMissingData" yaml:"treatMissingData"`
	// Allows to override the default action strategy.
	// Default: - default action will be used.
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// If this is defined, the default resource-specific alarm dedupe string will be set and this will be added as a suffix.
	//
	// This allows you to specify the same dedupe string for a family of alarms.
	// Cannot be defined at the same time as alarmDedupeStringOverride.
	// Default: - undefined (no suffix).
	//
	// Experimental.
	AlarmDedupeStringSuffix *string `field:"optional" json:"alarmDedupeStringSuffix" yaml:"alarmDedupeStringSuffix"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// Disambiguator is a string that differentiates this alarm from other similar ones.
	// Default: - undefined (no disambiguator).
	//
	// Experimental.
	Disambiguator *string `field:"optional" json:"disambiguator" yaml:"disambiguator"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - Same as datapointsToAlarm.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, an artificial composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// The newly created composite alarm will be returned as a result, and it will take the original alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// This property is required in the following situation: <ol>      <li><code>minSampleCountToEvaluateDatapoint</code> is specified</li>      <li>the metric used for the alarm is a <code>MathExpression</code></li>      <li>the <code>MathExpression</code> is composed of more than one metric</li> </ol>.
	//
	// In this situation, this property indicates the metric Id in the MathExpression’s <code>usingMetrics</code>
	// property that should be used as the sampleCount metric for the new MathExpression as described in the documentation
	// for <code>minSampleCountToEvaluateDatapoint</code>.
	// Experimental.
	SampleCountMetricId *string `field:"optional" json:"sampleCountMetricId" yaml:"sampleCountMetricId"`
}

Properties necessary to create a single alarm and configure it. Experimental.

type AddCompositeAlarmProps

type AddCompositeAlarmProps struct {
	// Disambiguator is a string that differentiates this alarm from other similar ones.
	// Experimental.
	Disambiguator *string `field:"required" json:"disambiguator" yaml:"disambiguator"`
	// Allows to override the default action strategy.
	// Default: - default action will be used.
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// If this is defined, the default resource-specific alarm dedupe string will be set and this will be added as a suffix.
	//
	// This allows you to specify the same dedupe string for a family of alarms.
	// Cannot be defined at the same time as alarmDedupeStringOverride.
	// Default: - undefined (no suffix).
	//
	// Experimental.
	AlarmDedupeStringSuffix *string `field:"optional" json:"alarmDedupeStringSuffix" yaml:"alarmDedupeStringSuffix"`
	// Alarm description is included in the ticket and therefore should describe what happened, with as much context as possible.
	// Default: - no description.
	//
	// Experimental.
	AlarmDescription *string `field:"optional" json:"alarmDescription" yaml:"alarmDescription"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and realms (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Suffix added to base alarm name.
	//
	// Alarm names need to be unique.
	// Default: - no suffix.
	//
	// Experimental.
	AlarmNameSuffix *string `field:"optional" json:"alarmNameSuffix" yaml:"alarmNameSuffix"`
	// Logical operator used to aggregate the status individual alarms.
	// Default: - OR.
	//
	// Experimental.
	CompositeOperator CompositeAlarmOperator `field:"optional" json:"compositeOperator" yaml:"compositeOperator"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and realms (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
}

Properties necessary to create a composite alarm and configure it. Experimental.

type AgeAlarmFactory

type AgeAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddDaysSinceUpdateAlarm(metric interface{}, props *DaysSinceUpdateThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddDaysToExpiryAlarm(metric interface{}, props *DaysToExpiryThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddIteratorMaxAgeAlarm(metric interface{}, props *MaxAgeThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewAgeAlarmFactory

func NewAgeAlarmFactory(alarmFactory AlarmFactory) AgeAlarmFactory

Experimental.

type AlarmActionStrategyProps

type AlarmActionStrategyProps struct {
	// Experimental.
	Action IAlarmActionStrategy `field:"required" json:"action" yaml:"action"`
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Experimental.
	DedupeString *string `field:"optional" json:"dedupeString" yaml:"dedupeString"`
	// Experimental.
	Disambiguator *string `field:"optional" json:"disambiguator" yaml:"disambiguator"`
	// Experimental.
	Alarm awscloudwatch.AlarmBase `field:"required" json:"alarm" yaml:"alarm"`
}

Properties necessary to append actions to an alarm. Experimental.

type AlarmAnnotationStrategyProps

type AlarmAnnotationStrategyProps struct {
	// Experimental.
	Action IAlarmActionStrategy `field:"required" json:"action" yaml:"action"`
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Experimental.
	DedupeString *string `field:"optional" json:"dedupeString" yaml:"dedupeString"`
	// Experimental.
	Disambiguator *string `field:"optional" json:"disambiguator" yaml:"disambiguator"`
	// Experimental.
	Alarm awscloudwatch.Alarm `field:"required" json:"alarm" yaml:"alarm"`
	// Experimental.
	ComparisonOperator awscloudwatch.ComparisonOperator `field:"required" json:"comparisonOperator" yaml:"comparisonOperator"`
	// Experimental.
	DatapointsToAlarm *float64 `field:"required" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// Experimental.
	EvaluationPeriods *float64 `field:"required" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Experimental.
	FillAlarmRange *bool `field:"required" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// Experimental.
	Metric interface{} `field:"required" json:"metric" yaml:"metric"`
	// Experimental.
	Threshold *float64 `field:"required" json:"threshold" yaml:"threshold"`
	// Experimental.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
}

Experimental.

type AlarmFactory

type AlarmFactory interface {
	// Experimental.
	AlarmNamingStrategy() IAlarmNamingStrategy
	// Experimental.
	AlarmScope() constructs.Construct
	// Experimental.
	GlobalAlarmDefaults() *AlarmFactoryDefaults
	// Experimental.
	GlobalMetricDefaults() *MetricFactoryDefaults
	// Experimental.
	ShouldUseDefaultDedupeForError() *bool
	// Experimental.
	ShouldUseDefaultDedupeForLatency() *bool
	// Experimental.
	AddAlarm(metric interface{}, props *AddAlarmProps) *AlarmWithAnnotation
	// Experimental.
	AddCompositeAlarm(alarms *[]*AlarmWithAnnotation, props *AddCompositeAlarmProps) awscloudwatch.CompositeAlarm
	// Experimental.
	CreateAnnotation(props *AlarmAnnotationStrategyProps) *awscloudwatch.HorizontalAnnotation
	// Experimental.
	DetermineAction(disambiguator *string, actionOverride IAlarmActionStrategy) IAlarmActionStrategy
	// Experimental.
	DetermineActionsEnabled(actionsEnabled *bool, disambiguator *string) *bool
	// Experimental.
	DetermineCompositeAlarmRule(alarms *[]*AlarmWithAnnotation, props *AddCompositeAlarmProps) awscloudwatch.IAlarmRule
	// Experimental.
	GenerateDescription(alarmDescription *string, alarmDescriptionOverride *string, runbookLinkOverride *string, documentationLinkOverride *string) *string
	// Experimental.
	JoinDescriptionParts(parts ...*string) *string
}

Experimental.

func NewAlarmFactory

func NewAlarmFactory(alarmScope constructs.Construct, props *AlarmFactoryProps) AlarmFactory

Experimental.

type AlarmFactoryDefaults

type AlarmFactoryDefaults struct {
	// Enables the configured CloudWatch alarm ticketing actions for either all severities, or per severity.
	// Experimental.
	ActionsEnabled interface{} `field:"required" json:"actionsEnabled" yaml:"actionsEnabled"`
	// Global prefix for all alarm names.
	//
	// This should be something unique to avoid potential collisions.
	// This is ignored if an alarm's dedupeStringOverride is declared.
	// Experimental.
	AlarmNamePrefix *string `field:"required" json:"alarmNamePrefix" yaml:"alarmNamePrefix"`
	// Default alarm action used for each alarm, unless it is overridden.
	// Default: - no action.
	//
	// Experimental.
	Action IAlarmActionStrategy `field:"optional" json:"action" yaml:"action"`
	// Custom strategy to name alarms.
	// Default: - default behaviour (no change).
	//
	// Experimental.
	AlarmNamingStrategy IAlarmNamingStrategy `field:"optional" json:"alarmNamingStrategy" yaml:"alarmNamingStrategy"`
	// Custom strategy to create annotations for alarms.
	// Default: - default annotations.
	//
	// Experimental.
	AnnotationStrategy IAlarmAnnotationStrategy `field:"optional" json:"annotationStrategy" yaml:"annotationStrategy"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - 3.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// Custom strategy to process dedupe strings of the alarms.
	// Default: - default behaviour (no change).
	//
	// Experimental.
	DedupeStringProcessor IAlarmDedupeStringProcessor `field:"optional" json:"dedupeStringProcessor" yaml:"dedupeStringProcessor"`
	// Optional alarm action for each disambiguator.
	// Default: - Global alarm action if defined.
	//
	// Experimental.
	DisambiguatorAction *map[string]IAlarmActionStrategy `field:"optional" json:"disambiguatorAction" yaml:"disambiguatorAction"`
	// An optional link included in the generated ticket description body.
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - Same as datapointsToAlarm.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// An optional link included in the generated ticket description body.
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// If this is defined as false and dedupeStringOverride is undefined, the alarm prefix will be part of the dedupe string.
	//
	// This essentially stops the dedupe of different errors together.
	// Default: - undefined (true).
	//
	// Experimental.
	UseDefaultDedupeForError *bool `field:"optional" json:"useDefaultDedupeForError" yaml:"useDefaultDedupeForError"`
	// If this is defined as false and dedupeStringOverride is undefined, the alarm prefix will be part of the dedupe string.
	//
	// This essentially stops the dedupe of different latency issues together.
	// Default: - undefined (true).
	//
	// Experimental.
	UseDefaultDedupeForLatency *bool `field:"optional" json:"useDefaultDedupeForLatency" yaml:"useDefaultDedupeForLatency"`
}

Experimental.

type AlarmFactoryProps

type AlarmFactoryProps struct {
	// Experimental.
	GlobalAlarmDefaults *AlarmFactoryDefaults `field:"required" json:"globalAlarmDefaults" yaml:"globalAlarmDefaults"`
	// Experimental.
	GlobalMetricDefaults *MetricFactoryDefaults `field:"required" json:"globalMetricDefaults" yaml:"globalMetricDefaults"`
	// Experimental.
	LocalAlarmNamePrefix *string `field:"required" json:"localAlarmNamePrefix" yaml:"localAlarmNamePrefix"`
}

Experimental.

type AlarmMatrixWidget

type AlarmMatrixWidget interface {
	awscloudwatch.AlarmStatusWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Wrapper of Alarm Status Widget which auto-calcultes height based on the number of alarms.

Always takes the maximum width. Experimental.

func NewAlarmMatrixWidget

func NewAlarmMatrixWidget(props *AlarmMatrixWidgetProps) AlarmMatrixWidget

Experimental.

type AlarmMatrixWidgetProps

type AlarmMatrixWidgetProps struct {
	// list of alarms to show.
	// Experimental.
	Alarms *[]awscloudwatch.IAlarm `field:"required" json:"alarms" yaml:"alarms"`
	// desired height.
	// Default: - auto calculated based on alarm number (3 to 8).
	//
	// Experimental.
	Height *float64 `field:"optional" json:"height" yaml:"height"`
	// widget title.
	// Default: - no title.
	//
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
}

Experimental.

type AlarmMetadata

type AlarmMetadata struct {
	// Experimental.
	Action IAlarmActionStrategy `field:"required" json:"action" yaml:"action"`
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Experimental.
	DedupeString *string `field:"optional" json:"dedupeString" yaml:"dedupeString"`
	// Experimental.
	Disambiguator *string `field:"optional" json:"disambiguator" yaml:"disambiguator"`
}

Metadata of an alarm. Experimental.

type AlarmNamingInput

type AlarmNamingInput struct {
	// Experimental.
	AlarmNameSuffix *string `field:"required" json:"alarmNameSuffix" yaml:"alarmNameSuffix"`
	// Experimental.
	AlarmDedupeStringSuffix *string `field:"optional" json:"alarmDedupeStringSuffix" yaml:"alarmDedupeStringSuffix"`
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// Experimental.
	Disambiguator *string `field:"optional" json:"disambiguator" yaml:"disambiguator"`
}

Experimental.

type AlarmNamingStrategy

type AlarmNamingStrategy interface {
	IAlarmNamingStrategy
	// Experimental.
	DedupeStringStrategy() IAlarmDedupeStringProcessor
	// Experimental.
	GlobalPrefix() *string
	// Experimental.
	LocalPrefix() *string
	// Dedupe string resolved like this: - If "dedupeStringOverride" is defined for an alarm, it will be used as a dedupe string.
	//
	// - If "alarmDedupeStringSuffix" from the alarm factory is defined, "GlobalPrefix-LocalPrefix-AlarmDedupeStringSuffix" will be used as a dedupe string.
	// - Otherwise, the alarm dedupe string will not be set.
	// If a dedupe string strategy is set, it will be used to process the final string.
	// Experimental.
	GetDedupeString(props *AlarmNamingInput) *string
	// Alarm name is resolved like this: - If "alarmNameOverride" is defined for an alarm, it will be used as alarm name.
	//
	// - Otherwise, the alarm name will be generated by joining: global prefix, local prefix, alarm name suffix, disambiguator.
	// Experimental.
	GetName(props *AlarmNamingInput) *string
	// How to generate the label for the alarm displayed on a widget.
	// Experimental.
	GetWidgetLabel(props *AlarmNamingInput) *string
	// Experimental.
	JoinDistinct(parts *[]*string, separator *string) *string
}

Experimental.

func NewAlarmNamingStrategy

func NewAlarmNamingStrategy(globalPrefix *string, localPrefix *string, dedupeStringStrategy IAlarmDedupeStringProcessor) AlarmNamingStrategy

Experimental.

type AlarmSummaryMatrixWidget

type AlarmSummaryMatrixWidget interface {
	awscloudwatch.ConcreteWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Experimental.
	Props() *AlarmSummaryMatrixWidgetProps
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Experimental.

func NewAlarmSummaryMatrixWidget

func NewAlarmSummaryMatrixWidget(props *AlarmSummaryMatrixWidgetProps) AlarmSummaryMatrixWidget

Experimental.

type AlarmSummaryMatrixWidgetPropertiesJson

type AlarmSummaryMatrixWidgetPropertiesJson struct {
	// Experimental.
	Alarms *[]*string `field:"required" json:"alarms" yaml:"alarms"`
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
}

Experimental.

type AlarmSummaryMatrixWidgetProps

type AlarmSummaryMatrixWidgetProps struct {
	// Height of the widget.
	// Default: - 6 for Alarm and Graph widgets.
	// 3 for single value widgets where most recent value of a metric is displayed.
	//
	// Experimental.
	Height *float64 `field:"optional" json:"height" yaml:"height"`
	// The region the metrics of this graph should be taken from.
	// Default: - Current region.
	//
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Title for the graph.
	// Default: - None.
	//
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
	// Width of the widget, in a grid of 24 units wide.
	// Default: 6.
	//
	// Experimental.
	Width *float64 `field:"optional" json:"width" yaml:"width"`
	// Experimental.
	AlarmArns *[]*string `field:"required" json:"alarmArns" yaml:"alarmArns"`
}

Experimental.

type AlarmWithAnnotation

type AlarmWithAnnotation struct {
	// Experimental.
	Action IAlarmActionStrategy `field:"required" json:"action" yaml:"action"`
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Experimental.
	DedupeString *string `field:"optional" json:"dedupeString" yaml:"dedupeString"`
	// Experimental.
	Disambiguator *string `field:"optional" json:"disambiguator" yaml:"disambiguator"`
	// Experimental.
	Alarm awscloudwatch.AlarmBase `field:"required" json:"alarm" yaml:"alarm"`
	// Experimental.
	AlarmDescription *string `field:"required" json:"alarmDescription" yaml:"alarmDescription"`
	// Experimental.
	AlarmLabel *string `field:"required" json:"alarmLabel" yaml:"alarmLabel"`
	// Experimental.
	AlarmName *string `field:"required" json:"alarmName" yaml:"alarmName"`
	// Experimental.
	AlarmNameSuffix *string `field:"required" json:"alarmNameSuffix" yaml:"alarmNameSuffix"`
	// Experimental.
	AlarmRuleWhenAlarming awscloudwatch.IAlarmRule `field:"required" json:"alarmRuleWhenAlarming" yaml:"alarmRuleWhenAlarming"`
	// Experimental.
	AlarmRuleWhenInsufficientData awscloudwatch.IAlarmRule `field:"required" json:"alarmRuleWhenInsufficientData" yaml:"alarmRuleWhenInsufficientData"`
	// Experimental.
	AlarmRuleWhenOk awscloudwatch.IAlarmRule `field:"required" json:"alarmRuleWhenOk" yaml:"alarmRuleWhenOk"`
	// Experimental.
	Annotation *awscloudwatch.HorizontalAnnotation `field:"required" json:"annotation" yaml:"annotation"`
}

Representation of an alarm with additional information. Experimental.

type AnomalyDetectingAlarmFactory

type AnomalyDetectingAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddAlarmWhenOutOfBand(metric interface{}, alarmNameSuffix *string, disambiguator *string, props *AnomalyDetectionThreshold) *AlarmWithAnnotation
}

Experimental.

func NewAnomalyDetectingAlarmFactory

func NewAnomalyDetectingAlarmFactory(alarmFactory AlarmFactory) AnomalyDetectingAlarmFactory

Experimental.

type AnomalyDetectionMathExpression

type AnomalyDetectionMathExpression interface {
	awscloudwatch.MathExpression
	// The hex color code, prefixed with '#' (e.g. '#00ff00'), to use when this metric is rendered on a graph. The `Color` class has a set of standard colors that can be used here.
	// Experimental.
	Color() *string
	// The expression defining the metric.
	// Experimental.
	Expression() *string
	// Label for this metric when added to a Graph.
	// Experimental.
	Label() *string
	// Aggregation period of this metric.
	// Experimental.
	Period() awscdk.Duration
	// Account to evaluate search expressions within.
	// Experimental.
	SearchAccount() *string
	// Region to evaluate search expressions within.
	// Experimental.
	SearchRegion() *string
	// The metrics used in the expression as KeyValuePair <id, metric>.
	// Experimental.
	UsingMetrics() *map[string]awscloudwatch.IMetric
	// Warnings generated by this math expression.
	// Deprecated: - use warningsV2.
	Warnings() *[]*string
	// Warnings generated by this math expression.
	// Experimental.
	WarningsV2() *map[string]*string
	// Make a new Alarm for this metric.
	//
	// Combines both properties that may adjust the metric (aggregation) as well
	// as alarm properties.
	// Experimental.
	CreateAlarm(scope constructs.Construct, id *string, props *awscloudwatch.CreateAlarmOptions) awscloudwatch.Alarm
	// Inspect the details of the metric object.
	// Experimental.
	ToMetricConfig() *awscloudwatch.MetricConfig
	// Returns a string representation of an object.
	// Experimental.
	ToString() *string
	// Return a copy of Metric with properties changed.
	//
	// All properties except namespace and metricName can be changed.
	// Experimental.
	With(props *awscloudwatch.MathExpressionOptions) awscloudwatch.MathExpression
}

Captures specific MathExpression for anomaly detection, for which alarm generation is different.

Added to overcome certain CDK limitations at the time of writing. See: https://github.com/aws/aws-cdk/issues/10540

Experimental.

func NewAnomalyDetectionMathExpression

func NewAnomalyDetectionMathExpression(props *awscloudwatch.MathExpressionProps) AnomalyDetectionMathExpression

Experimental.

type AnomalyDetectionThreshold

type AnomalyDetectionThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	AlarmWhenAboveTheBand *bool `field:"required" json:"alarmWhenAboveTheBand" yaml:"alarmWhenAboveTheBand"`
	// Experimental.
	AlarmWhenBelowTheBand *bool `field:"required" json:"alarmWhenBelowTheBand" yaml:"alarmWhenBelowTheBand"`
	// Experimental.
	StandardDeviationForAlarm *float64 `field:"required" json:"standardDeviationForAlarm" yaml:"standardDeviationForAlarm"`
	// Experimental.
	AdditionalDescription *string `field:"optional" json:"additionalDescription" yaml:"additionalDescription"`
}

Experimental.

type ApiGatewayMetricFactory

type ApiGatewayMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	FillTpsWithZeroes() *bool
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	Metric4XXErrorCount() interface{}
	// Experimental.
	Metric4XXErrorRate() interface{}
	// Experimental.
	Metric5XXFaultCount() interface{}
	// Experimental.
	Metric5XXFaultRate() interface{}
	// Experimental.
	MetricInvocationCount() interface{}
	// Experimental.
	MetricInvocationRate() interface{}
	// Experimental.
	MetricLatencyInMillis(latencyType LatencyType) interface{}
	// Deprecated: use metricLatencyInMillis instead.
	MetricLatencyP50InMillis() interface{}
	// Deprecated: use metricLatencyInMillis instead.
	MetricLatencyP90InMillis() interface{}
	// Deprecated: use metricLatencyInMillis instead.
	MetricLatencyP99InMillis() interface{}
	// Deprecated: use metricInvocationRate.
	MetricTps() interface{}
}

Experimental.

func NewApiGatewayMetricFactory

func NewApiGatewayMetricFactory(metricFactory MetricFactory, props *ApiGatewayMetricFactoryProps) ApiGatewayMetricFactory

Experimental.

type ApiGatewayMetricFactoryProps

type ApiGatewayMetricFactoryProps struct {
	// API to monitor.
	// Experimental.
	Api awsapigateway.IRestApi `field:"required" json:"api" yaml:"api"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiMethod *string `field:"optional" json:"apiMethod" yaml:"apiMethod"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiResource *string `field:"optional" json:"apiResource" yaml:"apiResource"`
	// Default: - prod.
	//
	// Experimental.
	ApiStage *string `field:"optional" json:"apiStage" yaml:"apiStage"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type ApiGatewayMonitoring

type ApiGatewayMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	Error4XXCountMetric() interface{}
	// Experimental.
	Error4XXRateMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Fault5XXCountMetric() interface{}
	// Experimental.
	Fault5XXRateMetric() interface{}
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LatencyMetrics() *map[string]interface{}
	// Experimental.
	LatencyTypesToRender() *[]*string
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	TpsAlarmFactory() TpsAlarmFactory
	// Experimental.
	TpsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TpsMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTpsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewApiGatewayMonitoring

func NewApiGatewayMonitoring(scope MonitoringScope, props *ApiGatewayMonitoringProps) ApiGatewayMonitoring

Experimental.

type ApiGatewayMonitoringOptions

type ApiGatewayMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4XXErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4XXErrorCountAlarm" yaml:"add4XXErrorCountAlarm"`
	// Experimental.
	Add4XXErrorRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4XXErrorRateAlarm" yaml:"add4XXErrorRateAlarm"`
	// Experimental.
	Add5XXFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5XXFaultCountAlarm" yaml:"add5XXFaultCountAlarm"`
	// Experimental.
	Add5XXFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5XXFaultRateAlarm" yaml:"add5XXFaultRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLatencyAverageAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyAverageAlarm" yaml:"addLatencyAverageAlarm"`
	// Experimental.
	AddLatencyP100Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP100Alarm" yaml:"addLatencyP100Alarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP70Alarm" yaml:"addLatencyP70Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP95Alarm" yaml:"addLatencyP95Alarm"`
	// Experimental.
	AddLatencyP9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP9999Alarm" yaml:"addLatencyP9999Alarm"`
	// Experimental.
	AddLatencyP999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP999Alarm" yaml:"addLatencyP999Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLatencyTM50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM50Alarm" yaml:"addLatencyTM50Alarm"`
	// Experimental.
	AddLatencyTM70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM70Alarm" yaml:"addLatencyTM70Alarm"`
	// Experimental.
	AddLatencyTM90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM90Alarm" yaml:"addLatencyTM90Alarm"`
	// Experimental.
	AddLatencyTM95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95Alarm" yaml:"addLatencyTM95Alarm"`
	// Experimental.
	AddLatencyTM95OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95OutlierAlarm" yaml:"addLatencyTM95OutlierAlarm"`
	// Experimental.
	AddLatencyTM9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999Alarm" yaml:"addLatencyTM9999Alarm"`
	// Experimental.
	AddLatencyTM9999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999OutlierAlarm" yaml:"addLatencyTM9999OutlierAlarm"`
	// Experimental.
	AddLatencyTM999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999Alarm" yaml:"addLatencyTM999Alarm"`
	// Experimental.
	AddLatencyTM999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999OutlierAlarm" yaml:"addLatencyTM999OutlierAlarm"`
	// Experimental.
	AddLatencyTM99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99Alarm" yaml:"addLatencyTM99Alarm"`
	// Experimental.
	AddLatencyTM99OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99OutlierAlarm" yaml:"addLatencyTM99OutlierAlarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// You can specify what latency types you want to be rendered in the dashboards.
	//
	// Note: any latency type with an alarm will be also added automatically.
	// If the list is undefined, default values will be shown.
	// If the list is empty, only the latency types with an alarm will be shown (if any).
	// See: DefaultLatencyTypesToRender).
	//
	// Default: - p50, p90, p99 (.
	//
	// Experimental.
	LatencyTypesToRender *[]LatencyType `field:"optional" json:"latencyTypesToRender" yaml:"latencyTypesToRender"`
}

Experimental.

type ApiGatewayMonitoringProps

type ApiGatewayMonitoringProps struct {
	// API to monitor.
	// Experimental.
	Api awsapigateway.IRestApi `field:"required" json:"api" yaml:"api"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiMethod *string `field:"optional" json:"apiMethod" yaml:"apiMethod"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiResource *string `field:"optional" json:"apiResource" yaml:"apiResource"`
	// Default: - prod.
	//
	// Experimental.
	ApiStage *string `field:"optional" json:"apiStage" yaml:"apiStage"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4XXErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4XXErrorCountAlarm" yaml:"add4XXErrorCountAlarm"`
	// Experimental.
	Add4XXErrorRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4XXErrorRateAlarm" yaml:"add4XXErrorRateAlarm"`
	// Experimental.
	Add5XXFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5XXFaultCountAlarm" yaml:"add5XXFaultCountAlarm"`
	// Experimental.
	Add5XXFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5XXFaultRateAlarm" yaml:"add5XXFaultRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLatencyAverageAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyAverageAlarm" yaml:"addLatencyAverageAlarm"`
	// Experimental.
	AddLatencyP100Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP100Alarm" yaml:"addLatencyP100Alarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP70Alarm" yaml:"addLatencyP70Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP95Alarm" yaml:"addLatencyP95Alarm"`
	// Experimental.
	AddLatencyP9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP9999Alarm" yaml:"addLatencyP9999Alarm"`
	// Experimental.
	AddLatencyP999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP999Alarm" yaml:"addLatencyP999Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLatencyTM50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM50Alarm" yaml:"addLatencyTM50Alarm"`
	// Experimental.
	AddLatencyTM70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM70Alarm" yaml:"addLatencyTM70Alarm"`
	// Experimental.
	AddLatencyTM90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM90Alarm" yaml:"addLatencyTM90Alarm"`
	// Experimental.
	AddLatencyTM95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95Alarm" yaml:"addLatencyTM95Alarm"`
	// Experimental.
	AddLatencyTM95OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95OutlierAlarm" yaml:"addLatencyTM95OutlierAlarm"`
	// Experimental.
	AddLatencyTM9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999Alarm" yaml:"addLatencyTM9999Alarm"`
	// Experimental.
	AddLatencyTM9999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999OutlierAlarm" yaml:"addLatencyTM9999OutlierAlarm"`
	// Experimental.
	AddLatencyTM999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999Alarm" yaml:"addLatencyTM999Alarm"`
	// Experimental.
	AddLatencyTM999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999OutlierAlarm" yaml:"addLatencyTM999OutlierAlarm"`
	// Experimental.
	AddLatencyTM99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99Alarm" yaml:"addLatencyTM99Alarm"`
	// Experimental.
	AddLatencyTM99OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99OutlierAlarm" yaml:"addLatencyTM99OutlierAlarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// You can specify what latency types you want to be rendered in the dashboards.
	//
	// Note: any latency type with an alarm will be also added automatically.
	// If the list is undefined, default values will be shown.
	// If the list is empty, only the latency types with an alarm will be shown (if any).
	// See: DefaultLatencyTypesToRender).
	//
	// Default: - p50, p90, p99 (.
	//
	// Experimental.
	LatencyTypesToRender *[]LatencyType `field:"optional" json:"latencyTypesToRender" yaml:"latencyTypesToRender"`
}

Experimental.

type ApiGatewayV2HttpApiMetricFactory

type ApiGatewayV2HttpApiMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	FillTpsWithZeroes() *bool
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	Metric4xxCount() interface{}
	// Experimental.
	Metric4xxRate() interface{}
	// Experimental.
	Metric5xxCount() interface{}
	// Experimental.
	Metric5xxRate() interface{}
	// Experimental.
	MetricIntegrationLatencyInMillis(latencyType LatencyType) interface{}
	// Deprecated: use metricIntegrationLatencyInMillis instead.
	MetricIntegrationLatencyP50InMillis() interface{}
	// Deprecated: use metricIntegrationLatencyInMillis instead.
	MetricIntegrationLatencyP90InMillis() interface{}
	// Deprecated: use metricIntegrationLatencyInMillis instead.
	MetricIntegrationLatencyP99InMillis() interface{}
	// Experimental.
	MetricInvocationCount() interface{}
	// Experimental.
	MetricInvocationRate() interface{}
	// Experimental.
	MetricLatencyInMillis(latencyType LatencyType) interface{}
	// Deprecated: use metricLatencyInMillis instead.
	MetricLatencyP50InMillis() interface{}
	// Deprecated: use metricLatencyInMillis instead.
	MetricLatencyP90InMillis() interface{}
	// Deprecated: use metricLatencyInMillis instead.
	MetricLatencyP99InMillis() interface{}
	// Deprecated: use metricInvocationRate.
	MetricTps() interface{}
}

Experimental.

func NewApiGatewayV2HttpApiMetricFactory

func NewApiGatewayV2HttpApiMetricFactory(metricFactory MetricFactory, props *ApiGatewayV2HttpApiMetricFactoryProps) ApiGatewayV2HttpApiMetricFactory

Experimental.

type ApiGatewayV2HttpApiMetricFactoryProps

type ApiGatewayV2HttpApiMetricFactoryProps struct {
	// Experimental.
	Api awsapigatewayv2.IHttpApi `field:"required" json:"api" yaml:"api"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiMethod *string `field:"optional" json:"apiMethod" yaml:"apiMethod"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiResource *string `field:"optional" json:"apiResource" yaml:"apiResource"`
	// Default: - $default.
	//
	// Experimental.
	ApiStage *string `field:"optional" json:"apiStage" yaml:"apiStage"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type ApiGatewayV2HttpApiMonitoring

type ApiGatewayV2HttpApiMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	Error4xxCountMetric() interface{}
	// Experimental.
	Error4xxRateMetric() interface{}
	// Experimental.
	Error5xxCountMetric() interface{}
	// Experimental.
	Error5xxRateMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	IntegrationLatencyMetrics() *map[string]interface{}
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LatencyMetrics() *map[string]interface{}
	// Experimental.
	LatencyTypesToRender() *[]*string
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	TpsAlarmFactory() TpsAlarmFactory
	// Experimental.
	TpsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TpsMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTpsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewApiGatewayV2HttpApiMonitoring

func NewApiGatewayV2HttpApiMonitoring(scope MonitoringScope, props *ApiGatewayV2HttpApiMonitoringProps) ApiGatewayV2HttpApiMonitoring

Experimental.

type ApiGatewayV2HttpApiMonitoringProps

type ApiGatewayV2HttpApiMonitoringProps struct {
	// Experimental.
	Api awsapigatewayv2.IHttpApi `field:"required" json:"api" yaml:"api"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiMethod *string `field:"optional" json:"apiMethod" yaml:"apiMethod"`
	// On undefined value is not set in dimensions.
	// Experimental.
	ApiResource *string `field:"optional" json:"apiResource" yaml:"apiResource"`
	// Default: - $default.
	//
	// Experimental.
	ApiStage *string `field:"optional" json:"apiStage" yaml:"apiStage"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4xxCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4xxCountAlarm" yaml:"add4xxCountAlarm"`
	// Experimental.
	Add4xxRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4xxRateAlarm" yaml:"add4xxRateAlarm"`
	// Experimental.
	Add5xxCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5xxCountAlarm" yaml:"add5xxCountAlarm"`
	// Experimental.
	Add5xxRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5xxRateAlarm" yaml:"add5xxRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddIntegrationLatencyAverageAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyAverageAlarm" yaml:"addIntegrationLatencyAverageAlarm"`
	// Experimental.
	AddIntegrationLatencyP100Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP100Alarm" yaml:"addIntegrationLatencyP100Alarm"`
	// Experimental.
	AddIntegrationLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP50Alarm" yaml:"addIntegrationLatencyP50Alarm"`
	// Experimental.
	AddIntegrationLatencyP70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP70Alarm" yaml:"addIntegrationLatencyP70Alarm"`
	// Experimental.
	AddIntegrationLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP90Alarm" yaml:"addIntegrationLatencyP90Alarm"`
	// Experimental.
	AddIntegrationLatencyP95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP95Alarm" yaml:"addIntegrationLatencyP95Alarm"`
	// Experimental.
	AddIntegrationLatencyP9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP9999Alarm" yaml:"addIntegrationLatencyP9999Alarm"`
	// Experimental.
	AddIntegrationLatencyP999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP999Alarm" yaml:"addIntegrationLatencyP999Alarm"`
	// Experimental.
	AddIntegrationLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP99Alarm" yaml:"addIntegrationLatencyP99Alarm"`
	// Experimental.
	AddIntegrationLatencyTM50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM50Alarm" yaml:"addIntegrationLatencyTM50Alarm"`
	// Experimental.
	AddIntegrationLatencyTM70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM70Alarm" yaml:"addIntegrationLatencyTM70Alarm"`
	// Experimental.
	AddIntegrationLatencyTM90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM90Alarm" yaml:"addIntegrationLatencyTM90Alarm"`
	// Experimental.
	AddIntegrationLatencyTM95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM95Alarm" yaml:"addIntegrationLatencyTM95Alarm"`
	// Experimental.
	AddIntegrationLatencyTM95OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM95OutlierAlarm" yaml:"addIntegrationLatencyTM95OutlierAlarm"`
	// Experimental.
	AddIntegrationLatencyTM9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM9999Alarm" yaml:"addIntegrationLatencyTM9999Alarm"`
	// Experimental.
	AddIntegrationLatencyTM9999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM9999OutlierAlarm" yaml:"addIntegrationLatencyTM9999OutlierAlarm"`
	// Experimental.
	AddIntegrationLatencyTM999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM999Alarm" yaml:"addIntegrationLatencyTM999Alarm"`
	// Experimental.
	AddIntegrationLatencyTM999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM999OutlierAlarm" yaml:"addIntegrationLatencyTM999OutlierAlarm"`
	// Experimental.
	AddIntegrationLatencyTM99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM99Alarm" yaml:"addIntegrationLatencyTM99Alarm"`
	// Experimental.
	AddIntegrationLatencyTM99OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM99OutlierAlarm" yaml:"addIntegrationLatencyTM99OutlierAlarm"`
	// Experimental.
	AddLatencyAverageAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyAverageAlarm" yaml:"addLatencyAverageAlarm"`
	// Experimental.
	AddLatencyP100Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP100Alarm" yaml:"addLatencyP100Alarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP70Alarm" yaml:"addLatencyP70Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP95Alarm" yaml:"addLatencyP95Alarm"`
	// Experimental.
	AddLatencyP9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP9999Alarm" yaml:"addLatencyP9999Alarm"`
	// Experimental.
	AddLatencyP999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP999Alarm" yaml:"addLatencyP999Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLatencyTM50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM50Alarm" yaml:"addLatencyTM50Alarm"`
	// Experimental.
	AddLatencyTM70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM70Alarm" yaml:"addLatencyTM70Alarm"`
	// Experimental.
	AddLatencyTM90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM90Alarm" yaml:"addLatencyTM90Alarm"`
	// Experimental.
	AddLatencyTM95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95Alarm" yaml:"addLatencyTM95Alarm"`
	// Experimental.
	AddLatencyTM95OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95OutlierAlarm" yaml:"addLatencyTM95OutlierAlarm"`
	// Experimental.
	AddLatencyTM9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999Alarm" yaml:"addLatencyTM9999Alarm"`
	// Experimental.
	AddLatencyTM9999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999OutlierAlarm" yaml:"addLatencyTM9999OutlierAlarm"`
	// Experimental.
	AddLatencyTM999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999Alarm" yaml:"addLatencyTM999Alarm"`
	// Experimental.
	AddLatencyTM999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999OutlierAlarm" yaml:"addLatencyTM999OutlierAlarm"`
	// Experimental.
	AddLatencyTM99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99Alarm" yaml:"addLatencyTM99Alarm"`
	// Experimental.
	AddLatencyTM99OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99OutlierAlarm" yaml:"addLatencyTM99OutlierAlarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// You can specify what latency types you want to be rendered in the dashboards.
	//
	// Note: any latency type with an alarm will be also added automatically.
	// If the list is undefined, default values will be shown.
	// If the list is empty, only the latency types with an alarm will be shown (if any).
	// See: DefaultLatencyTypesShown).
	//
	// Default: - p50, p90, p99 (.
	//
	// Experimental.
	LatencyTypesToRender *[]LatencyType `field:"optional" json:"latencyTypesToRender" yaml:"latencyTypesToRender"`
}

Experimental.

type ApiGatewayV2MonitoringOptions

type ApiGatewayV2MonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4xxCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4xxCountAlarm" yaml:"add4xxCountAlarm"`
	// Experimental.
	Add4xxRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4xxRateAlarm" yaml:"add4xxRateAlarm"`
	// Experimental.
	Add5xxCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5xxCountAlarm" yaml:"add5xxCountAlarm"`
	// Experimental.
	Add5xxRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5xxRateAlarm" yaml:"add5xxRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddIntegrationLatencyAverageAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyAverageAlarm" yaml:"addIntegrationLatencyAverageAlarm"`
	// Experimental.
	AddIntegrationLatencyP100Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP100Alarm" yaml:"addIntegrationLatencyP100Alarm"`
	// Experimental.
	AddIntegrationLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP50Alarm" yaml:"addIntegrationLatencyP50Alarm"`
	// Experimental.
	AddIntegrationLatencyP70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP70Alarm" yaml:"addIntegrationLatencyP70Alarm"`
	// Experimental.
	AddIntegrationLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP90Alarm" yaml:"addIntegrationLatencyP90Alarm"`
	// Experimental.
	AddIntegrationLatencyP95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP95Alarm" yaml:"addIntegrationLatencyP95Alarm"`
	// Experimental.
	AddIntegrationLatencyP9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP9999Alarm" yaml:"addIntegrationLatencyP9999Alarm"`
	// Experimental.
	AddIntegrationLatencyP999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP999Alarm" yaml:"addIntegrationLatencyP999Alarm"`
	// Experimental.
	AddIntegrationLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyP99Alarm" yaml:"addIntegrationLatencyP99Alarm"`
	// Experimental.
	AddIntegrationLatencyTM50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM50Alarm" yaml:"addIntegrationLatencyTM50Alarm"`
	// Experimental.
	AddIntegrationLatencyTM70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM70Alarm" yaml:"addIntegrationLatencyTM70Alarm"`
	// Experimental.
	AddIntegrationLatencyTM90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM90Alarm" yaml:"addIntegrationLatencyTM90Alarm"`
	// Experimental.
	AddIntegrationLatencyTM95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM95Alarm" yaml:"addIntegrationLatencyTM95Alarm"`
	// Experimental.
	AddIntegrationLatencyTM95OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM95OutlierAlarm" yaml:"addIntegrationLatencyTM95OutlierAlarm"`
	// Experimental.
	AddIntegrationLatencyTM9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM9999Alarm" yaml:"addIntegrationLatencyTM9999Alarm"`
	// Experimental.
	AddIntegrationLatencyTM9999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM9999OutlierAlarm" yaml:"addIntegrationLatencyTM9999OutlierAlarm"`
	// Experimental.
	AddIntegrationLatencyTM999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM999Alarm" yaml:"addIntegrationLatencyTM999Alarm"`
	// Experimental.
	AddIntegrationLatencyTM999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM999OutlierAlarm" yaml:"addIntegrationLatencyTM999OutlierAlarm"`
	// Experimental.
	AddIntegrationLatencyTM99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM99Alarm" yaml:"addIntegrationLatencyTM99Alarm"`
	// Experimental.
	AddIntegrationLatencyTM99OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addIntegrationLatencyTM99OutlierAlarm" yaml:"addIntegrationLatencyTM99OutlierAlarm"`
	// Experimental.
	AddLatencyAverageAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyAverageAlarm" yaml:"addLatencyAverageAlarm"`
	// Experimental.
	AddLatencyP100Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP100Alarm" yaml:"addLatencyP100Alarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP70Alarm" yaml:"addLatencyP70Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP95Alarm" yaml:"addLatencyP95Alarm"`
	// Experimental.
	AddLatencyP9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP9999Alarm" yaml:"addLatencyP9999Alarm"`
	// Experimental.
	AddLatencyP999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP999Alarm" yaml:"addLatencyP999Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLatencyTM50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM50Alarm" yaml:"addLatencyTM50Alarm"`
	// Experimental.
	AddLatencyTM70Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM70Alarm" yaml:"addLatencyTM70Alarm"`
	// Experimental.
	AddLatencyTM90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM90Alarm" yaml:"addLatencyTM90Alarm"`
	// Experimental.
	AddLatencyTM95Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95Alarm" yaml:"addLatencyTM95Alarm"`
	// Experimental.
	AddLatencyTM95OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM95OutlierAlarm" yaml:"addLatencyTM95OutlierAlarm"`
	// Experimental.
	AddLatencyTM9999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999Alarm" yaml:"addLatencyTM9999Alarm"`
	// Experimental.
	AddLatencyTM9999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM9999OutlierAlarm" yaml:"addLatencyTM9999OutlierAlarm"`
	// Experimental.
	AddLatencyTM999Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999Alarm" yaml:"addLatencyTM999Alarm"`
	// Experimental.
	AddLatencyTM999OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM999OutlierAlarm" yaml:"addLatencyTM999OutlierAlarm"`
	// Experimental.
	AddLatencyTM99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99Alarm" yaml:"addLatencyTM99Alarm"`
	// Experimental.
	AddLatencyTM99OutlierAlarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyTM99OutlierAlarm" yaml:"addLatencyTM99OutlierAlarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// You can specify what latency types you want to be rendered in the dashboards.
	//
	// Note: any latency type with an alarm will be also added automatically.
	// If the list is undefined, default values will be shown.
	// If the list is empty, only the latency types with an alarm will be shown (if any).
	// See: DefaultLatencyTypesShown).
	//
	// Default: - p50, p90, p99 (.
	//
	// Experimental.
	LatencyTypesToRender *[]LatencyType `field:"optional" json:"latencyTypesToRender" yaml:"latencyTypesToRender"`
}

Experimental.

type AppSyncMetricFactory

type AppSyncMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	FillTpsWithZeroes() *bool
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	Metric4XXErrorCount() interface{}
	// Experimental.
	Metric4XXErrorRate() interface{}
	// Experimental.
	Metric5XXFaultCount() interface{}
	// Experimental.
	Metric5XXFaultRate() interface{}
	// Experimental.
	MetricLatencyP50InMillis() interface{}
	// Experimental.
	MetricLatencyP90InMillis() interface{}
	// Experimental.
	MetricLatencyP99InMillis() interface{}
	// Experimental.
	MetricRequestCount() interface{}
	// Experimental.
	MetricRequestRate() interface{}
	// Deprecated: use metricRequestRate.
	MetricTps() interface{}
}

Experimental.

func NewAppSyncMetricFactory

func NewAppSyncMetricFactory(metricFactory MetricFactory, props *AppSyncMetricFactoryProps) AppSyncMetricFactory

Experimental.

type AppSyncMetricFactoryProps

type AppSyncMetricFactoryProps struct {
	// the GraphQL API to monitor.
	// Experimental.
	Api awsappsync.IGraphqlApi `field:"required" json:"api" yaml:"api"`
	// whether the TPS should be filled with zeroes.
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// method to compute TPS.
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type AppSyncMonitoring

type AppSyncMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	Error4xxCountMetric() interface{}
	// Experimental.
	Error4xxRateMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Fault5xxCountMetric() interface{}
	// Experimental.
	Fault5xxRateMetric() interface{}
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MetricFactory() AppSyncMetricFactory
	// Experimental.
	NamingStrategy() MonitoringNamingStrategy
	// Experimental.
	P50LatencyMetric() interface{}
	// Experimental.
	P90LatencyMetric() interface{}
	// Experimental.
	P99LatencyMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	TpsAlarmFactory() TpsAlarmFactory
	// Experimental.
	TpsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TpsMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTpsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreatetTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewAppSyncMonitoring

func NewAppSyncMonitoring(scope MonitoringScope, props *AppSyncMonitoringProps) AppSyncMonitoring

Experimental.

type AppSyncMonitoringOptions

type AppSyncMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4XXErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4XXErrorCountAlarm" yaml:"add4XXErrorCountAlarm"`
	// Experimental.
	Add4XXErrorRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4XXErrorRateAlarm" yaml:"add4XXErrorRateAlarm"`
	// Experimental.
	Add5XXFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5XXFaultCountAlarm" yaml:"add5XXFaultCountAlarm"`
	// Experimental.
	Add5XXFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5XXFaultRateAlarm" yaml:"add5XXFaultRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
}

Experimental.

type AppSyncMonitoringProps

type AppSyncMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4XXErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4XXErrorCountAlarm" yaml:"add4XXErrorCountAlarm"`
	// Experimental.
	Add4XXErrorRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4XXErrorRateAlarm" yaml:"add4XXErrorRateAlarm"`
	// Experimental.
	Add5XXFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5XXFaultCountAlarm" yaml:"add5XXFaultCountAlarm"`
	// Experimental.
	Add5XXFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5XXFaultRateAlarm" yaml:"add5XXFaultRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// the GraphQL API to monitor.
	// Experimental.
	Api awsappsync.IGraphqlApi `field:"required" json:"api" yaml:"api"`
	// whether the TPS should be filled with zeroes.
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// method to compute TPS.
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type ApplicationLoadBalancerMetricFactory

type ApplicationLoadBalancerMetricFactory interface {
	ILoadBalancerMetricFactory
	// Experimental.
	ApplicationLoadBalancer() awselasticloadbalancingv2.IApplicationLoadBalancer
	// Experimental.
	ApplicationTargetGroup() awselasticloadbalancingv2.IApplicationTargetGroup
	// Experimental.
	InvertStatisticsOfTaskCountEnabled() *bool
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricActiveConnectionCount() interface{}
	// Experimental.
	MetricHealthyTaskCount() interface{}
	// Experimental.
	MetricHealthyTaskInPercent() interface{}
	// Experimental.
	MetricNewConnectionCount() interface{}
	// Experimental.
	MetricProcessedBytesMin() interface{}
	// Experimental.
	MetricUnhealthyTaskCount() interface{}
}

Metric factory to create metrics for application load-balanced service. Experimental.

func NewApplicationLoadBalancerMetricFactory

func NewApplicationLoadBalancerMetricFactory(metricFactory MetricFactory, props *ApplicationLoadBalancerMetricFactoryProps) ApplicationLoadBalancerMetricFactory

Experimental.

type ApplicationLoadBalancerMetricFactoryProps

type ApplicationLoadBalancerMetricFactoryProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	ApplicationLoadBalancer awselasticloadbalancingv2.IApplicationLoadBalancer `field:"required" json:"applicationLoadBalancer" yaml:"applicationLoadBalancer"`
	// Experimental.
	ApplicationTargetGroup awselasticloadbalancingv2.IApplicationTargetGroup `field:"required" json:"applicationTargetGroup" yaml:"applicationTargetGroup"`
}

Props to create ApplicationLoadBalancerMetricFactory. Experimental.

type AuroraAlarmFactory

type AuroraAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxServerlessDatabaseCapacity(metric interface{}, props *HighServerlessDatabaseCapacityThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewAuroraAlarmFactory

func NewAuroraAlarmFactory(alarmFactory AlarmFactory) AuroraAlarmFactory

Experimental.

type AuroraClusterMonitoring

type AuroraClusterMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	CommitLatencyMetric() interface{}
	// Experimental.
	ConnectionAlarmFactory() ConnectionAlarmFactory
	// Experimental.
	ConnectionAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ConnectionsMetric() interface{}
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	DeleteLatencyMetric() interface{}
	// Experimental.
	InsertLatencyMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SelectLatencyMetric() interface{}
	// Experimental.
	ServerlessCapacityAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ServerlessDatabaseCapacityMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	UpdateLatencyMetric() interface{}
	// Experimental.
	Url() *string
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Experimental.
	UsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateConnectionsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateCpuUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateServerlessDatabaseCapacityWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewAuroraClusterMonitoring

func NewAuroraClusterMonitoring(scope MonitoringScope, props *AuroraClusterMonitoringProps) AuroraClusterMonitoring

Experimental.

type AuroraClusterMonitoringOptions

type AuroraClusterMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMaxConnectionCountAlarm *map[string]*HighConnectionCountThreshold `field:"optional" json:"addMaxConnectionCountAlarm" yaml:"addMaxConnectionCountAlarm"`
	// Experimental.
	AddMaxServerlessDatabaseCapacityAlarm *map[string]*UsageCountThreshold `field:"optional" json:"addMaxServerlessDatabaseCapacityAlarm" yaml:"addMaxServerlessDatabaseCapacityAlarm"`
	// Experimental.
	AddMinConnectionCountAlarm *map[string]*LowConnectionCountThreshold `field:"optional" json:"addMinConnectionCountAlarm" yaml:"addMinConnectionCountAlarm"`
}

Experimental.

type AuroraClusterMonitoringProps

type AuroraClusterMonitoringProps struct {
	// database cluster (either this or `clusterIdentifier` need to be specified).
	// Experimental.
	Cluster interface{} `field:"optional" json:"cluster" yaml:"cluster"`
	// database cluster identifier (either this or `cluster` need to be specified).
	// Deprecated: please use `cluster` instead.
	ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMaxConnectionCountAlarm *map[string]*HighConnectionCountThreshold `field:"optional" json:"addMaxConnectionCountAlarm" yaml:"addMaxConnectionCountAlarm"`
	// Experimental.
	AddMaxServerlessDatabaseCapacityAlarm *map[string]*UsageCountThreshold `field:"optional" json:"addMaxServerlessDatabaseCapacityAlarm" yaml:"addMaxServerlessDatabaseCapacityAlarm"`
	// Experimental.
	AddMinConnectionCountAlarm *map[string]*LowConnectionCountThreshold `field:"optional" json:"addMinConnectionCountAlarm" yaml:"addMinConnectionCountAlarm"`
}

Experimental.

type AutoScalingGroupMetricFactory

type AutoScalingGroupMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// The number of instances that the Auto Scaling group attempts to maintain.
	// Experimental.
	MetricGroupDesiredCapacity() interface{}
	// The number of instances that are running as part of the Auto Scaling group.
	//
	// This metric does not include instances that are pending or terminating.
	// Experimental.
	MetricGroupInServiceInstances() interface{}
	// The maximum size of the Auto Scaling group.
	// Experimental.
	MetricGroupMaxSize() interface{}
	// The minimum size of the Auto Scaling group.
	// Experimental.
	MetricGroupMinSize() interface{}
	// The number of instances that are pending.
	//
	// A pending instance is not yet in service.
	// This metric does not include instances that are in service or terminating.
	// Experimental.
	MetricGroupPendingInstances() interface{}
	// The number of instances that are in a Standby state.
	//
	// Instances in this state are still running but are not actively in service.
	// Experimental.
	MetricGroupStandbyInstances() interface{}
	// The number of instances that are in the process of terminating.
	//
	// This metric does not include instances that are in service or pending.
	// Experimental.
	MetricGroupTerminatingInstances() interface{}
	// The total number of instances in the Auto Scaling group.
	//
	// This metric identifies the number of instances that are in service, pending, and terminating.
	// Experimental.
	MetricGroupTotalInstances() interface{}
}

Experimental.

func NewAutoScalingGroupMetricFactory

func NewAutoScalingGroupMetricFactory(metricFactory MetricFactory, props *AutoScalingGroupMetricFactoryProps) AutoScalingGroupMetricFactory

Experimental.

type AutoScalingGroupMetricFactoryProps

type AutoScalingGroupMetricFactoryProps struct {
	// Experimental.
	AutoScalingGroup awsautoscaling.IAutoScalingGroup `field:"required" json:"autoScalingGroup" yaml:"autoScalingGroup"`
}

Experimental.

type AutoScalingGroupMonitoring

type AutoScalingGroupMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	GroupDesiredSizeMetric() interface{}
	// Experimental.
	GroupMaxSizeMetric() interface{}
	// Experimental.
	GroupMinSizeMetric() interface{}
	// Experimental.
	InstancesInServiceMetric() interface{}
	// Experimental.
	InstancesPendingMetric() interface{}
	// Experimental.
	InstancesStandbyMetric() interface{}
	// Experimental.
	InstancesTerminatingMetric() interface{}
	// Experimental.
	InstancesTotalMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateGroupSizeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateGroupStatusWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewAutoScalingGroupMonitoring

func NewAutoScalingGroupMonitoring(scope MonitoringScope, props *AutoScalingGroupMonitoringProps) AutoScalingGroupMonitoring

Experimental.

type AutoScalingGroupMonitoringOptions

type AutoScalingGroupMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type AutoScalingGroupMonitoringProps

type AutoScalingGroupMonitoringProps struct {
	// Experimental.
	AutoScalingGroup awsautoscaling.IAutoScalingGroup `field:"required" json:"autoScalingGroup" yaml:"autoScalingGroup"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type AvailabilityThreshold

type AvailabilityThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinAvailabilityPercent *float64 `field:"required" json:"minAvailabilityPercent" yaml:"minAvailabilityPercent"`
}

Experimental.

type AwsConsoleUrlFactory

type AwsConsoleUrlFactory interface {
	// Experimental.
	AwsAccountId() *string
	// Experimental.
	AwsAccountRegion() *string
	// Experimental.
	GetApiGatewayUrl(restApiId *string) *string
	// Experimental.
	GetAwsConsoleUrl(destinationUrl *string) *string
	// Experimental.
	GetCloudFrontDistributionUrl(distributionId *string) *string
	// Experimental.
	GetCloudWatchLogGroupUrl(logGroupName *string) *string
	// Experimental.
	GetCodeBuildProjectUrl(projectName *string) *string
	// Experimental.
	GetDocumentDbClusterUrl(clusterId *string) *string
	// Experimental.
	GetDynamoTableUrl(tableName *string) *string
	// Experimental.
	GetElastiCacheClusterUrl(clusterId *string, clusterType ElastiCacheClusterType) *string
	// Experimental.
	GetKinesisAnalyticsUrl(application *string) *string
	// Experimental.
	GetKinesisDataStreamUrl(streamName *string) *string
	// Experimental.
	GetKinesisFirehoseDeliveryStreamUrl(streamName *string) *string
	// Experimental.
	GetLambdaFunctionUrl(functionName *string) *string
	// Experimental.
	GetOpenSearchClusterUrl(domainName *string) *string
	// Experimental.
	GetRdsClusterUrl(clusterId *string) *string
	// Experimental.
	GetRedshiftClusterUrl(clusterId *string) *string
	// Resolves a destination URL within a resolution context.
	// See: https://docs.aws.amazon.com/cdk/latest/guide/tokens.html
	//
	// Experimental.
	GetResolvedDestinationUrl(context awscdk.IResolveContext, destinationUrl *string) *string
	// Experimental.
	GetS3BucketUrl(bucketName *string) *string
	// Experimental.
	GetSnsTopicUrl(topicArn *string) *string
	// Experimental.
	GetSqsQueueUrl(queueUrl *string) *string
	// Experimental.
	GetStateMachineUrl(stateMachineArn *string) *string
}

Experimental.

func NewAwsConsoleUrlFactory

func NewAwsConsoleUrlFactory(props *AwsConsoleUrlFactoryProps) AwsConsoleUrlFactory

Experimental.

type AwsConsoleUrlFactoryProps

type AwsConsoleUrlFactoryProps struct {
	// Experimental.
	AwsAccountId *string `field:"required" json:"awsAccountId" yaml:"awsAccountId"`
	// Experimental.
	AwsAccountRegion *string `field:"required" json:"awsAccountRegion" yaml:"awsAccountRegion"`
}

Experimental.

type AxisPosition

type AxisPosition string

Experimental.

const (
	// Experimental.
	AxisPosition_LEFT AxisPosition = "LEFT"
	// Experimental.
	AxisPosition_RIGHT AxisPosition = "RIGHT"
)

type BaseDlqAlarms

type BaseDlqAlarms struct {
	// Alarm on the number of messages added to a queue.
	//
	// Note that this corresponds with the NumberOfMessagesSent metric, which does not capture messages sent to the DLQ
	// as a result of a failed processing attempt.
	// See: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html#sqs-dlq-number-of-messages
	//
	// Experimental.
	AddDeadLetterQueueMaxIncomingMessagesAlarm *map[string]*MaxIncomingMessagesCountThreshold `field:"optional" json:"addDeadLetterQueueMaxIncomingMessagesAlarm" yaml:"addDeadLetterQueueMaxIncomingMessagesAlarm"`
	// Experimental.
	AddDeadLetterQueueMaxMessageAgeAlarm *map[string]*MaxMessageAgeThreshold `field:"optional" json:"addDeadLetterQueueMaxMessageAgeAlarm" yaml:"addDeadLetterQueueMaxMessageAgeAlarm"`
	// Experimental.
	AddDeadLetterQueueMaxSizeAlarm *map[string]*MaxMessageCountThreshold `field:"optional" json:"addDeadLetterQueueMaxSizeAlarm" yaml:"addDeadLetterQueueMaxSizeAlarm"`
}

Experimental.

type BaseEc2ServiceAlarms

type BaseEc2ServiceAlarms struct {
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
}

Experimental.

type BaseFargateServiceAlarms

type BaseFargateServiceAlarms struct {
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
}

Experimental.

type BaseLoadBalancerMetricFactoryProps

type BaseLoadBalancerMetricFactoryProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
}

Base of Monitoring props for load-balancer metric factories. Experimental.

type BaseMonitoringProps

type BaseMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Base class for properties passed to each monitoring construct.

It contains (mostly optional) properties to specify naming, placement, and so on. Experimental.

type BaseServiceMetricFactory

type BaseServiceMetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Service() awsecs.BaseService
	// Experimental.
	MetricClusterCpuUtilisationInPercent() interface{}
	// Experimental.
	MetricClusterMemoryUtilisationInPercent() interface{}
	// Experimental.
	MetricRunningTaskCount() interface{}
}

Metric factory for a base service (parent class for e.g. Fargate and EC2 services). Experimental.

func NewBaseServiceMetricFactory

func NewBaseServiceMetricFactory(metricFactory MetricFactory, props *BaseServiceMetricFactoryProps) BaseServiceMetricFactory

Experimental.

type BaseServiceMetricFactoryProps

type BaseServiceMetricFactoryProps struct {
	// Experimental.
	Service awsecs.BaseService `field:"required" json:"service" yaml:"service"`
}

Props to create BaseServiceMetricFactory. Experimental.

type BaseSqsQueueAlarms

type BaseSqsQueueAlarms struct {
	// Experimental.
	AddQueueMaxIncomingMessagesAlarm *map[string]*MaxIncomingMessagesCountThreshold `field:"optional" json:"addQueueMaxIncomingMessagesAlarm" yaml:"addQueueMaxIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMaxMessageAgeAlarm *map[string]*MaxMessageAgeThreshold `field:"optional" json:"addQueueMaxMessageAgeAlarm" yaml:"addQueueMaxMessageAgeAlarm"`
	// Experimental.
	AddQueueMaxSizeAlarm *map[string]*MaxMessageCountThreshold `field:"optional" json:"addQueueMaxSizeAlarm" yaml:"addQueueMaxSizeAlarm"`
	// Experimental.
	AddQueueMaxTimeToDrainMessagesAlarm *map[string]*MaxTimeToDrainThreshold `field:"optional" json:"addQueueMaxTimeToDrainMessagesAlarm" yaml:"addQueueMaxTimeToDrainMessagesAlarm"`
	// Experimental.
	AddQueueMinIncomingMessagesAlarm *map[string]*MinIncomingMessagesCountThreshold `field:"optional" json:"addQueueMinIncomingMessagesAlarm" yaml:"addQueueMinIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMinSizeAlarm *map[string]*MinMessageCountThreshold `field:"optional" json:"addQueueMinSizeAlarm" yaml:"addQueueMinSizeAlarm"`
}

Experimental.

type BillingMetricFactory

type BillingMetricFactory interface {
	// Experimental.
	MetricSearchTopCostByServiceInUsd() awscloudwatch.IMetric
	// Experimental.
	MetricTotalCostInUsd() interface{}
}

Experimental.

func NewBillingMetricFactory

func NewBillingMetricFactory() BillingMetricFactory

Experimental.

type BillingMonitoring

type BillingMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	AnomalyDetectingAlarmFactory() AnomalyDetectingAlarmFactory
	// Experimental.
	CostByServiceMetric() awscloudwatch.IMetric
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	TotalCostMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateChargesByServiceWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTotalChargesWidget(width *float64, height *float64) awscloudwatch.SingleValueWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewBillingMonitoring

func NewBillingMonitoring(scope MonitoringScope, props *BillingMonitoringProps) BillingMonitoring

Experimental.

type BillingMonitoringOptions

type BillingMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddTotalCostAnomalyAlarm *map[string]*AnomalyDetectionThreshold `field:"optional" json:"addTotalCostAnomalyAlarm" yaml:"addTotalCostAnomalyAlarm"`
}

Experimental.

type BillingMonitoringProps

type BillingMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddTotalCostAnomalyAlarm *map[string]*AnomalyDetectionThreshold `field:"optional" json:"addTotalCostAnomalyAlarm" yaml:"addTotalCostAnomalyAlarm"`
}

Experimental.

type BitmapDashboard

type BitmapDashboard interface {
	awscloudwatch.Dashboard
	// Experimental.
	BitmapRenderingSupport() BitmapWidgetRenderingSupport
	// ARN of this dashboard.
	// Experimental.
	DashboardArn() *string
	// The name of this dashboard.
	// Experimental.
	DashboardName() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Add a variable to the dashboard.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html
	//
	// Experimental.
	AddVariable(variable awscloudwatch.IVariable)
	// Add a widget to the dashboard.
	//
	// Widgets given in multiple calls to add() will be laid out stacked on
	// top of each other.
	//
	// Multiple widgets added in the same call to add() will be laid out next
	// to each other.
	// Experimental.
	AddWidgets(widgets ...awscloudwatch.IWidget)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	AsBitmap(widget awscloudwatch.IWidget) awscloudwatch.IWidget
	// Experimental.
	AsBitmaps(widgets ...awscloudwatch.IWidget) *[]awscloudwatch.IWidget
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Specific subtype of dashboard that renders supported widgets as bitmaps, while preserving the overall layout. Experimental.

func NewBitmapDashboard

func NewBitmapDashboard(scope constructs.Construct, id *string, props *awscloudwatch.DashboardProps) BitmapDashboard

Experimental.

type BitmapWidgetRenderingSupport

type BitmapWidgetRenderingSupport interface {
	constructs.Construct
	// Experimental.
	Handler() awslambda.IFunction
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	AsBitmap(widget awscloudwatch.IWidget) CustomWidget
	// Experimental.
	GetWidgetProperties(widget awscloudwatch.IWidget) interface{}
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Support for rendering bitmap widgets on the server side.

It is a custom widget lambda with some additional roles and helper methods. Experimental.

func NewBitmapWidgetRenderingSupport

func NewBitmapWidgetRenderingSupport(scope constructs.Construct, id *string) BitmapWidgetRenderingSupport

Experimental.

type CapacityType

type CapacityType string

Experimental.

const (
	// Experimental.
	CapacityType_READ CapacityType = "READ"
	// Experimental.
	CapacityType_WRITE CapacityType = "WRITE"
)

type CertificateManagerMetricFactory

type CertificateManagerMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricDaysToExpiry() interface{}
}

Experimental.

func NewCertificateManagerMetricFactory

func NewCertificateManagerMetricFactory(metricFactory MetricFactory, props *CertificateManagerMetricFactoryProps) CertificateManagerMetricFactory

Experimental.

type CertificateManagerMetricFactoryProps

type CertificateManagerMetricFactoryProps struct {
	// Experimental.
	Certificate awscertificatemanager.ICertificate `field:"required" json:"certificate" yaml:"certificate"`
}

Experimental.

type CertificateManagerMonitoring

type CertificateManagerMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	DaysToExpiryAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DaysToExpiryMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDaysToExpiryWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewCertificateManagerMonitoring

func NewCertificateManagerMonitoring(scope MonitoringScope, props *CertificateManagerMonitoringProps) CertificateManagerMonitoring

Experimental.

type CertificateManagerMonitoringOptions

type CertificateManagerMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDaysToExpiryAlarm *map[string]*DaysToExpiryThreshold `field:"optional" json:"addDaysToExpiryAlarm" yaml:"addDaysToExpiryAlarm"`
}

Experimental.

type CertificateManagerMonitoringProps

type CertificateManagerMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDaysToExpiryAlarm *map[string]*DaysToExpiryThreshold `field:"optional" json:"addDaysToExpiryAlarm" yaml:"addDaysToExpiryAlarm"`
	// Experimental.
	Certificate awscertificatemanager.ICertificate `field:"required" json:"certificate" yaml:"certificate"`
}

Experimental.

type ChangeInSecretCountThreshold

type ChangeInSecretCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	AlarmWhenDecreased *bool `field:"required" json:"alarmWhenDecreased" yaml:"alarmWhenDecreased"`
	// Experimental.
	AlarmWhenIncreased *bool `field:"required" json:"alarmWhenIncreased" yaml:"alarmWhenIncreased"`
	// Experimental.
	RequiredSecretCount *float64 `field:"required" json:"requiredSecretCount" yaml:"requiredSecretCount"`
	// Experimental.
	AdditionalDescription *string `field:"optional" json:"additionalDescription" yaml:"additionalDescription"`
}

Experimental.

type CloudFrontDistributionMetricFactory

type CloudFrontDistributionMetricFactory interface {
	// Experimental.
	Metric4xxErrorRateAverage() interface{}
	// Experimental.
	Metric5xxErrorRateAverage() interface{}
	// Cache hit rate metric.
	//
	// This is an additional metric that needs to be explicitly enabled for an additional cost.
	// See: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional
	//
	// Experimental.
	MetricCacheHitRateAverageInPercent() interface{}
	// Experimental.
	MetricRequestCount() interface{}
	// Experimental.
	MetricRequestRate() interface{}
	// Deprecated: use metricRequestRate.
	MetricRequestTps() interface{}
	// Experimental.
	MetricTotalBytesDownloaded() interface{}
	// Experimental.
	MetricTotalBytesUploaded() interface{}
	// Experimental.
	MetricTotalErrorRateAverage() interface{}
}

To get the CloudFront metrics from the CloudWatch API, you must use the US East (N.

Virginia) Region (us-east-1). https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/programming-cloudwatch-metrics.html Experimental.

func NewCloudFrontDistributionMetricFactory

func NewCloudFrontDistributionMetricFactory(metricFactory MetricFactory, props *CloudFrontDistributionMetricFactoryProps) CloudFrontDistributionMetricFactory

Experimental.

type CloudFrontDistributionMetricFactoryProps

type CloudFrontDistributionMetricFactoryProps struct {
	// Experimental.
	Distribution awscloudfront.IDistribution `field:"required" json:"distribution" yaml:"distribution"`
	// Generate dashboard charts for additional CloudFront distribution metrics.
	//
	// To enable additional metrics on your CloudFront distribution, see
	// https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional
	// Default: - true.
	//
	// Experimental.
	AdditionalMetricsEnabled *bool `field:"optional" json:"additionalMetricsEnabled" yaml:"additionalMetricsEnabled"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type CloudFrontDistributionMonitoring

type CloudFrontDistributionMonitoring interface {
	Monitoring
	// Experimental.
	AdditionalMetricsEnabled() *bool
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	CacheHitRate() interface{}
	// Experimental.
	DistributionUrl() *string
	// Experimental.
	DownloadedBytesMetric() interface{}
	// Experimental.
	Error4xxRate() interface{}
	// Experimental.
	Error5xxRate() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	NamingStrategy() MonitoringNamingStrategy
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	TpsAlarmFactory() TpsAlarmFactory
	// Experimental.
	TpsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TpsMetric() interface{}
	// Experimental.
	UploadedBytesMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateCacheWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTpsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTrafficWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewCloudFrontDistributionMonitoring

func NewCloudFrontDistributionMonitoring(scope MonitoringScope, props *CloudFrontDistributionMonitoringProps) CloudFrontDistributionMonitoring

Experimental.

type CloudFrontDistributionMonitoringOptions

type CloudFrontDistributionMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type CloudFrontDistributionMonitoringProps

type CloudFrontDistributionMonitoringProps struct {
	// Experimental.
	Distribution awscloudfront.IDistribution `field:"required" json:"distribution" yaml:"distribution"`
	// Generate dashboard charts for additional CloudFront distribution metrics.
	//
	// To enable additional metrics on your CloudFront distribution, see
	// https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional
	// Default: - true.
	//
	// Experimental.
	AdditionalMetricsEnabled *bool `field:"optional" json:"additionalMetricsEnabled" yaml:"additionalMetricsEnabled"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddError4xxRate *map[string]*ErrorRateThreshold `field:"optional" json:"addError4xxRate" yaml:"addError4xxRate"`
	// Experimental.
	AddFault5xxRate *map[string]*ErrorRateThreshold `field:"optional" json:"addFault5xxRate" yaml:"addFault5xxRate"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
}

Experimental.

type CloudWatchLogsMetricFactory

type CloudWatchLogsMetricFactory interface {
	// Experimental.
	MetricIncomingLogEvents() interface{}
}

Experimental.

func NewCloudWatchLogsMetricFactory

func NewCloudWatchLogsMetricFactory(metricFactory MetricFactory, props *CloudWatchLogsMetricFactoryProps) CloudWatchLogsMetricFactory

Experimental.

type CloudWatchLogsMetricFactoryProps

type CloudWatchLogsMetricFactoryProps struct {
	// Name of the log group to monitor.
	// Experimental.
	LogGroupName *string `field:"required" json:"logGroupName" yaml:"logGroupName"`
}

Experimental.

type CodeBuildProjectMetricFactory

type CodeBuildProjectMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Project() awscodebuild.IProject
	// Experimental.
	MetricBuildCount() interface{}
	// Experimental.
	MetricDurationP50InSeconds() interface{}
	// Experimental.
	MetricDurationP90InSeconds() interface{}
	// Experimental.
	MetricDurationP99InSeconds() interface{}
	// Experimental.
	MetricFailedBuildCount() interface{}
	// Experimental.
	MetricFailedBuildRate() interface{}
	// Experimental.
	MetricSucceededBuildCount() interface{}
}

Experimental.

func NewCodeBuildProjectMetricFactory

func NewCodeBuildProjectMetricFactory(metricFactory MetricFactory, props *CodeBuildProjectMetricFactoryProps) CodeBuildProjectMetricFactory

Experimental.

type CodeBuildProjectMetricFactoryProps

type CodeBuildProjectMetricFactoryProps struct {
	// Experimental.
	Project awscodebuild.IProject `field:"required" json:"project" yaml:"project"`
}

Experimental.

type CodeBuildProjectMonitoring

type CodeBuildProjectMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	BuildCountMetric() interface{}
	// Experimental.
	DurationAlarmFactory() LatencyAlarmFactory
	// Experimental.
	DurationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DurationP50InSecondsMetric() interface{}
	// Experimental.
	DurationP90InSecondsMetric() interface{}
	// Experimental.
	DurationP99InSecondsMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FailedBuildCountMetric() interface{}
	// Experimental.
	FailedBuildRateMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	ProjectUrl() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SucceededBuildCountMetric() interface{}
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateBuildCountsWidget() awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDurationWidget() awscloudwatch.GraphWidget
	// Experimental.
	CreateFailedBuildRateWidget() awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	ResolveProjectName(project awscodebuild.IProject) *string
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewCodeBuildProjectMonitoring

func NewCodeBuildProjectMonitoring(scope MonitoringScope, props *CodeBuildProjectMonitoringProps) CodeBuildProjectMonitoring

Experimental.

type CodeBuildProjectMonitoringOptions

type CodeBuildProjectMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedBuildCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedBuildCountAlarm" yaml:"addFailedBuildCountAlarm"`
	// Experimental.
	AddFailedBuildRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedBuildRateAlarm" yaml:"addFailedBuildRateAlarm"`
}

Experimental.

type CodeBuildProjectMonitoringProps

type CodeBuildProjectMonitoringProps struct {
	// Experimental.
	Project awscodebuild.IProject `field:"required" json:"project" yaml:"project"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedBuildCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedBuildCountAlarm" yaml:"addFailedBuildCountAlarm"`
	// Experimental.
	AddFailedBuildRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedBuildRateAlarm" yaml:"addFailedBuildRateAlarm"`
}

Monitoring props for CodeBuild projects. Experimental.

type CompositeAlarmOperator

type CompositeAlarmOperator string

Experimental.

const (
	// trigger only if all the alarms are triggered.
	// Experimental.
	CompositeAlarmOperator_AND CompositeAlarmOperator = "AND"
	// trigger if any of the alarms is triggered.
	// Experimental.
	CompositeAlarmOperator_OR CompositeAlarmOperator = "OR"
)

type CompositeMetricAdjuster

type CompositeMetricAdjuster interface {
	IMetricAdjuster
	// Adjusts a metric.
	// Experimental.
	AdjustMetric(metric interface{}, alarmScope constructs.Construct, props *AddAlarmProps) interface{}
}

Allows to apply a collection of {@link IMetricAdjuster} to a metric. Experimental.

func CompositeMetricAdjuster_Of

func CompositeMetricAdjuster_Of(adjusters ...IMetricAdjuster) CompositeMetricAdjuster

Experimental.

func NewCompositeMetricAdjuster

func NewCompositeMetricAdjuster(adjusters *[]IMetricAdjuster) CompositeMetricAdjuster

Experimental.

type ConnectionAlarmFactory

type ConnectionAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxConnectionCountAlarm(metric interface{}, props *HighConnectionCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinConnectionCountAlarm(metric interface{}, props *LowConnectionCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewConnectionAlarmFactory

func NewConnectionAlarmFactory(alarmFactory AlarmFactory) ConnectionAlarmFactory

Experimental.

type ConsumedCapacityThreshold

type ConsumedCapacityThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxConsumedCapacityUnits *float64 `field:"required" json:"maxConsumedCapacityUnits" yaml:"maxConsumedCapacityUnits"`
}

Experimental.

type CustomAlarmFactory

type CustomAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddCustomAlarm(metric interface{}, alarmNameSuffix *string, disambiguator *string, props *CustomThreshold) *AlarmWithAnnotation
}

Experimental.

func NewCustomAlarmFactory

func NewCustomAlarmFactory(alarmFactory AlarmFactory) CustomAlarmFactory

Experimental.

type CustomAlarmThreshold

type CustomAlarmThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
}

Common customization that can be attached to each alarm. Experimental.

type CustomEc2ServiceMonitoringProps

type CustomEc2ServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	Ec2Service awsecs.Ec2Service `field:"required" json:"ec2Service" yaml:"ec2Service"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
	// Experimental.
	LoadBalancer interface{} `field:"optional" json:"loadBalancer" yaml:"loadBalancer"`
	// Experimental.
	TargetGroup interface{} `field:"optional" json:"targetGroup" yaml:"targetGroup"`
}

Experimental.

type CustomFargateServiceMonitoringProps

type CustomFargateServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	FargateService awsecs.FargateService `field:"required" json:"fargateService" yaml:"fargateService"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
	// Experimental.
	LoadBalancer interface{} `field:"optional" json:"loadBalancer" yaml:"loadBalancer"`
	// Experimental.
	TargetGroup interface{} `field:"optional" json:"targetGroup" yaml:"targetGroup"`
}

Experimental.

type CustomMetricGroup

type CustomMetricGroup struct {
	// list of metrics in the group (can be defined in different ways, see the type documentation).
	// Experimental.
	Metrics *[]interface{} `field:"required" json:"metrics" yaml:"metrics"`
	// title of the whole group.
	// Experimental.
	Title *string `field:"required" json:"title" yaml:"title"`
	// Flag indicating this metric group should be included in the summary as well.
	// Default: - addToSummaryDashboard from CustomMonitoringProps, defaulting to false.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// optional axis.
	// Default: undefined.
	//
	// Experimental.
	GraphWidgetAxis *awscloudwatch.YAxisProps `field:"optional" json:"graphWidgetAxis" yaml:"graphWidgetAxis"`
	// graph widget legend.
	// Default: BOTTOM.
	//
	// Experimental.
	GraphWidgetLegend awscloudwatch.LegendPosition `field:"optional" json:"graphWidgetLegend" yaml:"graphWidgetLegend"`
	// optional right axis.
	// Default: undefined.
	//
	// Experimental.
	GraphWidgetRightAxis *awscloudwatch.YAxisProps `field:"optional" json:"graphWidgetRightAxis" yaml:"graphWidgetRightAxis"`
	// type of the widget.
	// Default: line.
	//
	// Experimental.
	GraphWidgetType GraphWidgetType `field:"optional" json:"graphWidgetType" yaml:"graphWidgetType"`
	// optional custom horizontal annotations which will be displayed over the metrics on the left axis (if there are any alarms, any existing annotations will be merged together).
	// Experimental.
	HorizontalAnnotations *[]*awscloudwatch.HorizontalAnnotation `field:"optional" json:"horizontalAnnotations" yaml:"horizontalAnnotations"`
	// optional custom horizontal annotations which will be displayed over the metrics on the right axis (if there are any alarms, any existing annotations will be merged together).
	// Experimental.
	HorizontalRightAnnotations *[]*awscloudwatch.HorizontalAnnotation `field:"optional" json:"horizontalRightAnnotations" yaml:"horizontalRightAnnotations"`
	// See: addToSummaryDashboard.
	//
	// Deprecated: use addToSummaryDashboard. addToSummaryDashboard will take precedence over important.
	Important *bool `field:"optional" json:"important" yaml:"important"`
}

Custom metric group represents a single widget. Experimental.

type CustomMetricGroupWithAnnotations

type CustomMetricGroupWithAnnotations struct {
	// Experimental.
	Annotations *[]*awscloudwatch.HorizontalAnnotation `field:"required" json:"annotations" yaml:"annotations"`
	// Experimental.
	MetricGroup *CustomMetricGroup `field:"required" json:"metricGroup" yaml:"metricGroup"`
	// Experimental.
	RightAnnotations *[]*awscloudwatch.HorizontalAnnotation `field:"required" json:"rightAnnotations" yaml:"rightAnnotations"`
	// Experimental.
	TitleAddons *[]*string `field:"required" json:"titleAddons" yaml:"titleAddons"`
	// Experimental.
	Height *float64 `field:"optional" json:"height" yaml:"height"`
}

Experimental.

type CustomMetricSearch

type CustomMetricSearch struct {
	// search dimensions (can be empty).
	// Experimental.
	DimensionsMap *map[string]*string `field:"required" json:"dimensionsMap" yaml:"dimensionsMap"`
	// search query (can be empty).
	// Experimental.
	SearchQuery *string `field:"required" json:"searchQuery" yaml:"searchQuery"`
	// metric statistic.
	// Experimental.
	Statistic MetricStatistic `field:"required" json:"statistic" yaml:"statistic"`
	// custom label for the metrics.
	// Default: - " ".
	//
	// Experimental.
	Label *string `field:"optional" json:"label" yaml:"label"`
	// metric namespace.
	// Default: - none.
	//
	// Experimental.
	Namespace *string `field:"optional" json:"namespace" yaml:"namespace"`
	// metric period.
	// Default: - global default.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// axis (right or left) on which to graph metric default: AxisPosition.LEFT.
	// Experimental.
	Position AxisPosition `field:"optional" json:"position" yaml:"position"`
}

Custom metric search. Experimental.

type CustomMetricWithAlarm

type CustomMetricWithAlarm struct {
	// alarm definitions.
	// Experimental.
	AddAlarm *map[string]*CustomThreshold `field:"required" json:"addAlarm" yaml:"addAlarm"`
	// alarm friendly name.
	// Experimental.
	AlarmFriendlyName *string `field:"required" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// metric to alarm on.
	// Experimental.
	Metric interface{} `field:"required" json:"metric" yaml:"metric"`
	// axis (right or left) on which to graph metric default: AxisPosition.LEFT.
	// Experimental.
	Position AxisPosition `field:"optional" json:"position" yaml:"position"`
}

Custom metric with an alarm defined. Experimental.

type CustomMetricWithAnomalyDetection

type CustomMetricWithAnomalyDetection struct {
	// alarm friendly name.
	// Experimental.
	AlarmFriendlyName *string `field:"required" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// standard deviation for the anomaly detection to be rendered on the graph widget.
	// Experimental.
	AnomalyDetectionStandardDeviationToRender *float64 `field:"required" json:"anomalyDetectionStandardDeviationToRender" yaml:"anomalyDetectionStandardDeviationToRender"`
	// metric to alarm on.
	// Experimental.
	Metric interface{} `field:"required" json:"metric" yaml:"metric"`
	// adds alarm on a detected anomaly.
	// Experimental.
	AddAlarmOnAnomaly *map[string]*AnomalyDetectionThreshold `field:"optional" json:"addAlarmOnAnomaly" yaml:"addAlarmOnAnomaly"`
	// anomaly detection period.
	// Default: - metric period (if defined) or global default.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
}

Custom metric with anomaly detection. Experimental.

type CustomMonitoring

type CustomMonitoring interface {
	Monitoring
	// Experimental.
	AddToSummaryDashboard() *bool
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	AnomalyDetectingAlarmFactory() AnomalyDetectingAlarmFactory
	// Experimental.
	CustomAlarmFactory() CustomAlarmFactory
	// Experimental.
	Description() *string
	// Experimental.
	DescriptionWidgetHeight() *float64
	// Experimental.
	Height() *float64
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MetricGroups() *[]*CustomMetricGroupWithAnnotations
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Custom monitoring is a construct allowing you to monitor your own custom metrics.

The entire construct consists of metric groups. Each metric group represents a single graph widget with multiple metrics. Each metric inside the metric group represents a single metric inside a graph. The widgets will be sized automatically to waste as little space as possible. Experimental.

func NewCustomMonitoring

func NewCustomMonitoring(scope MonitoringScope, props *CustomMonitoringProps) CustomMonitoring

Experimental.

type CustomMonitoringProps

type CustomMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// define metric groups and metrics inside them (each metric group represents a widget).
	// Experimental.
	MetricGroups *[]*CustomMetricGroup `field:"required" json:"metricGroups" yaml:"metricGroups"`
	// optional description of the whole section, in markdown.
	// Default: no description.
	//
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// optional height of the description widget, so the content fits.
	// Default: minimum height (should fit one or two lines of text).
	//
	// Experimental.
	DescriptionWidgetHeight *float64 `field:"optional" json:"descriptionWidgetHeight" yaml:"descriptionWidgetHeight"`
	// height override.
	// Default: default height.
	//
	// Experimental.
	Height *float64 `field:"optional" json:"height" yaml:"height"`
}

Experimental.

type CustomThreshold

type CustomThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	ComparisonOperator awscloudwatch.ComparisonOperator `field:"required" json:"comparisonOperator" yaml:"comparisonOperator"`
	// Experimental.
	Threshold *float64 `field:"required" json:"threshold" yaml:"threshold"`
	// Experimental.
	AdditionalDescription *string `field:"optional" json:"additionalDescription" yaml:"additionalDescription"`
	// Experimental.
	DedupeString *string `field:"optional" json:"dedupeString" yaml:"dedupeString"`
}

Experimental.

type CustomWidget

type CustomWidget interface {
	awscloudwatch.ConcreteWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

A dashboard widget that can be customized using a Lambda. Experimental.

func NewCustomWidget

func NewCustomWidget(props *CustomWidgetProps) CustomWidget

Experimental.

type CustomWidgetProps

type CustomWidgetProps struct {
	// Lambda providing the widget contents.
	//
	// The Lambda function should return HTML with widget code.
	// The simplest Lambda example:
	// “`typescript
	// exports.handler = function (event, context, callback) {
	//    return callback(null, "<h1>Hello! This is a custom widget.</h1><pre>" + JSON.stringify(event, null, 2) + "</pre>");
	// };
	// “`.
	// Experimental.
	Handler awslambda.IFunction `field:"required" json:"handler" yaml:"handler"`
	// Arguments to pass to the Lambda.
	//
	// These arguments will be available in the Lambda context.
	// Experimental.
	HandlerParams interface{} `field:"optional" json:"handlerParams" yaml:"handlerParams"`
	// Height of the widget.
	// Default: - 6.
	//
	// Experimental.
	Height *float64 `field:"optional" json:"height" yaml:"height"`
	// Title for the graph.
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
	// Whether the widget should be updated (by calling the Lambda again) on refresh.
	// Default: - true.
	//
	// Experimental.
	UpdateOnRefresh *bool `field:"optional" json:"updateOnRefresh" yaml:"updateOnRefresh"`
	// Whether the widget should be updated (by calling the Lambda again) on resize.
	// Default: - true.
	//
	// Experimental.
	UpdateOnResize *bool `field:"optional" json:"updateOnResize" yaml:"updateOnResize"`
	// Whether the widget should be updated (by calling the Lambda again) on time range change.
	// Default: - true.
	//
	// Experimental.
	UpdateOnTimeRangeChange *bool `field:"optional" json:"updateOnTimeRangeChange" yaml:"updateOnTimeRangeChange"`
	// Width of the widget, in a grid of 24 units wide.
	// Default: - 6.
	//
	// Experimental.
	Width *float64 `field:"optional" json:"width" yaml:"width"`
}

Properties of a custom widget. Experimental.

type DashboardRenderingPreference

type DashboardRenderingPreference string

Preferred way of rendering dashboard widgets. Experimental.

const (
	// Create standard set of dashboards with interactive widgets only.
	// Experimental.
	DashboardRenderingPreference_INTERACTIVE_ONLY DashboardRenderingPreference = "INTERACTIVE_ONLY"
	// Create standard set of dashboards with bitmap widgets only.
	// Experimental.
	DashboardRenderingPreference_BITMAP_ONLY DashboardRenderingPreference = "BITMAP_ONLY"
	// Create a two sets of dashboards: standard set (interactive) and a copy (bitmap).
	// Experimental.
	DashboardRenderingPreference_INTERACTIVE_AND_BITMAP DashboardRenderingPreference = "INTERACTIVE_AND_BITMAP"
)

type DashboardWithBitmapCopy

type DashboardWithBitmapCopy interface {
	awscloudwatch.Dashboard
	// Experimental.
	BitmapCopy() BitmapDashboard
	// ARN of this dashboard.
	// Experimental.
	DashboardArn() *string
	// The name of this dashboard.
	// Experimental.
	DashboardName() *string
	// The environment this resource belongs to.
	//
	// For resources that are created and managed by the CDK
	// (generally, those created by creating new class instances like Role, Bucket, etc.),
	// this is always the same as the environment of the stack they belong to;
	// however, for imported resources
	// (those obtained from static methods like fromRoleArn, fromBucketName, etc.),
	// that might be different than the stack they were imported into.
	// Experimental.
	Env() *awscdk.ResourceEnvironment
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by CloudFormation
	// - a concrete name generated automatically during synthesis, in
	//   cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	// The stack in which this resource is defined.
	// Experimental.
	Stack() awscdk.Stack
	// Add a variable to the dashboard.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html
	//
	// Experimental.
	AddVariable(variable awscloudwatch.IVariable)
	// Add a widget to the dashboard.
	//
	// Widgets given in multiple calls to add() will be laid out stacked on
	// top of each other.
	//
	// Multiple widgets added in the same call to add() will be laid out next
	// to each other.
	// Experimental.
	AddWidgets(widgets ...awscloudwatch.IWidget)
	// Apply the given removal policy to this resource.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
	// Experimental.
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	// Experimental.
	GeneratePhysicalName() *string
	// Returns an environment-sensitive token that should be used for the resource's "ARN" attribute (e.g. `bucket.bucketArn`).
	//
	// Normally, this token will resolve to `arnAttr`, but if the resource is
	// referenced across environments, `arnComponents` will be used to synthesize
	// a concrete ARN with the resource's physical name. Make sure to reference
	// `this.physicalName` in `arnComponents`.
	// Experimental.
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	// Returns an environment-sensitive token that should be used for the resource's "name" attribute (e.g. `bucket.bucketName`).
	//
	// Normally, this token will resolve to `nameAttr`, but if the resource is
	// referenced across environments, it will be resolved to `this.physicalName`,
	// which will be a concrete name.
	// Experimental.
	GetResourceNameAttribute(nameAttr *string) *string
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Composite dashboard which keeps a normal dashboard with its bitmap copy.

The bitmap copy name will be derived from the primary dashboard name, if specified. Experimental.

func NewDashboardWithBitmapCopy

func NewDashboardWithBitmapCopy(scope constructs.Construct, id *string, props *awscloudwatch.DashboardProps) DashboardWithBitmapCopy

Experimental.

type DaysSinceUpdateThreshold

type DaysSinceUpdateThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxDaysSinceUpdate *float64 `field:"required" json:"maxDaysSinceUpdate" yaml:"maxDaysSinceUpdate"`
}

Experimental.

type DaysToExpiryThreshold

type DaysToExpiryThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinDaysToExpiry *float64 `field:"required" json:"minDaysToExpiry" yaml:"minDaysToExpiry"`
}

Experimental.

type DefaultAlarmAnnotationStrategy

type DefaultAlarmAnnotationStrategy interface {
	FillingAlarmAnnotationStrategy
	// Creates annotation based on the metric and alarm properties.
	// Experimental.
	CreateAnnotation(props *AlarmAnnotationStrategyProps) *awscloudwatch.HorizontalAnnotation
	// Experimental.
	CreateAnnotationToFill(props *AlarmAnnotationStrategyProps) *awscloudwatch.HorizontalAnnotation
	// Experimental.
	GetAlarmingRangeShade(props *AlarmAnnotationStrategyProps) awscloudwatch.Shading
}

Default annotation strategy that returns the built-in alarm annotation. Experimental.

func NewDefaultAlarmAnnotationStrategy

func NewDefaultAlarmAnnotationStrategy() DefaultAlarmAnnotationStrategy

Experimental.

type DefaultDashboardFactory

type DefaultDashboardFactory interface {
	constructs.Construct
	IDashboardFactory
	IDynamicDashboardFactory
	// Experimental.
	AlarmDashboard() awscloudwatch.Dashboard
	// Experimental.
	AnyDashboardCreated() *bool
	// Experimental.
	Dashboard() awscloudwatch.Dashboard
	// Experimental.
	Dashboards() *map[string]awscloudwatch.Dashboard
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	SummaryDashboard() awscloudwatch.Dashboard
	// Adds a dynamic dashboard segment.
	// Experimental.
	AddDynamicSegment(segment IDynamicDashboardSegment)
	// Experimental.
	AddSegment(props IDashboardFactoryProps)
	// Experimental.
	CreatedAlarmDashboard() awscloudwatch.Dashboard
	// Experimental.
	CreateDashboard(renderingPreference DashboardRenderingPreference, id *string, props *awscloudwatch.DashboardProps) awscloudwatch.Dashboard
	// Experimental.
	CreatedDashboard() awscloudwatch.Dashboard
	// Experimental.
	CreatedSummaryDashboard() awscloudwatch.Dashboard
	// Gets the dashboard for the requested dashboard type.
	// Experimental.
	GetDashboard(name *string) awscloudwatch.Dashboard
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func NewDefaultDashboardFactory

func NewDefaultDashboardFactory(scope constructs.Construct, id *string, props *MonitoringDashboardsProps) DefaultDashboardFactory

Experimental.

type DefaultDashboards

type DefaultDashboards string

Experimental.

const (
	// Experimental.
	DefaultDashboards_SUMMARY DefaultDashboards = "SUMMARY"
	// Experimental.
	DefaultDashboards_DETAIL DefaultDashboards = "DETAIL"
	// Experimental.
	DefaultDashboards_ALARMS DefaultDashboards = "ALARMS"
)

type DefaultMetricAdjuster

type DefaultMetricAdjuster interface {
	IMetricAdjuster
	// Adjusts a metric.
	// Experimental.
	AdjustMetric(metric interface{}, _arg constructs.Construct, props *AddAlarmProps) interface{}
}

Applies the default metric adjustments.

These adjustments are always applied last, regardless the value configured in {@link AddAlarmProps.metricAdjuster}. Experimental.

func DefaultMetricAdjuster_INSTANCE

func DefaultMetricAdjuster_INSTANCE() DefaultMetricAdjuster

func NewDefaultMetricAdjuster

func NewDefaultMetricAdjuster() DefaultMetricAdjuster

Experimental.

type DefaultWidgetFactory

type DefaultWidgetFactory interface {
	IWidgetFactory
	// Create widget representing an alarm detail.
	// Experimental.
	CreateAlarmDetailWidget(alarm *AlarmWithAnnotation) awscloudwatch.IWidget
}

Experimental.

func NewDefaultWidgetFactory

func NewDefaultWidgetFactory() DefaultWidgetFactory

Experimental.

type DoNotModifyDedupeString

type DoNotModifyDedupeString interface {
	ExtendDedupeString
	// Process the dedupe string which was auto-generated.
	// Experimental.
	ProcessDedupeString(dedupeString *string) *string
	// Process the dedupe string which was specified by the user as an override.
	// Experimental.
	ProcessDedupeStringOverride(dedupeString *string) *string
}

Default dedupe strategy - does not add any prefix nor suffix. Experimental.

func NewDoNotModifyDedupeString

func NewDoNotModifyDedupeString(prefix *string, suffix *string) DoNotModifyDedupeString

Experimental.

type DocumentDbMetricFactory

type DocumentDbMetricFactory interface {
	// Experimental.
	ClusterIdentifier() *string
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricAverageCpuUsageInPercent() interface{}
	// Experimental.
	MetricMaxConnectionCount() interface{}
	// Experimental.
	MetricMaxCursorCount() interface{}
	// Experimental.
	MetricMaxTransactionOpenCount() interface{}
	// Experimental.
	MetricOperationsThrottledDueLowMemoryCount() interface{}
	// Experimental.
	MetricReadLatencyInMillis(latencyType LatencyType) interface{}
	// Experimental.
	MetricWriteLatencyInMillis(latencyType LatencyType) interface{}
}

Experimental.

func NewDocumentDbMetricFactory

func NewDocumentDbMetricFactory(metricFactory MetricFactory, props *DocumentDbMetricFactoryProps) DocumentDbMetricFactory

Experimental.

type DocumentDbMetricFactoryProps

type DocumentDbMetricFactoryProps struct {
	// database cluster.
	// Experimental.
	Cluster awsdocdb.IDatabaseCluster `field:"required" json:"cluster" yaml:"cluster"`
}

Experimental.

type DocumentDbMonitoring

type DocumentDbMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ConnectionsMetric() interface{}
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	CursorsMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	ReadLatencyMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	ThrottledMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	TransactionsMetric() interface{}
	// Experimental.
	Url() *string
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Experimental.
	UsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	WriteLatencyMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateConnectionsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateResourceUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTransactionsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewDocumentDbMonitoring

func NewDocumentDbMonitoring(scope MonitoringScope, props *DocumentDbMonitoringProps) DocumentDbMonitoring

Experimental.

type DocumentDbMonitoringOptions

type DocumentDbMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
}

Experimental.

type DocumentDbMonitoringProps

type DocumentDbMonitoringProps struct {
	// database cluster.
	// Experimental.
	Cluster awsdocdb.IDatabaseCluster `field:"required" json:"cluster" yaml:"cluster"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
}

Experimental.

type DoubleAxisGraphWidget

type DoubleAxisGraphWidget interface {
	awscloudwatch.GraphWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Add another metric to the left Y axis of the GraphWidget.
	// Experimental.
	AddLeftMetric(metric awscloudwatch.IMetric)
	// Add another metric to the right Y axis of the GraphWidget.
	// Experimental.
	AddRightMetric(metric awscloudwatch.IMetric)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Line graph widget with both left and right axes.

The purpose of this custom class is to make the properties more strict. It will avoid graphs with undefined axes and dimensions. Experimental.

func NewDoubleAxisGraphWidget

func NewDoubleAxisGraphWidget(props *DoubleAxisGraphWidgetProps) DoubleAxisGraphWidget

Experimental.

type DoubleAxisGraphWidgetProps

type DoubleAxisGraphWidgetProps struct {
	// Experimental.
	Height *float64 `field:"required" json:"height" yaml:"height"`
	// Experimental.
	LeftAxis *awscloudwatch.YAxisProps `field:"required" json:"leftAxis" yaml:"leftAxis"`
	// Experimental.
	LeftMetrics *[]awscloudwatch.IMetric `field:"required" json:"leftMetrics" yaml:"leftMetrics"`
	// Experimental.
	RightAxis *awscloudwatch.YAxisProps `field:"required" json:"rightAxis" yaml:"rightAxis"`
	// Experimental.
	RightMetrics *[]awscloudwatch.IMetric `field:"required" json:"rightMetrics" yaml:"rightMetrics"`
	// Experimental.
	Width *float64 `field:"required" json:"width" yaml:"width"`
	// Experimental.
	LeftAnnotations *[]*awscloudwatch.HorizontalAnnotation `field:"optional" json:"leftAnnotations" yaml:"leftAnnotations"`
	// Experimental.
	RightAnnotations *[]*awscloudwatch.HorizontalAnnotation `field:"optional" json:"rightAnnotations" yaml:"rightAnnotations"`
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
}

Experimental.

type DurationThreshold

type DurationThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxDuration awscdk.Duration `field:"required" json:"maxDuration" yaml:"maxDuration"`
}

Experimental.

type DynamicDashboardConfiguration

type DynamicDashboardConfiguration struct {
	// Name of the dashboard. Full dashboard name will take the form of: `{@link MonitoringDynamicDashboardsProps.dashboardNamePrefix}-{@link name}`.
	//
	// NOTE: The dashboard names in {@link DefaultDashboardFactory.DefaultDashboards}
	// are reserved and cannot be used as dashboard names.
	// Experimental.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Period override for the dashboard.
	// Default: - respect individual graphs (PeriodOverride.INHERIT)
	//
	// Experimental.
	PeriodOverride awscloudwatch.PeriodOverride `field:"optional" json:"periodOverride" yaml:"periodOverride"`
	// Range of the dashboard.
	// Default: - 8 hours.
	//
	// Experimental.
	Range awscdk.Duration `field:"optional" json:"range" yaml:"range"`
	// Dashboard rendering preference.
	// Default: - DashboardRenderingPreference.INTERACTIVE_ONLY
	//
	// Experimental.
	RenderingPreference DashboardRenderingPreference `field:"optional" json:"renderingPreference" yaml:"renderingPreference"`
}

Experimental.

type DynamicDashboardFactory

type DynamicDashboardFactory interface {
	constructs.Construct
	IDynamicDashboardFactory
	// Experimental.
	Dashboards() *map[string]awscloudwatch.Dashboard
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Adds a dynamic dashboard segment.
	// Experimental.
	AddDynamicSegment(segment IDynamicDashboardSegment)
	// Experimental.
	CreateDashboard(renderingPreference DashboardRenderingPreference, id *string, props *awscloudwatch.DashboardProps) awscloudwatch.Dashboard
	// Gets the dashboard for the requested dashboard type.
	// Experimental.
	GetDashboard(type_ *string) awscloudwatch.Dashboard
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func NewDynamicDashboardFactory

func NewDynamicDashboardFactory(scope constructs.Construct, id *string, props *MonitoringDynamicDashboardsProps) DynamicDashboardFactory

Experimental.

type DynamoAlarmFactory

type DynamoAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddConsumedCapacityAlarm(metric interface{}, capacityType CapacityType, props *ConsumedCapacityThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddThrottledEventsAlarm(metric interface{}, capacityType CapacityType, props *ThrottledEventsThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewDynamoAlarmFactory

func NewDynamoAlarmFactory(alarmFactory AlarmFactory) DynamoAlarmFactory

Experimental.

type DynamoTableGlobalSecondaryIndexMetricFactory

type DynamoTableGlobalSecondaryIndexMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Table() awsdynamodb.ITable
	// Experimental.
	MetricConsumedReadCapacityUnits() interface{}
	// Experimental.
	MetricConsumedWriteCapacityUnits() interface{}
	// Experimental.
	MetricIndexConsumedWriteUnitsMetric() interface{}
	// Experimental.
	MetricProvisionedReadCapacityUnits() interface{}
	// Experimental.
	MetricProvisionedWriteCapacityUnits() interface{}
	// Experimental.
	MetricThrottledIndexRequestCount() interface{}
	// Experimental.
	MetricThrottledReadRequestCount() interface{}
	// Experimental.
	MetricThrottledWriteRequestCount() interface{}
}

Experimental.

type DynamoTableGlobalSecondaryIndexMetricFactoryProps

type DynamoTableGlobalSecondaryIndexMetricFactoryProps struct {
	// Experimental.
	GlobalSecondaryIndexName *string `field:"required" json:"globalSecondaryIndexName" yaml:"globalSecondaryIndexName"`
	// Experimental.
	Table awsdynamodb.ITable `field:"required" json:"table" yaml:"table"`
}

Experimental.

type DynamoTableGlobalSecondaryIndexMonitoring

type DynamoTableGlobalSecondaryIndexMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ConsumedReadUnitsMetric() interface{}
	// Experimental.
	ConsumedWriteUnitsMetric() interface{}
	// Experimental.
	GsiAlarmFactory() DynamoAlarmFactory
	// Experimental.
	IndexConsumedWriteUnitsMetric() interface{}
	// Experimental.
	IndexThrottleCountMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	ProvisionedReadUnitsMetric() interface{}
	// Experimental.
	ProvisionedWriteUnitsMetric() interface{}
	// Experimental.
	ReadThrottleCountMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TableUrl() *string
	// Experimental.
	ThrottledEventsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Title() *string
	// Experimental.
	WriteThrottleCountMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateReadCapacityWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateThrottlesWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	CreateWriteCapacityWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

type DynamoTableGlobalSecondaryIndexMonitoringProps

type DynamoTableGlobalSecondaryIndexMonitoringProps struct {
	// Experimental.
	GlobalSecondaryIndexName *string `field:"required" json:"globalSecondaryIndexName" yaml:"globalSecondaryIndexName"`
	// Experimental.
	Table awsdynamodb.ITable `field:"required" json:"table" yaml:"table"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddReadThrottledEventsCountAlarm *map[string]*ThrottledEventsThreshold `field:"optional" json:"addReadThrottledEventsCountAlarm" yaml:"addReadThrottledEventsCountAlarm"`
	// Experimental.
	AddWriteThrottledEventsCountAlarm *map[string]*ThrottledEventsThreshold `field:"optional" json:"addWriteThrottledEventsCountAlarm" yaml:"addWriteThrottledEventsCountAlarm"`
}

Experimental.

type DynamoTableMetricFactory

type DynamoTableMetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Table() awsdynamodb.ITable
	// Experimental.
	MetricAverageSuccessfulRequestLatencyInMillis(operation awsdynamodb.Operation) interface{}
	// Experimental.
	MetricConsumedReadCapacityUnits() interface{}
	// Experimental.
	MetricConsumedWriteCapacityUnits() interface{}
	// Experimental.
	MetricProvisionedReadCapacityUnits() interface{}
	// Experimental.
	MetricProvisionedWriteCapacityUnits() interface{}
	// Experimental.
	MetricReadCapacityUtilizationPercentage() interface{}
	// Experimental.
	MetricSearchAverageSuccessfulRequestLatencyInMillis() awscloudwatch.IMetric
	// This represents the number of requests that resulted in a 500 (server error) error code.
	//
	// It summarizes across the basic CRUD operations:
	// GetItem, BatchGetItem, Scan, Query, GetRecords, PutItem, DeleteItem, UpdateItem, BatchWriteItem
	//
	// It’s usually equal to zero.
	// Experimental.
	MetricSystemErrorsCount() interface{}
	// Experimental.
	MetricThrottledReadRequestCount() interface{}
	// Experimental.
	MetricThrottledWriteRequestCount() interface{}
	// Experimental.
	MetricWriteCapacityUtilizationPercentage() interface{}
}

Experimental.

func NewDynamoTableMetricFactory

func NewDynamoTableMetricFactory(metricFactory MetricFactory, props *DynamoTableMetricFactoryProps) DynamoTableMetricFactory

Experimental.

type DynamoTableMetricFactoryProps

type DynamoTableMetricFactoryProps struct {
	// table to monitor.
	// Experimental.
	Table awsdynamodb.ITable `field:"required" json:"table" yaml:"table"`
	// table billing mode.
	// Default: - best effort auto-detection or PROVISIONED as a fallback.
	//
	// Experimental.
	BillingMode awsdynamodb.BillingMode `field:"optional" json:"billingMode" yaml:"billingMode"`
}

Experimental.

type DynamoTableMonitoring

type DynamoTableMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	AveragePerOperationLatencyMetrics() *map[string]interface{}
	// Experimental.
	ConsumedReadUnitsMetric() interface{}
	// Experimental.
	ConsumedWriteUnitsMetric() interface{}
	// Experimental.
	DynamoCapacityAlarmFactory() DynamoAlarmFactory
	// Experimental.
	DynamoReadCapacityAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DynamoWriteCapacityAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LatencyAverageSearchMetrics() awscloudwatch.IMetric
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	ProvisionedReadUnitsMetric() interface{}
	// Experimental.
	ProvisionedWriteUnitsMetric() interface{}
	// Experimental.
	ReadCapacityUsageMetric() interface{}
	// Experimental.
	ReadThrottleCountMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SystemErrorMetric() interface{}
	// Experimental.
	TableBillingMode() awsdynamodb.BillingMode
	// Experimental.
	TableUrl() *string
	// Experimental.
	ThrottledEventsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Title() *string
	// Experimental.
	WriteCapacityUsageMetric() interface{}
	// Experimental.
	WriteThrottleCountMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateReadCapacityWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateThrottlesWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	CreateWriteCapacityWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	ForEachOperationLatencyAlarmDefinition(operation awsdynamodb.Operation, alarm *map[string]*LatencyThreshold)
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewDynamoTableMonitoring

func NewDynamoTableMonitoring(scope MonitoringScope, props *DynamoTableMonitoringProps) DynamoTableMonitoring

Experimental.

type DynamoTableMonitoringOptions

type DynamoTableMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddAverageSuccessfulBatchGetItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulBatchGetItemLatencyAlarm" yaml:"addAverageSuccessfulBatchGetItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulBatchWriteItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulBatchWriteItemLatencyAlarm" yaml:"addAverageSuccessfulBatchWriteItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulDeleteItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulDeleteItemLatencyAlarm" yaml:"addAverageSuccessfulDeleteItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulGetItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulGetItemLatencyAlarm" yaml:"addAverageSuccessfulGetItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulGetRecordsLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulGetRecordsLatencyAlarm" yaml:"addAverageSuccessfulGetRecordsLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulPutItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulPutItemLatencyAlarm" yaml:"addAverageSuccessfulPutItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulQueryLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulQueryLatencyAlarm" yaml:"addAverageSuccessfulQueryLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulScanLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulScanLatencyAlarm" yaml:"addAverageSuccessfulScanLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulUpdateItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulUpdateItemLatencyAlarm" yaml:"addAverageSuccessfulUpdateItemLatencyAlarm"`
	// Experimental.
	AddConsumedReadCapacityAlarm *map[string]*ConsumedCapacityThreshold `field:"optional" json:"addConsumedReadCapacityAlarm" yaml:"addConsumedReadCapacityAlarm"`
	// Experimental.
	AddConsumedWriteCapacityAlarm *map[string]*ConsumedCapacityThreshold `field:"optional" json:"addConsumedWriteCapacityAlarm" yaml:"addConsumedWriteCapacityAlarm"`
	// Experimental.
	AddReadThrottledEventsCountAlarm *map[string]*ThrottledEventsThreshold `field:"optional" json:"addReadThrottledEventsCountAlarm" yaml:"addReadThrottledEventsCountAlarm"`
	// Experimental.
	AddSystemErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addSystemErrorCountAlarm" yaml:"addSystemErrorCountAlarm"`
	// Experimental.
	AddWriteThrottledEventsCountAlarm *map[string]*ThrottledEventsThreshold `field:"optional" json:"addWriteThrottledEventsCountAlarm" yaml:"addWriteThrottledEventsCountAlarm"`
}

Experimental.

type DynamoTableMonitoringProps

type DynamoTableMonitoringProps struct {
	// table to monitor.
	// Experimental.
	Table awsdynamodb.ITable `field:"required" json:"table" yaml:"table"`
	// table billing mode.
	// Default: - best effort auto-detection or PROVISIONED as a fallback.
	//
	// Experimental.
	BillingMode awsdynamodb.BillingMode `field:"optional" json:"billingMode" yaml:"billingMode"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddAverageSuccessfulBatchGetItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulBatchGetItemLatencyAlarm" yaml:"addAverageSuccessfulBatchGetItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulBatchWriteItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulBatchWriteItemLatencyAlarm" yaml:"addAverageSuccessfulBatchWriteItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulDeleteItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulDeleteItemLatencyAlarm" yaml:"addAverageSuccessfulDeleteItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulGetItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulGetItemLatencyAlarm" yaml:"addAverageSuccessfulGetItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulGetRecordsLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulGetRecordsLatencyAlarm" yaml:"addAverageSuccessfulGetRecordsLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulPutItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulPutItemLatencyAlarm" yaml:"addAverageSuccessfulPutItemLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulQueryLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulQueryLatencyAlarm" yaml:"addAverageSuccessfulQueryLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulScanLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulScanLatencyAlarm" yaml:"addAverageSuccessfulScanLatencyAlarm"`
	// Experimental.
	AddAverageSuccessfulUpdateItemLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageSuccessfulUpdateItemLatencyAlarm" yaml:"addAverageSuccessfulUpdateItemLatencyAlarm"`
	// Experimental.
	AddConsumedReadCapacityAlarm *map[string]*ConsumedCapacityThreshold `field:"optional" json:"addConsumedReadCapacityAlarm" yaml:"addConsumedReadCapacityAlarm"`
	// Experimental.
	AddConsumedWriteCapacityAlarm *map[string]*ConsumedCapacityThreshold `field:"optional" json:"addConsumedWriteCapacityAlarm" yaml:"addConsumedWriteCapacityAlarm"`
	// Experimental.
	AddReadThrottledEventsCountAlarm *map[string]*ThrottledEventsThreshold `field:"optional" json:"addReadThrottledEventsCountAlarm" yaml:"addReadThrottledEventsCountAlarm"`
	// Experimental.
	AddSystemErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addSystemErrorCountAlarm" yaml:"addSystemErrorCountAlarm"`
	// Experimental.
	AddWriteThrottledEventsCountAlarm *map[string]*ThrottledEventsThreshold `field:"optional" json:"addWriteThrottledEventsCountAlarm" yaml:"addWriteThrottledEventsCountAlarm"`
}

Experimental.

type EC2MetricFactory

type EC2MetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Strategy() IEC2MetricFactoryStrategy
	// The percentage of allocated EC2 compute units that are currently in use on the instance.
	//
	// This metric identifies the processing power required to run an application on a selected instance.
	// Depending on the instance type, tools in your operating system can show a lower percentage than
	// CloudWatch when the instance is not allocated a full processor core.
	// Experimental.
	MetricAverageCpuUtilisationPercent() *[]awscloudwatch.IMetric
	// Bytes read from all instance store volumes available to the instance.
	//
	// This metric is used to determine the volume of the data the application reads from the hard disk of the instance.
	// This can be used to determine the speed of the application.
	// Experimental.
	MetricAverageDiskReadBytes() *[]interface{}
	// Completed read operations from all instance store volumes available to the instance in a specified period of time.
	// Experimental.
	MetricAverageDiskReadOps() *[]interface{}
	// Bytes written to all instance store volumes available to the instance.
	//
	// This metric is used to determine the volume of the data the application writes onto the hard disk of the instance.
	// This can be used to determine the speed of the application.
	// Experimental.
	MetricAverageDiskWriteBytes() *[]interface{}
	// Completed write operations to all instance store volumes available to the instance in a specified period of time.
	// Experimental.
	MetricAverageDiskWriteOps() *[]interface{}
	// The number of bytes received on all network interfaces by the instance.
	//
	// This metric identifies the volume of incoming network traffic to a single instance.
	// Experimental.
	MetricAverageNetworkInRateBytes() *[]awscloudwatch.IMetric
	// The number of bytes sent out on all network interfaces by the instance.
	//
	// This metric identifies the volume of outgoing network traffic from a single instance.
	// Experimental.
	MetricAverageNetworkOutRateBytes() *[]awscloudwatch.IMetric
}

Experimental.

func NewEC2MetricFactory

func NewEC2MetricFactory(metricFactory MetricFactory, props *EC2MetricFactoryProps) EC2MetricFactory

Experimental.

type EC2MetricFactoryProps

type EC2MetricFactoryProps struct {
	// Auto-Scaling Group to monitor.
	// Default: - no Auto-Scaling Group filter.
	//
	// Experimental.
	AutoScalingGroup awsautoscaling.IAutoScalingGroup `field:"optional" json:"autoScalingGroup" yaml:"autoScalingGroup"`
	// Selected IDs of EC2 instances to monitor.
	// Default: - no instance filter.
	//
	// Experimental.
	InstanceIds *[]*string `field:"optional" json:"instanceIds" yaml:"instanceIds"`
}

Experimental.

type EC2Monitoring

type EC2Monitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	CpuUtilisationMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	DiskReadBytesMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	DiskReadOpsMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	DiskWriteBytesMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	DiskWriteOpsMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	Family() *string
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	NetworkInMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	NetworkOutMetrics() *[]awscloudwatch.IMetric
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateCpuWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDiskOpsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateDiskWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateNetworkWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewEC2Monitoring

func NewEC2Monitoring(scope MonitoringScope, props *EC2MonitoringProps) EC2Monitoring

Experimental.

type EC2MonitoringOptions

type EC2MonitoringOptions struct {
	// Auto-Scaling Group to monitor.
	// Default: - no Auto-Scaling Group filter.
	//
	// Experimental.
	AutoScalingGroup awsautoscaling.IAutoScalingGroup `field:"optional" json:"autoScalingGroup" yaml:"autoScalingGroup"`
	// Selected IDs of EC2 instances to monitor.
	// Default: - no instance filter.
	//
	// Experimental.
	InstanceIds *[]*string `field:"optional" json:"instanceIds" yaml:"instanceIds"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type EC2MonitoringProps

type EC2MonitoringProps struct {
	// Auto-Scaling Group to monitor.
	// Default: - no Auto-Scaling Group filter.
	//
	// Experimental.
	AutoScalingGroup awsautoscaling.IAutoScalingGroup `field:"optional" json:"autoScalingGroup" yaml:"autoScalingGroup"`
	// Selected IDs of EC2 instances to monitor.
	// Default: - no instance filter.
	//
	// Experimental.
	InstanceIds *[]*string `field:"optional" json:"instanceIds" yaml:"instanceIds"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type Ec2ApplicationLoadBalancerMonitoringProps

type Ec2ApplicationLoadBalancerMonitoringProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	ApplicationLoadBalancer awselasticloadbalancingv2.IApplicationLoadBalancer `field:"required" json:"applicationLoadBalancer" yaml:"applicationLoadBalancer"`
	// Experimental.
	ApplicationTargetGroup awselasticloadbalancingv2.IApplicationTargetGroup `field:"required" json:"applicationTargetGroup" yaml:"applicationTargetGroup"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	Ec2Service awsecs.Ec2Service `field:"required" json:"ec2Service" yaml:"ec2Service"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
}

Monitoring props for EC2 service with application load balancer and plain service. Experimental.

type Ec2NetworkLoadBalancerMonitoringProps

type Ec2NetworkLoadBalancerMonitoringProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	NetworkLoadBalancer awselasticloadbalancingv2.INetworkLoadBalancer `field:"required" json:"networkLoadBalancer" yaml:"networkLoadBalancer"`
	// Experimental.
	NetworkTargetGroup awselasticloadbalancingv2.INetworkTargetGroup `field:"required" json:"networkTargetGroup" yaml:"networkTargetGroup"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	Ec2Service awsecs.Ec2Service `field:"required" json:"ec2Service" yaml:"ec2Service"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
}

Monitoring props for EC2 service with network load balancer and plain service. Experimental.

type Ec2ServiceMonitoring

type Ec2ServiceMonitoring interface {
	Monitoring
	// Experimental.
	ActiveTcpFlowCountMetric() interface{}
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	BaseServiceMetricFactory() BaseServiceMetricFactory
	// Experimental.
	CpuUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	CpuUtilisationMetric() interface{}
	// Experimental.
	HealthyTaskCountMetric() interface{}
	// Experimental.
	HealthyTaskPercentMetric() interface{}
	// Experimental.
	LoadBalancerMetricFactory() ILoadBalancerMetricFactory
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MemoryUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	MemoryUtilisationMetric() interface{}
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	NewTcpFlowCountMetric() interface{}
	// Experimental.
	ProcessedBytesAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ProcessedBytesMetric() interface{}
	// Experimental.
	RunningTaskCountMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TaskHealthAlarmFactory() TaskHealthAlarmFactory
	// Experimental.
	TaskHealthAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ThroughputAlarmFactory() ThroughputAlarmFactory
	// Experimental.
	Title() *string
	// Experimental.
	UnhealthyTaskCountMetric() interface{}
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateCpuWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateMemoryWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTaskHealthWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTpcFlowsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewEc2ServiceMonitoring

func NewEc2ServiceMonitoring(scope MonitoringScope, props *CustomEc2ServiceMonitoringProps) Ec2ServiceMonitoring

Experimental.

type Ec2ServiceMonitoringProps

type Ec2ServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	Ec2Service interface{} `field:"required" json:"ec2Service" yaml:"ec2Service"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
}

Monitoring props for load-balanced EC2 service. Experimental.

type ElastiCacheAlarmFactory

type ElastiCacheAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxEvictedItemsCountAlarm(metric interface{}, props *MaxItemsCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxItemsCountAlarm(metric interface{}, props *MaxItemsCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxUsedSwapMemoryAlarm(metric interface{}, props *MaxUsedSwapMemoryThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinFreeableMemoryAlarm(metric interface{}, props *MinFreeableMemoryThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewElastiCacheAlarmFactory

func NewElastiCacheAlarmFactory(alarmFactory AlarmFactory) ElastiCacheAlarmFactory

Experimental.

type ElastiCacheClusterMetricFactory

type ElastiCacheClusterMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricAverageCachedItemsSizeInBytes() interface{}
	// Experimental.
	MetricAverageConnections() interface{}
	// Experimental.
	MetricAverageFreeableMemoryInBytes() interface{}
	// Experimental.
	MetricAverageSwapUsageInBytes() interface{}
	// Experimental.
	MetricAverageUnusedMemoryInBytes() interface{}
	// Experimental.
	MetricEvictions() interface{}
	// Experimental.
	MetricMaxCpuUtilizationInPercent() interface{}
	// Experimental.
	MetricMaxItemCount() interface{}
	// Because Redis is single-threaded, you can use this metric to analyze the load of the Redis process itself.
	//
	// Note that you may want to monitor both Engine CPU Utilization as well as CPU Utilization as background
	// processes can take up a significant portion of the CPU workload. This is especially important for
	// hosts with 2 vCPUs or less.
	// See: https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheMetrics.Redis.html
	//
	// Experimental.
	MetricMaxRedisEngineCpuUtilizationInPercent() interface{}
	// Experimental.
	MetricNetworkBytesIn() interface{}
	// Experimental.
	MetricNetworkBytesOut() interface{}
}

See: https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheMetrics.html

Experimental.

func NewElastiCacheClusterMetricFactory

func NewElastiCacheClusterMetricFactory(metricFactory MetricFactory, props *ElastiCacheClusterMetricFactoryProps) ElastiCacheClusterMetricFactory

Experimental.

type ElastiCacheClusterMetricFactoryProps

type ElastiCacheClusterMetricFactoryProps struct {
	// Cluster to monitor.
	// Default: - monitor all clusters.
	//
	// Experimental.
	ClusterId *string `field:"optional" json:"clusterId" yaml:"clusterId"`
}

Experimental.

type ElastiCacheClusterMonitoring

type ElastiCacheClusterMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ClusterType() ElastiCacheClusterType
	// Experimental.
	ClusterUrl() *string
	// Experimental.
	ConnectionsMetric() interface{}
	// Experimental.
	CpuUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	ElastiCacheAlarmFactory() ElastiCacheAlarmFactory
	// Experimental.
	EvictedItemsCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FreeableMemoryMetric() interface{}
	// Experimental.
	ItemsCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ItemsCountMetrics() interface{}
	// Experimental.
	ItemsEvictedMetrics() interface{}
	// Experimental.
	ItemsMemoryMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MemoryUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	RedisEngineCpuUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	RedisEngineCpuUsageMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SwapMemoryMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	UnusedMemoryMetric() interface{}
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateConnectionsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateCpuUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateItemCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMemoryUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateRedisEngineCpuUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewElastiCacheClusterMonitoring

func NewElastiCacheClusterMonitoring(scope MonitoringScope, props *ElastiCacheClusterMonitoringProps) ElastiCacheClusterMonitoring

Experimental.

type ElastiCacheClusterMonitoringOptions

type ElastiCacheClusterMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Cluster type (needed, since each type has their own specific metrics).
	// Experimental.
	ClusterType ElastiCacheClusterType `field:"required" json:"clusterType" yaml:"clusterType"`
	// Add CPU usage alarm (useful for all clusterTypes including Redis).
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Add alarm on number of evicted items.
	// Experimental.
	AddMaxEvictedItemsCountAlarm *map[string]*MaxItemsCountThreshold `field:"optional" json:"addMaxEvictedItemsCountAlarm" yaml:"addMaxEvictedItemsCountAlarm"`
	// Add alarm on total number of items.
	// Experimental.
	AddMaxItemsCountAlarm *map[string]*MaxItemsCountThreshold `field:"optional" json:"addMaxItemsCountAlarm" yaml:"addMaxItemsCountAlarm"`
	// Add alarm on amount of used swap memory.
	// Experimental.
	AddMaxUsedSwapMemoryAlarm *map[string]*MaxUsedSwapMemoryThreshold `field:"optional" json:"addMaxUsedSwapMemoryAlarm" yaml:"addMaxUsedSwapMemoryAlarm"`
	// Add alarm on amount of freeable memory.
	// Experimental.
	AddMinFreeableMemoryAlarm *map[string]*MinFreeableMemoryThreshold `field:"optional" json:"addMinFreeableMemoryAlarm" yaml:"addMinFreeableMemoryAlarm"`
	// Add Redis engine CPU usage alarm.
	//
	// It is recommended to monitor CPU utilization with `addCpuUsageAlarm`
	// as well for hosts with two vCPUs or less.
	// Experimental.
	AddRedisEngineCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addRedisEngineCpuUsageAlarm" yaml:"addRedisEngineCpuUsageAlarm"`
}

Experimental.

type ElastiCacheClusterMonitoringProps

type ElastiCacheClusterMonitoringProps struct {
	// Cluster to monitor.
	// Default: - monitor all clusters.
	//
	// Experimental.
	ClusterId *string `field:"optional" json:"clusterId" yaml:"clusterId"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Cluster type (needed, since each type has their own specific metrics).
	// Experimental.
	ClusterType ElastiCacheClusterType `field:"required" json:"clusterType" yaml:"clusterType"`
	// Add CPU usage alarm (useful for all clusterTypes including Redis).
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Add alarm on number of evicted items.
	// Experimental.
	AddMaxEvictedItemsCountAlarm *map[string]*MaxItemsCountThreshold `field:"optional" json:"addMaxEvictedItemsCountAlarm" yaml:"addMaxEvictedItemsCountAlarm"`
	// Add alarm on total number of items.
	// Experimental.
	AddMaxItemsCountAlarm *map[string]*MaxItemsCountThreshold `field:"optional" json:"addMaxItemsCountAlarm" yaml:"addMaxItemsCountAlarm"`
	// Add alarm on amount of used swap memory.
	// Experimental.
	AddMaxUsedSwapMemoryAlarm *map[string]*MaxUsedSwapMemoryThreshold `field:"optional" json:"addMaxUsedSwapMemoryAlarm" yaml:"addMaxUsedSwapMemoryAlarm"`
	// Add alarm on amount of freeable memory.
	// Experimental.
	AddMinFreeableMemoryAlarm *map[string]*MinFreeableMemoryThreshold `field:"optional" json:"addMinFreeableMemoryAlarm" yaml:"addMinFreeableMemoryAlarm"`
	// Add Redis engine CPU usage alarm.
	//
	// It is recommended to monitor CPU utilization with `addCpuUsageAlarm`
	// as well for hosts with two vCPUs or less.
	// Experimental.
	AddRedisEngineCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addRedisEngineCpuUsageAlarm" yaml:"addRedisEngineCpuUsageAlarm"`
}

Experimental.

type ElastiCacheClusterType

type ElastiCacheClusterType string

Experimental.

const (
	// Experimental.
	ElastiCacheClusterType_MEMCACHED ElastiCacheClusterType = "MEMCACHED"
	// Experimental.
	ElastiCacheClusterType_REDIS ElastiCacheClusterType = "REDIS"
)

type ElasticsearchClusterStatus

type ElasticsearchClusterStatus string

Experimental.

const (
	// Experimental.
	ElasticsearchClusterStatus_RED ElasticsearchClusterStatus = "RED"
	// Experimental.
	ElasticsearchClusterStatus_YELLOW ElasticsearchClusterStatus = "YELLOW"
)

type ErrorAlarmFactory

type ErrorAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddErrorCountAlarm(metric interface{}, errorType ErrorType, props *ErrorCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddErrorRateAlarm(metric interface{}, errorType ErrorType, props *ErrorRateThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewErrorAlarmFactory

func NewErrorAlarmFactory(alarmFactory AlarmFactory) ErrorAlarmFactory

Experimental.

type ErrorCountThreshold

type ErrorCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxErrorCount *float64 `field:"required" json:"maxErrorCount" yaml:"maxErrorCount"`
}

Experimental.

type ErrorRateThreshold

type ErrorRateThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxErrorRate *float64 `field:"required" json:"maxErrorRate" yaml:"maxErrorRate"`
}

Experimental.

type ErrorType

type ErrorType string

Experimental.

const (
	// Experimental.
	ErrorType_FAULT ErrorType = "FAULT"
	// Experimental.
	ErrorType_ERROR ErrorType = "ERROR"
	// Experimental.
	ErrorType_SYSTEM_ERROR ErrorType = "SYSTEM_ERROR"
	// Experimental.
	ErrorType_USER_ERROR ErrorType = "USER_ERROR"
	// Experimental.
	ErrorType_FAILURE ErrorType = "FAILURE"
	// Experimental.
	ErrorType_ABORTED ErrorType = "ABORTED"
	// Experimental.
	ErrorType_THROTTLED ErrorType = "THROTTLED"
	// Experimental.
	ErrorType_TIMED_OUT ErrorType = "TIMED_OUT"
	// Experimental.
	ErrorType_READ_ERROR ErrorType = "READ_ERROR"
	// Experimental.
	ErrorType_WRITE_ERROR ErrorType = "WRITE_ERROR"
	// Experimental.
	ErrorType_EXPIRED ErrorType = "EXPIRED"
	// Experimental.
	ErrorType_KILLED ErrorType = "KILLED"
	// Experimental.
	ErrorType_BLOCKED ErrorType = "BLOCKED"
)

type ExtendDedupeString

type ExtendDedupeString interface {
	IAlarmDedupeStringProcessor
	// Process the dedupe string which was auto-generated.
	// Experimental.
	ProcessDedupeString(dedupeString *string) *string
	// Process the dedupe string which was specified by the user as an override.
	// Experimental.
	ProcessDedupeStringOverride(dedupeString *string) *string
}

Dedupe string processor that adds prefix and/or suffix to the dedupe string. Experimental.

func NewExtendDedupeString

func NewExtendDedupeString(prefix *string, suffix *string) ExtendDedupeString

Experimental.

type FargateApplicationLoadBalancerMonitoringProps

type FargateApplicationLoadBalancerMonitoringProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	ApplicationLoadBalancer awselasticloadbalancingv2.IApplicationLoadBalancer `field:"required" json:"applicationLoadBalancer" yaml:"applicationLoadBalancer"`
	// Experimental.
	ApplicationTargetGroup awselasticloadbalancingv2.IApplicationTargetGroup `field:"required" json:"applicationTargetGroup" yaml:"applicationTargetGroup"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	FargateService awsecs.FargateService `field:"required" json:"fargateService" yaml:"fargateService"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
}

Monitoring props for Fargate service with application load balancer and plain service. Experimental.

type FargateNetworkLoadBalancerMonitoringProps

type FargateNetworkLoadBalancerMonitoringProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	NetworkLoadBalancer awselasticloadbalancingv2.INetworkLoadBalancer `field:"required" json:"networkLoadBalancer" yaml:"networkLoadBalancer"`
	// Experimental.
	NetworkTargetGroup awselasticloadbalancingv2.INetworkTargetGroup `field:"required" json:"networkTargetGroup" yaml:"networkTargetGroup"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	FargateService awsecs.FargateService `field:"required" json:"fargateService" yaml:"fargateService"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
}

Monitoring props for Fargate service with network load balancer and plain service. Experimental.

type FargateServiceMonitoring

type FargateServiceMonitoring interface {
	Monitoring
	// Experimental.
	ActiveTcpFlowCountMetric() interface{}
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	BaseServiceMetricFactory() BaseServiceMetricFactory
	// Experimental.
	CpuUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	CpuUtilisationMetric() interface{}
	// Experimental.
	HealthyTaskCountMetric() interface{}
	// Experimental.
	HealthyTaskPercentMetric() interface{}
	// Experimental.
	LoadBalancerMetricFactory() ILoadBalancerMetricFactory
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MemoryUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	MemoryUtilisationMetric() interface{}
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	NewTcpFlowCountMetric() interface{}
	// Experimental.
	ProcessedBytesAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ProcessedBytesMetric() interface{}
	// Experimental.
	RunningTaskCountMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TaskHealthAlarmFactory() TaskHealthAlarmFactory
	// Experimental.
	TaskHealthAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ThroughputAlarmFactory() ThroughputAlarmFactory
	// Experimental.
	Title() *string
	// Experimental.
	UnhealthyTaskCountMetric() interface{}
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateCpuWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateMemoryWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTaskHealthWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTpcFlowsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewFargateServiceMonitoring

func NewFargateServiceMonitoring(scope MonitoringScope, props *CustomFargateServiceMonitoringProps) FargateServiceMonitoring

Experimental.

type FargateServiceMonitoringProps

type FargateServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	FargateService interface{} `field:"required" json:"fargateService" yaml:"fargateService"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertLoadBalancerTaskCountMetricsStatistics` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertLoadBalancerTaskCountMetricsStatistics` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertLoadBalancerTaskCountMetricsStatistics *bool `field:"optional" json:"invertLoadBalancerTaskCountMetricsStatistics" yaml:"invertLoadBalancerTaskCountMetricsStatistics"`
}

Monitoring props for load-balanced Fargate service. Experimental.

type FillingAlarmAnnotationStrategy

type FillingAlarmAnnotationStrategy interface {
	IAlarmAnnotationStrategy
	// Creates annotation based on the metric and alarm properties.
	// Experimental.
	CreateAnnotation(props *AlarmAnnotationStrategyProps) *awscloudwatch.HorizontalAnnotation
	// Experimental.
	CreateAnnotationToFill(props *AlarmAnnotationStrategyProps) *awscloudwatch.HorizontalAnnotation
	// Experimental.
	GetAlarmingRangeShade(props *AlarmAnnotationStrategyProps) awscloudwatch.Shading
}

Annotation strategy that fills the annotation provided, using the input and user requirements. Experimental.

type FirehoseStreamLimitThreshold

type FirehoseStreamLimitThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Threshold value between [0.0, 1.0) for when the alarm should be triggered.
	// Experimental.
	SafetyThresholdLimit *float64 `field:"required" json:"safetyThresholdLimit" yaml:"safetyThresholdLimit"`
}

Experimental.

type FullRestartCountThreshold

type FullRestartCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxFullRestartCount *float64 `field:"required" json:"maxFullRestartCount" yaml:"maxFullRestartCount"`
}

Experimental.

type GlueJobMetricFactory

type GlueJobMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	TypeCountDimensionsMap() *map[string]*string
	// Experimental.
	MetricActiveExecutorsAverage() interface{}
	// Experimental.
	MetricAverageExecutorCpuUsagePercentage() interface{}
	// Experimental.
	MetricAverageExecutorMemoryUsagePercentage() interface{}
	// Experimental.
	MetricCompletedStagesSum() interface{}
	// Experimental.
	MetricCompletedTasksSum() interface{}
	// Experimental.
	MetricFailedTasksRate() interface{}
	// Experimental.
	MetricFailedTasksSum() interface{}
	// Experimental.
	MetricKilledTasksRate() interface{}
	// Experimental.
	MetricKilledTasksSum() interface{}
	// Experimental.
	MetricMaximumNeededExecutors() interface{}
	// Experimental.
	MetricTotalReadBytesFromS3() interface{}
	// Experimental.
	MetricTotalWrittenBytesToS3() interface{}
}

Experimental.

func NewGlueJobMetricFactory

func NewGlueJobMetricFactory(metricFactory MetricFactory, props *GlueJobMetricFactoryProps) GlueJobMetricFactory

Experimental.

type GlueJobMetricFactoryProps

type GlueJobMetricFactoryProps struct {
	// Experimental.
	JobName *string `field:"required" json:"jobName" yaml:"jobName"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type GlueJobMonitoring

type GlueJobMonitoring interface {
	Monitoring
	// Experimental.
	ActiveExecutorsMetric() interface{}
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	BytesReadFromS3Metric() interface{}
	// Experimental.
	BytesWrittenToS3Metric() interface{}
	// Experimental.
	CompletedStagesMetric() interface{}
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FailedTaskCountMetric() interface{}
	// Experimental.
	FailedTaskRateMetric() interface{}
	// Experimental.
	HeapMemoryUsageMetric() interface{}
	// Experimental.
	KilledTaskCountMetric() interface{}
	// Experimental.
	KilledTaskRateMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	NeededExecutorsMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDataMovementWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateJobExecutionWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateUtilizationWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewGlueJobMonitoring

func NewGlueJobMonitoring(scope MonitoringScope, props *GlueJobMonitoringProps) GlueJobMonitoring

Experimental.

type GlueJobMonitoringOptions

type GlueJobMonitoringOptions struct {
	// Experimental.
	JobName *string `field:"required" json:"jobName" yaml:"jobName"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddFailedTaskCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedTaskCountAlarm" yaml:"addFailedTaskCountAlarm"`
	// Experimental.
	AddFailedTaskRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedTaskRateAlarm" yaml:"addFailedTaskRateAlarm"`
	// Experimental.
	AddKilledTaskCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addKilledTaskCountAlarm" yaml:"addKilledTaskCountAlarm"`
	// Experimental.
	AddKilledTaskRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addKilledTaskRateAlarm" yaml:"addKilledTaskRateAlarm"`
}

Experimental.

type GlueJobMonitoringProps

type GlueJobMonitoringProps struct {
	// Experimental.
	JobName *string `field:"required" json:"jobName" yaml:"jobName"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddFailedTaskCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedTaskCountAlarm" yaml:"addFailedTaskCountAlarm"`
	// Experimental.
	AddFailedTaskRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedTaskRateAlarm" yaml:"addFailedTaskRateAlarm"`
	// Experimental.
	AddKilledTaskCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addKilledTaskCountAlarm" yaml:"addKilledTaskCountAlarm"`
	// Experimental.
	AddKilledTaskRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addKilledTaskRateAlarm" yaml:"addKilledTaskRateAlarm"`
}

Experimental.

type GraphWidgetType

type GraphWidgetType string

Experimental.

const (
	// Experimental.
	GraphWidgetType_BAR GraphWidgetType = "BAR"
	// Experimental.
	GraphWidgetType_LINE GraphWidgetType = "LINE"
	// Experimental.
	GraphWidgetType_PIE GraphWidgetType = "PIE"
	// Experimental.
	GraphWidgetType_SINGLE_VALUE GraphWidgetType = "SINGLE_VALUE"
	// Experimental.
	GraphWidgetType_STACKED_AREA GraphWidgetType = "STACKED_AREA"
)

type HeaderLevel

type HeaderLevel string

Experimental.

const (
	// Experimental.
	HeaderLevel_LARGE HeaderLevel = "LARGE"
	// Experimental.
	HeaderLevel_MEDIUM HeaderLevel = "MEDIUM"
	// Experimental.
	HeaderLevel_SMALL HeaderLevel = "SMALL"
)

type HeaderWidget

type HeaderWidget interface {
	awscloudwatch.TextWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Experimental.

func NewHeaderWidget

func NewHeaderWidget(text *string, level HeaderLevel, description *string, descriptionHeight *float64) HeaderWidget

Experimental.

type HealthyTaskCountThreshold

type HealthyTaskCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinHealthyTasks *float64 `field:"required" json:"minHealthyTasks" yaml:"minHealthyTasks"`
}

Experimental.

type HealthyTaskPercentThreshold

type HealthyTaskPercentThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinHealthyTaskPercent *float64 `field:"required" json:"minHealthyTaskPercent" yaml:"minHealthyTaskPercent"`
}

Experimental.

type HighConnectionCountThreshold

type HighConnectionCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxConnectionCount *float64 `field:"required" json:"maxConnectionCount" yaml:"maxConnectionCount"`
}

Experimental.

type HighMessagesPublishedThreshold

type HighMessagesPublishedThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxMessagesPublishedCount *float64 `field:"required" json:"maxMessagesPublishedCount" yaml:"maxMessagesPublishedCount"`
}

Experimental.

type HighServerlessDatabaseCapacityThreshold

type HighServerlessDatabaseCapacityThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxServerlessDatabaseCapacity *float64 `field:"required" json:"maxServerlessDatabaseCapacity" yaml:"maxServerlessDatabaseCapacity"`
}

Experimental.

type HighTpsThreshold

type HighTpsThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxTps *float64 `field:"required" json:"maxTps" yaml:"maxTps"`
}

Experimental.

type IAlarmActionStrategy

type IAlarmActionStrategy interface {
	// Experimental.
	AddAlarmActions(props *AlarmActionStrategyProps)
}

An object that appends actions to alarms. Experimental.

type IAlarmAnnotationStrategy

type IAlarmAnnotationStrategy interface {
	// Creates annotation based on the metric and alarm properties.
	// Experimental.
	CreateAnnotation(props *AlarmAnnotationStrategyProps) *awscloudwatch.HorizontalAnnotation
}

Helper class for creating annotations for alarms. Experimental.

type IAlarmConsumer

type IAlarmConsumer interface {
	// Experimental.
	Consume(alarms *[]*AlarmWithAnnotation)
}

Experimental.

type IAlarmDedupeStringProcessor

type IAlarmDedupeStringProcessor interface {
	// Process the dedupe string which was auto-generated.
	//
	// Returns: final dedupe string.
	// Experimental.
	ProcessDedupeString(dedupeString *string) *string
	// Process the dedupe string which was specified by the user as an override.
	//
	// Returns: final dedupe string.
	// Experimental.
	ProcessDedupeStringOverride(dedupeString *string) *string
}

Strategy used to finalize dedupe string. Experimental.

type IAlarmNamingStrategy

type IAlarmNamingStrategy interface {
	// How to generate the deduplication string for an alarm.
	// Experimental.
	GetDedupeString(props *AlarmNamingInput) *string
	// How to generate the name of an alarm.
	// Experimental.
	GetName(props *AlarmNamingInput) *string
	// How to generate the label for the alarm displayed on a widget.
	// Experimental.
	GetWidgetLabel(props *AlarmNamingInput) *string
}

Strategy used to name alarms, their widgets, and their dedupe strings. Experimental.

type IDashboardFactory

type IDashboardFactory interface {
	// Experimental.
	AddSegment(props IDashboardFactoryProps)
	// Experimental.
	CreatedAlarmDashboard() awscloudwatch.Dashboard
	// Experimental.
	CreatedDashboard() awscloudwatch.Dashboard
	// Experimental.
	CreatedSummaryDashboard() awscloudwatch.Dashboard
}

Experimental.

type IDashboardFactoryProps

type IDashboardFactoryProps interface {
	// Dashboard placement override props.
	// Default: - all default.
	//
	// Experimental.
	OverrideProps() *MonitoringDashboardsOverrideProps
	// Experimental.
	SetOverrideProps(o *MonitoringDashboardsOverrideProps)
	// Segment to be placed on the dashboard.
	// Experimental.
	Segment() IDashboardSegment
	// Experimental.
	SetSegment(s IDashboardSegment)
}

Experimental.

type IDashboardSegment

type IDashboardSegment interface {
	// Returns widgets for all alarms.
	//
	// These should go to the runbook or service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Returns widgets for the summary.
	//
	// These should go to the team OPS dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns all widgets.
	//
	// These should go to the detailed service dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
}

Experimental.

type IDynamicDashboardFactory

type IDynamicDashboardFactory interface {
	// Adds a dynamic dashboard segment.
	// Experimental.
	AddDynamicSegment(segment IDynamicDashboardSegment)
	// Gets the dashboard for the requested dashboard type.
	// Experimental.
	GetDashboard(type_ *string) awscloudwatch.Dashboard
}

This dashboard factory interface provides for dynamic dashboard generation through IDynamicDashboard segments which will return different content depending on the dashboard type. Experimental.

type IDynamicDashboardSegment

type IDynamicDashboardSegment interface {
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

type IEC2MetricFactoryStrategy

type IEC2MetricFactoryStrategy interface {
	// Experimental.
	CreateMetrics(metricFactory MetricFactory, metricName *string, statistic MetricStatistic) *[]awscloudwatch.IMetric
}

Experimental.

type ILoadBalancerMetricFactory

type ILoadBalancerMetricFactory interface {
	// Experimental.
	MetricActiveConnectionCount() interface{}
	// Experimental.
	MetricHealthyTaskCount() interface{}
	// Experimental.
	MetricHealthyTaskInPercent() interface{}
	// Experimental.
	MetricNewConnectionCount() interface{}
	// Experimental.
	MetricProcessedBytesMin() interface{}
	// Experimental.
	MetricUnhealthyTaskCount() interface{}
}

Common interface for load-balancer based service metric factories. Experimental.

type IMetricAdjuster

type IMetricAdjuster interface {
	// Adjusts a metric.
	//
	// Returns: The adjusted metric.
	// Experimental.
	AdjustMetric(metric interface{}, alarmScope constructs.Construct, props *AddAlarmProps) interface{}
}

Adjusts a metric before creating adding an alarm to it. Experimental.

type IPublisherConsumer

type IPublisherConsumer interface {
	// Experimental.
	Consume(lambdaFunction awslambda.IFunction)
}

Experimental.

type IWidgetFactory

type IWidgetFactory interface {
	// Create widget representing an alarm detail.
	// Experimental.
	CreateAlarmDetailWidget(alarm *AlarmWithAnnotation) awscloudwatch.IWidget
}

Strategy for creating widgets. Experimental.

type KeyValueTableWidget

type KeyValueTableWidget interface {
	awscloudwatch.TextWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Experimental.

func NewKeyValueTableWidget

func NewKeyValueTableWidget(data *[]*map[string]interface{}) KeyValueTableWidget

Experimental.

type KinesisAlarmFactory

type KinesisAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddFirehoseStreamExceedSafetyThresholdAlarm(metric interface{}, metricName *string, quotaName *string, props *FirehoseStreamLimitThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddIteratorMaxAgeAlarm(metric interface{}, props *MaxIteratorAgeThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddProvisionedReadThroughputExceededAlarm(metric interface{}, props *RecordsThrottledThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddProvisionedWriteThroughputExceededAlarm(metric interface{}, props *RecordsThrottledThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddPutRecordsFailedAlarm(metric interface{}, props *RecordsFailedThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddPutRecordsThrottledAlarm(metric interface{}, props *RecordsThrottledThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewKinesisAlarmFactory

func NewKinesisAlarmFactory(alarmFactory AlarmFactory) KinesisAlarmFactory

Experimental.

type KinesisDataAnalyticsAlarmFactory

type KinesisDataAnalyticsAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddDowntimeAlarm(metric interface{}, props *MaxDowntimeThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddFullRestartAlarm(metric interface{}, props *FullRestartCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewKinesisDataAnalyticsAlarmFactory

func NewKinesisDataAnalyticsAlarmFactory(alarmFactory AlarmFactory) KinesisDataAnalyticsAlarmFactory

Experimental.

type KinesisDataAnalyticsMetricFactory

type KinesisDataAnalyticsMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricCpuUtilizationPercent() interface{}
	// Experimental.
	MetricDowntimeMs() interface{}
	// Experimental.
	MetricFullRestartsCount() interface{}
	// Experimental.
	MetricHeapMemoryUtilizationPercent() interface{}
	// Experimental.
	MetricKPUsCount() interface{}
	// Experimental.
	MetricLastCheckpointDurationMs() interface{}
	// Experimental.
	MetricLastCheckpointSizeBytes() interface{}
	// Experimental.
	MetricNumberOfFailedCheckpointsCount() interface{}
	// Experimental.
	MetricOldGenerationGCCount() interface{}
	// Experimental.
	MetricOldGenerationGCTimeMs() interface{}
	// Experimental.
	MetricUptimeMs() interface{}
}

See: https://docs.aws.amazon.com/kinesisanalytics/latest/java/metrics-dimensions.html

Experimental.

func NewKinesisDataAnalyticsMetricFactory

func NewKinesisDataAnalyticsMetricFactory(metricFactory MetricFactory, props *KinesisDataAnalyticsMetricFactoryProps) KinesisDataAnalyticsMetricFactory

Experimental.

type KinesisDataAnalyticsMetricFactoryProps

type KinesisDataAnalyticsMetricFactoryProps struct {
	// Experimental.
	Application *string `field:"required" json:"application" yaml:"application"`
}

Experimental.

type KinesisDataAnalyticsMonitoring

type KinesisDataAnalyticsMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	CpuUtilizationPercentMetric() interface{}
	// Experimental.
	DowntimeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DowntimeMsMetric() interface{}
	// Experimental.
	FullRestartAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FullRestartsCountMetric() interface{}
	// Experimental.
	HeapMemoryUtilizationPercentMetric() interface{}
	// Experimental.
	KdaAlarmFactory() KinesisDataAnalyticsAlarmFactory
	// Experimental.
	KinesisDataAnalyticsUrl() *string
	// Experimental.
	KpusCountMetric() interface{}
	// Experimental.
	LastCheckpointDurationMsMetric() interface{}
	// Experimental.
	LastCheckpointSizeBytesMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	NumberOfFailedCheckpointsCountMetric() interface{}
	// Experimental.
	OldGenerationGCCountMetric() interface{}
	// Experimental.
	OldGenerationGCTimeMsMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDownTimeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateFullRestartsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateGarbageCollectionWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateKPUWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLastCheckpointDurationWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLastCheckpointSizeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateNumberOfFailedCheckpointsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateResourceUtilizationWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewKinesisDataAnalyticsMonitoring

func NewKinesisDataAnalyticsMonitoring(scope MonitoringScope, props *KinesisDataAnalyticsMonitoringProps) KinesisDataAnalyticsMonitoring

Experimental.

type KinesisDataAnalyticsMonitoringOptions

type KinesisDataAnalyticsMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDowntimeAlarm *map[string]*MaxDowntimeThreshold `field:"optional" json:"addDowntimeAlarm" yaml:"addDowntimeAlarm"`
	// Experimental.
	AddFullRestartCountAlarm *map[string]*FullRestartCountThreshold `field:"optional" json:"addFullRestartCountAlarm" yaml:"addFullRestartCountAlarm"`
}

Experimental.

type KinesisDataAnalyticsMonitoringProps

type KinesisDataAnalyticsMonitoringProps struct {
	// Experimental.
	Application *string `field:"required" json:"application" yaml:"application"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDowntimeAlarm *map[string]*MaxDowntimeThreshold `field:"optional" json:"addDowntimeAlarm" yaml:"addDowntimeAlarm"`
	// Experimental.
	AddFullRestartCountAlarm *map[string]*FullRestartCountThreshold `field:"optional" json:"addFullRestartCountAlarm" yaml:"addFullRestartCountAlarm"`
}

Experimental.

type KinesisDataStreamMetricFactory

type KinesisDataStreamMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricGetRecordsIteratorAgeMaxMs() interface{}
	// Experimental.
	MetricGetRecordsLatencyAverageMs() interface{}
	// Experimental.
	MetricGetRecordsSuccessCount() interface{}
	// Experimental.
	MetricGetRecordsSumBytes() interface{}
	// Experimental.
	MetricGetRecordsSumCount() interface{}
	// Experimental.
	MetricIncomingDataSumBytes() interface{}
	// Experimental.
	MetricIncomingDataSumCount() interface{}
	// Experimental.
	MetricPutRecordLatencyAverageMs() interface{}
	// Experimental.
	MetricPutRecordsFailedRecordsCount() interface{}
	// Experimental.
	MetricPutRecordsLatencyAverageMs() interface{}
	// Experimental.
	MetricPutRecordsSuccessCount() interface{}
	// Experimental.
	MetricPutRecordsSuccessfulRecordsCount() interface{}
	// Experimental.
	MetricPutRecordsSumBytes() interface{}
	// Experimental.
	MetricPutRecordsThrottledRecordsCount() interface{}
	// Experimental.
	MetricPutRecordsTotalRecordsCount() interface{}
	// Experimental.
	MetricPutRecordSuccessCount() interface{}
	// Experimental.
	MetricPutRecordSumBytes() interface{}
	// Experimental.
	MetricReadProvisionedThroughputExceeded() interface{}
	// Deprecated: please use `metricReadProvisionedThroughputExceeded` instead.
	MetricReadProvisionedThroughputExceededPercent() interface{}
	// Experimental.
	MetricWriteProvisionedThroughputExceeded() interface{}
	// Deprecated: please use `metricWriteProvisionedThroughputExceeded` instead.
	MetricWriteProvisionedThroughputExceededPercent() interface{}
}

See: https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-cloudwatch.html

Experimental.

func NewKinesisDataStreamMetricFactory

func NewKinesisDataStreamMetricFactory(metricFactory MetricFactory, props *KinesisDataStreamMetricFactoryProps) KinesisDataStreamMetricFactory

Experimental.

type KinesisDataStreamMetricFactoryProps

type KinesisDataStreamMetricFactoryProps struct {
	// Experimental.
	StreamName *string `field:"required" json:"streamName" yaml:"streamName"`
}

Experimental.

type KinesisDataStreamMonitoring

type KinesisDataStreamMonitoring interface {
	Monitoring
	// Experimental.
	AgeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	IncomingDataSumBytesMetric() interface{}
	// Experimental.
	IncomingDataSumCountMetric() interface{}
	// Experimental.
	KinesisAlarmFactory() KinesisAlarmFactory
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MetricGetRecordsIteratorAge() interface{}
	// Experimental.
	MetricGetRecordsLatencyAverage() interface{}
	// Experimental.
	MetricGetRecordsSuccessCount() interface{}
	// Experimental.
	MetricGetRecordsSumCount() interface{}
	// Experimental.
	MetricGetRecordSumBytes() interface{}
	// Experimental.
	ProvisionedCapacityAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	PutRecordLatencyAverageMetric() interface{}
	// Experimental.
	PutRecordsFailedRecordsCountMetric() interface{}
	// Experimental.
	PutRecordsLatencyAverageMetric() interface{}
	// Experimental.
	PutRecordsSuccessCountMetric() interface{}
	// Experimental.
	PutRecordsSuccessfulRecordsCountMetric() interface{}
	// Experimental.
	PutRecordsSumBytesMetric() interface{}
	// Experimental.
	PutRecordsThrottledRecordsCountMetric() interface{}
	// Experimental.
	PutRecordsTotalRecordsCountMetric() interface{}
	// Experimental.
	PutRecordSuccessCountMetric() interface{}
	// Experimental.
	PutRecordSumBytesMetric() interface{}
	// Experimental.
	ReadProvisionedThroughputExceededMetric() interface{}
	// Experimental.
	RecordCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	StreamUrl() *string
	// Experimental.
	Title() *string
	// Experimental.
	WriteProvisionedThroughputExceededMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateCapacityWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateIncomingDataWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateIteratorAgeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateOperationWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateRecordNumberWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateRecordSizeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateSecondAdditionalRow() awscloudwatch.Row
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewKinesisDataStreamMonitoring

func NewKinesisDataStreamMonitoring(scope MonitoringScope, props *KinesisDataStreamMonitoringProps) KinesisDataStreamMonitoring

Experimental.

type KinesisDataStreamMonitoringOptions

type KinesisDataStreamMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddIteratorMaxAgeAlarm *map[string]*MaxIteratorAgeThreshold `field:"optional" json:"addIteratorMaxAgeAlarm" yaml:"addIteratorMaxAgeAlarm"`
	// Experimental.
	AddPutRecordsFailedAlarm *map[string]*RecordsFailedThreshold `field:"optional" json:"addPutRecordsFailedAlarm" yaml:"addPutRecordsFailedAlarm"`
	// Experimental.
	AddPutRecordsThrottledAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addPutRecordsThrottledAlarm" yaml:"addPutRecordsThrottledAlarm"`
	// Experimental.
	AddReadProvisionedThroughputExceededAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addReadProvisionedThroughputExceededAlarm" yaml:"addReadProvisionedThroughputExceededAlarm"`
	// Experimental.
	AddThrottledRecordsAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addThrottledRecordsAlarm" yaml:"addThrottledRecordsAlarm"`
	// Experimental.
	AddWriteProvisionedThroughputExceededAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addWriteProvisionedThroughputExceededAlarm" yaml:"addWriteProvisionedThroughputExceededAlarm"`
}

Experimental.

type KinesisDataStreamMonitoringProps

type KinesisDataStreamMonitoringProps struct {
	// Experimental.
	StreamName *string `field:"required" json:"streamName" yaml:"streamName"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddIteratorMaxAgeAlarm *map[string]*MaxIteratorAgeThreshold `field:"optional" json:"addIteratorMaxAgeAlarm" yaml:"addIteratorMaxAgeAlarm"`
	// Experimental.
	AddPutRecordsFailedAlarm *map[string]*RecordsFailedThreshold `field:"optional" json:"addPutRecordsFailedAlarm" yaml:"addPutRecordsFailedAlarm"`
	// Experimental.
	AddPutRecordsThrottledAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addPutRecordsThrottledAlarm" yaml:"addPutRecordsThrottledAlarm"`
	// Experimental.
	AddReadProvisionedThroughputExceededAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addReadProvisionedThroughputExceededAlarm" yaml:"addReadProvisionedThroughputExceededAlarm"`
	// Experimental.
	AddThrottledRecordsAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addThrottledRecordsAlarm" yaml:"addThrottledRecordsAlarm"`
	// Experimental.
	AddWriteProvisionedThroughputExceededAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addWriteProvisionedThroughputExceededAlarm" yaml:"addWriteProvisionedThroughputExceededAlarm"`
}

Experimental.

type KinesisFirehoseMetricFactory

type KinesisFirehoseMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricBytesPerSecondLimit() interface{}
	// Experimental.
	MetricFailedConversionCount() interface{}
	// Experimental.
	MetricIncomingBytes() interface{}
	// Experimental.
	MetricIncomingBytesToLimitRate() interface{}
	// Experimental.
	MetricIncomingPutRequests() interface{}
	// Experimental.
	MetricIncomingPutRequestsToLimitRate() interface{}
	// Experimental.
	MetricIncomingRecordCount() interface{}
	// Experimental.
	MetricIncomingRecordsToLimitRate() interface{}
	// Experimental.
	MetricPutRecordBatchLatencyP90InMillis() interface{}
	// Experimental.
	MetricPutRecordLatencyP90InMillis() interface{}
	// Experimental.
	MetricPutRequestsPerSecondLimit() interface{}
	// Experimental.
	MetricRecordsPerSecondLimit() interface{}
	// Experimental.
	MetricSuccessfulConversionCount() interface{}
	// Experimental.
	MetricThrottledRecordCount() interface{}
}

See: https://docs.aws.amazon.com/firehose/latest/dev/monitoring-with-cloudwatch-metrics.html

Experimental.

func NewKinesisFirehoseMetricFactory

func NewKinesisFirehoseMetricFactory(metricFactory MetricFactory, props *KinesisFirehoseMetricFactoryProps) KinesisFirehoseMetricFactory

Experimental.

type KinesisFirehoseMetricFactoryProps

type KinesisFirehoseMetricFactoryProps struct {
	// Experimental.
	DeliveryStreamName *string `field:"required" json:"deliveryStreamName" yaml:"deliveryStreamName"`
}

Experimental.

type KinesisFirehoseMonitoring

type KinesisFirehoseMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	FailedConversionMetric() interface{}
	// Experimental.
	IncomingBytesMetric() interface{}
	// Experimental.
	IncomingBytesToLimitRate() interface{}
	// Experimental.
	IncomingLimitAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	IncomingPutRequestsToLimitRate() interface{}
	// Experimental.
	IncomingRecordsMetric() interface{}
	// Experimental.
	IncomingRecordsToLimitRate() interface{}
	// Experimental.
	KinesisAlarmFactory() KinesisAlarmFactory
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	PutRecordBatchLatency() interface{}
	// Experimental.
	PutRecordLatency() interface{}
	// Experimental.
	RecordCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	StreamUrl() *string
	// Experimental.
	SuccessfulConversionMetric() interface{}
	// Experimental.
	ThrottledRecordsMetric() interface{}
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateConversionWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateIncomingRecordWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLimitWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewKinesisFirehoseMonitoring

func NewKinesisFirehoseMonitoring(scope MonitoringScope, props *KinesisFirehoseMonitoringProps) KinesisFirehoseMonitoring

Experimental.

type KinesisFirehoseMonitoringOptions

type KinesisFirehoseMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddIncomingBytesExceedThresholdAlarm *map[string]*FirehoseStreamLimitThreshold `field:"optional" json:"addIncomingBytesExceedThresholdAlarm" yaml:"addIncomingBytesExceedThresholdAlarm"`
	// Experimental.
	AddIncomingPutRequestsExceedThresholdAlarm *map[string]*FirehoseStreamLimitThreshold `field:"optional" json:"addIncomingPutRequestsExceedThresholdAlarm" yaml:"addIncomingPutRequestsExceedThresholdAlarm"`
	// Experimental.
	AddIncomingRecordsExceedThresholdAlarm *map[string]*FirehoseStreamLimitThreshold `field:"optional" json:"addIncomingRecordsExceedThresholdAlarm" yaml:"addIncomingRecordsExceedThresholdAlarm"`
	// Experimental.
	AddRecordsThrottledAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addRecordsThrottledAlarm" yaml:"addRecordsThrottledAlarm"`
}

Experimental.

type KinesisFirehoseMonitoringProps

type KinesisFirehoseMonitoringProps struct {
	// Experimental.
	DeliveryStreamName *string `field:"required" json:"deliveryStreamName" yaml:"deliveryStreamName"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddIncomingBytesExceedThresholdAlarm *map[string]*FirehoseStreamLimitThreshold `field:"optional" json:"addIncomingBytesExceedThresholdAlarm" yaml:"addIncomingBytesExceedThresholdAlarm"`
	// Experimental.
	AddIncomingPutRequestsExceedThresholdAlarm *map[string]*FirehoseStreamLimitThreshold `field:"optional" json:"addIncomingPutRequestsExceedThresholdAlarm" yaml:"addIncomingPutRequestsExceedThresholdAlarm"`
	// Experimental.
	AddIncomingRecordsExceedThresholdAlarm *map[string]*FirehoseStreamLimitThreshold `field:"optional" json:"addIncomingRecordsExceedThresholdAlarm" yaml:"addIncomingRecordsExceedThresholdAlarm"`
	// Experimental.
	AddRecordsThrottledAlarm *map[string]*RecordsThrottledThreshold `field:"optional" json:"addRecordsThrottledAlarm" yaml:"addRecordsThrottledAlarm"`
}

Experimental.

type LambdaFunctionEnhancedMetricFactory

type LambdaFunctionEnhancedMetricFactory interface {
	// Experimental.
	LambdaFunction() awslambda.IFunction
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	EnhancedMetricAvgCpuTotalTime() interface{}
	// Experimental.
	EnhancedMetricAvgMemoryUtilization() interface{}
	// Experimental.
	EnhancedMetricFunctionCost() interface{}
	// Experimental.
	EnhancedMetricMaxCpuTotalTime() interface{}
	// Experimental.
	EnhancedMetricMaxMemoryUtilization() interface{}
	// Experimental.
	EnhancedMetricP90CpuTotalTime() interface{}
	// Experimental.
	EnhancedMetricP90MemoryUtilization() interface{}
}

Experimental.

func NewLambdaFunctionEnhancedMetricFactory

func NewLambdaFunctionEnhancedMetricFactory(metricFactory MetricFactory, lambdaFunction awslambda.IFunction) LambdaFunctionEnhancedMetricFactory

Experimental.

type LambdaFunctionMetricFactory

type LambdaFunctionMetricFactory interface {
	// Experimental.
	FillTpsWithZeroes() *bool
	// Experimental.
	LambdaFunction() awslambda.IFunction
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	MetricConcurrentExecutions() interface{}
	// Experimental.
	MetricFaultCount() interface{}
	// Experimental.
	MetricFaultRate() interface{}
	// Experimental.
	MetricInvocationCount() interface{}
	// Experimental.
	MetricInvocationRate() interface{}
	// Experimental.
	MetricLatencyP50InMillis() interface{}
	// Experimental.
	MetricLatencyP90InMillis() interface{}
	// Experimental.
	MetricLatencyP99InMillis() interface{}
	// Experimental.
	MetricMaxIteratorAgeInMillis() interface{}
	// Experimental.
	MetricProvisionedConcurrencySpilloverInvocations() interface{}
	// Experimental.
	MetricProvisionedConcurrencySpilloverRate() interface{}
	// Experimental.
	MetricThrottlesCount() interface{}
	// Experimental.
	MetricThrottlesRate() interface{}
	// Deprecated: use metricInvocationRate.
	MetricTps() interface{}
}

Experimental.

func NewLambdaFunctionMetricFactory

func NewLambdaFunctionMetricFactory(metricFactory MetricFactory, props *LambdaFunctionMetricFactoryProps) LambdaFunctionMetricFactory

Experimental.

type LambdaFunctionMetricFactoryProps

type LambdaFunctionMetricFactoryProps struct {
	// Experimental.
	LambdaFunction awslambda.IFunction `field:"required" json:"lambdaFunction" yaml:"lambdaFunction"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Generate dashboard charts for Lambda Insights metrics.
	//
	// To enable Lambda Insights on your Lambda function, see
	// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started-clouddevelopmentkit.html
	// Default: - false.
	//
	// Experimental.
	LambdaInsightsEnabled *bool `field:"optional" json:"lambdaInsightsEnabled" yaml:"lambdaInsightsEnabled"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type LambdaFunctionMonitoring

type LambdaFunctionMonitoring interface {
	Monitoring
	// Experimental.
	AgeAlarmFactory() AgeAlarmFactory
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ConcurrentExecutionsCountMetric() interface{}
	// Experimental.
	CpuTotalTimeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	EnhancedMetricFactory() LambdaFunctionEnhancedMetricFactory
	// Experimental.
	EnhancedMetricFunctionCostMetric() interface{}
	// Experimental.
	EnhancedMonitoringAvgCpuTotalTimeMetric() interface{}
	// Experimental.
	EnhancedMonitoringAvgMemoryUtilizationMetric() interface{}
	// Experimental.
	EnhancedMonitoringMaxCpuTotalTimeMetric() interface{}
	// Experimental.
	EnhancedMonitoringMaxMemoryUtilizationMetric() interface{}
	// Experimental.
	EnhancedMonitoringP90CpuTotalTimeMetric() interface{}
	// Experimental.
	EnhancedMonitoringP90MemoryUtilizationMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FaultCountMetric() interface{}
	// Experimental.
	FaultRateMetric() interface{}
	// Experimental.
	FunctionUrl() *string
	// Experimental.
	InvocationCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	InvocationCountMetric() interface{}
	// Experimental.
	InvocationRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LambdaInsightsEnabled() *bool
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MaxIteratorAgeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	MaxIteratorAgeMetric() interface{}
	// Experimental.
	MemoryUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	MetricFactory() LambdaFunctionMetricFactory
	// Experimental.
	NamingStrategy() MonitoringNamingStrategy
	// Experimental.
	P50LatencyMetric() interface{}
	// Experimental.
	P90LatencyMetric() interface{}
	// Experimental.
	P99LatencyMetric() interface{}
	// Experimental.
	ProvisionedConcurrencySpilloverInvocationsCountMetric() interface{}
	// Experimental.
	ProvisionedConcurrencySpilloverInvocationsRateMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TaskHealthAlarmFactory() TaskHealthAlarmFactory
	// Experimental.
	ThrottlesCountMetric() interface{}
	// Experimental.
	ThrottlesRateMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	TpsAlarmFactory() TpsAlarmFactory
	// Experimental.
	TpsAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TpsMetric() interface{}
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateInvocationWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateIteratorAgeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLambdaInsightsCpuWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLambdaInsightsFunctionCostWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLambdaInsightsMemoryWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateTpsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewLambdaFunctionMonitoring

func NewLambdaFunctionMonitoring(scope MonitoringScope, props *LambdaFunctionMonitoringProps) LambdaFunctionMonitoring

Experimental.

type LambdaFunctionMonitoringOptions

type LambdaFunctionMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddConcurrentExecutionsCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addConcurrentExecutionsCountAlarm" yaml:"addConcurrentExecutionsCountAlarm"`
	// Experimental.
	AddEnhancedMonitoringAvgCpuTotalTimeAlarm *map[string]*DurationThreshold `field:"optional" json:"addEnhancedMonitoringAvgCpuTotalTimeAlarm" yaml:"addEnhancedMonitoringAvgCpuTotalTimeAlarm"`
	// Experimental.
	AddEnhancedMonitoringAvgMemoryUtilizationAlarm *map[string]*UsageThreshold `field:"optional" json:"addEnhancedMonitoringAvgMemoryUtilizationAlarm" yaml:"addEnhancedMonitoringAvgMemoryUtilizationAlarm"`
	// Experimental.
	AddEnhancedMonitoringMaxCpuTotalTimeAlarm *map[string]*DurationThreshold `field:"optional" json:"addEnhancedMonitoringMaxCpuTotalTimeAlarm" yaml:"addEnhancedMonitoringMaxCpuTotalTimeAlarm"`
	// Experimental.
	AddEnhancedMonitoringMaxMemoryUtilizationAlarm *map[string]*UsageThreshold `field:"optional" json:"addEnhancedMonitoringMaxMemoryUtilizationAlarm" yaml:"addEnhancedMonitoringMaxMemoryUtilizationAlarm"`
	// Experimental.
	AddEnhancedMonitoringP90CpuTotalTimeAlarm *map[string]*DurationThreshold `field:"optional" json:"addEnhancedMonitoringP90CpuTotalTimeAlarm" yaml:"addEnhancedMonitoringP90CpuTotalTimeAlarm"`
	// Experimental.
	AddEnhancedMonitoringP90MemoryUtilizationAlarm *map[string]*UsageThreshold `field:"optional" json:"addEnhancedMonitoringP90MemoryUtilizationAlarm" yaml:"addEnhancedMonitoringP90MemoryUtilizationAlarm"`
	// Experimental.
	AddFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFaultCountAlarm" yaml:"addFaultCountAlarm"`
	// Experimental.
	AddFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFaultRateAlarm" yaml:"addFaultRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// Experimental.
	AddMaxIteratorAgeAlarm *map[string]*MaxAgeThreshold `field:"optional" json:"addMaxIteratorAgeAlarm" yaml:"addMaxIteratorAgeAlarm"`
	// Experimental.
	AddMinInvocationsCountAlarm *map[string]*MinUsageCountThreshold `field:"optional" json:"addMinInvocationsCountAlarm" yaml:"addMinInvocationsCountAlarm"`
	// Experimental.
	AddProvisionedConcurrencySpilloverInvocationsCountAlarm *map[string]*RunningTaskCountThreshold `` /* 142-byte string literal not displayed */
	// Experimental.
	AddProvisionedConcurrencySpilloverInvocationsRateAlarm *map[string]*RunningTaskRateThreshold `` /* 140-byte string literal not displayed */
	// Experimental.
	AddThrottlesCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addThrottlesCountAlarm" yaml:"addThrottlesCountAlarm"`
	// Experimental.
	AddThrottlesRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addThrottlesRateAlarm" yaml:"addThrottlesRateAlarm"`
}

Experimental.

type LambdaFunctionMonitoringProps

type LambdaFunctionMonitoringProps struct {
	// Experimental.
	LambdaFunction awslambda.IFunction `field:"required" json:"lambdaFunction" yaml:"lambdaFunction"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Generate dashboard charts for Lambda Insights metrics.
	//
	// To enable Lambda Insights on your Lambda function, see
	// https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Lambda-Insights-Getting-Started-clouddevelopmentkit.html
	// Default: - false.
	//
	// Experimental.
	LambdaInsightsEnabled *bool `field:"optional" json:"lambdaInsightsEnabled" yaml:"lambdaInsightsEnabled"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddConcurrentExecutionsCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addConcurrentExecutionsCountAlarm" yaml:"addConcurrentExecutionsCountAlarm"`
	// Experimental.
	AddEnhancedMonitoringAvgCpuTotalTimeAlarm *map[string]*DurationThreshold `field:"optional" json:"addEnhancedMonitoringAvgCpuTotalTimeAlarm" yaml:"addEnhancedMonitoringAvgCpuTotalTimeAlarm"`
	// Experimental.
	AddEnhancedMonitoringAvgMemoryUtilizationAlarm *map[string]*UsageThreshold `field:"optional" json:"addEnhancedMonitoringAvgMemoryUtilizationAlarm" yaml:"addEnhancedMonitoringAvgMemoryUtilizationAlarm"`
	// Experimental.
	AddEnhancedMonitoringMaxCpuTotalTimeAlarm *map[string]*DurationThreshold `field:"optional" json:"addEnhancedMonitoringMaxCpuTotalTimeAlarm" yaml:"addEnhancedMonitoringMaxCpuTotalTimeAlarm"`
	// Experimental.
	AddEnhancedMonitoringMaxMemoryUtilizationAlarm *map[string]*UsageThreshold `field:"optional" json:"addEnhancedMonitoringMaxMemoryUtilizationAlarm" yaml:"addEnhancedMonitoringMaxMemoryUtilizationAlarm"`
	// Experimental.
	AddEnhancedMonitoringP90CpuTotalTimeAlarm *map[string]*DurationThreshold `field:"optional" json:"addEnhancedMonitoringP90CpuTotalTimeAlarm" yaml:"addEnhancedMonitoringP90CpuTotalTimeAlarm"`
	// Experimental.
	AddEnhancedMonitoringP90MemoryUtilizationAlarm *map[string]*UsageThreshold `field:"optional" json:"addEnhancedMonitoringP90MemoryUtilizationAlarm" yaml:"addEnhancedMonitoringP90MemoryUtilizationAlarm"`
	// Experimental.
	AddFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFaultCountAlarm" yaml:"addFaultCountAlarm"`
	// Experimental.
	AddFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFaultRateAlarm" yaml:"addFaultRateAlarm"`
	// Experimental.
	AddHighTpsAlarm *map[string]*HighTpsThreshold `field:"optional" json:"addHighTpsAlarm" yaml:"addHighTpsAlarm"`
	// Experimental.
	AddLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP50Alarm" yaml:"addLatencyP50Alarm"`
	// Experimental.
	AddLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP90Alarm" yaml:"addLatencyP90Alarm"`
	// Experimental.
	AddLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addLatencyP99Alarm" yaml:"addLatencyP99Alarm"`
	// Experimental.
	AddLowTpsAlarm *map[string]*LowTpsThreshold `field:"optional" json:"addLowTpsAlarm" yaml:"addLowTpsAlarm"`
	// Experimental.
	AddMaxIteratorAgeAlarm *map[string]*MaxAgeThreshold `field:"optional" json:"addMaxIteratorAgeAlarm" yaml:"addMaxIteratorAgeAlarm"`
	// Experimental.
	AddMinInvocationsCountAlarm *map[string]*MinUsageCountThreshold `field:"optional" json:"addMinInvocationsCountAlarm" yaml:"addMinInvocationsCountAlarm"`
	// Experimental.
	AddProvisionedConcurrencySpilloverInvocationsCountAlarm *map[string]*RunningTaskCountThreshold `` /* 142-byte string literal not displayed */
	// Experimental.
	AddProvisionedConcurrencySpilloverInvocationsRateAlarm *map[string]*RunningTaskRateThreshold `` /* 140-byte string literal not displayed */
	// Experimental.
	AddThrottlesCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addThrottlesCountAlarm" yaml:"addThrottlesCountAlarm"`
	// Experimental.
	AddThrottlesRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addThrottlesRateAlarm" yaml:"addThrottlesRateAlarm"`
}

Experimental.

type LatencyAlarmFactory

type LatencyAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddDurationAlarm(metric interface{}, latencyType LatencyType, props *DurationThreshold, disambiguator *string, additionalAlarmNameSuffix *string) *AlarmWithAnnotation
	// Experimental.
	AddIntegrationLatencyAlarm(metric interface{}, latencyType LatencyType, props *LatencyThreshold, disambiguator *string, additionalAlarmNameSuffix *string) *AlarmWithAnnotation
	// Experimental.
	AddJvmGarbageCollectionDurationAlarm(metric interface{}, latencyType LatencyType, props *DurationThreshold, disambiguator *string, additionalAlarmNameSuffix *string) *AlarmWithAnnotation
	// Experimental.
	AddLatencyAlarm(metric interface{}, latencyType LatencyType, props *LatencyThreshold, disambiguator *string, additionalAlarmNameSuffix *string) *AlarmWithAnnotation
}

Experimental.

func NewLatencyAlarmFactory

func NewLatencyAlarmFactory(alarmFactory AlarmFactory) LatencyAlarmFactory

Experimental.

type LatencyThreshold

type LatencyThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxLatency awscdk.Duration `field:"required" json:"maxLatency" yaml:"maxLatency"`
}

Experimental.

type LatencyType

type LatencyType string

Experimental.

const (
	// Experimental.
	LatencyType_P50 LatencyType = "P50"
	// Experimental.
	LatencyType_P70 LatencyType = "P70"
	// Experimental.
	LatencyType_P90 LatencyType = "P90"
	// Experimental.
	LatencyType_P95 LatencyType = "P95"
	// Experimental.
	LatencyType_P99 LatencyType = "P99"
	// Experimental.
	LatencyType_P999 LatencyType = "P999"
	// Experimental.
	LatencyType_P9999 LatencyType = "P9999"
	// Experimental.
	LatencyType_P100 LatencyType = "P100"
	// Experimental.
	LatencyType_TM50 LatencyType = "TM50"
	// Experimental.
	LatencyType_TM70 LatencyType = "TM70"
	// Experimental.
	LatencyType_TM90 LatencyType = "TM90"
	// Experimental.
	LatencyType_TM95 LatencyType = "TM95"
	// Experimental.
	LatencyType_TM99 LatencyType = "TM99"
	// Experimental.
	LatencyType_TM999 LatencyType = "TM999"
	// Experimental.
	LatencyType_TM9999 LatencyType = "TM9999"
	// Experimental.
	LatencyType_TM95_TOP LatencyType = "TM95_TOP"
	// Experimental.
	LatencyType_TM99_TOP LatencyType = "TM99_TOP"
	// Experimental.
	LatencyType_TM999_TOP LatencyType = "TM999_TOP"
	// Experimental.
	LatencyType_TM9999_TOP LatencyType = "TM9999_TOP"
	// Experimental.
	LatencyType_AVERAGE LatencyType = "AVERAGE"
)

type LogLevel

type LogLevel string

Level of a given log. Experimental.

const (
	// Experimental.
	LogLevel_ERROR LogLevel = "ERROR"
	// Experimental.
	LogLevel_CRITICAL LogLevel = "CRITICAL"
	// Experimental.
	LogLevel_FATAL LogLevel = "FATAL"
)

type LogLevelAlarmFactory

type LogLevelAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddLogCountAlarm(metric interface{}, logLevel LogLevel, props *LogLevelCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewLogLevelAlarmFactory

func NewLogLevelAlarmFactory(alarmFactory AlarmFactory) LogLevelAlarmFactory

Experimental.

type LogLevelCountThreshold

type LogLevelCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Threshold for the number of logs to alarm on.
	// Experimental.
	MaxLogCount *float64 `field:"required" json:"maxLogCount" yaml:"maxLogCount"`
}

Experimental.

type LogMonitoring

type LogMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	IncomingLogEventsMetric() interface{}
	// Experimental.
	Limit() *float64
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	LogGroupName() *string
	// Experimental.
	LogGroupUrl() *string
	// Experimental.
	Pattern() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Experimental.
	UsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateIncomingLogsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	ResolveRecommendedHeight(numRows *float64) *float64
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Monitors a CloudWatch log group for various patterns. Experimental.

func NewLogMonitoring

func NewLogMonitoring(scope MonitoringScope, props *LogMonitoringProps) LogMonitoring

Experimental.

type LogMonitoringProps

type LogMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Name of the log group to monitor.
	// Experimental.
	LogGroupName *string `field:"required" json:"logGroupName" yaml:"logGroupName"`
	// Experimental.
	AddMinIncomingLogsAlarm *map[string]*MinUsageCountThreshold `field:"optional" json:"addMinIncomingLogsAlarm" yaml:"addMinIncomingLogsAlarm"`
	// Maximum number of log messages to search for.
	// Default: - 10.
	//
	// Experimental.
	Limit *float64 `field:"optional" json:"limit" yaml:"limit"`
	// Pattern to search for, e.g. "ERROR".
	// Experimental.
	Pattern *string `field:"optional" json:"pattern" yaml:"pattern"`
	// Widget title.
	// Default: - auto-generated title based on the pattern and limit.
	//
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
}

Experimental.

type LowConnectionCountThreshold

type LowConnectionCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinConnectionCount *float64 `field:"required" json:"minConnectionCount" yaml:"minConnectionCount"`
}

Experimental.

type LowMessagesPublishedThreshold

type LowMessagesPublishedThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinMessagesPublishedCount *float64 `field:"required" json:"minMessagesPublishedCount" yaml:"minMessagesPublishedCount"`
}

Experimental.

type LowTpsThreshold

type LowTpsThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinTps *float64 `field:"required" json:"minTps" yaml:"minTps"`
}

Experimental.

type MaxAgeThreshold

type MaxAgeThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxAgeInMillis *float64 `field:"required" json:"maxAgeInMillis" yaml:"maxAgeInMillis"`
}

Experimental.

type MaxDowntimeThreshold

type MaxDowntimeThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxDowntimeInMillis *float64 `field:"required" json:"maxDowntimeInMillis" yaml:"maxDowntimeInMillis"`
}

Experimental.

type MaxIncomingMessagesCountThreshold

type MaxIncomingMessagesCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxIncomingMessagesCount *float64 `field:"required" json:"maxIncomingMessagesCount" yaml:"maxIncomingMessagesCount"`
}

Experimental.

type MaxItemsCountThreshold

type MaxItemsCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxItemsCount *float64 `field:"required" json:"maxItemsCount" yaml:"maxItemsCount"`
}

Experimental.

type MaxIteratorAgeThreshold

type MaxIteratorAgeThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxAgeInMillis *float64 `field:"required" json:"maxAgeInMillis" yaml:"maxAgeInMillis"`
}

Experimental.

type MaxMessageAgeThreshold

type MaxMessageAgeThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxAgeInSeconds *float64 `field:"required" json:"maxAgeInSeconds" yaml:"maxAgeInSeconds"`
}

Experimental.

type MaxMessageCountThreshold

type MaxMessageCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxMessageCount *float64 `field:"required" json:"maxMessageCount" yaml:"maxMessageCount"`
}

Experimental.

type MaxSecretCountThreshold

type MaxSecretCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxSecretCount *float64 `field:"required" json:"maxSecretCount" yaml:"maxSecretCount"`
}

Experimental.

type MaxTimeToDrainThreshold

type MaxTimeToDrainThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxTimeToDrain awscdk.Duration `field:"required" json:"maxTimeToDrain" yaml:"maxTimeToDrain"`
}

Experimental.

type MaxUsedSwapMemoryThreshold

type MaxUsedSwapMemoryThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxUsedSwapMemoryInBytes *float64 `field:"required" json:"maxUsedSwapMemoryInBytes" yaml:"maxUsedSwapMemoryInBytes"`
}

Experimental.

type MetricFactory

type MetricFactory interface {
	// Experimental.
	GlobalDefaults() *MetricFactoryDefaults
	// Adapts properties of a foreign metric (metric created outside of this metric factory) to comply with the global defaults.
	//
	// Might modify namespace and metric period.
	// Experimental.
	AdaptMetric(metric interface{}) interface{}
	// Adapts properties of a foreign metric (metric created outside of this metric factory) to comply with the global defaults.
	//
	// Might modify namespace. Preserves metric period.
	// Experimental.
	AdaptMetricPreservingPeriod(metric interface{}) interface{}
	// Merges the given additional dimensions to the given target dimension hash.
	//
	// All existing dimensions with the same key are replaced.
	// Experimental.
	AddAdditionalDimensions(target *map[string]*string, additionalDimensions *map[string]*string)
	// Factory method that creates a metric.
	//
	// The metric properties will already be updated to comply with the global defaults.
	// Experimental.
	CreateMetric(metricName *string, statistic MetricStatistic, label *string, dimensionsMap *map[string]*string, color *string, namespace *string, period awscdk.Duration, region *string, account *string) interface{}
	// Factory method that creates anomaly detection on a metric.
	//
	// Anomaly occurs whenever a metric value falls outside of a precomputed range of predicted values.
	// The detection does not need any setup. The model will start learning automatically and should be ready in a few minutes.
	// Usually, the anomaly detection is paired with an alarm.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html
	//
	// Experimental.
	CreateMetricAnomalyDetection(metric awscloudwatch.IMetric, stdev *float64, label *string, color *string, expressionId *string, period awscdk.Duration, region *string, account *string) interface{}
	// Factory method that creates a metric math expression.
	//
	// The metric properties will already be updated to comply with the global defaults.
	// Experimental.
	CreateMetricMath(expression *string, usingMetrics *map[string]awscloudwatch.IMetric, label *string, color *string, period awscdk.Duration, region *string, account *string) interface{}
	// Factory method that creates a metric search query.
	//
	// The metric properties will already be updated to comply with the global defaults.
	// If you want to match "any value" of a specific dimension, please use `undefined` value representation in your consumer language.
	// (For example, `undefined as any as string` in TypeScript, due to JSII typing quirks.)
	// Experimental.
	CreateMetricSearch(query *string, dimensionsMap *map[string]*string, statistic MetricStatistic, namespace *string, label *string, period awscdk.Duration, region *string, account *string) awscloudwatch.IMetric
	// Creates a metric math expression that divides the given metric by given coefficient.
	//
	// Does nothing if the divisor is one. Preserves the metric period.
	// Experimental.
	DivideMetric(metric interface{}, divisor *float64, label *string, expressionId *string) interface{}
	// Returns the given namespace (if defined) or the global namespace as a fallback.
	//
	// If there is no namespace to fallback to (neither the custom or the default one), it will fail.
	// Experimental.
	GetNamespaceWithFallback(value *string) *string
	// Creates a metric math expression that multiplies the given metric by given coefficient.
	//
	// Does nothing if the multiplier is one. Preserves the metric period.
	// Experimental.
	MultiplyMetric(metric interface{}, multiplier *float64, label *string, expressionId *string) interface{}
	// Helper method that helps to sanitize the given expression ID and removes all invalid characters.
	//
	// Valid expression ID regexp is the following: ^[a-z][a-zA-Z0-9_]*$
	// As this is just to validate a suffix and not the whole ID, we do not have to verify the first lower case letter.
	// Experimental.
	SanitizeMetricExpressionIdSuffix(expressionId *string) *string
	// Creates a metric math expression that computes a rate from a regular metric.
	//
	// For example, it allows you to compute rate per second (TPS), per minute, or just an average of your transactions.
	// Experimental.
	ToRate(metric interface{}, method RateComputationMethod, addStatsToLabel *bool, expressionId *string, fillWithZeroes *bool) interface{}
}

Experimental.

func NewMetricFactory

func NewMetricFactory(props *MetricFactoryProps) MetricFactory

Experimental.

type MetricFactoryDefaults

type MetricFactoryDefaults struct {
	// Account where the metrics exist.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html
	//
	// Default: The account configured by the construct holding the Monitoring construct.
	//
	// Experimental.
	Account *string `field:"optional" json:"account" yaml:"account"`
	// Each metric exists in a namespace.
	//
	// AWS Services have their own namespace, but here you can specify your custom one.
	// Experimental.
	Namespace *string `field:"optional" json:"namespace" yaml:"namespace"`
	// Metric period.
	//
	// Default value is used if not defined.
	// Default: - DefaultMetricPeriod.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// Region where the metrics exist.
	// See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html
	//
	// Default: The region configured by the construct holding the Monitoring construct.
	//
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
}

These are the globals used for each metric, unless there is some kind of override. Experimental.

type MetricFactoryProps

type MetricFactoryProps struct {
	// Allows you to specify the global defaults, which can be overridden in the individual metrics or alarms.
	// Experimental.
	GlobalDefaults *MetricFactoryDefaults `field:"optional" json:"globalDefaults" yaml:"globalDefaults"`
}

Experimental.

type MetricStatistic

type MetricStatistic string

Metric aggregation statistic to be used with the IMetric objects. See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html

Experimental.

const (
	// 50th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P50 MetricStatistic = "P50"
	// 70th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P70 MetricStatistic = "P70"
	// 90th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P90 MetricStatistic = "P90"
	// 95th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P95 MetricStatistic = "P95"
	// 99th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P99 MetricStatistic = "P99"
	// 99.9th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P999 MetricStatistic = "P999"
	// 99.99th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P9999 MetricStatistic = "P9999"
	// 100th percentile of all datapoints.
	// Experimental.
	MetricStatistic_P100 MetricStatistic = "P100"
	// trimmed mean;
	//
	// calculates the average after removing the 50% of data points with the highest values.
	// Experimental.
	MetricStatistic_TM50 MetricStatistic = "TM50"
	// trimmed mean;
	//
	// calculates the average after removing the 30% of data points with the highest values.
	// Experimental.
	MetricStatistic_TM70 MetricStatistic = "TM70"
	// trimmed mean;
	//
	// calculates the average after removing the 10% of data points with the highest values.
	// Experimental.
	MetricStatistic_TM90 MetricStatistic = "TM90"
	// trimmed mean;
	//
	// calculates the average after removing the 5% of data points with the highest values.
	// Experimental.
	MetricStatistic_TM95 MetricStatistic = "TM95"
	// trimmed mean;
	//
	// calculates the average after removing the 1% of data points with the highest values.
	// Experimental.
	MetricStatistic_TM99 MetricStatistic = "TM99"
	// trimmed mean;
	//
	// calculates the average after removing the 0.1% of data points with the highest values
	// Experimental.
	MetricStatistic_TM999 MetricStatistic = "TM999"
	// trimmed mean;
	//
	// calculates the average after removing the 0.01% of data points with the highest values
	// Experimental.
	MetricStatistic_TM9999 MetricStatistic = "TM9999"
	// trimmed mean;
	//
	// calculates the average after removing the 1% lowest data points and the 1% highest data points.
	// Experimental.
	MetricStatistic_TM99_BOTH MetricStatistic = "TM99_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 5% lowest data points and the 5% highest data points.
	// Experimental.
	MetricStatistic_TM95_BOTH MetricStatistic = "TM95_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 10% lowest data points and the 10% highest data points.
	// Experimental.
	MetricStatistic_TM90_BOTH MetricStatistic = "TM90_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 15% lowest data points and the 15% highest data points.
	// Experimental.
	MetricStatistic_TM85_BOTH MetricStatistic = "TM85_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 20% lowest data points and the 20% highest data points.
	// Experimental.
	MetricStatistic_TM80_BOTH MetricStatistic = "TM80_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 25% lowest data points and the 25% highest data points.
	// Experimental.
	MetricStatistic_TM75_BOTH MetricStatistic = "TM75_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 30% lowest data points and the 30% highest data points.
	// Experimental.
	MetricStatistic_TM70_BOTH MetricStatistic = "TM70_BOTH"
	// trimmed mean;
	//
	// calculates the average after removing the 95% lowest data points.
	// Experimental.
	MetricStatistic_TM95_TOP MetricStatistic = "TM95_TOP"
	// trimmed mean;
	//
	// calculates the average after removing the 99% lowest data points.
	// Experimental.
	MetricStatistic_TM99_TOP MetricStatistic = "TM99_TOP"
	// trimmed mean;
	//
	// calculates the average after removing the 99.9% lowest data points
	// Experimental.
	MetricStatistic_TM999_TOP MetricStatistic = "TM999_TOP"
	// trimmed mean;
	//
	// calculates the average after removing the 99.99% lowest data points
	// Experimental.
	MetricStatistic_TM9999_TOP MetricStatistic = "TM9999_TOP"
	// winsorized mean;
	//
	// calculates the average while treating the 50% of the highest values to be equal to the value at the 50th percentile.
	// Experimental.
	MetricStatistic_WM50 MetricStatistic = "WM50"
	// winsorized mean;
	//
	// calculates the average while treating the 30% of the highest values to be equal to the value at the 70th percentile.
	// Experimental.
	MetricStatistic_WM70 MetricStatistic = "WM70"
	// winsorized mean;
	//
	// calculates the average while treating the 10% of the highest values to be equal to the value at the 90th percentile.
	// Experimental.
	MetricStatistic_WM90 MetricStatistic = "WM90"
	// winsorized mean;
	//
	// calculates the average while treating the 5% of the highest values to be equal to the value at the 95th percentile.
	// Experimental.
	MetricStatistic_WM95 MetricStatistic = "WM95"
	// winsorized mean;
	//
	// calculates the average while treating the 1% of the highest values to be equal to the value at the 99th percentile.
	// Experimental.
	MetricStatistic_WM99 MetricStatistic = "WM99"
	// winsorized mean;
	//
	// calculates the average while treating the 0.1% of the highest values to be equal to the value at the 99.9th percentile
	// Experimental.
	MetricStatistic_WM999 MetricStatistic = "WM999"
	// winsorized mean;
	//
	// calculates the average while treating the 0.01% of the highest values to be equal to the value at the 99.99th percentile
	// Experimental.
	MetricStatistic_WM9999 MetricStatistic = "WM9999"
	// winsorized mean;
	//
	// calculates the average while treating the highest 1% of data points to be the value of the 99% boundary, and treating the lowest 1% of data points to be the value of the 1% boundary.
	// Experimental.
	MetricStatistic_WM99_BOTH MetricStatistic = "WM99_BOTH"
	// winsorized mean;
	//
	// calculates the average while treating the highest 5% of data points to be the value of the 95% boundary, and treating the lowest 5% of data points to be the value of the 5% boundary.
	// Experimental.
	MetricStatistic_WM95_BOTH MetricStatistic = "WM95_BOTH"
	// winsorized mean;
	//
	// calculates the average while treating the highest 10% of data points to be the value of the 90% boundary, and treating the lowest 10% of data points to be the value of the 10% boundary.
	// Experimental.
	MetricStatistic_WM90_BOTH MetricStatistic = "WM90_BOTH"
	// winsorized mean;
	//
	// calculates the average while treating the highest 15% of data points to be the value of the 85% boundary, and treating the lowest 15% of data points to be the value of the 15% boundary.
	// Experimental.
	MetricStatistic_WM85_BOTH MetricStatistic = "WM85_BOTH"
	// winsorized mean;
	//
	// calculates the average while treating the highest 20% of data points to be the value of the 80% boundary, and treating the lowest 20% of data points to be the value of the 20% boundary.
	// Experimental.
	MetricStatistic_WM80_BOTH MetricStatistic = "WM80_BOTH"
	// winsorized mean;
	//
	// calculates the average while treating the highest 25% of data points to be the value of the 75% boundary, and treating the lowest 25% of data points to be the value of the 25% boundary.
	// Experimental.
	MetricStatistic_WM75_BOTH MetricStatistic = "WM75_BOTH"
	// winsorized mean;
	//
	// calculates the average while treating the highest 30% of data points to be the value of the 70% boundary, and treating the lowest 30% of data points to be the value of the 30% boundary.
	// Experimental.
	MetricStatistic_WM70_BOTH MetricStatistic = "WM70_BOTH"
	// minimum of all datapoints.
	// Experimental.
	MetricStatistic_MIN MetricStatistic = "MIN"
	// maximum of all datapoints.
	// Experimental.
	MetricStatistic_MAX MetricStatistic = "MAX"
	// sum of all datapoints.
	// Experimental.
	MetricStatistic_SUM MetricStatistic = "SUM"
	// average of all datapoints.
	// Experimental.
	MetricStatistic_AVERAGE MetricStatistic = "AVERAGE"
	// number of datapoints.
	// Experimental.
	MetricStatistic_N MetricStatistic = "N"
)

type MinFreeableMemoryThreshold

type MinFreeableMemoryThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinFreeableMemoryInBytes *float64 `field:"required" json:"minFreeableMemoryInBytes" yaml:"minFreeableMemoryInBytes"`
}

Experimental.

type MinIncomingMessagesCountThreshold

type MinIncomingMessagesCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinIncomingMessagesCount *float64 `field:"required" json:"minIncomingMessagesCount" yaml:"minIncomingMessagesCount"`
}

Experimental.

type MinMessageCountThreshold

type MinMessageCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinMessageCount *float64 `field:"required" json:"minMessageCount" yaml:"minMessageCount"`
}

Experimental.

type MinProcessedBytesThreshold

type MinProcessedBytesThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Threshold for the least number of bytes processed.
	// Experimental.
	MinProcessedBytes *float64 `field:"required" json:"minProcessedBytes" yaml:"minProcessedBytes"`
}

Experimental.

type MinRunningTaskCountThreshold

type MinRunningTaskCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinRunningTasks *float64 `field:"required" json:"minRunningTasks" yaml:"minRunningTasks"`
}

Experimental.

type MinSecretCountThreshold

type MinSecretCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinSecretCount *float64 `field:"required" json:"minSecretCount" yaml:"minSecretCount"`
}

Experimental.

type MinUsageCountThreshold

type MinUsageCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinCount *float64 `field:"required" json:"minCount" yaml:"minCount"`
}

Experimental.

type Monitoring

type Monitoring interface {
	IDashboardSegment
	IDynamicDashboardSegment
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Default: - no widgets.
	//
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

An independent unit of monitoring.

This is the base for all monitoring classes with alarm support. Experimental.

type MonitoringAspect

type MonitoringAspect interface {
	awscdk.IAspect
	// All aspects can visit an IConstruct.
	// Experimental.
	Visit(node constructs.IConstruct)
}

A CDK aspect that adds support for monitoring all resources within scope. Experimental.

func NewMonitoringAspect

func NewMonitoringAspect(monitoringFacade MonitoringFacade, props *MonitoringAspectProps) MonitoringAspect

Experimental.

type MonitoringAspectProps

type MonitoringAspectProps struct {
	// Experimental.
	Acm *MonitoringAspectType `field:"optional" json:"acm" yaml:"acm"`
	// Experimental.
	ApiGateway *MonitoringAspectType `field:"optional" json:"apiGateway" yaml:"apiGateway"`
	// Experimental.
	ApiGatewayV2 *MonitoringAspectType `field:"optional" json:"apiGatewayV2" yaml:"apiGatewayV2"`
	// Experimental.
	AppSync *MonitoringAspectType `field:"optional" json:"appSync" yaml:"appSync"`
	// Experimental.
	AuroraCluster *MonitoringAspectType `field:"optional" json:"auroraCluster" yaml:"auroraCluster"`
	// Experimental.
	AutoScalingGroup *MonitoringAspectType `field:"optional" json:"autoScalingGroup" yaml:"autoScalingGroup"`
	// Experimental.
	Billing *MonitoringAspectType `field:"optional" json:"billing" yaml:"billing"`
	// Experimental.
	CloudFront *MonitoringAspectType `field:"optional" json:"cloudFront" yaml:"cloudFront"`
	// Experimental.
	CodeBuild *MonitoringAspectType `field:"optional" json:"codeBuild" yaml:"codeBuild"`
	// Experimental.
	DocumentDb *MonitoringAspectType `field:"optional" json:"documentDb" yaml:"documentDb"`
	// Experimental.
	DynamoDB *MonitoringAspectType `field:"optional" json:"dynamoDB" yaml:"dynamoDB"`
	// Experimental.
	Ec2 *MonitoringAspectType `field:"optional" json:"ec2" yaml:"ec2"`
	// Experimental.
	ElasticCache *MonitoringAspectType `field:"optional" json:"elasticCache" yaml:"elasticCache"`
	// Experimental.
	Glue *MonitoringAspectType `field:"optional" json:"glue" yaml:"glue"`
	// Experimental.
	KinesisDataAnalytics *MonitoringAspectType `field:"optional" json:"kinesisDataAnalytics" yaml:"kinesisDataAnalytics"`
	// Experimental.
	KinesisDataStream *MonitoringAspectType `field:"optional" json:"kinesisDataStream" yaml:"kinesisDataStream"`
	// Experimental.
	KinesisFirehose *MonitoringAspectType `field:"optional" json:"kinesisFirehose" yaml:"kinesisFirehose"`
	// Experimental.
	Lambda *MonitoringAspectType `field:"optional" json:"lambda" yaml:"lambda"`
	// Experimental.
	OpenSearch *MonitoringAspectType `field:"optional" json:"openSearch" yaml:"openSearch"`
	// Experimental.
	Rds *MonitoringAspectType `field:"optional" json:"rds" yaml:"rds"`
	// Experimental.
	Redshift *MonitoringAspectType `field:"optional" json:"redshift" yaml:"redshift"`
	// Experimental.
	S3 *MonitoringAspectType `field:"optional" json:"s3" yaml:"s3"`
	// Experimental.
	SecretsManager *MonitoringAspectType `field:"optional" json:"secretsManager" yaml:"secretsManager"`
	// Experimental.
	Sns *MonitoringAspectType `field:"optional" json:"sns" yaml:"sns"`
	// Experimental.
	Sqs *MonitoringAspectType `field:"optional" json:"sqs" yaml:"sqs"`
	// Experimental.
	StepFunctions *MonitoringAspectType `field:"optional" json:"stepFunctions" yaml:"stepFunctions"`
	// Experimental.
	SyntheticsCanaries *MonitoringAspectType `field:"optional" json:"syntheticsCanaries" yaml:"syntheticsCanaries"`
	// Experimental.
	WebApplicationFirewallAclV2 *MonitoringAspectType `field:"optional" json:"webApplicationFirewallAclV2" yaml:"webApplicationFirewallAclV2"`
}

Experimental.

type MonitoringAspectType

type MonitoringAspectType struct {
	// If the monitoring aspect is enabled for this resource.
	// Default: - true.
	//
	// Experimental.
	Enabled *bool `field:"optional" json:"enabled" yaml:"enabled"`
	// The monitoring props for this resource.
	// Default: - none.
	//
	// Experimental.
	Props interface{} `field:"optional" json:"props" yaml:"props"`
}

Experimental.

type MonitoringDashboardsOverrideProps

type MonitoringDashboardsOverrideProps struct {
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
}

Experimental.

type MonitoringDashboardsProps

type MonitoringDashboardsProps struct {
	// Prefix added to each dashboard name.
	//
	// This allows to have all dashboards sorted close to each other and also separate multiple monitoring facades.
	// Experimental.
	DashboardNamePrefix *string `field:"required" json:"dashboardNamePrefix" yaml:"dashboardNamePrefix"`
	// Flag indicating whether the alarm dashboard should be created.
	//
	// This is independent on other create dashboard flags.
	// Default: - false.
	//
	// Experimental.
	CreateAlarmDashboard *bool `field:"optional" json:"createAlarmDashboard" yaml:"createAlarmDashboard"`
	// Flag indicating whether the default dashboard should be created.
	//
	// This is independent on other create dashboard flags.
	// Default: - true.
	//
	// Experimental.
	CreateDashboard *bool `field:"optional" json:"createDashboard" yaml:"createDashboard"`
	// Flag indicating whether the summary dashboard should be created.
	//
	// This is independent on other create dashboard flags.
	// Default: - false.
	//
	// Experimental.
	CreateSummaryDashboard *bool `field:"optional" json:"createSummaryDashboard" yaml:"createSummaryDashboard"`
	// Period override for the detail dashboard (and other auxiliary dashboards).
	// Default: - respect individual graphs (PeriodOverride.INHERIT)
	//
	// Experimental.
	DetailDashboardPeriodOverride awscloudwatch.PeriodOverride `field:"optional" json:"detailDashboardPeriodOverride" yaml:"detailDashboardPeriodOverride"`
	// Range of the detail dashboard (and other auxiliary dashboards).
	// See: DefaultDetailDashboardRange.
	//
	// Default: - 8 hours.
	//
	// Experimental.
	DetailDashboardRange awscdk.Duration `field:"optional" json:"detailDashboardRange" yaml:"detailDashboardRange"`
	// Dashboard rendering preference.
	// Default: - DashboardRenderingPreference.INTERACTIVE_ONLY
	//
	// Experimental.
	RenderingPreference DashboardRenderingPreference `field:"optional" json:"renderingPreference" yaml:"renderingPreference"`
	// Period override for the summary dashboard.
	// Default: - respect individual graphs (PeriodOverride.INHERIT)
	//
	// Experimental.
	SummaryDashboardPeriodOverride awscloudwatch.PeriodOverride `field:"optional" json:"summaryDashboardPeriodOverride" yaml:"summaryDashboardPeriodOverride"`
	// Range of the summary dashboard.
	// Default: - 14 days.
	//
	// Experimental.
	SummaryDashboardRange awscdk.Duration `field:"optional" json:"summaryDashboardRange" yaml:"summaryDashboardRange"`
}

Experimental.

type MonitoringDynamicDashboardsProps

type MonitoringDynamicDashboardsProps struct {
	// List of dashboard types to generate.
	// Experimental.
	DashboardConfigs *[]*DynamicDashboardConfiguration `field:"required" json:"dashboardConfigs" yaml:"dashboardConfigs"`
	// Prefix added to each dashboard's name.
	//
	// This allows to have all dashboards sorted close to each other and also separate multiple monitoring facades.
	// Experimental.
	DashboardNamePrefix *string `field:"required" json:"dashboardNamePrefix" yaml:"dashboardNamePrefix"`
}

Experimental.

type MonitoringFacade

type MonitoringFacade interface {
	MonitoringScope
	// Experimental.
	AlarmFactoryDefaults() *AlarmFactoryDefaults
	// Experimental.
	CreatedSegments() *[]interface{}
	// Experimental.
	DashboardFactory() IDynamicDashboardFactory
	// Experimental.
	MetricFactoryDefaults() *MetricFactoryDefaults
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Adds a dashboard segment which returns dynamic content depending on dashboard type.
	// Experimental.
	AddDynamicSegment(segment IDynamicDashboardSegment) MonitoringFacade
	// Experimental.
	AddLargeHeader(text *string, addToSummary *bool, addToAlarm *bool) MonitoringFacade
	// Experimental.
	AddMediumHeader(text *string, addToSummary *bool, addToAlarm *bool) MonitoringFacade
	// Adds a dashboard segment to go on one of the {@link DefaultDashboards}.
	// Experimental.
	AddSegment(segment IDashboardSegment, overrideProps *MonitoringDashboardsOverrideProps) MonitoringFacade
	// Experimental.
	AddSmallHeader(text *string, addToSummary *bool, addToAlarm *bool) MonitoringFacade
	// Experimental.
	AddWidget(widget awscloudwatch.IWidget, addToSummary *bool, addToAlarm *bool) MonitoringFacade
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Creates a new factory that creates AWS Console URLs.
	// Experimental.
	CreateAwsConsoleUrlFactory() AwsConsoleUrlFactory
	// Finds a subset of created alarms that are marked by a specific disambiguator and creates a composite alarm.
	//
	// This composite alarm is created with an 'OR' condition, so it triggers with any child alarm.
	// NOTE: This composite alarm is not added among other alarms, so it is not returned by createdAlarms() calls.
	// Experimental.
	CreateCompositeAlarmUsingDisambiguator(alarmDisambiguator *string, props *AddCompositeAlarmProps) awscloudwatch.CompositeAlarm
	// Finds a subset of created alarms that are marked by a specific custom tag and creates a composite alarm.
	//
	// This composite alarm is created with an 'OR' condition, so it triggers with any child alarm.
	// NOTE: This composite alarm is not added among other alarms, so it is not returned by createdAlarms() calls.
	// Experimental.
	CreateCompositeAlarmUsingTag(customTag *string, props *AddCompositeAlarmProps) awscloudwatch.CompositeAlarm
	// Returns: default alarms dashboard.
	// Deprecated: - prefer calling dashboardFactory.getDashboard directly.
	CreatedAlarmDashboard() awscloudwatch.Dashboard
	// Returns the created alarms across all added segments that subclass {@link Monitoring} added up until now.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Returns a subset of created alarms that are marked by a specific disambiguator.
	// Experimental.
	CreatedAlarmsWithDisambiguator(disambiguator *string) *[]*AlarmWithAnnotation
	// Returns a subset of created alarms that are marked by a specific custom tag.
	// Experimental.
	CreatedAlarmsWithTag(customTag *string) *[]*AlarmWithAnnotation
	// Returns: default detail dashboard.
	// Deprecated: - prefer calling dashboardFactory.getDashboard directly.
	CreatedDashboard() awscloudwatch.Dashboard
	// Returns the added segments that subclass {@link Monitoring}.
	// Experimental.
	CreatedMonitorings() *[]Monitoring
	// Returns: default summary dashboard.
	// Deprecated: - prefer calling dashboardFactory.getDashboard directly.
	CreatedSummaryDashboard() awscloudwatch.Dashboard
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	MonitorApiGateway(props *ApiGatewayMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorApiGatewayV2HttpApi(props *ApiGatewayV2HttpApiMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorAppSyncApi(props *AppSyncMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorAuroraCluster(props *AuroraClusterMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorAutoScalingGroup(props *AutoScalingGroupMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorBilling(props *BillingMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorCertificate(props *CertificateManagerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorCloudFrontDistribution(props *CloudFrontDistributionMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorCodeBuildProject(props *CodeBuildProjectMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorCustom(props *CustomMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorDocumentDbCluster(props *DocumentDbMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorDynamoTable(props *DynamoTableMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorDynamoTableGlobalSecondaryIndex(props *DynamoTableGlobalSecondaryIndexMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorEc2ApplicationLoadBalancer(props *Ec2ApplicationLoadBalancerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorEC2Instances(props *EC2MonitoringProps) MonitoringFacade
	// Experimental.
	MonitorEc2NetworkLoadBalancer(props *Ec2NetworkLoadBalancerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorEc2Service(props *Ec2ServiceMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorElastiCacheCluster(props *ElastiCacheClusterMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorElasticsearchCluster(props *OpenSearchClusterMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorFargateApplicationLoadBalancer(props *FargateApplicationLoadBalancerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorFargateNetworkLoadBalancer(props *FargateNetworkLoadBalancerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorFargateService(props *FargateServiceMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorGlueJob(props *GlueJobMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorKinesisDataAnalytics(props *KinesisDataAnalyticsMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorKinesisDataStream(props *KinesisDataStreamMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorKinesisFirehose(props *KinesisFirehoseMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorLambdaFunction(props *LambdaFunctionMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorLog(props *LogMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorNetworkLoadBalancer(props *NetworkLoadBalancerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorOpenSearchCluster(props *OpenSearchClusterMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorQueueProcessingEc2Service(props *QueueProcessingEc2ServiceMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorQueueProcessingFargateService(props *QueueProcessingFargateServiceMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorRdsCluster(props *RdsClusterMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorRedshiftCluster(props *RedshiftClusterMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorS3Bucket(props *S3BucketMonitoringProps) MonitoringFacade
	// Uses an aspect to automatically monitor all resources in the given scope.
	// Experimental.
	MonitorScope(scope constructs.Construct, aspectProps *MonitoringAspectProps)
	// Experimental.
	MonitorSecretsManager(props *SecretsManagerMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSecretsManagerSecret(props *SecretsManagerSecretMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSimpleEc2Service(props *SimpleEc2ServiceMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSimpleFargateService(props *SimpleFargateServiceMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSnsTopic(props *SnsTopicMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSqsQueue(props *SqsQueueMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSqsQueueWithDlq(props *SqsQueueMonitoringWithDlqProps) MonitoringFacade
	// Experimental.
	MonitorStepFunction(props *StepFunctionMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorStepFunctionActivity(props *StepFunctionActivityMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorStepFunctionLambdaIntegration(props *StepFunctionLambdaIntegrationMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorStepFunctionServiceIntegration(props *StepFunctionServiceIntegrationMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorSyntheticsCanary(props *SyntheticsCanaryMonitoringProps) MonitoringFacade
	// Experimental.
	MonitorWebApplicationFirewallAclV2(props *WafV2MonitoringProps) MonitoringFacade
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

An implementation of a {@link MonitoringScope}.

This is a convenient main entrypoint to monitor resources.

Provides methods for retrieving and creating alarms based on added segments that are subclasses of {@link Monitoring}. Experimental.

func NewMonitoringFacade

func NewMonitoringFacade(scope constructs.Construct, id *string, props *MonitoringFacadeProps) MonitoringFacade

Experimental.

type MonitoringFacadeProps

type MonitoringFacadeProps struct {
	// Defaults for alarm factory.
	// Default: - actions enabled, facade logical ID used as default alarm name prefix.
	//
	// Experimental.
	AlarmFactoryDefaults *AlarmFactoryDefaults `field:"optional" json:"alarmFactoryDefaults" yaml:"alarmFactoryDefaults"`
	// Defaults for dashboard factory.
	// Default: - An instance of {@link DynamicDashboardFactory}; facade logical ID used as default name.
	//
	// Experimental.
	DashboardFactory IDynamicDashboardFactory `field:"optional" json:"dashboardFactory" yaml:"dashboardFactory"`
	// Defaults for metric factory.
	// Default: - empty (no preferences).
	//
	// Experimental.
	MetricFactoryDefaults *MetricFactoryDefaults `field:"optional" json:"metricFactoryDefaults" yaml:"metricFactoryDefaults"`
}

Experimental.

type MonitoringHeaderWidget

type MonitoringHeaderWidget interface {
	HeaderWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Experimental.

func NewMonitoringHeaderWidget

func NewMonitoringHeaderWidget(props *MonitoringHeaderWidgetProps) MonitoringHeaderWidget

Experimental.

type MonitoringHeaderWidgetProps

type MonitoringHeaderWidgetProps struct {
	// Experimental.
	Title *string `field:"required" json:"title" yaml:"title"`
	// Experimental.
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Experimental.
	DescriptionHeight *float64 `field:"optional" json:"descriptionHeight" yaml:"descriptionHeight"`
	// Experimental.
	Family *string `field:"optional" json:"family" yaml:"family"`
	// Experimental.
	GoToLinkUrl *string `field:"optional" json:"goToLinkUrl" yaml:"goToLinkUrl"`
}

Experimental.

type MonitoringNamingStrategy

type MonitoringNamingStrategy interface {
	// Experimental.
	Input() *NameResolutionInput
	// Experimental.
	ResolveAlarmFriendlyName() *string
	// Experimental.
	ResolveHumanReadableName() *string
}

Utility class to unify approach to naming monitoring sections. See: https://docs.aws.amazon.com/cdk/latest/guide/tokens.html#tokens_lazy

Experimental.

func NewMonitoringNamingStrategy

func NewMonitoringNamingStrategy(input *NameResolutionInput) MonitoringNamingStrategy

Experimental.

type MonitoringScope

type MonitoringScope interface {
	constructs.Construct
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Creates a new factory that creates AWS Console URLs.
	// Experimental.
	CreateAwsConsoleUrlFactory() AwsConsoleUrlFactory
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

A scope where all monitored constructs are managed from (i.e., alarms, dashboards, etc.).

Standard usages will use {@link MonitoringFacade}. Experimental.

type MultipleAlarmActionStrategy

type MultipleAlarmActionStrategy interface {
	IAlarmActionStrategy
	// Experimental.
	Actions() *[]IAlarmActionStrategy
	// Experimental.
	AddAlarmActions(props *AlarmActionStrategyProps)
	// Returns list of alarm actions where any nested instances of MultipleAlarmActionStrategy are flattened.
	//
	// Returns: flattened list of alarm actions.
	// Experimental.
	FlattenedAlarmActions() *[]IAlarmActionStrategy
}

Alarm action strategy that combines multiple actions in the same order as they were given. Experimental.

func NewMultipleAlarmActionStrategy

func NewMultipleAlarmActionStrategy(actions *[]IAlarmActionStrategy) MultipleAlarmActionStrategy

Experimental.

type NameResolutionInput

type NameResolutionInput struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Fallback name before we fallback to extracting name from the construct itself.
	//
	// This might be some construct reference, such is cluster ID, stream name, and so on.
	// Default: - use namedConstruct to extract the name.
	//
	// Experimental.
	FallbackConstructName *string `field:"optional" json:"fallbackConstructName" yaml:"fallbackConstructName"`
	// Construct that this naming strategy is naming.
	//
	// It is used as a last resort for naming.
	// Experimental.
	NamedConstruct constructs.IConstruct `field:"optional" json:"namedConstruct" yaml:"namedConstruct"`
}

Experimental.

type NetworkLoadBalancerMetricFactory

type NetworkLoadBalancerMetricFactory interface {
	ILoadBalancerMetricFactory
	// Experimental.
	InvertStatisticsOfTaskCountEnabled() *bool
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	NetworkLoadBalancer() awselasticloadbalancingv2.INetworkLoadBalancer
	// Experimental.
	NetworkTargetGroup() awselasticloadbalancingv2.INetworkTargetGroup
	// Experimental.
	MetricActiveConnectionCount() interface{}
	// Experimental.
	MetricHealthyTaskCount() interface{}
	// Experimental.
	MetricHealthyTaskInPercent() interface{}
	// Experimental.
	MetricNewConnectionCount() interface{}
	// Experimental.
	MetricProcessedBytesMin() interface{}
	// Experimental.
	MetricUnhealthyTaskCount() interface{}
}

Metric factory to create metrics for network load-balanced service. Experimental.

func NewNetworkLoadBalancerMetricFactory

func NewNetworkLoadBalancerMetricFactory(metricFactory MetricFactory, props *NetworkLoadBalancerMetricFactoryProps) NetworkLoadBalancerMetricFactory

Experimental.

type NetworkLoadBalancerMetricFactoryProps

type NetworkLoadBalancerMetricFactoryProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	NetworkLoadBalancer awselasticloadbalancingv2.INetworkLoadBalancer `field:"required" json:"networkLoadBalancer" yaml:"networkLoadBalancer"`
	// Experimental.
	NetworkTargetGroup awselasticloadbalancingv2.INetworkTargetGroup `field:"required" json:"networkTargetGroup" yaml:"networkTargetGroup"`
}

Props to create NetworkLoadBalancerMetricFactory. Experimental.

type NetworkLoadBalancerMonitoring

type NetworkLoadBalancerMonitoring interface {
	Monitoring
	// Experimental.
	ActiveTcpFlowCountMetric() interface{}
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	HealthyTaskCountMetric() interface{}
	// Experimental.
	HealthyTaskPercentMetric() interface{}
	// Experimental.
	HumanReadableName() *string
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MetricFactory() NetworkLoadBalancerMetricFactory
	// Experimental.
	NewTcpFlowCountMetric() interface{}
	// Experimental.
	ProcessedBytesAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ProcessedBytesMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TaskHealthAlarmFactory() TaskHealthAlarmFactory
	// Experimental.
	TaskHealthAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ThroughputAlarmFactory() ThroughputAlarmFactory
	// Experimental.
	UnhealthyTaskCountMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTaskHealthWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTcpFlowsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewNetworkLoadBalancerMonitoring

func NewNetworkLoadBalancerMonitoring(scope MonitoringScope, props *NetworkLoadBalancerMonitoringProps) NetworkLoadBalancerMonitoring

Experimental.

type NetworkLoadBalancerMonitoringProps

type NetworkLoadBalancerMonitoringProps struct {
	// Invert the statistics of `HealthyHostCount` and `UnHealthyHostCount`.
	//
	// When `invertStatisticsOfTaskCountEnabled` is set to false, the minimum of `HealthyHostCount` and the maximum of `UnHealthyHostCount` are monitored.
	// When `invertStatisticsOfTaskCountEnabled` is set to true, the maximum of `HealthyHostCount` and the minimum of `UnHealthyHostCount` are monitored.
	//
	// `invertStatisticsOfTaskCountEnabled` is recommended to set to true as per the guidelines at
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-cloudwatch-metrics.html#metric-statistics
	// Default: false.
	//
	// Experimental.
	InvertStatisticsOfTaskCountEnabled *bool `field:"optional" json:"invertStatisticsOfTaskCountEnabled" yaml:"invertStatisticsOfTaskCountEnabled"`
	// Experimental.
	NetworkLoadBalancer awselasticloadbalancingv2.INetworkLoadBalancer `field:"required" json:"networkLoadBalancer" yaml:"networkLoadBalancer"`
	// Experimental.
	NetworkTargetGroup awselasticloadbalancingv2.INetworkTargetGroup `field:"required" json:"networkTargetGroup" yaml:"networkTargetGroup"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddHealthyTaskCountAlarm *map[string]*HealthyTaskCountThreshold `field:"optional" json:"addHealthyTaskCountAlarm" yaml:"addHealthyTaskCountAlarm"`
	// Experimental.
	AddHealthyTaskPercentAlarm *map[string]*HealthyTaskPercentThreshold `field:"optional" json:"addHealthyTaskPercentAlarm" yaml:"addHealthyTaskPercentAlarm"`
	// Experimental.
	AddMinProcessedBytesAlarm *map[string]*MinProcessedBytesThreshold `field:"optional" json:"addMinProcessedBytesAlarm" yaml:"addMinProcessedBytesAlarm"`
	// Experimental.
	AddUnhealthyTaskCountAlarm *map[string]*UnhealthyTaskCountThreshold `field:"optional" json:"addUnhealthyTaskCountAlarm" yaml:"addUnhealthyTaskCountAlarm"`
}

Experimental.

type NoopAlarmActionStrategy

type NoopAlarmActionStrategy interface {
	IAlarmActionStrategy
	// Experimental.
	AddAlarmActions(_props *AlarmActionStrategyProps)
}

Alarm action strategy that does not add any actions. Experimental.

func NewNoopAlarmActionStrategy

func NewNoopAlarmActionStrategy() NoopAlarmActionStrategy

Experimental.

type NotificationsFailedThreshold

type NotificationsFailedThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxNotificationsFailedCount *float64 `field:"required" json:"maxNotificationsFailedCount" yaml:"maxNotificationsFailedCount"`
}

Experimental.

type OpenSearchBackportedMetrics

type OpenSearchBackportedMetrics interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Return the given named metric for this Domain.
	// Experimental.
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for automated snapshot failures.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricAutomatedSnapshotFailure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the cluster blocking index writes.
	// Default: - maximum over 1 minute.
	//
	// Deprecated: use metricClusterIndexWritesBlocked instead.
	MetricClusterIndexWriteBlocked(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the cluster blocking index writes.
	// Default: - maximum over 1 minute.
	//
	// Experimental.
	MetricClusterIndexWritesBlocked(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the time the cluster status is red.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricClusterStatusRed(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the time the cluster status is yellow.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricClusterStatusYellow(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for CPU utilization.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the storage space of nodes in the cluster.
	// Default: - minimum over 5 minutes.
	//
	// Experimental.
	MetricFreeStorageSpace(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for indexing latency.
	// Default: - p99 over 5 minutes.
	//
	// Experimental.
	MetricIndexingLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for JVM memory pressure.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for KMS key errors.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricKMSKeyError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for KMS key being inaccessible.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricKMSKeyInaccessible(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for master CPU utilization.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricMasterCPUUtilization(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for master JVM memory pressure.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricMasterJVMMemoryPressure(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for the number of nodes.
	// Default: - minimum over 1 hour.
	//
	// Experimental.
	MetricNodes(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for number of searchable documents.
	// Default: - maximum over 5 minutes.
	//
	// Experimental.
	MetricSearchableDocuments(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Metric for search latency.
	// Default: - p99 over 5 minutes.
	//
	// Experimental.
	MetricSearchLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
}

Backported set of metric functions added in @aws-cdk/aws-elasticsearch@1.65.0. See: https://github.com/aws/aws-cdk/releases/tag/v1.73.0

Experimental.

func NewOpenSearchBackportedMetrics

func NewOpenSearchBackportedMetrics(domain interface{}) OpenSearchBackportedMetrics

Experimental.

type OpenSearchClusterAlarmFactory

type OpenSearchClusterAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddAutomatedSnapshotFailureAlarm(metric interface{}, props *OpenSearchClusterAutomatedSnapshotFailureThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddClusterIndexWritesBlockedAlarm(metric interface{}, props *OpenSearchClusterIndexWritesBlockedThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddClusterNodeCountAlarm(metric interface{}, props *OpenSearchClusterNodesThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddClusterStatusAlarm(metric interface{}, props *OpenSearchClusterStatusCustomization, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddKmsKeyErrorAlarm(metric interface{}, props *OpenSearchKmsKeyErrorThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddKmsKeyInaccessibleAlarm(metric interface{}, props *OpenSearchKmsKeyInaccessibleThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewOpenSearchClusterAlarmFactory

func NewOpenSearchClusterAlarmFactory(alarmFactory AlarmFactory) OpenSearchClusterAlarmFactory

Experimental.

type OpenSearchClusterAutomatedSnapshotFailureThreshold

type OpenSearchClusterAutomatedSnapshotFailureThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxFailures *float64 `field:"required" json:"maxFailures" yaml:"maxFailures"`
}

Experimental.

type OpenSearchClusterIndexWritesBlockedThreshold

type OpenSearchClusterIndexWritesBlockedThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxBlockedWrites *float64 `field:"required" json:"maxBlockedWrites" yaml:"maxBlockedWrites"`
}

Experimental.

type OpenSearchClusterMetricFactory

type OpenSearchClusterMetricFactory interface {
	// Experimental.
	DomainMetrics() OpenSearchBackportedMetrics
	// Experimental.
	FillTpsWithZeroes() *bool
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	MetricAutomatedSnapshotFailure() interface{}
	// Deprecated: use metricClusterIndexWritesBlocked instead.
	MetricClusterIndexWriteBlocked() interface{}
	// Experimental.
	MetricClusterIndexWritesBlocked() interface{}
	// Experimental.
	MetricClusterStatusRed() interface{}
	// Experimental.
	MetricClusterStatusYellow() interface{}
	// Experimental.
	MetricCpuUsage() interface{}
	// Experimental.
	MetricDiskSpaceUsageInPercent() interface{}
	// Experimental.
	MetricIndexingLatencyP50InMillis() interface{}
	// Experimental.
	MetricIndexingLatencyP90InMillis() interface{}
	// Experimental.
	MetricIndexingLatencyP99InMillis() interface{}
	// Experimental.
	MetricJvmMemoryPressure() interface{}
	// Experimental.
	MetricKmsKeyError() interface{}
	// Experimental.
	MetricKmsKeyInaccessible() interface{}
	// Experimental.
	MetricMasterCpuUsage() interface{}
	// Experimental.
	MetricMasterJvmMemoryPressure() interface{}
	// Experimental.
	MetricNodes() interface{}
	// Experimental.
	MetricSearchCount() awscloudwatch.Metric
	// Experimental.
	MetricSearchLatencyP50InMillis() interface{}
	// Experimental.
	MetricSearchLatencyP90InMillis() interface{}
	// Experimental.
	MetricSearchLatencyP99InMillis() interface{}
	// Experimental.
	MetricSearchRate() interface{}
	// Deprecated: use metricSearchRate.
	MetricTps() interface{}
}

Experimental.

func NewOpenSearchClusterMetricFactory

func NewOpenSearchClusterMetricFactory(metricFactory MetricFactory, props *OpenSearchClusterMetricFactoryProps) OpenSearchClusterMetricFactory

Experimental.

type OpenSearchClusterMetricFactoryProps

type OpenSearchClusterMetricFactoryProps struct {
	// Experimental.
	Domain interface{} `field:"required" json:"domain" yaml:"domain"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type OpenSearchClusterMonitoring

type OpenSearchClusterMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	AutomatedSnapshotFailureMetric() interface{}
	// Experimental.
	ClusterAlarmFactory() OpenSearchClusterAlarmFactory
	// Experimental.
	ClusterAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ClusterStatusRedMetric() interface{}
	// Experimental.
	ClusterStatusYellowMetric() interface{}
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	DiskSpaceUsageMetric() interface{}
	// Experimental.
	IndexingLatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	IndexingLatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	IndexWriteBlockedMetric() interface{}
	// Experimental.
	JvmMemoryPressureMetric() interface{}
	// Experimental.
	KmsKeyErrorMetric() interface{}
	// Experimental.
	KmsKeyInaccessibleMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MasterCpuUsageMetric() interface{}
	// Experimental.
	MasterJvmMemoryPressureMetric() interface{}
	// Experimental.
	MasterUsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	NodeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	NodesMetric() interface{}
	// Experimental.
	P50IndexingLatencyMetric() interface{}
	// Experimental.
	P50SearchLatencyMetric() interface{}
	// Experimental.
	P90IndexingLatencyMetric() interface{}
	// Experimental.
	P90SearchLatencyMetric() interface{}
	// Experimental.
	P99IndexingLatencyMetric() interface{}
	// Experimental.
	P99SearchLatencyMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SearchLatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	SearchLatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Title() *string
	// Experimental.
	TpsMetric() interface{}
	// Experimental.
	Url() *string
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Experimental.
	UsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewOpenSearchClusterMonitoring

func NewOpenSearchClusterMonitoring(scope MonitoringScope, props *OpenSearchClusterMonitoringProps) OpenSearchClusterMonitoring

Experimental.

type OpenSearchClusterMonitoringOptions

type OpenSearchClusterMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddClusterAutomatedSnapshotFailureAlarm *map[string]*OpenSearchClusterAutomatedSnapshotFailureThreshold `field:"optional" json:"addClusterAutomatedSnapshotFailureAlarm" yaml:"addClusterAutomatedSnapshotFailureAlarm"`
	// Experimental.
	AddClusterIndexWritesBlockedAlarm *map[string]*OpenSearchClusterIndexWritesBlockedThreshold `field:"optional" json:"addClusterIndexWritesBlockedAlarm" yaml:"addClusterIndexWritesBlockedAlarm"`
	// Experimental.
	AddClusterNodeCountAlarm *map[string]*OpenSearchClusterNodesThreshold `field:"optional" json:"addClusterNodeCountAlarm" yaml:"addClusterNodeCountAlarm"`
	// Experimental.
	AddClusterStatusAlarm *map[string]*OpenSearchClusterStatusCustomization `field:"optional" json:"addClusterStatusAlarm" yaml:"addClusterStatusAlarm"`
	// Experimental.
	AddCpuSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuSpaceUsageAlarm" yaml:"addCpuSpaceUsageAlarm"`
	// Experimental.
	AddDiskSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addDiskSpaceUsageAlarm" yaml:"addDiskSpaceUsageAlarm"`
	// Experimental.
	AddIndexingLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIndexingLatencyP50Alarm" yaml:"addIndexingLatencyP50Alarm"`
	// Experimental.
	AddIndexingLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIndexingLatencyP90Alarm" yaml:"addIndexingLatencyP90Alarm"`
	// Experimental.
	AddIndexingLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIndexingLatencyP99Alarm" yaml:"addIndexingLatencyP99Alarm"`
	// Experimental.
	AddJvmMemoryPressureAlarm *map[string]*UsageThreshold `field:"optional" json:"addJvmMemoryPressureAlarm" yaml:"addJvmMemoryPressureAlarm"`
	// Experimental.
	AddKmsKeyErrorAlarm *map[string]*OpenSearchKmsKeyErrorThreshold `field:"optional" json:"addKmsKeyErrorAlarm" yaml:"addKmsKeyErrorAlarm"`
	// Experimental.
	AddKmsKeyInaccessibleAlarm *map[string]*OpenSearchKmsKeyInaccessibleThreshold `field:"optional" json:"addKmsKeyInaccessibleAlarm" yaml:"addKmsKeyInaccessibleAlarm"`
	// Experimental.
	AddMasterCpuSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMasterCpuSpaceUsageAlarm" yaml:"addMasterCpuSpaceUsageAlarm"`
	// Experimental.
	AddMasterJvmMemoryPressureAlarm *map[string]*UsageThreshold `field:"optional" json:"addMasterJvmMemoryPressureAlarm" yaml:"addMasterJvmMemoryPressureAlarm"`
	// Experimental.
	AddSearchLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addSearchLatencyP50Alarm" yaml:"addSearchLatencyP50Alarm"`
	// Experimental.
	AddSearchLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addSearchLatencyP90Alarm" yaml:"addSearchLatencyP90Alarm"`
	// Experimental.
	AddSearchLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addSearchLatencyP99Alarm" yaml:"addSearchLatencyP99Alarm"`
}

Experimental.

type OpenSearchClusterMonitoringProps

type OpenSearchClusterMonitoringProps struct {
	// Experimental.
	Domain interface{} `field:"required" json:"domain" yaml:"domain"`
	// Default: - true.
	//
	// Experimental.
	FillTpsWithZeroes *bool `field:"optional" json:"fillTpsWithZeroes" yaml:"fillTpsWithZeroes"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddClusterAutomatedSnapshotFailureAlarm *map[string]*OpenSearchClusterAutomatedSnapshotFailureThreshold `field:"optional" json:"addClusterAutomatedSnapshotFailureAlarm" yaml:"addClusterAutomatedSnapshotFailureAlarm"`
	// Experimental.
	AddClusterIndexWritesBlockedAlarm *map[string]*OpenSearchClusterIndexWritesBlockedThreshold `field:"optional" json:"addClusterIndexWritesBlockedAlarm" yaml:"addClusterIndexWritesBlockedAlarm"`
	// Experimental.
	AddClusterNodeCountAlarm *map[string]*OpenSearchClusterNodesThreshold `field:"optional" json:"addClusterNodeCountAlarm" yaml:"addClusterNodeCountAlarm"`
	// Experimental.
	AddClusterStatusAlarm *map[string]*OpenSearchClusterStatusCustomization `field:"optional" json:"addClusterStatusAlarm" yaml:"addClusterStatusAlarm"`
	// Experimental.
	AddCpuSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuSpaceUsageAlarm" yaml:"addCpuSpaceUsageAlarm"`
	// Experimental.
	AddDiskSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addDiskSpaceUsageAlarm" yaml:"addDiskSpaceUsageAlarm"`
	// Experimental.
	AddIndexingLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIndexingLatencyP50Alarm" yaml:"addIndexingLatencyP50Alarm"`
	// Experimental.
	AddIndexingLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIndexingLatencyP90Alarm" yaml:"addIndexingLatencyP90Alarm"`
	// Experimental.
	AddIndexingLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addIndexingLatencyP99Alarm" yaml:"addIndexingLatencyP99Alarm"`
	// Experimental.
	AddJvmMemoryPressureAlarm *map[string]*UsageThreshold `field:"optional" json:"addJvmMemoryPressureAlarm" yaml:"addJvmMemoryPressureAlarm"`
	// Experimental.
	AddKmsKeyErrorAlarm *map[string]*OpenSearchKmsKeyErrorThreshold `field:"optional" json:"addKmsKeyErrorAlarm" yaml:"addKmsKeyErrorAlarm"`
	// Experimental.
	AddKmsKeyInaccessibleAlarm *map[string]*OpenSearchKmsKeyInaccessibleThreshold `field:"optional" json:"addKmsKeyInaccessibleAlarm" yaml:"addKmsKeyInaccessibleAlarm"`
	// Experimental.
	AddMasterCpuSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMasterCpuSpaceUsageAlarm" yaml:"addMasterCpuSpaceUsageAlarm"`
	// Experimental.
	AddMasterJvmMemoryPressureAlarm *map[string]*UsageThreshold `field:"optional" json:"addMasterJvmMemoryPressureAlarm" yaml:"addMasterJvmMemoryPressureAlarm"`
	// Experimental.
	AddSearchLatencyP50Alarm *map[string]*LatencyThreshold `field:"optional" json:"addSearchLatencyP50Alarm" yaml:"addSearchLatencyP50Alarm"`
	// Experimental.
	AddSearchLatencyP90Alarm *map[string]*LatencyThreshold `field:"optional" json:"addSearchLatencyP90Alarm" yaml:"addSearchLatencyP90Alarm"`
	// Experimental.
	AddSearchLatencyP99Alarm *map[string]*LatencyThreshold `field:"optional" json:"addSearchLatencyP99Alarm" yaml:"addSearchLatencyP99Alarm"`
}

Experimental.

type OpenSearchClusterNodesThreshold

type OpenSearchClusterNodesThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MinNodes *float64 `field:"required" json:"minNodes" yaml:"minNodes"`
}

Experimental.

type OpenSearchClusterStatus

type OpenSearchClusterStatus string

Experimental.

const (
	// Experimental.
	OpenSearchClusterStatus_RED OpenSearchClusterStatus = "RED"
	// Experimental.
	OpenSearchClusterStatus_YELLOW OpenSearchClusterStatus = "YELLOW"
)

type OpenSearchClusterStatusCustomization

type OpenSearchClusterStatusCustomization struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	Status interface{} `field:"required" json:"status" yaml:"status"`
}

Experimental.

type OpenSearchKmsKeyErrorThreshold

type OpenSearchKmsKeyErrorThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxErrors *float64 `field:"required" json:"maxErrors" yaml:"maxErrors"`
}

Experimental.

type OpenSearchKmsKeyInaccessibleThreshold

type OpenSearchKmsKeyInaccessibleThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxAccessAttempts *float64 `field:"required" json:"maxAccessAttempts" yaml:"maxAccessAttempts"`
}

Experimental.

type OpsItemAlarmActionStrategy

type OpsItemAlarmActionStrategy interface {
	IAlarmActionStrategy
	// OPS Item Category.
	// Experimental.
	Category() awscloudwatchactions.OpsItemCategory
	// OPS Item Severity.
	// Experimental.
	Severity() awscloudwatchactions.OpsItemSeverity
	// Experimental.
	AddAlarmActions(props *AlarmActionStrategyProps)
}

Alarm action strategy that creates an AWS OpsCenter OpsItem. Experimental.

type QueueAlarmFactory

type QueueAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxQueueIncomingMessagesCountAlarm(metric interface{}, props *MaxIncomingMessagesCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxQueueMessageAgeAlarm(metric interface{}, props *MaxMessageAgeThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxQueueMessageCountAlarm(metric interface{}, props *MaxMessageCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxQueueTimeToDrainMessagesAlarm(metric interface{}, props *MaxTimeToDrainThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinQueueIncomingMessagesCountAlarm(metric interface{}, props *MinIncomingMessagesCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinQueueMessageCountAlarm(metric interface{}, props *MinMessageCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewQueueAlarmFactory

func NewQueueAlarmFactory(alarmFactory AlarmFactory) QueueAlarmFactory

Experimental.

type QueueProcessingEc2ServiceMonitoringProps

type QueueProcessingEc2ServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Ec2Service awsecspatterns.QueueProcessingEc2Service `field:"required" json:"ec2Service" yaml:"ec2Service"`
	// Experimental.
	AddDeadLetterQueueAlarms *BaseDlqAlarms `field:"optional" json:"addDeadLetterQueueAlarms" yaml:"addDeadLetterQueueAlarms"`
	// Experimental.
	AddQueueAlarms *BaseSqsQueueAlarms `field:"optional" json:"addQueueAlarms" yaml:"addQueueAlarms"`
	// Experimental.
	AddServiceAlarms *BaseFargateServiceAlarms `field:"optional" json:"addServiceAlarms" yaml:"addServiceAlarms"`
}

Experimental.

type QueueProcessingFargateServiceMonitoringProps

type QueueProcessingFargateServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	FargateService awsecspatterns.QueueProcessingFargateService `field:"required" json:"fargateService" yaml:"fargateService"`
	// Experimental.
	AddDeadLetterQueueAlarms *BaseDlqAlarms `field:"optional" json:"addDeadLetterQueueAlarms" yaml:"addDeadLetterQueueAlarms"`
	// Experimental.
	AddQueueAlarms *BaseSqsQueueAlarms `field:"optional" json:"addQueueAlarms" yaml:"addQueueAlarms"`
	// Experimental.
	AddServiceAlarms *BaseFargateServiceAlarms `field:"optional" json:"addServiceAlarms" yaml:"addServiceAlarms"`
}

Experimental.

type RateComputationMethod

type RateComputationMethod string

Enumeration of different rate computation methods. Experimental.

const (
	// Number of occurrences relative to requests.
	//
	// Less sensitive than per-second when TPS > 1.
	// Experimental.
	RateComputationMethod_AVERAGE RateComputationMethod = "AVERAGE"
	// Number of occurrences per second.
	//
	// More sensitive than average when TPS > 1.
	// Experimental.
	RateComputationMethod_PER_SECOND RateComputationMethod = "PER_SECOND"
	// Number of occurrences per minute.
	// Experimental.
	RateComputationMethod_PER_MINUTE RateComputationMethod = "PER_MINUTE"
	// Number of occurrences per hour.
	// Experimental.
	RateComputationMethod_PER_HOUR RateComputationMethod = "PER_HOUR"
	// Number of occurrences per day.
	// Experimental.
	RateComputationMethod_PER_DAY RateComputationMethod = "PER_DAY"
)

type RdsClusterMetricFactory

type RdsClusterMetricFactory interface {
	// Experimental.
	Cluster() interface{}
	// Experimental.
	ClusterIdentifier() *string
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricAverageCpuUsageInPercent() interface{}
	// Experimental.
	MetricCommitLatencyP90InMillis() interface{}
	// Experimental.
	MetricDeleteLatencyP90InMillis() interface{}
	// Experimental.
	MetricDiskSpaceUsageInPercent() interface{}
	// Experimental.
	MetricFreeStorageInBytes() interface{}
	// Experimental.
	MetricInsertLatencyP90InMillis() interface{}
	// Experimental.
	MetricSelectLatencyP90InMillis() interface{}
	// Experimental.
	MetricServerlessDatabaseCapacity() interface{}
	// Experimental.
	MetricTotalConnectionCount() interface{}
	// Experimental.
	MetricUpdateLatencyP90InMillis() interface{}
	// Experimental.
	MetricUsedStorageInBytes() interface{}
}

Experimental.

func NewRdsClusterMetricFactory

func NewRdsClusterMetricFactory(metricFactory MetricFactory, props *RdsClusterMetricFactoryProps) RdsClusterMetricFactory

Experimental.

type RdsClusterMetricFactoryProps

type RdsClusterMetricFactoryProps struct {
	// database cluster (either this or `clusterIdentifier` need to be specified).
	// Experimental.
	Cluster interface{} `field:"optional" json:"cluster" yaml:"cluster"`
	// database cluster identifier (either this or `cluster` need to be specified).
	// Deprecated: please use `cluster` instead.
	ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"`
}

Experimental.

type RdsClusterMonitoring

type RdsClusterMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	CommitLatencyMetric() interface{}
	// Experimental.
	ConnectionAlarmFactory() ConnectionAlarmFactory
	// Experimental.
	ConnectionAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ConnectionsMetric() interface{}
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	DeleteLatencyMetric() interface{}
	// Experimental.
	DiskSpaceUsageMetric() interface{}
	// Experimental.
	InsertLatencyMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SelectLatencyMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	UpdateLatencyMetric() interface{}
	// Experimental.
	Url() *string
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Experimental.
	UsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateConnectionsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateCpuAndDiskUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewRdsClusterMonitoring

func NewRdsClusterMonitoring(scope MonitoringScope, props *RdsClusterMonitoringProps) RdsClusterMonitoring

Experimental.

type RdsClusterMonitoringOptions

type RdsClusterMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddDiskSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addDiskSpaceUsageAlarm" yaml:"addDiskSpaceUsageAlarm"`
	// Experimental.
	AddMaxConnectionCountAlarm *map[string]*HighConnectionCountThreshold `field:"optional" json:"addMaxConnectionCountAlarm" yaml:"addMaxConnectionCountAlarm"`
	// Experimental.
	AddMinConnectionCountAlarm *map[string]*LowConnectionCountThreshold `field:"optional" json:"addMinConnectionCountAlarm" yaml:"addMinConnectionCountAlarm"`
}

Experimental.

type RdsClusterMonitoringProps

type RdsClusterMonitoringProps struct {
	// database cluster (either this or `clusterIdentifier` need to be specified).
	// Experimental.
	Cluster interface{} `field:"optional" json:"cluster" yaml:"cluster"`
	// database cluster identifier (either this or `cluster` need to be specified).
	// Deprecated: please use `cluster` instead.
	ClusterIdentifier *string `field:"optional" json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddDiskSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addDiskSpaceUsageAlarm" yaml:"addDiskSpaceUsageAlarm"`
	// Experimental.
	AddMaxConnectionCountAlarm *map[string]*HighConnectionCountThreshold `field:"optional" json:"addMaxConnectionCountAlarm" yaml:"addMaxConnectionCountAlarm"`
	// Experimental.
	AddMinConnectionCountAlarm *map[string]*LowConnectionCountThreshold `field:"optional" json:"addMinConnectionCountAlarm" yaml:"addMinConnectionCountAlarm"`
}

Experimental.

type RecordsFailedThreshold

type RecordsFailedThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxRecordsFailedThreshold *float64 `field:"required" json:"maxRecordsFailedThreshold" yaml:"maxRecordsFailedThreshold"`
}

Experimental.

type RecordsThrottledThreshold

type RecordsThrottledThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxRecordsThrottledThreshold *float64 `field:"required" json:"maxRecordsThrottledThreshold" yaml:"maxRecordsThrottledThreshold"`
}

Experimental.

type RedshiftClusterMetricFactory

type RedshiftClusterMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricAverageCpuUsageInPercent() interface{}
	// Experimental.
	MetricAverageDiskSpaceUsageInPercent() interface{}
	// Experimental.
	MetricLongQueryDurationP90InMillis() interface{}
	// Experimental.
	MetricMaintenanceModeEnabled() interface{}
	// Experimental.
	MetricMediumQueryDurationP90InMillis() interface{}
	// Experimental.
	MetricReadLatencyP90InMillis() interface{}
	// Experimental.
	MetricShortQueryDurationP90InMillis() interface{}
	// Experimental.
	MetricTotalConnectionCount() interface{}
	// Experimental.
	MetricWriteLatencyP90InMillis() interface{}
}

Experimental.

func NewRedshiftClusterMetricFactory

func NewRedshiftClusterMetricFactory(metricFactory MetricFactory, props *RedshiftClusterMetricFactoryProps) RedshiftClusterMetricFactory

Experimental.

type RedshiftClusterMetricFactoryProps

type RedshiftClusterMetricFactoryProps struct {
	// Experimental.
	ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"`
}

Experimental.

type RedshiftClusterMonitoring

type RedshiftClusterMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ConnectionAlarmFactory() ConnectionAlarmFactory
	// Experimental.
	ConnectionAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ConnectionsMetric() interface{}
	// Experimental.
	CpuUsageMetric() interface{}
	// Experimental.
	DiskSpaceUsageMetric() interface{}
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	LongQueryDurationMetric() interface{}
	// Experimental.
	MaintenanceModeMetric() interface{}
	// Experimental.
	MediumQueryDurationMetric() interface{}
	// Experimental.
	QueryDurationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ReadLatencyMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	ShortQueryDurationMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	Url() *string
	// Experimental.
	UsageAlarmFactory() UsageAlarmFactory
	// Experimental.
	UsageAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	WriteLatencyMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateConnectionsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateCpuAndDiskUsageWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMaintenanceWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateQueryDurationWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewRedshiftClusterMonitoring

func NewRedshiftClusterMonitoring(scope MonitoringScope, props *RedshiftClusterMonitoringProps) RedshiftClusterMonitoring

Experimental.

type RedshiftClusterMonitoringOptions

type RedshiftClusterMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddDiskSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addDiskSpaceUsageAlarm" yaml:"addDiskSpaceUsageAlarm"`
	// Experimental.
	AddMaxConnectionCountAlarm *map[string]*HighConnectionCountThreshold `field:"optional" json:"addMaxConnectionCountAlarm" yaml:"addMaxConnectionCountAlarm"`
	// Experimental.
	AddMaxLongQueryDurationAlarm *map[string]*DurationThreshold `field:"optional" json:"addMaxLongQueryDurationAlarm" yaml:"addMaxLongQueryDurationAlarm"`
	// Experimental.
	AddMinConnectionCountAlarm *map[string]*LowConnectionCountThreshold `field:"optional" json:"addMinConnectionCountAlarm" yaml:"addMinConnectionCountAlarm"`
}

Experimental.

type RedshiftClusterMonitoringProps

type RedshiftClusterMonitoringProps struct {
	// Experimental.
	ClusterIdentifier *string `field:"required" json:"clusterIdentifier" yaml:"clusterIdentifier"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddDiskSpaceUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addDiskSpaceUsageAlarm" yaml:"addDiskSpaceUsageAlarm"`
	// Experimental.
	AddMaxConnectionCountAlarm *map[string]*HighConnectionCountThreshold `field:"optional" json:"addMaxConnectionCountAlarm" yaml:"addMaxConnectionCountAlarm"`
	// Experimental.
	AddMaxLongQueryDurationAlarm *map[string]*DurationThreshold `field:"optional" json:"addMaxLongQueryDurationAlarm" yaml:"addMaxLongQueryDurationAlarm"`
	// Experimental.
	AddMinConnectionCountAlarm *map[string]*LowConnectionCountThreshold `field:"optional" json:"addMinConnectionCountAlarm" yaml:"addMinConnectionCountAlarm"`
}

Experimental.

type Route53HealthCheckMetricAdjuster

type Route53HealthCheckMetricAdjuster interface {
	IMetricAdjuster
	// Adjusts a metric.
	// Experimental.
	AdjustMetric(metric interface{}, alarmScope constructs.Construct, props *AddAlarmProps) interface{}
}

Adjusts a metric so that alarms created from it can be used in Route53 Health Checks.

The metric will be validated to ensure it satisfies Route53 Health Check alarm requirements, otherwise it will throw an {@link Error}. See: https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-types.html

Experimental.

func NewRoute53HealthCheckMetricAdjuster

func NewRoute53HealthCheckMetricAdjuster() Route53HealthCheckMetricAdjuster

Experimental.

func Route53HealthCheckMetricAdjuster_INSTANCE

func Route53HealthCheckMetricAdjuster_INSTANCE() Route53HealthCheckMetricAdjuster

type RunningTaskCountThreshold

type RunningTaskCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxRunningTasks *float64 `field:"required" json:"maxRunningTasks" yaml:"maxRunningTasks"`
}

Experimental.

type RunningTaskRateThreshold

type RunningTaskRateThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxRunningTaskRate *float64 `field:"required" json:"maxRunningTaskRate" yaml:"maxRunningTaskRate"`
}

Experimental.

type S3BucketMetricFactory

type S3BucketMetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Props() *S3BucketMetricFactoryProps
	// Experimental.
	MetricBucketSizeBytes() interface{}
	// Experimental.
	MetricNumberOfObjects() interface{}
}

Experimental.

func NewS3BucketMetricFactory

func NewS3BucketMetricFactory(metricFactory MetricFactory, props *S3BucketMetricFactoryProps) S3BucketMetricFactory

Experimental.

type S3BucketMetricFactoryProps

type S3BucketMetricFactoryProps struct {
	// Experimental.
	Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"`
	// Experimental.
	StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"`
}

Experimental.

type S3BucketMonitoring

type S3BucketMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	BucketSizeBytesMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	NumberOfObjectsMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	Url() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewS3BucketMonitoring

func NewS3BucketMonitoring(scope MonitoringScope, props *S3BucketMonitoringProps) S3BucketMonitoring

Experimental.

type S3BucketMonitoringOptions

type S3BucketMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type S3BucketMonitoringProps

type S3BucketMonitoringProps struct {
	// Experimental.
	Bucket awss3.IBucket `field:"required" json:"bucket" yaml:"bucket"`
	// Experimental.
	StorageType StorageType `field:"optional" json:"storageType" yaml:"storageType"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type SecretsManagerAlarmFactory

type SecretsManagerAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddChangeInSecretCountAlarm(metric interface{}, props *ChangeInSecretCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxSecretCountAlarm(metric interface{}, props *MaxSecretCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinSecretCountAlarm(metric interface{}, props *MinSecretCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewSecretsManagerAlarmFactory

func NewSecretsManagerAlarmFactory(alarmFactory AlarmFactory) SecretsManagerAlarmFactory

Experimental.

type SecretsManagerMetricFactory

type SecretsManagerMetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricSecretCount() interface{}
}

Experimental.

func NewSecretsManagerMetricFactory

func NewSecretsManagerMetricFactory(metricFactory MetricFactory) SecretsManagerMetricFactory

Experimental.

type SecretsManagerMetricsPublisher

type SecretsManagerMetricsPublisher interface {
	constructs.Construct
	// Experimental.
	Lambda() awslambda.IFunction
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Experimental.
	AddSecret(secret awssecretsmanager.ISecret)
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Experimental.

func SecretsManagerMetricsPublisher_GetInstance

func SecretsManagerMetricsPublisher_GetInstance(scope MonitoringScope) SecretsManagerMetricsPublisher

Experimental.

type SecretsManagerMonitoring

type SecretsManagerMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	SecretsCountAnnotation() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	SecretsCountMetric() interface{}
	// Experimental.
	SecretsManagerAlarmFactory() SecretsManagerAlarmFactory
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateSecretsCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewSecretsManagerMonitoring

func NewSecretsManagerMonitoring(scope MonitoringScope, props *SecretsManagerMonitoringProps) SecretsManagerMonitoring

Experimental.

type SecretsManagerMonitoringOptions

type SecretsManagerMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddChangeInSecretsAlarm *map[string]*ChangeInSecretCountThreshold `field:"optional" json:"addChangeInSecretsAlarm" yaml:"addChangeInSecretsAlarm"`
	// Experimental.
	AddMaxNumberSecretsAlarm *map[string]*MaxSecretCountThreshold `field:"optional" json:"addMaxNumberSecretsAlarm" yaml:"addMaxNumberSecretsAlarm"`
	// Experimental.
	AddMinNumberSecretsAlarm *map[string]*MinSecretCountThreshold `field:"optional" json:"addMinNumberSecretsAlarm" yaml:"addMinNumberSecretsAlarm"`
}

Experimental.

type SecretsManagerMonitoringProps

type SecretsManagerMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddChangeInSecretsAlarm *map[string]*ChangeInSecretCountThreshold `field:"optional" json:"addChangeInSecretsAlarm" yaml:"addChangeInSecretsAlarm"`
	// Experimental.
	AddMaxNumberSecretsAlarm *map[string]*MaxSecretCountThreshold `field:"optional" json:"addMaxNumberSecretsAlarm" yaml:"addMaxNumberSecretsAlarm"`
	// Experimental.
	AddMinNumberSecretsAlarm *map[string]*MinSecretCountThreshold `field:"optional" json:"addMinNumberSecretsAlarm" yaml:"addMinNumberSecretsAlarm"`
}

Experimental.

type SecretsManagerSecretMetricFactory

type SecretsManagerSecretMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Secret() awssecretsmanager.ISecret
	// Experimental.
	MetricDaysSinceLastChange() interface{}
	// Experimental.
	MetricDaysSinceLastRotation() interface{}
}

Experimental.

func NewSecretsManagerSecretMetricFactory

func NewSecretsManagerSecretMetricFactory(metricFactory MetricFactory, props *SecretsManagerSecretMetricFactoryProps) SecretsManagerSecretMetricFactory

Experimental.

type SecretsManagerSecretMetricFactoryProps

type SecretsManagerSecretMetricFactoryProps struct {
	// Experimental.
	Secret awssecretsmanager.ISecret `field:"required" json:"secret" yaml:"secret"`
}

Experimental.

type SecretsManagerSecretMonitoring

type SecretsManagerSecretMonitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	DaysSinceLastChangeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DaysSinceLastChangeMetric() interface{}
	// Experimental.
	DaysSinceLastRotationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DaysSinceLastRotationMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	ShowLastRotationWidget() *bool
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDaysSinceLastChangeWidget() awscloudwatch.GraphWidget
	// Experimental.
	CreateDaysSinceLastRotationWidget() awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewSecretsManagerSecretMonitoring

func NewSecretsManagerSecretMonitoring(scope MonitoringScope, props *SecretsManagerSecretMonitoringProps) SecretsManagerSecretMonitoring

Experimental.

type SecretsManagerSecretMonitoringOptions

type SecretsManagerSecretMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDaysSinceLastChangeAlarm *map[string]*DaysSinceUpdateThreshold `field:"optional" json:"addDaysSinceLastChangeAlarm" yaml:"addDaysSinceLastChangeAlarm"`
	// Experimental.
	AddDaysSinceLastRotationAlarm *map[string]*DaysSinceUpdateThreshold `field:"optional" json:"addDaysSinceLastRotationAlarm" yaml:"addDaysSinceLastRotationAlarm"`
	// Default: - true, if `addDaysSinceLastRotationAlarm` is set, otherwise `false`.
	//
	// Experimental.
	ShowLastRotationWidget *bool `field:"optional" json:"showLastRotationWidget" yaml:"showLastRotationWidget"`
	// Provides access to the underlying metrics publisher Lambda function.
	//
	// This may be useful if you want to monitor the function itself.
	// Experimental.
	UsePublisher IPublisherConsumer `field:"optional" json:"usePublisher" yaml:"usePublisher"`
}

Experimental.

type SecretsManagerSecretMonitoringProps

type SecretsManagerSecretMonitoringProps struct {
	// Experimental.
	Secret awssecretsmanager.ISecret `field:"required" json:"secret" yaml:"secret"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDaysSinceLastChangeAlarm *map[string]*DaysSinceUpdateThreshold `field:"optional" json:"addDaysSinceLastChangeAlarm" yaml:"addDaysSinceLastChangeAlarm"`
	// Experimental.
	AddDaysSinceLastRotationAlarm *map[string]*DaysSinceUpdateThreshold `field:"optional" json:"addDaysSinceLastRotationAlarm" yaml:"addDaysSinceLastRotationAlarm"`
	// Default: - true, if `addDaysSinceLastRotationAlarm` is set, otherwise `false`.
	//
	// Experimental.
	ShowLastRotationWidget *bool `field:"optional" json:"showLastRotationWidget" yaml:"showLastRotationWidget"`
	// Provides access to the underlying metrics publisher Lambda function.
	//
	// This may be useful if you want to monitor the function itself.
	// Experimental.
	UsePublisher IPublisherConsumer `field:"optional" json:"usePublisher" yaml:"usePublisher"`
}

Monitoring props for Secrets Manager secrets. Experimental.

type SimpleEc2ServiceMonitoringProps

type SimpleEc2ServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	Ec2Service awsecs.Ec2Service `field:"required" json:"ec2Service" yaml:"ec2Service"`
}

Monitoring props for Simple EC2 service. Experimental.

type SimpleFargateServiceMonitoringProps

type SimpleFargateServiceMonitoringProps struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddCpuUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addCpuUsageAlarm" yaml:"addCpuUsageAlarm"`
	// Experimental.
	AddMemoryUsageAlarm *map[string]*UsageThreshold `field:"optional" json:"addMemoryUsageAlarm" yaml:"addMemoryUsageAlarm"`
	// Container Insights needs to be enabled for the cluster for this alarm.
	// Experimental.
	AddRunningTaskCountAlarm *map[string]*RunningTaskCountThreshold `field:"optional" json:"addRunningTaskCountAlarm" yaml:"addRunningTaskCountAlarm"`
	// maximum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MaxAutoScalingTaskCount *float64 `field:"optional" json:"maxAutoScalingTaskCount" yaml:"maxAutoScalingTaskCount"`
	// minimum number of tasks, as specified in your auto scaling config.
	// Experimental.
	MinAutoScalingTaskCount *float64 `field:"optional" json:"minAutoScalingTaskCount" yaml:"minAutoScalingTaskCount"`
	// Experimental.
	FargateService awsecs.FargateService `field:"required" json:"fargateService" yaml:"fargateService"`
}

Monitoring props for Simple Fargate service. Experimental.

type SingleAxisGraphWidget

type SingleAxisGraphWidget interface {
	awscloudwatch.GraphWidget
	// The amount of vertical grid units the widget will take up.
	// Experimental.
	Height() *float64
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	Warnings() *[]*string
	// Any warnings that are produced as a result of putting together this widget.
	// Experimental.
	WarningsV2() *map[string]*string
	// The amount of horizontal grid units the widget will take up.
	// Experimental.
	Width() *float64
	// Experimental.
	X() *float64
	// Experimental.
	SetX(val *float64)
	// Experimental.
	Y() *float64
	// Experimental.
	SetY(val *float64)
	// Add another metric to the left Y axis of the GraphWidget.
	// Experimental.
	AddLeftMetric(metric awscloudwatch.IMetric)
	// Add another metric to the right Y axis of the GraphWidget.
	// Experimental.
	AddRightMetric(metric awscloudwatch.IMetric)
	// Copy the warnings from the given metric.
	// Experimental.
	CopyMetricWarnings(ms ...awscloudwatch.IMetric)
	// Place the widget at a given position.
	// Experimental.
	Position(x *float64, y *float64)
	// Return the widget JSON for use in the dashboard.
	// Experimental.
	ToJson() *[]interface{}
}

Line graph widget with one axis only (left).

If there is just one metric, it will hide the legend to save space. The purpose of this custom class is to make the properties more strict. It will avoid graphs with undefined axis and dimensions. Experimental.

func NewSingleAxisGraphWidget

func NewSingleAxisGraphWidget(props *SingleAxisGraphWidgetProps) SingleAxisGraphWidget

Experimental.

type SingleAxisGraphWidgetProps

type SingleAxisGraphWidgetProps struct {
	// Experimental.
	Height *float64 `field:"required" json:"height" yaml:"height"`
	// Experimental.
	LeftAxis *awscloudwatch.YAxisProps `field:"required" json:"leftAxis" yaml:"leftAxis"`
	// Experimental.
	LeftMetrics *[]awscloudwatch.IMetric `field:"required" json:"leftMetrics" yaml:"leftMetrics"`
	// Experimental.
	Width *float64 `field:"required" json:"width" yaml:"width"`
	// Experimental.
	LeftAnnotations *[]*awscloudwatch.HorizontalAnnotation `field:"optional" json:"leftAnnotations" yaml:"leftAnnotations"`
	// Experimental.
	Title *string `field:"optional" json:"title" yaml:"title"`
}

Experimental.

type SingleWidgetDashboardSegment

type SingleWidgetDashboardSegment interface {
	IDashboardSegment
	IDynamicDashboardSegment
	// Experimental.
	DashboardsToInclude() *[]*string
	// Experimental.
	Widget() awscloudwatch.IWidget
	// Returns widgets for all alarms.
	//
	// These should go to the runbook or service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Returns widgets for the summary.
	//
	// These should go to the team OPS dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns all widgets.
	//
	// These should go to the detailed service dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewSingleWidgetDashboardSegment

func NewSingleWidgetDashboardSegment(widget awscloudwatch.IWidget, dashboardsToInclude *[]*string) SingleWidgetDashboardSegment

Create a dashboard segment representing a single widget. Experimental.

type SnsAlarmActionStrategy

type SnsAlarmActionStrategy interface {
	IAlarmActionStrategy
	// Experimental.
	OnAlarmTopic() awssns.ITopic
	// Experimental.
	OnInsufficientDataTopic() awssns.ITopic
	// Experimental.
	OnOkTopic() awssns.ITopic
	// Experimental.
	AddAlarmActions(props *AlarmActionStrategyProps)
}

Alarm action strategy that sends a notification to the specified SNS topic. Experimental.

func NewSnsAlarmActionStrategy

func NewSnsAlarmActionStrategy(props *SnsAlarmActionStrategyProps) SnsAlarmActionStrategy

Experimental.

type SnsAlarmActionStrategyProps

type SnsAlarmActionStrategyProps struct {
	// Target topic used when the alarm is triggered.
	// Experimental.
	OnAlarmTopic awssns.ITopic `field:"required" json:"onAlarmTopic" yaml:"onAlarmTopic"`
	// Optional target topic for when the alarm goes into the INSUFFICIENT_DATA state.
	// Default: - no notification sent.
	//
	// Experimental.
	OnInsufficientDataTopic awssns.ITopic `field:"optional" json:"onInsufficientDataTopic" yaml:"onInsufficientDataTopic"`
	// Optional target topic for when the alarm goes into the OK state.
	// Default: - no notification sent.
	//
	// Experimental.
	OnOkTopic awssns.ITopic `field:"optional" json:"onOkTopic" yaml:"onOkTopic"`
}

Experimental.

type SnsTopicMetricFactory

type SnsTopicMetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Topic() awssns.ITopic
	// Experimental.
	MetricAverageMessageSizeInBytes() interface{}
	// Experimental.
	MetricIncomingMessageCount() interface{}
	// Experimental.
	MetricNumberOfNotificationsFailed() interface{}
	// Experimental.
	MetricOutgoingMessageCount() interface{}
}

Experimental.

func NewSnsTopicMetricFactory

func NewSnsTopicMetricFactory(metricFactory MetricFactory, props *SnsTopicMetricFactoryProps) SnsTopicMetricFactory

Experimental.

type SnsTopicMetricFactoryProps

type SnsTopicMetricFactoryProps struct {
	// Experimental.
	Topic awssns.ITopic `field:"required" json:"topic" yaml:"topic"`
}

Experimental.

type SnsTopicMonitoring

type SnsTopicMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	FailedDeliveryAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	IncomingMessagesAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	IncomingMessagesMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MessagesFailedMetric() interface{}
	// Experimental.
	MessageSizeMetric() interface{}
	// Experimental.
	OutgoingMessagesMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	Title() *string
	// Experimental.
	TopicAlarmFactory() TopicAlarmFactory
	// Experimental.
	TopicUrl() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateMessageCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMessageFailedWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMessageSizeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewSnsTopicMonitoring

func NewSnsTopicMonitoring(scope MonitoringScope, props *SnsTopicMonitoringProps) SnsTopicMonitoring

Experimental.

type SnsTopicMonitoringOptions

type SnsTopicMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddMaxNumberOfMessagesPublishedAlarm *map[string]*HighMessagesPublishedThreshold `field:"optional" json:"addMaxNumberOfMessagesPublishedAlarm" yaml:"addMaxNumberOfMessagesPublishedAlarm"`
	// Experimental.
	AddMessageNotificationsFailedAlarm *map[string]*NotificationsFailedThreshold `field:"optional" json:"addMessageNotificationsFailedAlarm" yaml:"addMessageNotificationsFailedAlarm"`
	// Experimental.
	AddMinNumberOfMessagesPublishedAlarm *map[string]*LowMessagesPublishedThreshold `field:"optional" json:"addMinNumberOfMessagesPublishedAlarm" yaml:"addMinNumberOfMessagesPublishedAlarm"`
}

Experimental.

type SnsTopicMonitoringProps

type SnsTopicMonitoringProps struct {
	// Experimental.
	Topic awssns.ITopic `field:"required" json:"topic" yaml:"topic"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddMaxNumberOfMessagesPublishedAlarm *map[string]*HighMessagesPublishedThreshold `field:"optional" json:"addMaxNumberOfMessagesPublishedAlarm" yaml:"addMaxNumberOfMessagesPublishedAlarm"`
	// Experimental.
	AddMessageNotificationsFailedAlarm *map[string]*NotificationsFailedThreshold `field:"optional" json:"addMessageNotificationsFailedAlarm" yaml:"addMessageNotificationsFailedAlarm"`
	// Experimental.
	AddMinNumberOfMessagesPublishedAlarm *map[string]*LowMessagesPublishedThreshold `field:"optional" json:"addMinNumberOfMessagesPublishedAlarm" yaml:"addMinNumberOfMessagesPublishedAlarm"`
}

Experimental.

type SqsQueueMetricFactory

type SqsQueueMetricFactory interface {
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	Queue() awssqs.IQueue
	// Experimental.
	MetricApproximateAgeOfOldestMessageInSeconds() interface{}
	// Experimental.
	MetricApproximateVisibleMessageCount() interface{}
	// Experimental.
	MetricAverageMessageSizeInBytes() interface{}
	// Experimental.
	MetricConsumptionRate() interface{}
	// Experimental.
	MetricDeletedMessageCount() interface{}
	// Experimental.
	MetricIncomingMessageCount() interface{}
	// Experimental.
	MetricProductionRate() interface{}
	// Experimental.
	MetricTimeToDrain() interface{}
}

Experimental.

func NewSqsQueueMetricFactory

func NewSqsQueueMetricFactory(metricFactory MetricFactory, props *SqsQueueMetricFactoryProps) SqsQueueMetricFactory

Experimental.

type SqsQueueMetricFactoryProps

type SqsQueueMetricFactoryProps struct {
	// Experimental.
	Queue awssqs.IQueue `field:"required" json:"queue" yaml:"queue"`
}

Experimental.

type SqsQueueMonitoring

type SqsQueueMonitoring interface {
	Monitoring
	// Experimental.
	AgeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ConsumptionRateMetric() interface{}
	// Experimental.
	CountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DeletedMessagesMetric() interface{}
	// Experimental.
	IncomingMessagesMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MessageSizeMetric() interface{}
	// Experimental.
	OldestMessageAgeMetric() interface{}
	// Experimental.
	ProductionRateMetric() interface{}
	// Experimental.
	QueueAlarmFactory() QueueAlarmFactory
	// Experimental.
	QueueUrl() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TimeToDrainAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TimeToDrainMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	VisibleMessagesMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateMessageAgeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMessageCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMessageSizeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateProducerAndConsumerRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTimeToDrainWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	ResolveQueueName(queue awssqs.IQueue) *string
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewSqsQueueMonitoring

func NewSqsQueueMonitoring(scope MonitoringScope, props *SqsQueueMonitoringProps, invokedFromSuper *bool) SqsQueueMonitoring

Experimental.

type SqsQueueMonitoringOptions

type SqsQueueMonitoringOptions struct {
	// Experimental.
	AddQueueMaxIncomingMessagesAlarm *map[string]*MaxIncomingMessagesCountThreshold `field:"optional" json:"addQueueMaxIncomingMessagesAlarm" yaml:"addQueueMaxIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMaxMessageAgeAlarm *map[string]*MaxMessageAgeThreshold `field:"optional" json:"addQueueMaxMessageAgeAlarm" yaml:"addQueueMaxMessageAgeAlarm"`
	// Experimental.
	AddQueueMaxSizeAlarm *map[string]*MaxMessageCountThreshold `field:"optional" json:"addQueueMaxSizeAlarm" yaml:"addQueueMaxSizeAlarm"`
	// Experimental.
	AddQueueMaxTimeToDrainMessagesAlarm *map[string]*MaxTimeToDrainThreshold `field:"optional" json:"addQueueMaxTimeToDrainMessagesAlarm" yaml:"addQueueMaxTimeToDrainMessagesAlarm"`
	// Experimental.
	AddQueueMinIncomingMessagesAlarm *map[string]*MinIncomingMessagesCountThreshold `field:"optional" json:"addQueueMinIncomingMessagesAlarm" yaml:"addQueueMinIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMinSizeAlarm *map[string]*MinMessageCountThreshold `field:"optional" json:"addQueueMinSizeAlarm" yaml:"addQueueMinSizeAlarm"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type SqsQueueMonitoringProps

type SqsQueueMonitoringProps struct {
	// Experimental.
	Queue awssqs.IQueue `field:"required" json:"queue" yaml:"queue"`
	// Experimental.
	AddQueueMaxIncomingMessagesAlarm *map[string]*MaxIncomingMessagesCountThreshold `field:"optional" json:"addQueueMaxIncomingMessagesAlarm" yaml:"addQueueMaxIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMaxMessageAgeAlarm *map[string]*MaxMessageAgeThreshold `field:"optional" json:"addQueueMaxMessageAgeAlarm" yaml:"addQueueMaxMessageAgeAlarm"`
	// Experimental.
	AddQueueMaxSizeAlarm *map[string]*MaxMessageCountThreshold `field:"optional" json:"addQueueMaxSizeAlarm" yaml:"addQueueMaxSizeAlarm"`
	// Experimental.
	AddQueueMaxTimeToDrainMessagesAlarm *map[string]*MaxTimeToDrainThreshold `field:"optional" json:"addQueueMaxTimeToDrainMessagesAlarm" yaml:"addQueueMaxTimeToDrainMessagesAlarm"`
	// Experimental.
	AddQueueMinIncomingMessagesAlarm *map[string]*MinIncomingMessagesCountThreshold `field:"optional" json:"addQueueMinIncomingMessagesAlarm" yaml:"addQueueMinIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMinSizeAlarm *map[string]*MinMessageCountThreshold `field:"optional" json:"addQueueMinSizeAlarm" yaml:"addQueueMinSizeAlarm"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type SqsQueueMonitoringWithDlq

type SqsQueueMonitoringWithDlq interface {
	SqsQueueMonitoring
	// Experimental.
	AddDeadLetterQueueToSummaryDashboard() *bool
	// Experimental.
	AgeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	ConsumptionRateMetric() interface{}
	// Experimental.
	CountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DeadLetterAgeAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DeadLetterCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	DeadLetterQueueAlarmFactory() QueueAlarmFactory
	// Experimental.
	DeadLetterQueueIncomingMessagesMetric() interface{}
	// Experimental.
	DeadLetterQueueOldestMessageAgeMetric() interface{}
	// Experimental.
	DeadLetterQueueVisibleMessagesMetric() interface{}
	// Experimental.
	DeadLetterTitle() *string
	// Experimental.
	DeadLetterUrl() *string
	// Experimental.
	DeletedMessagesMetric() interface{}
	// Experimental.
	IncomingMessagesMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	MessageSizeMetric() interface{}
	// Experimental.
	OldestMessageAgeMetric() interface{}
	// Experimental.
	ProductionRateMetric() interface{}
	// Experimental.
	QueueAlarmFactory() QueueAlarmFactory
	// Experimental.
	QueueUrl() *string
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	TimeToDrainAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	TimeToDrainMetric() interface{}
	// Experimental.
	Title() *string
	// Experimental.
	VisibleMessagesMetric() interface{}
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateDeadLetterMessageAgeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateDeadLetterMessageCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateDeadLetterTitleWidget() MonitoringHeaderWidget
	// Experimental.
	CreateMessageAgeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMessageCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateMessageSizeWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateProducerAndConsumerRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTimeToDrainWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Experimental.
	ResolveQueueName(queue awssqs.IQueue) *string
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewSqsQueueMonitoringWithDlq

func NewSqsQueueMonitoringWithDlq(scope MonitoringScope, props *SqsQueueMonitoringWithDlqProps) SqsQueueMonitoringWithDlq

Experimental.

type SqsQueueMonitoringWithDlqProps

type SqsQueueMonitoringWithDlqProps struct {
	// Experimental.
	Queue awssqs.IQueue `field:"required" json:"queue" yaml:"queue"`
	// Experimental.
	AddQueueMaxIncomingMessagesAlarm *map[string]*MaxIncomingMessagesCountThreshold `field:"optional" json:"addQueueMaxIncomingMessagesAlarm" yaml:"addQueueMaxIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMaxMessageAgeAlarm *map[string]*MaxMessageAgeThreshold `field:"optional" json:"addQueueMaxMessageAgeAlarm" yaml:"addQueueMaxMessageAgeAlarm"`
	// Experimental.
	AddQueueMaxSizeAlarm *map[string]*MaxMessageCountThreshold `field:"optional" json:"addQueueMaxSizeAlarm" yaml:"addQueueMaxSizeAlarm"`
	// Experimental.
	AddQueueMaxTimeToDrainMessagesAlarm *map[string]*MaxTimeToDrainThreshold `field:"optional" json:"addQueueMaxTimeToDrainMessagesAlarm" yaml:"addQueueMaxTimeToDrainMessagesAlarm"`
	// Experimental.
	AddQueueMinIncomingMessagesAlarm *map[string]*MinIncomingMessagesCountThreshold `field:"optional" json:"addQueueMinIncomingMessagesAlarm" yaml:"addQueueMinIncomingMessagesAlarm"`
	// Experimental.
	AddQueueMinSizeAlarm *map[string]*MinMessageCountThreshold `field:"optional" json:"addQueueMinSizeAlarm" yaml:"addQueueMinSizeAlarm"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Alarm on the number of messages added to a queue.
	//
	// Note that this corresponds with the NumberOfMessagesSent metric, which does not capture messages sent to the DLQ
	// as a result of a failed processing attempt.
	// See: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html#sqs-dlq-number-of-messages
	//
	// Experimental.
	AddDeadLetterQueueMaxIncomingMessagesAlarm *map[string]*MaxIncomingMessagesCountThreshold `field:"optional" json:"addDeadLetterQueueMaxIncomingMessagesAlarm" yaml:"addDeadLetterQueueMaxIncomingMessagesAlarm"`
	// Experimental.
	AddDeadLetterQueueMaxMessageAgeAlarm *map[string]*MaxMessageAgeThreshold `field:"optional" json:"addDeadLetterQueueMaxMessageAgeAlarm" yaml:"addDeadLetterQueueMaxMessageAgeAlarm"`
	// Experimental.
	AddDeadLetterQueueMaxSizeAlarm *map[string]*MaxMessageCountThreshold `field:"optional" json:"addDeadLetterQueueMaxSizeAlarm" yaml:"addDeadLetterQueueMaxSizeAlarm"`
	// Experimental.
	DeadLetterQueue awssqs.IQueue `field:"required" json:"deadLetterQueue" yaml:"deadLetterQueue"`
	// Indicates whether the DLQ monitoring should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddDeadLetterQueueToSummaryDashboard *bool `field:"optional" json:"addDeadLetterQueueToSummaryDashboard" yaml:"addDeadLetterQueueToSummaryDashboard"`
}

Experimental.

type StaticSegmentDynamicAdapter

type StaticSegmentDynamicAdapter interface {
	IDynamicDashboardSegment
	// Experimental.
	Props() IDashboardFactoryProps
	// Adapts an IDashboardSegment to the IDynamicDashboardSegment interface by using overrideProps to determine if a segment should be shown on a specific dashboard.
	//
	// The default values are true, so consumers must set these to false if they would
	// like to hide these items from dashboards.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewStaticSegmentDynamicAdapter

func NewStaticSegmentDynamicAdapter(props IDashboardFactoryProps) StaticSegmentDynamicAdapter

Experimental.

type StepFunctionActivityMetricFactory

type StepFunctionActivityMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	MetricActivitiesFailed() interface{}
	// Experimental.
	MetricActivitiesFailedRate() interface{}
	// Experimental.
	MetricActivitiesHeartbeatTimedOut() interface{}
	// Experimental.
	MetricActivitiesScheduled() interface{}
	// Experimental.
	MetricActivitiesStarted() interface{}
	// Experimental.
	MetricActivitiesSucceeded() interface{}
	// Experimental.
	MetricActivitiesTimedOut() interface{}
	// Experimental.
	MetricActivityRunTimeP50InMillis() interface{}
	// Experimental.
	MetricActivityRunTimeP90InMillis() interface{}
	// Experimental.
	MetricActivityRunTimeP99InMillis() interface{}
	// Experimental.
	MetricActivityScheduleTimeP50InMillis() interface{}
	// Experimental.
	MetricActivityScheduleTimeP90InMillis() interface{}
	// Experimental.
	MetricActivityScheduleTimeP99InMillis() interface{}
	// Experimental.
	MetricActivityTimeP50InMillis() interface{}
	// Experimental.
	MetricActivityTimeP90InMillis() interface{}
	// Experimental.
	MetricActivityTimeP99InMillis() interface{}
}

Experimental.

func NewStepFunctionActivityMetricFactory

func NewStepFunctionActivityMetricFactory(metricFactory MetricFactory, props *StepFunctionActivityMetricFactoryProps) StepFunctionActivityMetricFactory

Experimental.

type StepFunctionActivityMetricFactoryProps

type StepFunctionActivityMetricFactoryProps struct {
	// Experimental.
	Activity awsstepfunctions.IActivity `field:"required" json:"activity" yaml:"activity"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type StepFunctionActivityMonitoring

type StepFunctionActivityMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	DurationAlarmFactory() LatencyAlarmFactory
	// Experimental.
	DurationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FailedActivitiesMetric() interface{}
	// Experimental.
	FailedActivitiesRateMetric() interface{}
	// Experimental.
	HeartbeatTimedOutActivitiesMetrics() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	P50DurationMetric() interface{}
	// Experimental.
	P90DurationMetric() interface{}
	// Experimental.
	P99DurationMetric() interface{}
	// Experimental.
	ScheduledActivitiesMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	StartedActivitiesMetric() interface{}
	// Experimental.
	SucceededActivitiesMetric() interface{}
	// Experimental.
	TimedOutActivitiesMetrics() interface{}
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewStepFunctionActivityMonitoring

func NewStepFunctionActivityMonitoring(scope MonitoringScope, props *StepFunctionActivityMonitoringProps) StepFunctionActivityMonitoring

Experimental.

type StepFunctionActivityMonitoringProps

type StepFunctionActivityMonitoringProps struct {
	// Experimental.
	Activity awsstepfunctions.IActivity `field:"required" json:"activity" yaml:"activity"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedActivitiesCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedActivitiesCountAlarm" yaml:"addFailedActivitiesCountAlarm"`
	// Experimental.
	AddFailedActivitiesRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedActivitiesRateAlarm" yaml:"addFailedActivitiesRateAlarm"`
	// Experimental.
	AddTimedOutActivitiesCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addTimedOutActivitiesCountAlarm" yaml:"addTimedOutActivitiesCountAlarm"`
}

Experimental.

type StepFunctionLambdaIntegrationMetricFactory

type StepFunctionLambdaIntegrationMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	MetricFunctionRunTimeP50InMillis() interface{}
	// Experimental.
	MetricFunctionRunTimeP90InMillis() interface{}
	// Experimental.
	MetricFunctionRunTimeP99InMillis() interface{}
	// Experimental.
	MetricFunctionScheduleTimeP50InMillis() interface{}
	// Experimental.
	MetricFunctionScheduleTimeP90InMillis() interface{}
	// Experimental.
	MetricFunctionScheduleTimeP99InMillis() interface{}
	// Experimental.
	MetricFunctionsFailed() interface{}
	// Experimental.
	MetricFunctionsFailedRate() interface{}
	// Experimental.
	MetricFunctionsScheduled() interface{}
	// Experimental.
	MetricFunctionsStarted() interface{}
	// Experimental.
	MetricFunctionsSucceeded() interface{}
	// Experimental.
	MetricFunctionsTimedOut() interface{}
	// Experimental.
	MetricFunctionTimeP50InMillis() interface{}
	// Experimental.
	MetricFunctionTimeP90InMillis() interface{}
	// Experimental.
	MetricFunctionTimeP99InMillis() interface{}
}

Experimental.

type StepFunctionLambdaIntegrationMetricFactoryProps

type StepFunctionLambdaIntegrationMetricFactoryProps struct {
	// Experimental.
	LambdaFunction awslambda.IFunction `field:"required" json:"lambdaFunction" yaml:"lambdaFunction"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type StepFunctionLambdaIntegrationMonitoring

type StepFunctionLambdaIntegrationMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	DurationAlarmFactory() LatencyAlarmFactory
	// Experimental.
	DurationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FailedFunctionRateMetric() interface{}
	// Experimental.
	FailedFunctionsMetric() interface{}
	// Experimental.
	FunctionUrl() *string
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	P50DurationMetric() interface{}
	// Experimental.
	P90DurationMetric() interface{}
	// Experimental.
	P99DurationMetric() interface{}
	// Experimental.
	ScheduledFunctionsMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	StartedFunctionsMetric() interface{}
	// Experimental.
	SucceededFunctionsMetric() interface{}
	// Experimental.
	TimedOutFunctionsMetrics() interface{}
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

type StepFunctionLambdaIntegrationMonitoringProps

type StepFunctionLambdaIntegrationMonitoringProps struct {
	// Experimental.
	LambdaFunction awslambda.IFunction `field:"required" json:"lambdaFunction" yaml:"lambdaFunction"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedFunctionsCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedFunctionsCountAlarm" yaml:"addFailedFunctionsCountAlarm"`
	// Experimental.
	AddFailedFunctionsRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedFunctionsRateAlarm" yaml:"addFailedFunctionsRateAlarm"`
	// Experimental.
	AddTimedOutFunctionsCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addTimedOutFunctionsCountAlarm" yaml:"addTimedOutFunctionsCountAlarm"`
}

Experimental.

type StepFunctionMetricFactory

type StepFunctionMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	MetricExecutionsAborted() interface{}
	// Experimental.
	MetricExecutionsFailed() interface{}
	// Experimental.
	MetricExecutionsFailedRate() interface{}
	// Experimental.
	MetricExecutionsStarted() interface{}
	// Experimental.
	MetricExecutionsSucceeded() interface{}
	// Experimental.
	MetricExecutionsTimedOut() interface{}
	// Experimental.
	MetricExecutionThrottled() interface{}
	// Experimental.
	MetricExecutionTimeP50InMillis() interface{}
	// Experimental.
	MetricExecutionTimeP90InMillis() interface{}
	// Experimental.
	MetricExecutionTimeP99InMillis() interface{}
}

Experimental.

func NewStepFunctionMetricFactory

func NewStepFunctionMetricFactory(metricFactory MetricFactory, props *StepFunctionMetricFactoryProps) StepFunctionMetricFactory

Experimental.

type StepFunctionMetricFactoryProps

type StepFunctionMetricFactoryProps struct {
	// Experimental.
	StateMachine awsstepfunctions.IStateMachine `field:"required" json:"stateMachine" yaml:"stateMachine"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type StepFunctionMonitoring

type StepFunctionMonitoring interface {
	Monitoring
	// Experimental.
	AbortedExecutionsMetric() interface{}
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	DurationAlarmFactory() LatencyAlarmFactory
	// Experimental.
	DurationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FailedExecutionRateMetric() interface{}
	// Experimental.
	FailedExecutionsMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	P50DurationMetric() interface{}
	// Experimental.
	P90DurationMetric() interface{}
	// Experimental.
	P99DurationMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	StartedExecutionsMetric() interface{}
	// Experimental.
	StateMachineUrl() *string
	// Experimental.
	SucceededExecutionsMetric() interface{}
	// Experimental.
	TaskHealthAlarmFactory() TaskHealthAlarmFactory
	// Experimental.
	ThrottledExecutionsMetric() interface{}
	// Experimental.
	TimedOutExecutionsMetrics() interface{}
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

func NewStepFunctionMonitoring

func NewStepFunctionMonitoring(scope MonitoringScope, props *StepFunctionMonitoringProps) StepFunctionMonitoring

Experimental.

type StepFunctionMonitoringOptions

type StepFunctionMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddAbortedExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addAbortedExecutionCountAlarm" yaml:"addAbortedExecutionCountAlarm"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedExecutionCountAlarm" yaml:"addFailedExecutionCountAlarm"`
	// Experimental.
	AddFailedExecutionRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedExecutionRateAlarm" yaml:"addFailedExecutionRateAlarm"`
	// Add minimum started execution count alarm for the stepfunctions.
	// Experimental.
	AddMinStartedExecutionCountAlarm *map[string]*MinRunningTaskCountThreshold `field:"optional" json:"addMinStartedExecutionCountAlarm" yaml:"addMinStartedExecutionCountAlarm"`
	// Experimental.
	AddThrottledExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addThrottledExecutionCountAlarm" yaml:"addThrottledExecutionCountAlarm"`
	// Experimental.
	AddTimedOutExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addTimedOutExecutionCountAlarm" yaml:"addTimedOutExecutionCountAlarm"`
}

Experimental.

type StepFunctionMonitoringProps

type StepFunctionMonitoringProps struct {
	// Experimental.
	StateMachine awsstepfunctions.IStateMachine `field:"required" json:"stateMachine" yaml:"stateMachine"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddAbortedExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addAbortedExecutionCountAlarm" yaml:"addAbortedExecutionCountAlarm"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedExecutionCountAlarm" yaml:"addFailedExecutionCountAlarm"`
	// Experimental.
	AddFailedExecutionRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedExecutionRateAlarm" yaml:"addFailedExecutionRateAlarm"`
	// Add minimum started execution count alarm for the stepfunctions.
	// Experimental.
	AddMinStartedExecutionCountAlarm *map[string]*MinRunningTaskCountThreshold `field:"optional" json:"addMinStartedExecutionCountAlarm" yaml:"addMinStartedExecutionCountAlarm"`
	// Experimental.
	AddThrottledExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addThrottledExecutionCountAlarm" yaml:"addThrottledExecutionCountAlarm"`
	// Experimental.
	AddTimedOutExecutionCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addTimedOutExecutionCountAlarm" yaml:"addTimedOutExecutionCountAlarm"`
}

Experimental.

type StepFunctionServiceIntegrationMetricFactory

type StepFunctionServiceIntegrationMetricFactory interface {
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	MetricServiceIntegrationRunTimeP50InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationRunTimeP90InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationRunTimeP99InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationScheduleTimeP50InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationScheduleTimeP90InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationScheduleTimeP99InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationsFailed() interface{}
	// Experimental.
	MetricServiceIntegrationsFailedRate() interface{}
	// Experimental.
	MetricServiceIntegrationsScheduled() interface{}
	// Experimental.
	MetricServiceIntegrationsStarted() interface{}
	// Experimental.
	MetricServiceIntegrationsSucceeded() interface{}
	// Experimental.
	MetricServiceIntegrationsTimedOut() interface{}
	// Experimental.
	MetricServiceIntegrationTimeP50InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationTimeP90InMillis() interface{}
	// Experimental.
	MetricServiceIntegrationTimeP99InMillis() interface{}
}

Experimental.

type StepFunctionServiceIntegrationMetricFactoryProps

type StepFunctionServiceIntegrationMetricFactoryProps struct {
	// Experimental.
	ServiceIntegrationResourceArn *string `field:"required" json:"serviceIntegrationResourceArn" yaml:"serviceIntegrationResourceArn"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type StepFunctionServiceIntegrationMonitoring

type StepFunctionServiceIntegrationMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	DurationAlarmFactory() LatencyAlarmFactory
	// Experimental.
	DurationAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	FailedServiceIntegrationRateMetric() interface{}
	// Experimental.
	FailedServiceIntegrationsMetric() interface{}
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	P50DurationMetric() interface{}
	// Experimental.
	P90DurationMetric() interface{}
	// Experimental.
	P99DurationMetric() interface{}
	// Experimental.
	ScheduledServiceIntegrationsMetric() interface{}
	// Experimental.
	Scope() MonitoringScope
	// Experimental.
	StartedServiceIntegrationsMetric() interface{}
	// Experimental.
	SucceededServiceIntegrationsMetric() interface{}
	// Experimental.
	TimedOutServiceIntegrationsMetrics() interface{}
	// Experimental.
	Title() *string
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Experimental.

type StepFunctionServiceIntegrationMonitoringProps

type StepFunctionServiceIntegrationMonitoringProps struct {
	// Experimental.
	ServiceIntegrationResourceArn *string `field:"required" json:"serviceIntegrationResourceArn" yaml:"serviceIntegrationResourceArn"`
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddDurationP50Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP50Alarm" yaml:"addDurationP50Alarm"`
	// Experimental.
	AddDurationP90Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP90Alarm" yaml:"addDurationP90Alarm"`
	// Experimental.
	AddDurationP99Alarm *map[string]*DurationThreshold `field:"optional" json:"addDurationP99Alarm" yaml:"addDurationP99Alarm"`
	// Experimental.
	AddFailedServiceIntegrationsCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addFailedServiceIntegrationsCountAlarm" yaml:"addFailedServiceIntegrationsCountAlarm"`
	// Experimental.
	AddFailedServiceIntegrationsRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addFailedServiceIntegrationsRateAlarm" yaml:"addFailedServiceIntegrationsRateAlarm"`
	// Experimental.
	AddTimedOutServiceIntegrationsCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addTimedOutServiceIntegrationsCountAlarm" yaml:"addTimedOutServiceIntegrationsCountAlarm"`
}

Experimental.

type StorageType

type StorageType string

Experimental.

const (
	// Experimental.
	StorageType_DEEP_ARCHIVE_OBJECT_OVERHEAD StorageType = "DEEP_ARCHIVE_OBJECT_OVERHEAD"
	// Experimental.
	StorageType_DEEP_ARCHIVE_S3_OBJECT_OVERHEAD StorageType = "DEEP_ARCHIVE_S3_OBJECT_OVERHEAD"
	// Experimental.
	StorageType_DEEP_ARCHIVE_STAGING_STORAGE StorageType = "DEEP_ARCHIVE_STAGING_STORAGE"
	// Experimental.
	StorageType_DEEP_ARCHIVE_STORAGE StorageType = "DEEP_ARCHIVE_STORAGE"
	// Experimental.
	StorageType_GLACIER_OBJECT_OVERHEAD StorageType = "GLACIER_OBJECT_OVERHEAD"
	// Experimental.
	StorageType_GLACIER_S3_OBJECT_OVERHEAD StorageType = "GLACIER_S3_OBJECT_OVERHEAD"
	// Experimental.
	StorageType_GLACIER_STAGING_STORAGE StorageType = "GLACIER_STAGING_STORAGE"
	// Experimental.
	StorageType_GLACIER_STORAGE StorageType = "GLACIER_STORAGE"
	// Experimental.
	StorageType_INTELLIGENT_TIERING_FA_STORAGE StorageType = "INTELLIGENT_TIERING_FA_STORAGE"
	// Experimental.
	StorageType_INTELLIGENT_TIERING_IA_STORAGE StorageType = "INTELLIGENT_TIERING_IA_STORAGE"
	// Experimental.
	StorageType_ONE_ZONE_IA_SIZE_OVERHEAD StorageType = "ONE_ZONE_IA_SIZE_OVERHEAD"
	// Experimental.
	StorageType_ONE_ZONE_IA_STORAGE StorageType = "ONE_ZONE_IA_STORAGE"
	// Experimental.
	StorageType_REDUCED_REDUNDANCY_STORAGE StorageType = "REDUCED_REDUNDANCY_STORAGE"
	// Experimental.
	StorageType_STANDARD_IA_SIZE_OVERHEAD StorageType = "STANDARD_IA_SIZE_OVERHEAD"
	// Experimental.
	StorageType_STANDARD_IA_STORAGE StorageType = "STANDARD_IA_STORAGE"
	// Experimental.
	StorageType_STANDARD_STORAGE StorageType = "STANDARD_STORAGE"
)

type SyntheticsCanaryMetricFactory

type SyntheticsCanaryMetricFactory interface {
	// Experimental.
	Canary() awssynthetics.Canary
	// Experimental.
	DimensionsMap() *map[string]*string
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	RateComputationMethod() RateComputationMethod
	// Experimental.
	Metric4xxErrorCount() interface{}
	// Experimental.
	Metric4xxErrorRate() interface{}
	// Experimental.
	Metric5xxFaultCount() interface{}
	// Experimental.
	Metric5xxFaultRate() interface{}
	// Experimental.
	MetricLatencyAverageInMillis() interface{}
	// Experimental.
	MetricSuccessInPercent() interface{}
}

Experimental.

func NewSyntheticsCanaryMetricFactory

func NewSyntheticsCanaryMetricFactory(metricFactory MetricFactory, props *SyntheticsCanaryMetricFactoryProps) SyntheticsCanaryMetricFactory

Experimental.

type SyntheticsCanaryMetricFactoryProps

type SyntheticsCanaryMetricFactoryProps struct {
	// CloudWatch Canary to monitor.
	// Experimental.
	Canary awssynthetics.Canary `field:"required" json:"canary" yaml:"canary"`
	// Method used to calculate relative rates.
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
}

Experimental.

type SyntheticsCanaryMonitoring

type SyntheticsCanaryMonitoring interface {
	Monitoring
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	AverageLatencyMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorCountMetric() interface{}
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateMetric() interface{}
	// Experimental.
	FaultCountMetric() interface{}
	// Experimental.
	FaultRateMetric() interface{}
	// Experimental.
	HumanReadableName() *string
	// Experimental.
	LatencyAlarmFactory() LatencyAlarmFactory
	// Experimental.
	LatencyAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Experimental.
	CreateErrorCountWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateErrorRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateLatencyWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Monitoring for CloudWatch Synthetics Canaries. See: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html

Experimental.

func NewSyntheticsCanaryMonitoring

func NewSyntheticsCanaryMonitoring(scope MonitoringScope, props *SyntheticsCanaryMonitoringProps) SyntheticsCanaryMonitoring

Experimental.

type SyntheticsCanaryMonitoringOptions

type SyntheticsCanaryMonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4xxErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4xxErrorCountAlarm" yaml:"add4xxErrorCountAlarm"`
	// Experimental.
	Add4xxErrorRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4xxErrorRateAlarm" yaml:"add4xxErrorRateAlarm"`
	// Experimental.
	Add5xxFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5xxFaultCountAlarm" yaml:"add5xxFaultCountAlarm"`
	// Experimental.
	Add5xxFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5xxFaultRateAlarm" yaml:"add5xxFaultRateAlarm"`
	// Experimental.
	AddAverageLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageLatencyAlarm" yaml:"addAverageLatencyAlarm"`
}

Experimental.

type SyntheticsCanaryMonitoringProps

type SyntheticsCanaryMonitoringProps struct {
	// CloudWatch Canary to monitor.
	// Experimental.
	Canary awssynthetics.Canary `field:"required" json:"canary" yaml:"canary"`
	// Method used to calculate relative rates.
	// Default: - average.
	//
	// Experimental.
	RateComputationMethod RateComputationMethod `field:"optional" json:"rateComputationMethod" yaml:"rateComputationMethod"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	Add4xxErrorCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add4xxErrorCountAlarm" yaml:"add4xxErrorCountAlarm"`
	// Experimental.
	Add4xxErrorRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add4xxErrorRateAlarm" yaml:"add4xxErrorRateAlarm"`
	// Experimental.
	Add5xxFaultCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"add5xxFaultCountAlarm" yaml:"add5xxFaultCountAlarm"`
	// Experimental.
	Add5xxFaultRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"add5xxFaultRateAlarm" yaml:"add5xxFaultRateAlarm"`
	// Experimental.
	AddAverageLatencyAlarm *map[string]*LatencyThreshold `field:"optional" json:"addAverageLatencyAlarm" yaml:"addAverageLatencyAlarm"`
}

Experimental.

type TaskHealthAlarmFactory

type TaskHealthAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddAvailabilityAlarm(metric interface{}, props *AvailabilityThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddHealthyTaskCountAlarm(metric interface{}, props *HealthyTaskCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddHealthyTaskPercentAlarm(metric interface{}, props *HealthyTaskPercentThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinRunningTaskCountAlarm(metric interface{}, props *MinRunningTaskCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddRunningTaskCountAlarm(metric interface{}, props *RunningTaskCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddRunningTaskRateAlarm(metric interface{}, props *RunningTaskRateThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddUnhealthyTaskCountAlarm(metric interface{}, props *UnhealthyTaskCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewTaskHealthAlarmFactory

func NewTaskHealthAlarmFactory(alarmFactory AlarmFactory) TaskHealthAlarmFactory

Experimental.

type ThrottledEventsThreshold

type ThrottledEventsThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxThrottledEventsThreshold *float64 `field:"required" json:"maxThrottledEventsThreshold" yaml:"maxThrottledEventsThreshold"`
}

Experimental.

type ThroughputAlarmFactory

type ThroughputAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMinProcessedBytesAlarm(metric interface{}, props *MinProcessedBytesThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewThroughputAlarmFactory

func NewThroughputAlarmFactory(alarmFactory AlarmFactory) ThroughputAlarmFactory

Experimental.

type TopicAlarmFactory

type TopicAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxMessagesPublishedAlarm(metric interface{}, props *HighMessagesPublishedThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMessageNotificationsFailedAlarm(metric interface{}, props *NotificationsFailedThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinMessagesPublishedAlarm(metric interface{}, props *LowMessagesPublishedThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewTopicAlarmFactory

func NewTopicAlarmFactory(alarmFactory AlarmFactory) TopicAlarmFactory

Experimental.

type TpsAlarmFactory

type TpsAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxTpsAlarm(metric interface{}, props *HighTpsThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinTpsAlarm(metric interface{}, props *LowTpsThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewTpsAlarmFactory

func NewTpsAlarmFactory(alarmFactory AlarmFactory) TpsAlarmFactory

Experimental.

type UnhealthyTaskCountThreshold

type UnhealthyTaskCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxUnhealthyTasks *float64 `field:"required" json:"maxUnhealthyTasks" yaml:"maxUnhealthyTasks"`
}

Experimental.

type UsageAlarmFactory

type UsageAlarmFactory interface {
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	AddMaxCpuUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string, usageType UsageType, additionalAlarmNameSuffix *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxDiskUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxFileDescriptorPercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxHeapMemoryAfterGCUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxMasterCpuUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxMasterMemoryUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxMemoryUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxThreadCountUsageAlarm(percentMetric interface{}, props *UsageCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMaxUsageCountAlarm(metric interface{}, props *UsageCountThreshold, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMemoryUsagePercentAlarm(percentMetric interface{}, props *UsageThreshold, usageType UsageType, disambiguator *string) *AlarmWithAnnotation
	// Experimental.
	AddMinUsageCountAlarm(percentMetric interface{}, props *MinUsageCountThreshold, disambiguator *string) *AlarmWithAnnotation
}

Experimental.

func NewUsageAlarmFactory

func NewUsageAlarmFactory(alarmFactory AlarmFactory) UsageAlarmFactory

Experimental.

type UsageCountThreshold

type UsageCountThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxUsageCount *float64 `field:"required" json:"maxUsageCount" yaml:"maxUsageCount"`
}

Experimental.

type UsageThreshold

type UsageThreshold struct {
	// Allows to override the default alarm action.
	// Default: - undefined (default action will be used, if any).
	//
	// Experimental.
	ActionOverride IAlarmActionStrategy `field:"optional" json:"actionOverride" yaml:"actionOverride"`
	// Enables the configured CloudWatch alarm ticketing actions.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	ActionsEnabled *bool `field:"optional" json:"actionsEnabled" yaml:"actionsEnabled"`
	// A text included in the generated ticket description body, which fully replaces the generated text.
	// Default: - default auto-generated content only.
	//
	// Experimental.
	AlarmDescriptionOverride *string `field:"optional" json:"alarmDescriptionOverride" yaml:"alarmDescriptionOverride"`
	// If this is defined, the alarm name is set to this exact value.
	//
	// Please be aware that you need to specify prefix for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Experimental.
	AlarmNameOverride *string `field:"optional" json:"alarmNameOverride" yaml:"alarmNameOverride"`
	// Comparison operator used to compare actual value against the threshold.
	// Default: - alarm-specific default.
	//
	// Experimental.
	ComparisonOperatorOverride awscloudwatch.ComparisonOperator `field:"optional" json:"comparisonOperatorOverride" yaml:"comparisonOperatorOverride"`
	// This allows user to attach custom parameters to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no parameters.
	//
	// Experimental.
	CustomParams *map[string]interface{} `field:"optional" json:"customParams" yaml:"customParams"`
	// This allows user to attach custom values to this alarm, which can later be accessed from the "useCreatedAlarms" method.
	// Default: - no tags.
	//
	// Experimental.
	CustomTags *[]*string `field:"optional" json:"customTags" yaml:"customTags"`
	// Number of breaches required to transition into an ALARM state.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	DatapointsToAlarm *float64 `field:"optional" json:"datapointsToAlarm" yaml:"datapointsToAlarm"`
	// If this is defined, the alarm dedupe string is set to this exact value.
	//
	// Please be aware that you need to handle deduping for different stages (Beta, Prod...) and regions (EU, NA...) manually.
	// Default: - undefined (no override).
	//
	// Experimental.
	DedupeStringOverride *string `field:"optional" json:"dedupeStringOverride" yaml:"dedupeStringOverride"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	DocumentationLink *string `field:"optional" json:"documentationLink" yaml:"documentationLink"`
	// Used only for alarms based on percentiles.
	//
	// If you specify <code>false</code>, the alarm state does not change during periods with too few data points to be statistically significant.
	// If you specify <code>true</code>, the alarm is always evaluated and possibly changes state no matter how many data points are available.
	// Default: - true.
	//
	// Experimental.
	EvaluateLowSampleCountPercentile *bool `field:"optional" json:"evaluateLowSampleCountPercentile" yaml:"evaluateLowSampleCountPercentile"`
	// Number of periods to consider when checking the number of breaching datapoints.
	// Default: - the same as monitoring facade default.
	//
	// Experimental.
	EvaluationPeriods *float64 `field:"optional" json:"evaluationPeriods" yaml:"evaluationPeriods"`
	// Indicates whether the alarming range of values should be highlighted in the widget.
	// Default: - false.
	//
	// Experimental.
	FillAlarmRange *bool `field:"optional" json:"fillAlarmRange" yaml:"fillAlarmRange"`
	// If specified, adjusts the metric before creating an alarm from it.
	// Default: - no adjuster.
	//
	// Experimental.
	MetricAdjuster IMetricAdjuster `field:"optional" json:"metricAdjuster" yaml:"metricAdjuster"`
	// Specifies how many samples (N) of the metric is needed to trigger the alarm.
	//
	// If this property is specified, a composite alarm is created of the following:
	// <ul>
	// <li>The original alarm, created without this property being used; this alarm will have no actions set.</li>
	// <li>A secondary alarm, which will monitor the same metric with the N (SampleCount) statistic, checking the sample count.</li>
	// </ul>
	// This composite alarm will be returned as a result and uses the specified alarm actions.
	// Default: - default behaviour - no condition on sample count will be added to the alarm.
	//
	// Deprecated: Use minSampleCountToEvaluateDatapoint instead. minMetricSamplesAlarm uses different evaluation
	// period for its child alarms, so it doesn't guarantee that each datapoint in the evaluation period has
	// sufficient number of samples.
	MinMetricSamplesToAlarm *float64 `field:"optional" json:"minMetricSamplesToAlarm" yaml:"minMetricSamplesToAlarm"`
	// Specifies how many samples (N) of the metric is needed in a datapoint to be evaluated for alarming.
	//
	// If this property is specified, your metric will be subject to MathExpression that will add an IF condition
	// to your metric to make sure that each datapoint is evaluated only if it has sufficient number of samples.
	// If the number of samples is not sufficient, the datapoint will be treated as missing data and will be evaluated
	// according to the treatMissingData parameter.
	// If specified, deprecated minMetricSamplesToAlarm has no effect.
	// Default: - default behaviour - no condition on sample count will be used.
	//
	// Experimental.
	MinSampleCountToEvaluateDatapoint *float64 `field:"optional" json:"minSampleCountToEvaluateDatapoint" yaml:"minSampleCountToEvaluateDatapoint"`
	// If specified, it modifies the final alarm annotation color.
	// Default: - no override (default color).
	//
	// Experimental.
	OverrideAnnotationColor *string `field:"optional" json:"overrideAnnotationColor" yaml:"overrideAnnotationColor"`
	// If specified, it modifies the final alarm annotation label.
	// Default: - no override (default label).
	//
	// Experimental.
	OverrideAnnotationLabel *string `field:"optional" json:"overrideAnnotationLabel" yaml:"overrideAnnotationLabel"`
	// If specified, it modifies the final alarm annotation visibility.
	// Default: - no override (default visibility).
	//
	// Experimental.
	OverrideAnnotationVisibility *bool `field:"optional" json:"overrideAnnotationVisibility" yaml:"overrideAnnotationVisibility"`
	// Period override for the metric to alarm on.
	// Default: - the default specified in MetricFactory.
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// An optional link included in the generated ticket description body.
	// Default: - no additional link will be added.
	//
	// Experimental.
	RunbookLink *string `field:"optional" json:"runbookLink" yaml:"runbookLink"`
	// Behaviour in case the metric data is missing.
	// Default: - alarm-specific default.
	//
	// Experimental.
	TreatMissingDataOverride awscloudwatch.TreatMissingData `field:"optional" json:"treatMissingDataOverride" yaml:"treatMissingDataOverride"`
	// Experimental.
	MaxUsagePercent *float64 `field:"required" json:"maxUsagePercent" yaml:"maxUsagePercent"`
}

Experimental.

type UsageType

type UsageType string

Experimental.

const (
	// Experimental.
	UsageType_P50 UsageType = "P50"
	// Experimental.
	UsageType_P70 UsageType = "P70"
	// Experimental.
	UsageType_P90 UsageType = "P90"
	// Experimental.
	UsageType_P99 UsageType = "P99"
	// Experimental.
	UsageType_P999 UsageType = "P999"
	// Experimental.
	UsageType_P9999 UsageType = "P9999"
	// Experimental.
	UsageType_P100 UsageType = "P100"
	// Experimental.
	UsageType_AVERAGE UsageType = "AVERAGE"
	// Experimental.
	UsageType_MAX UsageType = "MAX"
)

type UserProvidedNames

type UserProvidedNames struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
}

Experimental.

type WafV2MetricFactory

type WafV2MetricFactory interface {
	// Experimental.
	Dimensions() *map[string]interface{}
	// Experimental.
	MetricFactory() MetricFactory
	// Experimental.
	MetricAllowedRequests() interface{}
	// Experimental.
	MetricBlockedRequests() interface{}
	// Experimental.
	MetricBlockedRequestsRate() interface{}
}

https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html. Experimental.

func NewWafV2MetricFactory

func NewWafV2MetricFactory(metricFactory MetricFactory, props *WafV2MetricFactoryProps) WafV2MetricFactory

Experimental.

type WafV2MetricFactoryProps

type WafV2MetricFactoryProps struct {
	// Experimental.
	Acl awswafv2.CfnWebACL `field:"required" json:"acl" yaml:"acl"`
	// Required if acl has a "REGIONAL" scope.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
}

Experimental.

type WafV2Monitoring

type WafV2Monitoring interface {
	Monitoring
	// Experimental.
	AlarmFactory() AlarmFactory
	// Experimental.
	Alarms() *[]*AlarmWithAnnotation
	// Experimental.
	AllowedRequestsMetric() interface{}
	// Experimental.
	BlockedRequestsMetric() interface{}
	// Experimental.
	BlockedRequestsRateMetric() interface{}
	// Experimental.
	ErrorAlarmFactory() ErrorAlarmFactory
	// Experimental.
	ErrorCountAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	ErrorRateAnnotations() *[]*awscloudwatch.HorizontalAnnotation
	// Experimental.
	HumanReadableName() *string
	// Experimental.
	LocalAlarmNamePrefixOverride() *string
	// Experimental.
	Scope() MonitoringScope
	// Adds an alarm.
	// Experimental.
	AddAlarm(alarm *AlarmWithAnnotation)
	// Returns widgets for all alarms.
	//
	// These can go to runbook or to service dashboard.
	// Experimental.
	AlarmWidgets() *[]awscloudwatch.IWidget
	// Creates a new alarm factory.
	//
	// Alarms created will be named with the given prefix, unless a local name override is present.
	// Experimental.
	CreateAlarmFactory(alarmNamePrefix *string) AlarmFactory
	// Experimental.
	CreateAllowedRequestsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateBlockedRequestsRateWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Experimental.
	CreateBlockedRequestsWidget(width *float64, height *float64) awscloudwatch.GraphWidget
	// Returns all the alarms created.
	// Experimental.
	CreatedAlarms() *[]*AlarmWithAnnotation
	// Creates a new metric factory.
	// Experimental.
	CreateMetricFactory() MetricFactory
	// Experimental.
	CreateTitleWidget() MonitoringHeaderWidget
	// Creates a new widget factory.
	// Experimental.
	CreateWidgetFactory() IWidgetFactory
	// Returns widgets to be placed on the summary dashboard.
	// Experimental.
	SummaryWidgets() *[]awscloudwatch.IWidget
	// Returns widgets to be placed on the main dashboard.
	// Experimental.
	Widgets() *[]awscloudwatch.IWidget
	// Returns widgets for the requested dashboard type.
	// Experimental.
	WidgetsForDashboard(name *string) *[]awscloudwatch.IWidget
}

Monitoring for AWS Web Application Firewall. See: https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html

Experimental.

func NewWafV2Monitoring

func NewWafV2Monitoring(scope MonitoringScope, props *WafV2MonitoringProps) WafV2Monitoring

Experimental.

type WafV2MonitoringOptions

type WafV2MonitoringOptions struct {
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
}

Experimental.

type WafV2MonitoringProps

type WafV2MonitoringProps struct {
	// Experimental.
	Acl awswafv2.CfnWebACL `field:"required" json:"acl" yaml:"acl"`
	// Required if acl has a "REGIONAL" scope.
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
	// Plain name, used in naming alarms.
	//
	// This unique among other resources, and respect the AWS CDK restriction posed on alarm names.
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// Default: - derives name from the construct itself.
	//
	// Experimental.
	AlarmFriendlyName *string `field:"optional" json:"alarmFriendlyName" yaml:"alarmFriendlyName"`
	// Human-readable name is a freeform string, used as a caption or description.
	//
	// There are no limitations on what it can be.
	// Default: - use alarmFriendlyName.
	//
	// Experimental.
	HumanReadableName *string `field:"optional" json:"humanReadableName" yaml:"humanReadableName"`
	// If this is defined, the local alarm name prefix used in naming alarms for the construct will be set to this value.
	//
	// The length must be 1 - 255 characters and although the validation rules are undocumented, we recommend using ASCII and hyphens.
	// See: AlarmNamingStrategy for more details on alarm name prefixes.
	//
	// Experimental.
	LocalAlarmNamePrefixOverride *string `field:"optional" json:"localAlarmNamePrefixOverride" yaml:"localAlarmNamePrefixOverride"`
	// Flag indicating if the widgets should be added to alarm dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToAlarmDashboard *bool `field:"optional" json:"addToAlarmDashboard" yaml:"addToAlarmDashboard"`
	// Flag indicating if the widgets should be added to detailed dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToDetailDashboard *bool `field:"optional" json:"addToDetailDashboard" yaml:"addToDetailDashboard"`
	// Flag indicating if the widgets should be added to summary dashboard.
	// Default: - true.
	//
	// Experimental.
	AddToSummaryDashboard *bool `field:"optional" json:"addToSummaryDashboard" yaml:"addToSummaryDashboard"`
	// Calls provided function to process all alarms created.
	// Experimental.
	UseCreatedAlarms IAlarmConsumer `field:"optional" json:"useCreatedAlarms" yaml:"useCreatedAlarms"`
	// Experimental.
	AddBlockedRequestsCountAlarm *map[string]*ErrorCountThreshold `field:"optional" json:"addBlockedRequestsCountAlarm" yaml:"addBlockedRequestsCountAlarm"`
	// Experimental.
	AddBlockedRequestsRateAlarm *map[string]*ErrorRateThreshold `field:"optional" json:"addBlockedRequestsRateAlarm" yaml:"addBlockedRequestsRateAlarm"`
}

Experimental.

type XaxrMathExpression deprecated

type XaxrMathExpression interface {
	awscloudwatch.IMetric
	// Inspect the details of the metric object.
	// Deprecated: Use MathExpression from aws-cdk-lib/aws-cloudwatch instead.
	ToMetricConfig() *awscloudwatch.MetricConfig
	// Deprecated: Use MathExpression from aws-cdk-lib/aws-cloudwatch instead.
	With(options *awscloudwatch.MathExpressionOptions) awscloudwatch.IMetric
}

Custom wrapper class for MathExpression that supports account and region specification. See: https://github.com/aws/aws-cdk/issues/9039

Deprecated: Use MathExpression from aws-cdk-lib/aws-cloudwatch instead.

func NewXaxrMathExpression deprecated

func NewXaxrMathExpression(props *XaxrMathExpressionProps) XaxrMathExpression

Deprecated: Use MathExpression from aws-cdk-lib/aws-cloudwatch instead.

type XaxrMathExpressionProps

type XaxrMathExpressionProps struct {
	// Color for this metric when added to a Graph in a Dashboard.
	// Default: - Automatic color.
	//
	// Experimental.
	Color *string `field:"optional" json:"color" yaml:"color"`
	// Label for this expression when added to a Graph in a Dashboard.
	//
	// If this expression evaluates to more than one time series (for
	// example, through the use of `METRICS()` or `SEARCH()` expressions),
	// each time series will appear in the graph using a combination of the
	// expression label and the individual metric label. Specify the empty
	// string (`”`) to suppress the expression label and only keep the
	// metric label.
	//
	// You can use [dynamic labels](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html)
	// to show summary information about the displayed time series
	// in the legend. For example, if you use:
	//
	// “`
	// [max: ${MAX}] MyMetric
	// “`
	//
	// As the metric label, the maximum value in the visible range will
	// be shown next to the time series name in the graph's legend. If the
	// math expression produces more than one time series, the maximum
	// will be shown for each individual time series produce by this
	// math expression.
	// Default: - Expression value is used as label.
	//
	// Experimental.
	Label *string `field:"optional" json:"label" yaml:"label"`
	// The period over which the expression's statistics are applied.
	//
	// This period overrides all periods in the metrics used in this
	// math expression.
	// Default: Duration.minutes(5)
	//
	// Experimental.
	Period awscdk.Duration `field:"optional" json:"period" yaml:"period"`
	// Account to evaluate search expressions within.
	//
	// Specifying a searchAccount has no effect to the account used
	// for metrics within the expression (passed via usingMetrics).
	// Default: - Deployment account.
	//
	// Experimental.
	SearchAccount *string `field:"optional" json:"searchAccount" yaml:"searchAccount"`
	// Region to evaluate search expressions within.
	//
	// Specifying a searchRegion has no effect to the region used
	// for metrics within the expression (passed via usingMetrics).
	// Default: - Deployment region.
	//
	// Experimental.
	SearchRegion *string `field:"optional" json:"searchRegion" yaml:"searchRegion"`
	// The expression defining the metric.
	//
	// When an expression contains a SEARCH function, it cannot be used
	// within an Alarm.
	// Experimental.
	Expression *string `field:"required" json:"expression" yaml:"expression"`
	// The metrics used in the expression, in a map.
	//
	// The key is the identifier that represents the given metric in the
	// expression, and the value is the actual Metric object.
	// Default: - Empty map.
	//
	// Experimental.
	UsingMetrics *map[string]awscloudwatch.IMetric `field:"optional" json:"usingMetrics" yaml:"usingMetrics"`
	// (experimental) Account which this metric comes from.
	// Default: - Deployment account.
	//
	// Experimental.
	Account *string `field:"optional" json:"account" yaml:"account"`
	// (experimental) Region which this metric comes from.
	// Default: - Deployment region.
	//
	// Experimental.
	Region *string `field:"optional" json:"region" yaml:"region"`
}

Custom wrapper class for MathExpressionProps that supports account and region customization. See: https://github.com/aws/aws-cdk/issues/9039

Experimental.

Source Files

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL