heroku.space.VpnConnection
Explore with Pulumi AI
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:
- Public
Ip string - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- Routable
Cidrs 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. Vpn Connection Tunnel> - Details about each VPN tunnel endpoint.
- Public
Ip string - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- Routable
Cidrs []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
[]Vpn
Connection Tunnel Args - Details about each VPN tunnel endpoint.
- public
Ip String - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- routable
Cidrs 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<Vpn
Connection Tunnel> - Details about each VPN tunnel endpoint.
- public
Ip string - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- routable
Cidrs 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
Vpn
Connection Tunnel[] - 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[Vpn
Connection Tunnel Args] - Details about each VPN tunnel endpoint.
- public
Ip String - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- routable
Cidrs 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.
- Ike
Version int - The IKE version used to setup the IPsec tunnel.
- Space
Cidr stringBlock - 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.
- Ike
Version int - The IKE version used to setup the IPsec tunnel.
- Space
Cidr stringBlock - 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.
- ike
Version Integer - The IKE version used to setup the IPsec tunnel.
- space
Cidr StringBlock - 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.
- ike
Version number - The IKE version used to setup the IPsec tunnel.
- space
Cidr stringBlock - 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_ strblock - 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.
- ike
Version Number - The IKE version used to setup the IPsec tunnel.
- space
Cidr StringBlock - 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.
- Ike
Version int - The IKE version used to setup the IPsec tunnel.
- Name string
- The name of the VPN connection.
- Public
Ip string - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- Routable
Cidrs 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.
- Space
Cidr stringBlock - 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. Vpn Connection Tunnel> - Details about each VPN tunnel endpoint.
- Ike
Version int - The IKE version used to setup the IPsec tunnel.
- Name string
- The name of the VPN connection.
- Public
Ip string - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- Routable
Cidrs []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.
- Space
Cidr stringBlock - 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
[]Vpn
Connection Tunnel Args - Details about each VPN tunnel endpoint.
- ike
Version Integer - The IKE version used to setup the IPsec tunnel.
- name String
- The name of the VPN connection.
- public
Ip String - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- routable
Cidrs 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.
- space
Cidr StringBlock - 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<Vpn
Connection Tunnel> - Details about each VPN tunnel endpoint.
- ike
Version number - The IKE version used to setup the IPsec tunnel.
- name string
- The name of the VPN connection.
- public
Ip string - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- routable
Cidrs 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.
- space
Cidr stringBlock - 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
Vpn
Connection Tunnel[] - 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_ strblock - 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[Vpn
Connection Tunnel Args] - Details about each VPN tunnel endpoint.
- ike
Version Number - The IKE version used to setup the IPsec tunnel.
- name String
- The name of the VPN connection.
- public
Ip String - The public IP address of the VPN endpoint on the network where the VPN connection will be established.
- routable
Cidrs 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.
- space
Cidr StringBlock - 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.
- string
- The pre-shared IPSec secret for the tunnel.
- Ip string
- The public IP address of the tunnel.
- string
- The pre-shared IPSec secret for the tunnel.
- ip String
- The public IP address of the tunnel.
- String
- The pre-shared IPSec secret for the tunnel.
- ip string
- The public IP address of the tunnel.
- string
- The pre-shared IPSec secret for the tunnel.
- ip str
- The public IP address of the tunnel.
- str
- The pre-shared IPSec secret for the tunnel.
- ip String
- The public IP address of the tunnel.
- 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.