import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as upcloud from "@upcloud/pulumi-upcloud"; * * const _this = new upcloud.Router("this", {name: "gateway-example-router"}); * const thisNetwork = new upcloud.Network("this", { * name: "gateway-example-net", * zone: "pl-waw1", * ipNetwork: { * address: "172.16.2.0/24", * dhcp: true, * family: "IPv4", * }, * router: _this.id, * }); * const thisGateway = new upcloud.Gateway("this", { * name: "gateway-example-gw", * zone: "pl-waw1", * features: ["vpn"], * plan: "advanced", * router: { * id: _this.id, * }, * }); * const thisGatewayConnection = new upcloud.GatewayConnection("this", { * gateway: thisGateway.id, * name: "test-connection", * type: "ipsec", * localRoutes: [{ * name: "local-route", * type: "static", * staticNetwork: "10.123.123.0/24", * }], * remoteRoutes: [{ * name: "remote-route", * type: "static", * staticNetwork: "100.123.123.0/24", * }], * }); * ``` */ export declare class GatewayConnection extends pulumi.CustomResource { /** * Get an existing GatewayConnection 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?: GatewayConnectionState, opts?: pulumi.CustomResourceOptions): GatewayConnection; /** * Returns true if the given object is an instance of GatewayConnection. 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 GatewayConnection; /** * The ID of the upcloud.Gateway resource to which the connection belongs. */ readonly gateway: pulumi.Output; /** * Route for the UpCloud side of the network. */ readonly localRoutes: pulumi.Output; /** * The name of the connection, should be unique within the gateway. */ readonly name: pulumi.Output; /** * Route for the remote side of the network. */ readonly remoteRoutes: pulumi.Output; /** * List of connection's tunnels names. Note that this field can have outdated information as connections are created by a separate resource. To make sure that you have the most recent data run 'terrafrom refresh'. */ readonly tunnels: pulumi.Output; /** * The type of the connection; currently the only supported type is 'ipsec'. */ readonly type: pulumi.Output; /** * The UUID of the connection */ readonly uuid: pulumi.Output; /** * Create a GatewayConnection 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: GatewayConnectionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering GatewayConnection resources. */ export interface GatewayConnectionState { /** * The ID of the upcloud.Gateway resource to which the connection belongs. */ gateway?: pulumi.Input; /** * Route for the UpCloud side of the network. */ localRoutes?: pulumi.Input[]>; /** * The name of the connection, should be unique within the gateway. */ name?: pulumi.Input; /** * Route for the remote side of the network. */ remoteRoutes?: pulumi.Input[]>; /** * List of connection's tunnels names. Note that this field can have outdated information as connections are created by a separate resource. To make sure that you have the most recent data run 'terrafrom refresh'. */ tunnels?: pulumi.Input[]>; /** * The type of the connection; currently the only supported type is 'ipsec'. */ type?: pulumi.Input; /** * The UUID of the connection */ uuid?: pulumi.Input; } /** * The set of arguments for constructing a GatewayConnection resource. */ export interface GatewayConnectionArgs { /** * The ID of the upcloud.Gateway resource to which the connection belongs. */ gateway: pulumi.Input; /** * Route for the UpCloud side of the network. */ localRoutes?: pulumi.Input[]>; /** * The name of the connection, should be unique within the gateway. */ name?: pulumi.Input; /** * Route for the remote side of the network. */ remoteRoutes?: pulumi.Input[]>; /** * The type of the connection; currently the only supported type is 'ipsec'. */ type?: pulumi.Input; }