vpnconnection

package
v0.103.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 16, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

README

stackit_vpn_connection

Refer to the Terraform Registry for docs: stackit_vpn_connection.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewVpnConnectionTunnel1BgpOutputReference_Override

func NewVpnConnectionTunnel1BgpOutputReference_Override(v VpnConnectionTunnel1BgpOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel1OutputReference_Override

func NewVpnConnectionTunnel1OutputReference_Override(v VpnConnectionTunnel1OutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel1PeeringOutputReference_Override

func NewVpnConnectionTunnel1PeeringOutputReference_Override(v VpnConnectionTunnel1PeeringOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel1Phase1OutputReference_Override

func NewVpnConnectionTunnel1Phase1OutputReference_Override(v VpnConnectionTunnel1Phase1OutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel1Phase2OutputReference_Override

func NewVpnConnectionTunnel1Phase2OutputReference_Override(v VpnConnectionTunnel1Phase2OutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel2BgpOutputReference_Override

func NewVpnConnectionTunnel2BgpOutputReference_Override(v VpnConnectionTunnel2BgpOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel2OutputReference_Override

func NewVpnConnectionTunnel2OutputReference_Override(v VpnConnectionTunnel2OutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel2PeeringOutputReference_Override

func NewVpnConnectionTunnel2PeeringOutputReference_Override(v VpnConnectionTunnel2PeeringOutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel2Phase1OutputReference_Override

func NewVpnConnectionTunnel2Phase1OutputReference_Override(v VpnConnectionTunnel2Phase1OutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnectionTunnel2Phase2OutputReference_Override

func NewVpnConnectionTunnel2Phase2OutputReference_Override(v VpnConnectionTunnel2Phase2OutputReference, terraformResource cdktf.IInterpolatingParent, terraformAttribute *string)

func NewVpnConnection_Override

func NewVpnConnection_Override(v VpnConnection, scope constructs.Construct, id *string, config *VpnConnectionConfig)

Create a new {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection stackit_vpn_connection} Resource.

func VpnConnection_GenerateConfigForImport

func VpnConnection_GenerateConfigForImport(scope constructs.Construct, importToId *string, importFromId *string, provider cdktf.TerraformProvider) cdktf.ImportableResource

Generates CDKTF code for importing a VpnConnection resource upon running "cdktf plan <stack-name>".

func VpnConnection_IsConstruct

func VpnConnection_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func VpnConnection_IsTerraformElement

func VpnConnection_IsTerraformElement(x interface{}) *bool

Experimental.

func VpnConnection_IsTerraformResource

func VpnConnection_IsTerraformResource(x interface{}) *bool

Experimental.

func VpnConnection_TfResourceType

func VpnConnection_TfResourceType() *string

Types

type VpnConnection

type VpnConnection interface {
	cdktf.TerraformResource
	// Experimental.
	CdktfStack() cdktf.TerraformStack
	// Experimental.
	Connection() interface{}
	// Experimental.
	SetConnection(val interface{})
	ConnectionId() *string
	// Experimental.
	ConstructNodeMetadata() *map[string]interface{}
	// Experimental.
	Count() interface{}
	// Experimental.
	SetCount(val interface{})
	// Experimental.
	DependsOn() *[]*string
	// Experimental.
	SetDependsOn(val *[]*string)
	DisplayName() *string
	SetDisplayName(val *string)
	DisplayNameInput() *string
	Enabled() interface{}
	SetEnabled(val interface{})
	EnabledInput() interface{}
	// Experimental.
	ForEach() cdktf.ITerraformIterator
	// Experimental.
	SetForEach(val cdktf.ITerraformIterator)
	// Experimental.
	Fqn() *string
	// Experimental.
	FriendlyUniqueId() *string
	GatewayId() *string
	SetGatewayId(val *string)
	GatewayIdInput() *string
	Id() *string
	Labels() *map[string]*string
	SetLabels(val *map[string]*string)
	LabelsInput() *map[string]*string
	// Experimental.
	Lifecycle() *cdktf.TerraformResourceLifecycle
	// Experimental.
	SetLifecycle(val *cdktf.TerraformResourceLifecycle)
	LocalSubnets() *[]*string
	SetLocalSubnets(val *[]*string)
	LocalSubnetsInput() *[]*string
	// The tree node.
	Node() constructs.Node
	ProjectId() *string
	SetProjectId(val *string)
	ProjectIdInput() *string
	// Experimental.
	Provider() cdktf.TerraformProvider
	// Experimental.
	SetProvider(val cdktf.TerraformProvider)
	// Experimental.
	Provisioners() *[]interface{}
	// Experimental.
	SetProvisioners(val *[]interface{})
	// Experimental.
	RawOverrides() interface{}
	Region() *string
	SetRegion(val *string)
	RegionInput() *string
	RemoteSubnets() *[]*string
	SetRemoteSubnets(val *[]*string)
	RemoteSubnetsInput() *[]*string
	StaticRoutes() *[]*string
	SetStaticRoutes(val *[]*string)
	StaticRoutesInput() *[]*string
	// Experimental.
	TerraformGeneratorMetadata() *cdktf.TerraformProviderGeneratorMetadata
	// Experimental.
	TerraformMetaArguments() *map[string]interface{}
	// Experimental.
	TerraformResourceType() *string
	Tunnel1() VpnConnectionTunnel1OutputReference
	Tunnel1Input() interface{}
	Tunnel2() VpnConnectionTunnel2OutputReference
	Tunnel2Input() interface{}
	// Adds a user defined moveTarget string to this resource to be later used in .moveTo(moveTarget) to resolve the location of the move.
	// Experimental.
	AddMoveTarget(moveTarget *string)
	// Experimental.
	AddOverride(path *string, value interface{})
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	HasResourceMove() interface{}
	// Experimental.
	ImportFrom(id *string, provider cdktf.TerraformProvider)
	// Experimental.
	InterpolationForAttribute(terraformAttribute *string) cdktf.IResolvable
	// Move the resource corresponding to "id" to this resource.
	//
	// Note that the resource being moved from must be marked as moved using it's instance function.
	// Experimental.
	MoveFromId(id *string)
	// Moves this resource to the target resource given by moveTarget.
	// Experimental.
	MoveTo(moveTarget *string, index interface{})
	// Moves this resource to the resource corresponding to "id".
	// Experimental.
	MoveToId(id *string)
	// Overrides the auto-generated logical ID with a specific ID.
	// Experimental.
	OverrideLogicalId(newLogicalId *string)
	PutTunnel1(value *VpnConnectionTunnel1)
	PutTunnel2(value *VpnConnectionTunnel2)
	ResetEnabled()
	ResetLabels()
	ResetLocalSubnets()
	// Resets a previously passed logical Id to use the auto-generated logical id again.
	// Experimental.
	ResetOverrideLogicalId()
	ResetRegion()
	ResetRemoteSubnets()
	ResetStaticRoutes()
	SynthesizeAttributes() *map[string]interface{}
	SynthesizeHclAttributes() *map[string]interface{}
	// Experimental.
	ToHclTerraform() interface{}
	// Experimental.
	ToMetadata() interface{}
	// Returns a string representation of this construct.
	ToString() *string
	// Adds this resource to the terraform JSON output.
	// Experimental.
	ToTerraform() interface{}
}

Represents a {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection stackit_vpn_connection}.

type VpnConnectionConfig

type VpnConnectionConfig struct {
	// Experimental.
	Connection interface{} `field:"optional" json:"connection" yaml:"connection"`
	// Experimental.
	Count interface{} `field:"optional" json:"count" yaml:"count"`
	// Experimental.
	DependsOn *[]cdktf.ITerraformDependable `field:"optional" json:"dependsOn" yaml:"dependsOn"`
	// Experimental.
	ForEach cdktf.ITerraformIterator `field:"optional" json:"forEach" yaml:"forEach"`
	// Experimental.
	Lifecycle *cdktf.TerraformResourceLifecycle `field:"optional" json:"lifecycle" yaml:"lifecycle"`
	// Experimental.
	Provider cdktf.TerraformProvider `field:"optional" json:"provider" yaml:"provider"`
	// Experimental.
	Provisioners *[]interface{} `field:"optional" json:"provisioners" yaml:"provisioners"`
	// A user-friendly name for the connection.
	//
	// Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#display_name VpnConnection#display_name}
	DisplayName *string `field:"required" json:"displayName" yaml:"displayName"`
	// The UUID of the parent VPN gateway.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#gateway_id VpnConnection#gateway_id}
	GatewayId *string `field:"required" json:"gatewayId" yaml:"gatewayId"`
	// STACKIT project ID.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#project_id VpnConnection#project_id}
	ProjectId *string `field:"required" json:"projectId" yaml:"projectId"`
	// Configuration for the IPsec tunnel1.
	//
	// ~> Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#tunnel1 VpnConnection#tunnel1}
	Tunnel1 *VpnConnectionTunnel1 `field:"required" json:"tunnel1" yaml:"tunnel1"`
	// Configuration for the IPsec tunnel2.
	//
	// ~> Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#tunnel2 VpnConnection#tunnel2}
	Tunnel2 *VpnConnectionTunnel2 `field:"required" json:"tunnel2" yaml:"tunnel2"`
	// Whether this connection is enabled. Defaults to true.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#enabled VpnConnection#enabled}
	Enabled interface{} `field:"optional" json:"enabled" yaml:"enabled"`
	// Map of custom labels.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#labels VpnConnection#labels}
	Labels *map[string]*string `field:"optional" json:"labels" yaml:"labels"`
	// List of local IPv4 CIDRs to route through this connection.
	//
	// Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#local_subnets VpnConnection#local_subnets}
	LocalSubnets *[]*string `field:"optional" json:"localSubnets" yaml:"localSubnets"`
	// STACKIT region.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#region VpnConnection#region}
	Region *string `field:"optional" json:"region" yaml:"region"`
	// List of remote IPv4 CIDRs accessible via this connection.
	//
	// Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_subnets VpnConnection#remote_subnets}
	RemoteSubnets *[]*string `field:"optional" json:"remoteSubnets" yaml:"remoteSubnets"`
	// List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#static_routes VpnConnection#static_routes}
	StaticRoutes *[]*string `field:"optional" json:"staticRoutes" yaml:"staticRoutes"`
}

type VpnConnectionTunnel1

type VpnConnectionTunnel1 struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#phase1 VpnConnection#phase1}.
	Phase1 *VpnConnectionTunnel1Phase1 `field:"required" json:"phase1" yaml:"phase1"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#phase2 VpnConnection#phase2}.
	Phase2 *VpnConnectionTunnel1Phase2 `field:"required" json:"phase2" yaml:"phase2"`
	// Remote IPv4 address for the tunnel endpoint.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_address VpnConnection#remote_address}
	RemoteAddress *string `field:"required" json:"remoteAddress" yaml:"remoteAddress"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#bgp VpnConnection#bgp}.
	Bgp *VpnConnectionTunnel1Bgp `field:"optional" json:"bgp" yaml:"bgp"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#peering VpnConnection#peering}.
	Peering *VpnConnectionTunnel1Peering `field:"optional" json:"peering" yaml:"peering"`
	// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#pre_shared_key VpnConnection#pre_shared_key}
	PreSharedKey *string `field:"optional" json:"preSharedKey" yaml:"preSharedKey"`
	// Pre-shared key for the IPsec tunnel.
	//
	// Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre_shared_key_wo_version. Changing this field alone will NOT trigger an update.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#pre_shared_key_wo VpnConnection#pre_shared_key_wo}
	PreSharedKeyWo *string `field:"optional" json:"preSharedKeyWo" yaml:"preSharedKeyWo"`
	// User-managed rotation counter for the pre-shared key.
	//
	// Must be incremented every time pre_shared_key_wo is changed. Terraform diffs this field to detect key rotations - changing pre_shared_key_wo alone will NOT trigger an update because it is write-only and never stored in state.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#pre_shared_key_wo_version VpnConnection#pre_shared_key_wo_version}
	PreSharedKeyWoVersion *float64 `field:"optional" json:"preSharedKeyWoVersion" yaml:"preSharedKeyWoVersion"`
}

type VpnConnectionTunnel1Bgp

type VpnConnectionTunnel1Bgp struct {
	// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_asn VpnConnection#remote_asn}
	RemoteAsn *float64 `field:"required" json:"remoteAsn" yaml:"remoteAsn"`
}

type VpnConnectionTunnel1BgpOutputReference

type VpnConnectionTunnel1BgpOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	RemoteAsn() *float64
	SetRemoteAsn(val *float64)
	RemoteAsnInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel1BgpOutputReference

func NewVpnConnectionTunnel1BgpOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel1BgpOutputReference

type VpnConnectionTunnel1OutputReference

type VpnConnectionTunnel1OutputReference interface {
	cdktf.ComplexObject
	Bgp() VpnConnectionTunnel1BgpOutputReference
	BgpInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Peering() VpnConnectionTunnel1PeeringOutputReference
	PeeringInput() interface{}
	Phase1() VpnConnectionTunnel1Phase1OutputReference
	Phase1Input() interface{}
	Phase2() VpnConnectionTunnel1Phase2OutputReference
	Phase2Input() interface{}
	PreSharedKey() *string
	SetPreSharedKey(val *string)
	PreSharedKeyInput() *string
	PreSharedKeyWo() *string
	SetPreSharedKeyWo(val *string)
	PreSharedKeyWoInput() *string
	PreSharedKeyWoVersion() *float64
	SetPreSharedKeyWoVersion(val *float64)
	PreSharedKeyWoVersionInput() *float64
	RemoteAddress() *string
	SetRemoteAddress(val *string)
	RemoteAddressInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutBgp(value *VpnConnectionTunnel1Bgp)
	PutPeering(value *VpnConnectionTunnel1Peering)
	PutPhase1(value *VpnConnectionTunnel1Phase1)
	PutPhase2(value *VpnConnectionTunnel1Phase2)
	ResetBgp()
	ResetPeering()
	ResetPreSharedKey()
	ResetPreSharedKeyWo()
	ResetPreSharedKeyWoVersion()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel1OutputReference

func NewVpnConnectionTunnel1OutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel1OutputReference

type VpnConnectionTunnel1Peering

type VpnConnectionTunnel1Peering struct {
	// Local tunnel interface IPv4 address.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#local_address VpnConnection#local_address}
	LocalAddress *string `field:"required" json:"localAddress" yaml:"localAddress"`
	// Remote tunnel interface IPv4 address.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_address VpnConnection#remote_address}
	RemoteAddress *string `field:"required" json:"remoteAddress" yaml:"remoteAddress"`
}

type VpnConnectionTunnel1PeeringOutputReference

type VpnConnectionTunnel1PeeringOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	LocalAddress() *string
	SetLocalAddress(val *string)
	LocalAddressInput() *string
	RemoteAddress() *string
	SetRemoteAddress(val *string)
	RemoteAddressInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel1PeeringOutputReference

func NewVpnConnectionTunnel1PeeringOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel1PeeringOutputReference

type VpnConnectionTunnel1Phase1

type VpnConnectionTunnel1Phase1 struct {
	// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#encryption_algorithms VpnConnection#encryption_algorithms}
	EncryptionAlgorithms *[]*string `field:"required" json:"encryptionAlgorithms" yaml:"encryptionAlgorithms"`
	// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#integrity_algorithms VpnConnection#integrity_algorithms}
	IntegrityAlgorithms *[]*string `field:"required" json:"integrityAlgorithms" yaml:"integrityAlgorithms"`
	// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#dh_groups VpnConnection#dh_groups}
	DhGroups *[]*string `field:"optional" json:"dhGroups" yaml:"dhGroups"`
	// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#rekey_time VpnConnection#rekey_time}
	RekeyTime *float64 `field:"optional" json:"rekeyTime" yaml:"rekeyTime"`
}

type VpnConnectionTunnel1Phase1OutputReference

type VpnConnectionTunnel1Phase1OutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DhGroups() *[]*string
	SetDhGroups(val *[]*string)
	DhGroupsInput() *[]*string
	EncryptionAlgorithms() *[]*string
	SetEncryptionAlgorithms(val *[]*string)
	EncryptionAlgorithmsInput() *[]*string
	// Experimental.
	Fqn() *string
	IntegrityAlgorithms() *[]*string
	SetIntegrityAlgorithms(val *[]*string)
	IntegrityAlgorithmsInput() *[]*string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	RekeyTime() *float64
	SetRekeyTime(val *float64)
	RekeyTimeInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDhGroups()
	ResetRekeyTime()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel1Phase1OutputReference

func NewVpnConnectionTunnel1Phase1OutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel1Phase1OutputReference

type VpnConnectionTunnel1Phase2

type VpnConnectionTunnel1Phase2 struct {
	// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#encryption_algorithms VpnConnection#encryption_algorithms}
	EncryptionAlgorithms *[]*string `field:"required" json:"encryptionAlgorithms" yaml:"encryptionAlgorithms"`
	// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#integrity_algorithms VpnConnection#integrity_algorithms}
	IntegrityAlgorithms *[]*string `field:"required" json:"integrityAlgorithms" yaml:"integrityAlgorithms"`
	// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#dh_groups VpnConnection#dh_groups}
	DhGroups *[]*string `field:"optional" json:"dhGroups" yaml:"dhGroups"`
	// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#dpd_action VpnConnection#dpd_action}
	DpdAction *string `field:"optional" json:"dpdAction" yaml:"dpdAction"`
	// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#rekey_time VpnConnection#rekey_time}
	RekeyTime *float64 `field:"optional" json:"rekeyTime" yaml:"rekeyTime"`
	// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#start_action VpnConnection#start_action}
	StartAction *string `field:"optional" json:"startAction" yaml:"startAction"`
}

type VpnConnectionTunnel1Phase2OutputReference

type VpnConnectionTunnel1Phase2OutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DhGroups() *[]*string
	SetDhGroups(val *[]*string)
	DhGroupsInput() *[]*string
	DpdAction() *string
	SetDpdAction(val *string)
	DpdActionInput() *string
	EncryptionAlgorithms() *[]*string
	SetEncryptionAlgorithms(val *[]*string)
	EncryptionAlgorithmsInput() *[]*string
	// Experimental.
	Fqn() *string
	IntegrityAlgorithms() *[]*string
	SetIntegrityAlgorithms(val *[]*string)
	IntegrityAlgorithmsInput() *[]*string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	RekeyTime() *float64
	SetRekeyTime(val *float64)
	RekeyTimeInput() *float64
	StartAction() *string
	SetStartAction(val *string)
	StartActionInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDhGroups()
	ResetDpdAction()
	ResetRekeyTime()
	ResetStartAction()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel1Phase2OutputReference

func NewVpnConnectionTunnel1Phase2OutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel1Phase2OutputReference

type VpnConnectionTunnel2

type VpnConnectionTunnel2 struct {
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#phase1 VpnConnection#phase1}.
	Phase1 *VpnConnectionTunnel2Phase1 `field:"required" json:"phase1" yaml:"phase1"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#phase2 VpnConnection#phase2}.
	Phase2 *VpnConnectionTunnel2Phase2 `field:"required" json:"phase2" yaml:"phase2"`
	// Remote IPv4 address for the tunnel endpoint.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_address VpnConnection#remote_address}
	RemoteAddress *string `field:"required" json:"remoteAddress" yaml:"remoteAddress"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#bgp VpnConnection#bgp}.
	Bgp *VpnConnectionTunnel2Bgp `field:"optional" json:"bgp" yaml:"bgp"`
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#peering VpnConnection#peering}.
	Peering *VpnConnectionTunnel2Peering `field:"optional" json:"peering" yaml:"peering"`
	// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#pre_shared_key VpnConnection#pre_shared_key}
	PreSharedKey *string `field:"optional" json:"preSharedKey" yaml:"preSharedKey"`
	// Pre-shared key for the IPsec tunnel.
	//
	// Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre_shared_key_wo_version. Changing this field alone will NOT trigger an update.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#pre_shared_key_wo VpnConnection#pre_shared_key_wo}
	PreSharedKeyWo *string `field:"optional" json:"preSharedKeyWo" yaml:"preSharedKeyWo"`
	// User-managed rotation counter for the pre-shared key.
	//
	// Must be incremented every time pre_shared_key_wo is changed. Terraform diffs this field to detect key rotations - changing pre_shared_key_wo alone will NOT trigger an update because it is write-only and never stored in state.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#pre_shared_key_wo_version VpnConnection#pre_shared_key_wo_version}
	PreSharedKeyWoVersion *float64 `field:"optional" json:"preSharedKeyWoVersion" yaml:"preSharedKeyWoVersion"`
}

type VpnConnectionTunnel2Bgp

type VpnConnectionTunnel2Bgp struct {
	// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_asn VpnConnection#remote_asn}
	RemoteAsn *float64 `field:"required" json:"remoteAsn" yaml:"remoteAsn"`
}

type VpnConnectionTunnel2BgpOutputReference

type VpnConnectionTunnel2BgpOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	RemoteAsn() *float64
	SetRemoteAsn(val *float64)
	RemoteAsnInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel2BgpOutputReference

func NewVpnConnectionTunnel2BgpOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel2BgpOutputReference

type VpnConnectionTunnel2OutputReference

type VpnConnectionTunnel2OutputReference interface {
	cdktf.ComplexObject
	Bgp() VpnConnectionTunnel2BgpOutputReference
	BgpInput() interface{}
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	Peering() VpnConnectionTunnel2PeeringOutputReference
	PeeringInput() interface{}
	Phase1() VpnConnectionTunnel2Phase1OutputReference
	Phase1Input() interface{}
	Phase2() VpnConnectionTunnel2Phase2OutputReference
	Phase2Input() interface{}
	PreSharedKey() *string
	SetPreSharedKey(val *string)
	PreSharedKeyInput() *string
	PreSharedKeyWo() *string
	SetPreSharedKeyWo(val *string)
	PreSharedKeyWoInput() *string
	PreSharedKeyWoVersion() *float64
	SetPreSharedKeyWoVersion(val *float64)
	PreSharedKeyWoVersionInput() *float64
	RemoteAddress() *string
	SetRemoteAddress(val *string)
	RemoteAddressInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	PutBgp(value *VpnConnectionTunnel2Bgp)
	PutPeering(value *VpnConnectionTunnel2Peering)
	PutPhase1(value *VpnConnectionTunnel2Phase1)
	PutPhase2(value *VpnConnectionTunnel2Phase2)
	ResetBgp()
	ResetPeering()
	ResetPreSharedKey()
	ResetPreSharedKeyWo()
	ResetPreSharedKeyWoVersion()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel2OutputReference

func NewVpnConnectionTunnel2OutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel2OutputReference

type VpnConnectionTunnel2Peering

type VpnConnectionTunnel2Peering struct {
	// Local tunnel interface IPv4 address.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#local_address VpnConnection#local_address}
	LocalAddress *string `field:"required" json:"localAddress" yaml:"localAddress"`
	// Remote tunnel interface IPv4 address.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#remote_address VpnConnection#remote_address}
	RemoteAddress *string `field:"required" json:"remoteAddress" yaml:"remoteAddress"`
}

type VpnConnectionTunnel2PeeringOutputReference

type VpnConnectionTunnel2PeeringOutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	// Experimental.
	Fqn() *string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	LocalAddress() *string
	SetLocalAddress(val *string)
	LocalAddressInput() *string
	RemoteAddress() *string
	SetRemoteAddress(val *string)
	RemoteAddressInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel2PeeringOutputReference

func NewVpnConnectionTunnel2PeeringOutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel2PeeringOutputReference

type VpnConnectionTunnel2Phase1

type VpnConnectionTunnel2Phase1 struct {
	// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#encryption_algorithms VpnConnection#encryption_algorithms}
	EncryptionAlgorithms *[]*string `field:"required" json:"encryptionAlgorithms" yaml:"encryptionAlgorithms"`
	// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#integrity_algorithms VpnConnection#integrity_algorithms}
	IntegrityAlgorithms *[]*string `field:"required" json:"integrityAlgorithms" yaml:"integrityAlgorithms"`
	// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#dh_groups VpnConnection#dh_groups}
	DhGroups *[]*string `field:"optional" json:"dhGroups" yaml:"dhGroups"`
	// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#rekey_time VpnConnection#rekey_time}
	RekeyTime *float64 `field:"optional" json:"rekeyTime" yaml:"rekeyTime"`
}

type VpnConnectionTunnel2Phase1OutputReference

type VpnConnectionTunnel2Phase1OutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DhGroups() *[]*string
	SetDhGroups(val *[]*string)
	DhGroupsInput() *[]*string
	EncryptionAlgorithms() *[]*string
	SetEncryptionAlgorithms(val *[]*string)
	EncryptionAlgorithmsInput() *[]*string
	// Experimental.
	Fqn() *string
	IntegrityAlgorithms() *[]*string
	SetIntegrityAlgorithms(val *[]*string)
	IntegrityAlgorithmsInput() *[]*string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	RekeyTime() *float64
	SetRekeyTime(val *float64)
	RekeyTimeInput() *float64
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDhGroups()
	ResetRekeyTime()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel2Phase1OutputReference

func NewVpnConnectionTunnel2Phase1OutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel2Phase1OutputReference

type VpnConnectionTunnel2Phase2

type VpnConnectionTunnel2Phase2 struct {
	// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#encryption_algorithms VpnConnection#encryption_algorithms}
	EncryptionAlgorithms *[]*string `field:"required" json:"encryptionAlgorithms" yaml:"encryptionAlgorithms"`
	// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#integrity_algorithms VpnConnection#integrity_algorithms}
	IntegrityAlgorithms *[]*string `field:"required" json:"integrityAlgorithms" yaml:"integrityAlgorithms"`
	// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#dh_groups VpnConnection#dh_groups}
	DhGroups *[]*string `field:"optional" json:"dhGroups" yaml:"dhGroups"`
	// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#dpd_action VpnConnection#dpd_action}
	DpdAction *string `field:"optional" json:"dpdAction" yaml:"dpdAction"`
	// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#rekey_time VpnConnection#rekey_time}
	RekeyTime *float64 `field:"optional" json:"rekeyTime" yaml:"rekeyTime"`
	// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`.
	//
	// Docs at Terraform Registry: {@link https://registry.terraform.io/providers/stackitcloud/stackit/0.103.0/docs/resources/vpn_connection#start_action VpnConnection#start_action}
	StartAction *string `field:"optional" json:"startAction" yaml:"startAction"`
}

type VpnConnectionTunnel2Phase2OutputReference

type VpnConnectionTunnel2Phase2OutputReference interface {
	cdktf.ComplexObject
	// the index of the complex object in a list.
	// Experimental.
	ComplexObjectIndex() interface{}
	// Experimental.
	SetComplexObjectIndex(val interface{})
	// set to true if this item is from inside a set and needs tolist() for accessing it set to "0" for single list items.
	// Experimental.
	ComplexObjectIsFromSet() *bool
	// Experimental.
	SetComplexObjectIsFromSet(val *bool)
	// The creation stack of this resolvable which will be appended to errors thrown during resolution.
	//
	// If this returns an empty array the stack will not be attached.
	// Experimental.
	CreationStack() *[]*string
	DhGroups() *[]*string
	SetDhGroups(val *[]*string)
	DhGroupsInput() *[]*string
	DpdAction() *string
	SetDpdAction(val *string)
	DpdActionInput() *string
	EncryptionAlgorithms() *[]*string
	SetEncryptionAlgorithms(val *[]*string)
	EncryptionAlgorithmsInput() *[]*string
	// Experimental.
	Fqn() *string
	IntegrityAlgorithms() *[]*string
	SetIntegrityAlgorithms(val *[]*string)
	IntegrityAlgorithmsInput() *[]*string
	InternalValue() interface{}
	SetInternalValue(val interface{})
	RekeyTime() *float64
	SetRekeyTime(val *float64)
	RekeyTimeInput() *float64
	StartAction() *string
	SetStartAction(val *string)
	StartActionInput() *string
	// Experimental.
	TerraformAttribute() *string
	// Experimental.
	SetTerraformAttribute(val *string)
	// Experimental.
	TerraformResource() cdktf.IInterpolatingParent
	// Experimental.
	SetTerraformResource(val cdktf.IInterpolatingParent)
	// Experimental.
	ComputeFqn() *string
	// Experimental.
	GetAnyMapAttribute(terraformAttribute *string) *map[string]interface{}
	// Experimental.
	GetBooleanAttribute(terraformAttribute *string) cdktf.IResolvable
	// Experimental.
	GetBooleanMapAttribute(terraformAttribute *string) *map[string]*bool
	// Experimental.
	GetListAttribute(terraformAttribute *string) *[]*string
	// Experimental.
	GetNumberAttribute(terraformAttribute *string) *float64
	// Experimental.
	GetNumberListAttribute(terraformAttribute *string) *[]*float64
	// Experimental.
	GetNumberMapAttribute(terraformAttribute *string) *map[string]*float64
	// Experimental.
	GetStringAttribute(terraformAttribute *string) *string
	// Experimental.
	GetStringMapAttribute(terraformAttribute *string) *map[string]*string
	// Experimental.
	InterpolationAsList() cdktf.IResolvable
	// Experimental.
	InterpolationForAttribute(property *string) cdktf.IResolvable
	ResetDhGroups()
	ResetDpdAction()
	ResetRekeyTime()
	ResetStartAction()
	// Produce the Token's value at resolution time.
	// Experimental.
	Resolve(_context cdktf.IResolveContext) interface{}
	// Return a string representation of this resolvable object.
	//
	// Returns a reversible string representation.
	// Experimental.
	ToString() *string
}

func NewVpnConnectionTunnel2Phase2OutputReference

func NewVpnConnectionTunnel2Phase2OutputReference(terraformResource cdktf.IInterpolatingParent, terraformAttribute *string) VpnConnectionTunnel2Phase2OutputReference

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL