import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { IMonitorRef, MonitorReference } from "../../interfaces/generated/aws-networkflowmonitor-interfaces.generated"; /** * Creates a monitor for specific network flows between local and remote resources to monitor network performance for workloads. * * @cloudformationResource AWS::NetworkFlowMonitor::Monitor * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html */ export declare class CfnMonitor extends cdk.CfnResource implements cdk.IInspectable, IMonitorRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnMonitor from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnMonitor; /** * Checks whether the given object is a CfnMonitor */ static isCfnMonitor(x: any): x is CfnMonitor; static arnForMonitor(resource: IMonitorRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The local resources to monitor. */ private _localResources; /** * The name of the monitor. */ private _monitorName; /** * The remote resources to monitor. */ private _remoteResources?; /** * The Amazon Resource Name (ARN) of the scope for the monitor. */ private _scopeArn?; /** * The tags for the monitor. */ private _tags?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::NetworkFlowMonitor::Monitor`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnMonitorProps); get monitorRef(): MonitorReference; /** * The local resources to monitor. */ get localResources(): Array | cdk.IResolvable; /** * The local resources to monitor. */ set localResources(value: Array | cdk.IResolvable); /** * The name of the monitor. */ get monitorName(): string; /** * The name of the monitor. */ set monitorName(value: string); /** * The remote resources to monitor. */ get remoteResources(): Array | cdk.IResolvable | undefined; /** * The remote resources to monitor. */ set remoteResources(value: Array | cdk.IResolvable | undefined); /** * The Amazon Resource Name (ARN) of the scope for the monitor. */ get scopeArn(): string | undefined; /** * The Amazon Resource Name (ARN) of the scope for the monitor. */ set scopeArn(value: string | undefined); /** * The tags for the monitor. */ get tags(): Array | undefined; /** * The tags for the monitor. */ set tags(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the monitor. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The date and time when the monitor was created. * * @cloudformationAttribute CreatedAt */ get attrCreatedAt(): string; /** * The date and time when the monitor was last modified. * * @cloudformationAttribute ModifiedAt */ get attrModifiedAt(): string; /** * The status of the monitor. * * @cloudformationAttribute MonitorStatus */ get attrMonitorStatus(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnMonitor { /** * A local resource is the host where the agent is installed. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-monitor-monitorlocalresource.html */ interface MonitorLocalResourceProperty { /** * The identifier of the local resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-monitor-monitorlocalresource.html#cfn-networkflowmonitor-monitor-monitorlocalresource-identifier */ readonly identifier: string; /** * The type of the local resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-monitor-monitorlocalresource.html#cfn-networkflowmonitor-monitor-monitorlocalresource-type */ readonly type: string; } /** * A remote resource is the other endpoint in a network flow. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-monitor-monitorremoteresource.html */ interface MonitorRemoteResourceProperty { /** * The identifier of the remote resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-monitor-monitorremoteresource.html#cfn-networkflowmonitor-monitor-monitorremoteresource-identifier */ readonly identifier: string; /** * The type of the remote resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-monitor-monitorremoteresource.html#cfn-networkflowmonitor-monitor-monitorremoteresource-type */ readonly type: string; } } /** * Properties for defining a `CfnMonitor` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html */ export interface CfnMonitorProps { /** * The local resources to monitor. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html#cfn-networkflowmonitor-monitor-localresources */ readonly localResources: Array | cdk.IResolvable; /** * The name of the monitor. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html#cfn-networkflowmonitor-monitor-monitorname */ readonly monitorName: string; /** * The remote resources to monitor. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html#cfn-networkflowmonitor-monitor-remoteresources */ readonly remoteResources?: Array | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of the scope for the monitor. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html#cfn-networkflowmonitor-monitor-scopearn */ readonly scopeArn?: string; /** * The tags for the monitor. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-monitor.html#cfn-networkflowmonitor-monitor-tags */ readonly tags?: Array; } export type { IMonitorRef, MonitorReference };