import * as pulumi from "@pulumi/pulumi"; /** * Provides a resource, that manages GRE tunnels for Magic Transit. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const example = new cloudflare.GreTunnel("example", { * accountId: "c4a7362d577a6c3019a474fd6f485821", * cloudflareGreEndpoint: "203.0.113.1", * customerGreEndpoint: "203.0.113.1", * description: "Tunnel for ISP X", * healthCheckEnabled: true, * healthCheckTarget: "203.0.113.1", * healthCheckType: "reply", * interfaceAddress: "192.0.2.0/31", * mtu: 1476, * name: "GRE_1", * ttl: 64, * }); * ``` * * ## Import * * An existing GRE tunnel can be imported using the account ID and tunnel ID * * ```sh * $ pulumi import cloudflare:index/greTunnel:GreTunnel example d41d8cd98f00b204e9800998ecf8427e/cb029e245cfdd66dc8d2e570d5dd3322 * ``` */ export declare class GreTunnel extends pulumi.CustomResource { /** * Get an existing GreTunnel resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: GreTunnelState, opts?: pulumi.CustomResourceOptions): GreTunnel; /** * Returns true if the given object is an instance of GreTunnel. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is GreTunnel; /** * The ID of the account where the tunnel is being created. */ readonly accountId: pulumi.Output; /** * The IP address assigned to the Cloudflare side of the GRE tunnel. */ readonly cloudflareGreEndpoint: pulumi.Output; /** * The IP address assigned to the customer side of the GRE tunnel. */ readonly customerGreEndpoint: pulumi.Output; /** * An optional description of the GRE tunnel. */ readonly description: pulumi.Output; /** * Specifies if ICMP tunnel health checks are enabled Default: `true`. */ readonly healthCheckEnabled: pulumi.Output; /** * The IP address of the customer endpoint that will receive tunnel health checks. Default: ``. */ readonly healthCheckTarget: pulumi.Output; /** * Specifies the ICMP echo type for the health check (`request` or `reply`) Default: `reply`. */ readonly healthCheckType: pulumi.Output; /** * 31-bit prefix (/31 in CIDR notation) supporting 2 hosts, one for each side of the tunnel. */ readonly interfaceAddress: pulumi.Output; /** * Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. Maximum value 1476 and minimum value 576. Default: `1476`. */ readonly mtu: pulumi.Output; /** * Name of the GRE tunnel. */ readonly name: pulumi.Output; /** * Time To Live (TTL) in number of hops of the GRE tunnel. Minimum value 64. Default: `64`. */ readonly ttl: pulumi.Output; /** * Create a GreTunnel resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: GreTunnelArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering GreTunnel resources. */ export interface GreTunnelState { /** * The ID of the account where the tunnel is being created. */ accountId?: pulumi.Input; /** * The IP address assigned to the Cloudflare side of the GRE tunnel. */ cloudflareGreEndpoint?: pulumi.Input; /** * The IP address assigned to the customer side of the GRE tunnel. */ customerGreEndpoint?: pulumi.Input; /** * An optional description of the GRE tunnel. */ description?: pulumi.Input; /** * Specifies if ICMP tunnel health checks are enabled Default: `true`. */ healthCheckEnabled?: pulumi.Input; /** * The IP address of the customer endpoint that will receive tunnel health checks. Default: ``. */ healthCheckTarget?: pulumi.Input; /** * Specifies the ICMP echo type for the health check (`request` or `reply`) Default: `reply`. */ healthCheckType?: pulumi.Input; /** * 31-bit prefix (/31 in CIDR notation) supporting 2 hosts, one for each side of the tunnel. */ interfaceAddress?: pulumi.Input; /** * Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. Maximum value 1476 and minimum value 576. Default: `1476`. */ mtu?: pulumi.Input; /** * Name of the GRE tunnel. */ name?: pulumi.Input; /** * Time To Live (TTL) in number of hops of the GRE tunnel. Minimum value 64. Default: `64`. */ ttl?: pulumi.Input; } /** * The set of arguments for constructing a GreTunnel resource. */ export interface GreTunnelArgs { /** * The ID of the account where the tunnel is being created. */ accountId?: pulumi.Input; /** * The IP address assigned to the Cloudflare side of the GRE tunnel. */ cloudflareGreEndpoint: pulumi.Input; /** * The IP address assigned to the customer side of the GRE tunnel. */ customerGreEndpoint: pulumi.Input; /** * An optional description of the GRE tunnel. */ description?: pulumi.Input; /** * Specifies if ICMP tunnel health checks are enabled Default: `true`. */ healthCheckEnabled?: pulumi.Input; /** * The IP address of the customer endpoint that will receive tunnel health checks. Default: ``. */ healthCheckTarget?: pulumi.Input; /** * Specifies the ICMP echo type for the health check (`request` or `reply`) Default: `reply`. */ healthCheckType?: pulumi.Input; /** * 31-bit prefix (/31 in CIDR notation) supporting 2 hosts, one for each side of the tunnel. */ interfaceAddress: pulumi.Input; /** * Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. Maximum value 1476 and minimum value 576. Default: `1476`. */ mtu?: pulumi.Input; /** * Name of the GRE tunnel. */ name: pulumi.Input; /** * Time To Live (TTL) in number of hops of the GRE tunnel. Minimum value 64. Default: `64`. */ ttl?: pulumi.Input; }