import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ITunnelRef, TunnelReference } from "../../interfaces/generated/aws-iotsecuretunneling-interfaces.generated"; /** * A connection between a source computer and a destination device using AWS IoT Secure Tunneling. * * @cloudformationResource AWS::IoTSecureTunneling::Tunnel * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsecuretunneling-tunnel.html */ export declare class CfnTunnel extends cdk.CfnResource implements cdk.IInspectable, ITunnelRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnTunnel 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): CfnTunnel; /** * Checks whether the given object is a CfnTunnel */ static isCfnTunnel(x: any): x is CfnTunnel; static arnForTunnel(resource: ITunnelRef): string; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * A short text description of the tunnel. */ private _description?; /** * The destination configuration. */ private _destinationConfig?; /** * A collection of tag metadata. */ private _tags?; /** * Tunnel timeout configuration. */ private _timeoutConfig?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::IoTSecureTunneling::Tunnel`. * * @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?: CfnTunnelProps); get tunnelRef(): TunnelReference; /** * A short text description of the tunnel. */ get description(): string | undefined; /** * A short text description of the tunnel. */ set description(value: string | undefined); /** * The destination configuration. */ get destinationConfig(): CfnTunnel.DestinationConfigProperty | cdk.IResolvable | undefined; /** * The destination configuration. */ set destinationConfig(value: CfnTunnel.DestinationConfigProperty | cdk.IResolvable | undefined); /** * A collection of tag metadata. */ get tags(): Array | undefined; /** * A collection of tag metadata. */ set tags(value: Array | undefined); /** * Tunnel timeout configuration. */ get timeoutConfig(): cdk.IResolvable | CfnTunnel.TimeoutConfigProperty | undefined; /** * Tunnel timeout configuration. */ set timeoutConfig(value: cdk.IResolvable | CfnTunnel.TimeoutConfigProperty | undefined); /** * The status of the tunnel. Valid values are OPEN and CLOSED. * * @cloudformationAttribute Status */ get attrStatus(): string; /** * The Amazon Resource Name (ARN) of the tunnel. * * @cloudformationAttribute TunnelArn */ get attrTunnelArn(): string; /** * A unique alpha-numeric tunnel ID. * * @cloudformationAttribute TunnelId */ get attrTunnelId(): 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 CfnTunnel { /** * The destination configuration. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsecuretunneling-tunnel-destinationconfig.html */ interface DestinationConfigProperty { /** * A list of service names that identify the target application. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsecuretunneling-tunnel-destinationconfig.html#cfn-iotsecuretunneling-tunnel-destinationconfig-services */ readonly services: Array; /** * The name of the IoT thing to which you want to connect. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsecuretunneling-tunnel-destinationconfig.html#cfn-iotsecuretunneling-tunnel-destinationconfig-thingname */ readonly thingName?: string; } /** * Tunnel timeout configuration. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsecuretunneling-tunnel-timeoutconfig.html */ interface TimeoutConfigProperty { /** * The maximum amount of time (in minutes) a tunnel can remain open. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotsecuretunneling-tunnel-timeoutconfig.html#cfn-iotsecuretunneling-tunnel-timeoutconfig-maxlifetimetimeoutminutes */ readonly maxLifetimeTimeoutMinutes?: number; } } /** * Properties for defining a `CfnTunnel` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsecuretunneling-tunnel.html */ export interface CfnTunnelProps { /** * A short text description of the tunnel. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsecuretunneling-tunnel.html#cfn-iotsecuretunneling-tunnel-description */ readonly description?: string; /** * The destination configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsecuretunneling-tunnel.html#cfn-iotsecuretunneling-tunnel-destinationconfig */ readonly destinationConfig?: CfnTunnel.DestinationConfigProperty | cdk.IResolvable; /** * A collection of tag metadata. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsecuretunneling-tunnel.html#cfn-iotsecuretunneling-tunnel-tags */ readonly tags?: Array; /** * Tunnel timeout configuration. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iotsecuretunneling-tunnel.html#cfn-iotsecuretunneling-tunnel-timeoutconfig */ readonly timeoutConfig?: cdk.IResolvable | CfnTunnel.TimeoutConfigProperty; } export type { ITunnelRef, TunnelReference };