import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { IMonitorRef, IScopeRef, MonitorReference, ScopeReference } 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; } /** * Resource Type definition for AWS::NetworkFlowMonitor::Scope. * * Creates a scope to define the resources that Network Flow Monitor monitors for network performance. * * @cloudformationResource AWS::NetworkFlowMonitor::Scope * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-scope.html */ export declare class CfnScope extends cdk.CfnResource implements cdk.IInspectable, IScopeRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnScope 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): CfnScope; /** * Checks whether the given object is a CfnScope */ static isCfnScope(x: any): x is CfnScope; static arnForScope(resource: IScopeRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The tags for the scope. */ private _tags?; /** * The targets for the scope. */ private _targets; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::NetworkFlowMonitor::Scope`. * * @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: CfnScopeProps); get scopeRef(): ScopeReference; /** * The tags for the scope. */ get tags(): Array | undefined; /** * The tags for the scope. */ set tags(value: Array | undefined); /** * The targets for the scope. */ get targets(): Array | cdk.IResolvable; /** * The targets for the scope. */ set targets(value: Array | cdk.IResolvable); /** * The Amazon Resource Name (ARN) of the scope. * * @cloudformationAttribute ScopeArn */ get attrScopeArn(): string; /** * The identifier for the scope. * * @cloudformationAttribute ScopeId */ get attrScopeId(): string; /** * The status of the scope. * * @cloudformationAttribute Status */ get attrStatus(): 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 CfnScope { /** * A target resource in a scope, identified by a Region and target identifier. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetresource.html */ interface TargetResourceProperty { /** * The AWS Region for the target resource. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetresource.html#cfn-networkflowmonitor-scope-targetresource-region */ readonly region: string; /** * A target identifier is a pair of identifying information for a scope target. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetresource.html#cfn-networkflowmonitor-scope-targetresource-targetidentifier */ readonly targetIdentifier: cdk.IResolvable | CfnScope.TargetIdentifierProperty; } /** * A target identifier is a pair of identifying information for a scope target. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetidentifier.html */ interface TargetIdentifierProperty { /** * A target ID is an internally-generated identifier for a target. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetidentifier.html#cfn-networkflowmonitor-scope-targetidentifier-targetid */ readonly targetId: cdk.IResolvable | CfnScope.TargetIdProperty; /** * The type of the target. * * Currently always ACCOUNT. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetidentifier.html#cfn-networkflowmonitor-scope-targetidentifier-targettype */ readonly targetType: string; } /** * A target ID is an internally-generated identifier for a target. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetid.html */ interface TargetIdProperty { /** * The account ID for the target. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkflowmonitor-scope-targetid.html#cfn-networkflowmonitor-scope-targetid-accountid */ readonly accountId: string; } } /** * Properties for defining a `CfnScope` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-scope.html */ export interface CfnScopeProps { /** * The tags for the scope. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-scope.html#cfn-networkflowmonitor-scope-tags */ readonly tags?: Array; /** * The targets for the scope. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-networkflowmonitor-scope.html#cfn-networkflowmonitor-scope-targets */ readonly targets: Array | cdk.IResolvable; } export type { IMonitorRef, MonitorReference }; export type { IScopeRef, ScopeReference };