100 lines
2.8 KiB
TypeScript
100 lines
2.8 KiB
TypeScript
import type { Construct } from 'constructs';
|
|
import type { ICanary } from './canary';
|
|
import type { GroupReference, IGroupRef } from './synthetics.generated';
|
|
import * as cdk from '../../core';
|
|
/**
|
|
* Represents a CloudWatch Synthetics Group
|
|
*/
|
|
export interface IGroup extends cdk.IResource, IGroupRef {
|
|
/**
|
|
* The ID of the group
|
|
* @attribute
|
|
*/
|
|
readonly groupId: string;
|
|
/**
|
|
* The name of the group
|
|
* @attribute
|
|
*/
|
|
readonly groupName: string;
|
|
/**
|
|
* The ARN of the group
|
|
* @attribute
|
|
*/
|
|
readonly groupArn: string;
|
|
}
|
|
/**
|
|
* Properties for defining a CloudWatch Synthetics Group
|
|
*/
|
|
export interface GroupProps {
|
|
/**
|
|
* A name for the group. Must contain only lowercase alphanumeric characters,
|
|
* hyphens, or underscores, and be at most 64 characters.
|
|
*
|
|
* The names for all groups in your account, across all Regions, must be unique.
|
|
*
|
|
* @default - A unique name will be generated from the construct ID
|
|
*/
|
|
readonly groupName?: string;
|
|
/**
|
|
* List of canaries to associate with this group.
|
|
*
|
|
* Each group can contain as many as 10 canaries.
|
|
*
|
|
* @default - No canaries are associated with the group initially
|
|
*/
|
|
readonly canaries?: ICanary[];
|
|
}
|
|
/**
|
|
* Define a new CloudWatch Synthetics Group
|
|
*
|
|
* Groups allow you to associate canaries with each other, including cross-Region canaries.
|
|
* Using groups can help you with managing and automating your canaries, and you can also
|
|
* view aggregated run results and statistics for all canaries in a group.
|
|
*/
|
|
export declare class Group extends cdk.Resource implements IGroup {
|
|
/**
|
|
* Uniquely identifies this class.
|
|
*/
|
|
static readonly PROPERTY_INJECTION_ID: string;
|
|
/**
|
|
* Import an existing group by ARN
|
|
*/
|
|
static fromGroupArn(scope: Construct, id: string, groupArn: string): IGroup;
|
|
/**
|
|
* Import an existing group by name
|
|
*/
|
|
static fromGroupName(scope: Construct, id: string, groupName: string): IGroup;
|
|
/**
|
|
* The ID of the group
|
|
* @attribute
|
|
*/
|
|
readonly groupId: string;
|
|
/**
|
|
* The ARN of the group
|
|
* @attribute
|
|
*/
|
|
readonly groupArn: string;
|
|
/**
|
|
* The name of the group
|
|
* @attribute
|
|
*/
|
|
get groupName(): string;
|
|
/**
|
|
* A reference to the group.
|
|
*/
|
|
get groupRef(): GroupReference;
|
|
private readonly _resource;
|
|
private readonly _canaries;
|
|
constructor(scope: Construct, id: string, props?: GroupProps);
|
|
/**
|
|
* Add a canary to this group
|
|
*
|
|
* @param canary The canary to add to the group [disable-awslint:prefer-ref-interface]
|
|
*/
|
|
addCanary(canary: ICanary): void;
|
|
/**
|
|
* Get all canaries associated with this group
|
|
*/
|
|
get canaries(): ICanary[];
|
|
}
|