1. Packages
  2. Heroku Provider
  3. API Docs
  4. space
  5. VpnConnection
Heroku v1.0.4 published on Tuesday, Apr 8, 2025 by pulumiverse - Marcel Arns

heroku.space.VpnConnection

Explore with Pulumi AI

heroku logo
Heroku v1.0.4 published on Tuesday, Apr 8, 2025 by pulumiverse - Marcel Arns

    Provides a resource for creating a VPN connection between a network and a Heroku Private Space. For more information, see Private Spaces VPN Connection in the Heroku DevCenter.

    Example Usage

    // Create a new Heroku space
    resource "heroku_space" "default" {
      name         = "test-space"
      organization = "my-company"
      region       = "virginia"
    }
    
    // Connect the Heroku space to another network with a VPN
    resource "heroku_space_vpn_connection" "office" {
      name           = "office"
      space          = heroku_space.default.id
      public_ip      = "203.0.113.1"
      routable_cidrs = ["192.168.1.0/24"]
    }
    

    Create VpnConnection Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new VpnConnection(name: string, args: VpnConnectionArgs, opts?: CustomResourceOptions);
    @overload
    def VpnConnection(resource_name: str,
                      args: VpnConnectionArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def VpnConnection(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      public_ip: Optional[str] = None,
                      routable_cidrs: Optional[Sequence[str]] = None,
                      space: Optional[str] = None,
                      name: Optional[str] = None,
                      tunnels: Optional[Sequence[VpnConnectionTunnelArgs]] = None)
    func NewVpnConnection(ctx *Context, name string, args VpnConnectionArgs, opts ...ResourceOption) (*VpnConnection, error)
    public VpnConnection(string name, VpnConnectionArgs args, CustomResourceOptions? opts = null)
    public VpnConnection(String name, VpnConnectionArgs args)
    public VpnConnection(String name, VpnConnectionArgs args, CustomResourceOptions options)
    
    type: heroku:space:VpnConnection
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args VpnConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args VpnConnectionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args VpnConnectionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args VpnConnectionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args VpnConnectionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var vpnConnectionResource = new Heroku.Space.VpnConnection("vpnConnectionResource", new()
    {
        PublicIp = "string",
        RoutableCidrs = new[]
        {
            "string",
        },
        Space = "string",
        Name = "string",
        Tunnels = new[]
        {
            new Heroku.Space.Inputs.VpnConnectionTunnelArgs
            {
                Ip = "string",
                PreSharedKey = "string",
            },
        },
    });
    
    example, err := space.NewVpnConnection(ctx, "vpnConnectionResource", &space.VpnConnectionArgs{
    	PublicIp: pulumi.String("string"),
    	RoutableCidrs: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Space: pulumi.String("string"),
    	Name:  pulumi.String("string"),
    	Tunnels: space.VpnConnectionTunnelArray{
    		&space.VpnConnectionTunnelArgs{
    			Ip:           pulumi.String("string"),
    			PreSharedKey: pulumi.String("string"),
    		},
    	},
    })
    
    var vpnConnectionResource = new VpnConnection("vpnConnectionResource", VpnConnectionArgs.builder()
        .publicIp("string")
        .routableCidrs("string")
        .space("string")
        .name("string")
        .tunnels(VpnConnectionTunnelArgs.builder()
            .ip("string")
            .preSharedKey("string")
            .build())
        .build());
    
    vpn_connection_resource = heroku.space.VpnConnection("vpnConnectionResource",
        public_ip="string",
        routable_cidrs=["string"],
        space="string",
        name="string",
        tunnels=[{
            "ip": "string",
            "pre_shared_key": "string",
        }])
    
    const vpnConnectionResource = new heroku.space.VpnConnection("vpnConnectionResource", {
        publicIp: "string",
        routableCidrs: ["string"],
        space: "string",
        name: "string",
        tunnels: [{
            ip: "string",
            preSharedKey: "string",
        }],
    });
    
    type: heroku:space:VpnConnection
    properties:
        name: string
        publicIp: string
        routableCidrs:
            - string
        space: string
        tunnels:
            - ip: string
              preSharedKey: string
    

    VpnConnection Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The VpnConnection resource accepts the following input properties:

    PublicIp string
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    RoutableCidrs List<string>
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    Space string
    The ID of the Heroku Private Space where the VPN connection will be established.
    Name string
    The name of the VPN connection.
    Tunnels List<Pulumiverse.Heroku.Space.Inputs.VpnConnectionTunnel>
    Details about each VPN tunnel endpoint.
    PublicIp string
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    RoutableCidrs []string
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    Space string
    The ID of the Heroku Private Space where the VPN connection will be established.
    Name string
    The name of the VPN connection.
    Tunnels []VpnConnectionTunnelArgs
    Details about each VPN tunnel endpoint.
    publicIp String
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routableCidrs List<String>
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space String
    The ID of the Heroku Private Space where the VPN connection will be established.
    name String
    The name of the VPN connection.
    tunnels List<VpnConnectionTunnel>
    Details about each VPN tunnel endpoint.
    publicIp string
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routableCidrs string[]
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space string
    The ID of the Heroku Private Space where the VPN connection will be established.
    name string
    The name of the VPN connection.
    tunnels VpnConnectionTunnel[]
    Details about each VPN tunnel endpoint.
    public_ip str
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routable_cidrs Sequence[str]
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space str
    The ID of the Heroku Private Space where the VPN connection will be established.
    name str
    The name of the VPN connection.
    tunnels Sequence[VpnConnectionTunnelArgs]
    Details about each VPN tunnel endpoint.
    publicIp String
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routableCidrs List<String>
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space String
    The ID of the Heroku Private Space where the VPN connection will be established.
    name String
    The name of the VPN connection.
    tunnels List<Property Map>
    Details about each VPN tunnel endpoint.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the VpnConnection resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    IkeVersion int
    The IKE version used to setup the IPsec tunnel.
    SpaceCidrBlock string
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    Id string
    The provider-assigned unique ID for this managed resource.
    IkeVersion int
    The IKE version used to setup the IPsec tunnel.
    SpaceCidrBlock string
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    id String
    The provider-assigned unique ID for this managed resource.
    ikeVersion Integer
    The IKE version used to setup the IPsec tunnel.
    spaceCidrBlock String
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    id string
    The provider-assigned unique ID for this managed resource.
    ikeVersion number
    The IKE version used to setup the IPsec tunnel.
    spaceCidrBlock string
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    id str
    The provider-assigned unique ID for this managed resource.
    ike_version int
    The IKE version used to setup the IPsec tunnel.
    space_cidr_block str
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    id String
    The provider-assigned unique ID for this managed resource.
    ikeVersion Number
    The IKE version used to setup the IPsec tunnel.
    spaceCidrBlock String
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.

    Look up Existing VpnConnection Resource

    Get an existing VpnConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: VpnConnectionState, opts?: CustomResourceOptions): VpnConnection
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            ike_version: Optional[int] = None,
            name: Optional[str] = None,
            public_ip: Optional[str] = None,
            routable_cidrs: Optional[Sequence[str]] = None,
            space: Optional[str] = None,
            space_cidr_block: Optional[str] = None,
            tunnels: Optional[Sequence[VpnConnectionTunnelArgs]] = None) -> VpnConnection
    func GetVpnConnection(ctx *Context, name string, id IDInput, state *VpnConnectionState, opts ...ResourceOption) (*VpnConnection, error)
    public static VpnConnection Get(string name, Input<string> id, VpnConnectionState? state, CustomResourceOptions? opts = null)
    public static VpnConnection get(String name, Output<String> id, VpnConnectionState state, CustomResourceOptions options)
    resources:  _:    type: heroku:space:VpnConnection    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    IkeVersion int
    The IKE version used to setup the IPsec tunnel.
    Name string
    The name of the VPN connection.
    PublicIp string
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    RoutableCidrs List<string>
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    Space string
    The ID of the Heroku Private Space where the VPN connection will be established.
    SpaceCidrBlock string
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    Tunnels List<Pulumiverse.Heroku.Space.Inputs.VpnConnectionTunnel>
    Details about each VPN tunnel endpoint.
    IkeVersion int
    The IKE version used to setup the IPsec tunnel.
    Name string
    The name of the VPN connection.
    PublicIp string
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    RoutableCidrs []string
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    Space string
    The ID of the Heroku Private Space where the VPN connection will be established.
    SpaceCidrBlock string
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    Tunnels []VpnConnectionTunnelArgs
    Details about each VPN tunnel endpoint.
    ikeVersion Integer
    The IKE version used to setup the IPsec tunnel.
    name String
    The name of the VPN connection.
    publicIp String
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routableCidrs List<String>
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space String
    The ID of the Heroku Private Space where the VPN connection will be established.
    spaceCidrBlock String
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    tunnels List<VpnConnectionTunnel>
    Details about each VPN tunnel endpoint.
    ikeVersion number
    The IKE version used to setup the IPsec tunnel.
    name string
    The name of the VPN connection.
    publicIp string
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routableCidrs string[]
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space string
    The ID of the Heroku Private Space where the VPN connection will be established.
    spaceCidrBlock string
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    tunnels VpnConnectionTunnel[]
    Details about each VPN tunnel endpoint.
    ike_version int
    The IKE version used to setup the IPsec tunnel.
    name str
    The name of the VPN connection.
    public_ip str
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routable_cidrs Sequence[str]
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space str
    The ID of the Heroku Private Space where the VPN connection will be established.
    space_cidr_block str
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    tunnels Sequence[VpnConnectionTunnelArgs]
    Details about each VPN tunnel endpoint.
    ikeVersion Number
    The IKE version used to setup the IPsec tunnel.
    name String
    The name of the VPN connection.
    publicIp String
    The public IP address of the VPN endpoint on the network where the VPN connection will be established.
    routableCidrs List<String>
    A list of IPv4 CIDR blocks used by the network where the VPN connection will be established.
    space String
    The ID of the Heroku Private Space where the VPN connection will be established.
    spaceCidrBlock String
    The CIDR block for the Heroku Private Space. The network where the VPN will be established should be configured to route traffic destined for this CIDR block over the VPN link.
    tunnels List<Property Map>
    Details about each VPN tunnel endpoint.

    Supporting Types

    VpnConnectionTunnel, VpnConnectionTunnelArgs

    Ip string
    The public IP address of the tunnel.
    PreSharedKey string
    The pre-shared IPSec secret for the tunnel.
    Ip string
    The public IP address of the tunnel.
    PreSharedKey string
    The pre-shared IPSec secret for the tunnel.
    ip String
    The public IP address of the tunnel.
    preSharedKey String
    The pre-shared IPSec secret for the tunnel.
    ip string
    The public IP address of the tunnel.
    preSharedKey string
    The pre-shared IPSec secret for the tunnel.
    ip str
    The public IP address of the tunnel.
    pre_shared_key str
    The pre-shared IPSec secret for the tunnel.
    ip String
    The public IP address of the tunnel.
    preSharedKey String
    The pre-shared IPSec secret for the tunnel.

    Package Details

    Repository
    heroku pulumiverse/pulumi-heroku
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the heroku Terraform Provider.
    heroku logo
    Heroku v1.0.4 published on Tuesday, Apr 8, 2025 by pulumiverse - Marcel Arns