vpn

package
v3.44.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Connection

type Connection struct {
	pulumi.CustomResourceState

	// The configurations of the BGP routing protocol. See the following `Block bgpConfig`.
	BgpConfig ConnectionBgpConfigOutput `pulumi:"bgpConfig"`
	// The ID of the customer gateway.
	CustomerGatewayId pulumi.StringOutput `pulumi:"customerGatewayId"`
	// Whether to delete a successfully negotiated IPsec tunnel and initiate a negotiation again. Valid value:true,false.
	EffectImmediately pulumi.BoolPtrOutput `pulumi:"effectImmediately"`
	// Specifies whether to enable the dead peer detection (DPD) feature. Valid values: `true`(default), `false`.
	EnableDpd pulumi.BoolOutput `pulumi:"enableDpd"`
	// Specifies whether to enable NAT traversal. Valid values: `true`(default), `false`.
	EnableNatTraversal pulumi.BoolOutput `pulumi:"enableNatTraversal"`
	// The health check configurations. See the following `Block healthCheckConfig`.
	HealthCheckConfig ConnectionHealthCheckConfigOutput `pulumi:"healthCheckConfig"`
	// The configurations of phase-one negotiation. See the following `Block ikeConfig`.
	IkeConfig ConnectionIkeConfigOutput `pulumi:"ikeConfig"`
	// The configurations of phase-two negotiation. See the following `Block ipsecConfig`.
	IpsecConfig ConnectionIpsecConfigOutput `pulumi:"ipsecConfig"`
	// The CIDR block of the VPC to be connected with the local data center. This parameter is used for phase-two negotiation.
	LocalSubnets pulumi.StringArrayOutput `pulumi:"localSubnets"`
	// The name of the IPsec connection.
	Name pulumi.StringOutput `pulumi:"name"`
	// The CIDR block of the local data center. This parameter is used for phase-two negotiation.
	RemoteSubnets pulumi.StringArrayOutput `pulumi:"remoteSubnets"`
	// The status of VPN connection.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringOutput `pulumi:"vpnGatewayId"`
}

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			VswitchName: pulumi.String("terraform-example"),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			VpcId:       fooNetwork.ID(),
			ZoneId:      *pulumi.String(fooZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		fooGateway, err := vpn.NewGateway(ctx, "fooGateway", &vpn.GatewayArgs{
			VpcId:              fooNetwork.ID(),
			Bandwidth:          pulumi.Int(10),
			EnableSsl:          pulumi.Bool(true),
			InstanceChargeType: pulumi.String("PrePaid"),
			Description:        pulumi.String("test_create_description"),
			VswitchId:          fooSwitch.ID(),
		})
		if err != nil {
			return err
		}
		fooCustomerGateway, err := vpn.NewCustomerGateway(ctx, "fooCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress:   pulumi.String("42.104.22.210"),
			Description: pulumi.String("terraform-example"),
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewConnection(ctx, "fooConnection", &vpn.ConnectionArgs{
			VpnGatewayId:      fooGateway.ID(),
			CustomerGatewayId: fooCustomerGateway.ID(),
			LocalSubnets: pulumi.StringArray{
				pulumi.String("172.16.0.0/24"),
				pulumi.String("172.16.1.0/24"),
			},
			RemoteSubnets: pulumi.StringArray{
				pulumi.String("10.0.0.0/24"),
				pulumi.String("10.0.1.0/24"),
			},
			EffectImmediately: pulumi.Bool(true),
			IkeConfig: &vpn.ConnectionIkeConfigArgs{
				IkeAuthAlg:  pulumi.String("md5"),
				IkeEncAlg:   pulumi.String("des"),
				IkeVersion:  pulumi.String("ikev2"),
				IkeMode:     pulumi.String("main"),
				IkeLifetime: pulumi.Int(86400),
				Psk:         pulumi.String("tf-testvpn2"),
				IkePfs:      pulumi.String("group1"),
				IkeRemoteId: pulumi.String("testbob2"),
				IkeLocalId:  pulumi.String("testalice2"),
			},
			IpsecConfig: &vpn.ConnectionIpsecConfigArgs{
				IpsecPfs:      pulumi.String("group5"),
				IpsecEncAlg:   pulumi.String("des"),
				IpsecAuthAlg:  pulumi.String("md5"),
				IpsecLifetime: pulumi.Int(8640),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN connection can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/connection:Connection example vco-abc123456

```

func GetConnection

func GetConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectionState, opts ...pulumi.ResourceOption) (*Connection, error)

GetConnection gets an existing Connection resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConnection

func NewConnection(ctx *pulumi.Context,
	name string, args *ConnectionArgs, opts ...pulumi.ResourceOption) (*Connection, error)

NewConnection registers a new resource with the given unique name, arguments, and options.

func (*Connection) ElementType

func (*Connection) ElementType() reflect.Type

func (*Connection) ToConnectionOutput

func (i *Connection) ToConnectionOutput() ConnectionOutput

func (*Connection) ToConnectionOutputWithContext

func (i *Connection) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

func (*Connection) ToOutput added in v3.43.1

func (i *Connection) ToOutput(ctx context.Context) pulumix.Output[*Connection]

type ConnectionArgs

type ConnectionArgs struct {
	// The configurations of the BGP routing protocol. See the following `Block bgpConfig`.
	BgpConfig ConnectionBgpConfigPtrInput
	// The ID of the customer gateway.
	CustomerGatewayId pulumi.StringInput
	// Whether to delete a successfully negotiated IPsec tunnel and initiate a negotiation again. Valid value:true,false.
	EffectImmediately pulumi.BoolPtrInput
	// Specifies whether to enable the dead peer detection (DPD) feature. Valid values: `true`(default), `false`.
	EnableDpd pulumi.BoolPtrInput
	// Specifies whether to enable NAT traversal. Valid values: `true`(default), `false`.
	EnableNatTraversal pulumi.BoolPtrInput
	// The health check configurations. See the following `Block healthCheckConfig`.
	HealthCheckConfig ConnectionHealthCheckConfigPtrInput
	// The configurations of phase-one negotiation. See the following `Block ikeConfig`.
	IkeConfig ConnectionIkeConfigPtrInput
	// The configurations of phase-two negotiation. See the following `Block ipsecConfig`.
	IpsecConfig ConnectionIpsecConfigPtrInput
	// The CIDR block of the VPC to be connected with the local data center. This parameter is used for phase-two negotiation.
	LocalSubnets pulumi.StringArrayInput
	// The name of the IPsec connection.
	Name pulumi.StringPtrInput
	// The CIDR block of the local data center. This parameter is used for phase-two negotiation.
	RemoteSubnets pulumi.StringArrayInput
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringInput
}

The set of arguments for constructing a Connection resource.

func (ConnectionArgs) ElementType

func (ConnectionArgs) ElementType() reflect.Type

type ConnectionArray

type ConnectionArray []ConnectionInput

func (ConnectionArray) ElementType

func (ConnectionArray) ElementType() reflect.Type

func (ConnectionArray) ToConnectionArrayOutput

func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArray) ToConnectionArrayOutputWithContext

func (i ConnectionArray) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

func (ConnectionArray) ToOutput added in v3.43.1

type ConnectionArrayInput

type ConnectionArrayInput interface {
	pulumi.Input

	ToConnectionArrayOutput() ConnectionArrayOutput
	ToConnectionArrayOutputWithContext(context.Context) ConnectionArrayOutput
}

ConnectionArrayInput is an input type that accepts ConnectionArray and ConnectionArrayOutput values. You can construct a concrete instance of `ConnectionArrayInput` via:

ConnectionArray{ ConnectionArgs{...} }

type ConnectionArrayOutput

type ConnectionArrayOutput struct{ *pulumi.OutputState }

func (ConnectionArrayOutput) ElementType

func (ConnectionArrayOutput) ElementType() reflect.Type

func (ConnectionArrayOutput) Index

func (ConnectionArrayOutput) ToConnectionArrayOutput

func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArrayOutput) ToConnectionArrayOutputWithContext

func (o ConnectionArrayOutput) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

func (ConnectionArrayOutput) ToOutput added in v3.43.1

type ConnectionBgpConfig added in v3.20.0

type ConnectionBgpConfig struct {
	// Whether to enable Health Check.
	Enable *bool `pulumi:"enable"`
	// The ASN on the Alibaba Cloud side.
	LocalAsn *string `pulumi:"localAsn"`
	// The BGP IP address on the Alibaba Cloud side.
	LocalBgpIp *string `pulumi:"localBgpIp"`
	// The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.
	TunnelCidr *string `pulumi:"tunnelCidr"`
}

type ConnectionBgpConfigArgs added in v3.20.0

type ConnectionBgpConfigArgs struct {
	// Whether to enable Health Check.
	Enable pulumi.BoolPtrInput `pulumi:"enable"`
	// The ASN on the Alibaba Cloud side.
	LocalAsn pulumi.StringPtrInput `pulumi:"localAsn"`
	// The BGP IP address on the Alibaba Cloud side.
	LocalBgpIp pulumi.StringPtrInput `pulumi:"localBgpIp"`
	// The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.
	TunnelCidr pulumi.StringPtrInput `pulumi:"tunnelCidr"`
}

func (ConnectionBgpConfigArgs) ElementType added in v3.20.0

func (ConnectionBgpConfigArgs) ElementType() reflect.Type

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigOutput added in v3.20.0

func (i ConnectionBgpConfigArgs) ToConnectionBgpConfigOutput() ConnectionBgpConfigOutput

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigOutputWithContext added in v3.20.0

func (i ConnectionBgpConfigArgs) ToConnectionBgpConfigOutputWithContext(ctx context.Context) ConnectionBgpConfigOutput

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutput added in v3.20.0

func (i ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutputWithContext added in v3.20.0

func (i ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutputWithContext(ctx context.Context) ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigArgs) ToOutput added in v3.43.1

type ConnectionBgpConfigInput added in v3.20.0

type ConnectionBgpConfigInput interface {
	pulumi.Input

	ToConnectionBgpConfigOutput() ConnectionBgpConfigOutput
	ToConnectionBgpConfigOutputWithContext(context.Context) ConnectionBgpConfigOutput
}

ConnectionBgpConfigInput is an input type that accepts ConnectionBgpConfigArgs and ConnectionBgpConfigOutput values. You can construct a concrete instance of `ConnectionBgpConfigInput` via:

ConnectionBgpConfigArgs{...}

type ConnectionBgpConfigOutput added in v3.20.0

type ConnectionBgpConfigOutput struct{ *pulumi.OutputState }

func (ConnectionBgpConfigOutput) ElementType added in v3.20.0

func (ConnectionBgpConfigOutput) ElementType() reflect.Type

func (ConnectionBgpConfigOutput) Enable added in v3.20.0

Whether to enable Health Check.

func (ConnectionBgpConfigOutput) LocalAsn added in v3.20.0

The ASN on the Alibaba Cloud side.

func (ConnectionBgpConfigOutput) LocalBgpIp added in v3.20.0

The BGP IP address on the Alibaba Cloud side.

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigOutput added in v3.20.0

func (o ConnectionBgpConfigOutput) ToConnectionBgpConfigOutput() ConnectionBgpConfigOutput

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigOutputWithContext added in v3.20.0

func (o ConnectionBgpConfigOutput) ToConnectionBgpConfigOutputWithContext(ctx context.Context) ConnectionBgpConfigOutput

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutput added in v3.20.0

func (o ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutputWithContext(ctx context.Context) ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigOutput) ToOutput added in v3.43.1

func (ConnectionBgpConfigOutput) TunnelCidr added in v3.20.0

The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.

type ConnectionBgpConfigPtrInput added in v3.20.0

type ConnectionBgpConfigPtrInput interface {
	pulumi.Input

	ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput
	ToConnectionBgpConfigPtrOutputWithContext(context.Context) ConnectionBgpConfigPtrOutput
}

ConnectionBgpConfigPtrInput is an input type that accepts ConnectionBgpConfigArgs, ConnectionBgpConfigPtr and ConnectionBgpConfigPtrOutput values. You can construct a concrete instance of `ConnectionBgpConfigPtrInput` via:

        ConnectionBgpConfigArgs{...}

or:

        nil

func ConnectionBgpConfigPtr added in v3.20.0

func ConnectionBgpConfigPtr(v *ConnectionBgpConfigArgs) ConnectionBgpConfigPtrInput

type ConnectionBgpConfigPtrOutput added in v3.20.0

type ConnectionBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionBgpConfigPtrOutput) Elem added in v3.20.0

func (ConnectionBgpConfigPtrOutput) ElementType added in v3.20.0

func (ConnectionBgpConfigPtrOutput) Enable added in v3.20.0

Whether to enable Health Check.

func (ConnectionBgpConfigPtrOutput) LocalAsn added in v3.20.0

The ASN on the Alibaba Cloud side.

func (ConnectionBgpConfigPtrOutput) LocalBgpIp added in v3.20.0

The BGP IP address on the Alibaba Cloud side.

func (ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutput added in v3.20.0

func (o ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutputWithContext(ctx context.Context) ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigPtrOutput) ToOutput added in v3.43.1

func (ConnectionBgpConfigPtrOutput) TunnelCidr added in v3.20.0

The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.

type ConnectionHealthCheckConfig added in v3.20.0

type ConnectionHealthCheckConfig struct {
	// The destination IP address.
	Dip *string `pulumi:"dip"`
	// Whether to enable Health Check.
	Enable *bool `pulumi:"enable"`
	// The interval between two consecutive health checks. Unit: seconds.
	Interval *int `pulumi:"interval"`
	// The maximum number of health check retries.
	Retry *int `pulumi:"retry"`
	// The source IP address.
	Sip *string `pulumi:"sip"`
}

type ConnectionHealthCheckConfigArgs added in v3.20.0

type ConnectionHealthCheckConfigArgs struct {
	// The destination IP address.
	Dip pulumi.StringPtrInput `pulumi:"dip"`
	// Whether to enable Health Check.
	Enable pulumi.BoolPtrInput `pulumi:"enable"`
	// The interval between two consecutive health checks. Unit: seconds.
	Interval pulumi.IntPtrInput `pulumi:"interval"`
	// The maximum number of health check retries.
	Retry pulumi.IntPtrInput `pulumi:"retry"`
	// The source IP address.
	Sip pulumi.StringPtrInput `pulumi:"sip"`
}

func (ConnectionHealthCheckConfigArgs) ElementType added in v3.20.0

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutput added in v3.20.0

func (i ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutput() ConnectionHealthCheckConfigOutput

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutputWithContext added in v3.20.0

func (i ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutputWithContext(ctx context.Context) ConnectionHealthCheckConfigOutput

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutput added in v3.20.0

func (i ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutputWithContext added in v3.20.0

func (i ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutputWithContext(ctx context.Context) ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigArgs) ToOutput added in v3.43.1

type ConnectionHealthCheckConfigInput added in v3.20.0

type ConnectionHealthCheckConfigInput interface {
	pulumi.Input

	ToConnectionHealthCheckConfigOutput() ConnectionHealthCheckConfigOutput
	ToConnectionHealthCheckConfigOutputWithContext(context.Context) ConnectionHealthCheckConfigOutput
}

ConnectionHealthCheckConfigInput is an input type that accepts ConnectionHealthCheckConfigArgs and ConnectionHealthCheckConfigOutput values. You can construct a concrete instance of `ConnectionHealthCheckConfigInput` via:

ConnectionHealthCheckConfigArgs{...}

type ConnectionHealthCheckConfigOutput added in v3.20.0

type ConnectionHealthCheckConfigOutput struct{ *pulumi.OutputState }

func (ConnectionHealthCheckConfigOutput) Dip added in v3.20.0

The destination IP address.

func (ConnectionHealthCheckConfigOutput) ElementType added in v3.20.0

func (ConnectionHealthCheckConfigOutput) Enable added in v3.20.0

Whether to enable Health Check.

func (ConnectionHealthCheckConfigOutput) Interval added in v3.20.0

The interval between two consecutive health checks. Unit: seconds.

func (ConnectionHealthCheckConfigOutput) Retry added in v3.20.0

The maximum number of health check retries.

func (ConnectionHealthCheckConfigOutput) Sip added in v3.20.0

The source IP address.

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutput added in v3.20.0

func (o ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutput() ConnectionHealthCheckConfigOutput

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutputWithContext added in v3.20.0

func (o ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutputWithContext(ctx context.Context) ConnectionHealthCheckConfigOutput

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutput added in v3.20.0

func (o ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutputWithContext(ctx context.Context) ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigOutput) ToOutput added in v3.43.1

type ConnectionHealthCheckConfigPtrInput added in v3.20.0

type ConnectionHealthCheckConfigPtrInput interface {
	pulumi.Input

	ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput
	ToConnectionHealthCheckConfigPtrOutputWithContext(context.Context) ConnectionHealthCheckConfigPtrOutput
}

ConnectionHealthCheckConfigPtrInput is an input type that accepts ConnectionHealthCheckConfigArgs, ConnectionHealthCheckConfigPtr and ConnectionHealthCheckConfigPtrOutput values. You can construct a concrete instance of `ConnectionHealthCheckConfigPtrInput` via:

        ConnectionHealthCheckConfigArgs{...}

or:

        nil

func ConnectionHealthCheckConfigPtr added in v3.20.0

type ConnectionHealthCheckConfigPtrOutput added in v3.20.0

type ConnectionHealthCheckConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionHealthCheckConfigPtrOutput) Dip added in v3.20.0

The destination IP address.

func (ConnectionHealthCheckConfigPtrOutput) Elem added in v3.20.0

func (ConnectionHealthCheckConfigPtrOutput) ElementType added in v3.20.0

func (ConnectionHealthCheckConfigPtrOutput) Enable added in v3.20.0

Whether to enable Health Check.

func (ConnectionHealthCheckConfigPtrOutput) Interval added in v3.20.0

The interval between two consecutive health checks. Unit: seconds.

func (ConnectionHealthCheckConfigPtrOutput) Retry added in v3.20.0

The maximum number of health check retries.

func (ConnectionHealthCheckConfigPtrOutput) Sip added in v3.20.0

The source IP address.

func (ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutput added in v3.20.0

func (o ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutputWithContext(ctx context.Context) ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigPtrOutput) ToOutput added in v3.43.1

type ConnectionIkeConfig

type ConnectionIkeConfig struct {
	// The authentication algorithm of phase-one negotiation. Valid value: md5 | sha1 . Default value: md5
	IkeAuthAlg *string `pulumi:"ikeAuthAlg"`
	// The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes
	IkeEncAlg *string `pulumi:"ikeEncAlg"`
	// The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.
	IkeLifetime *int `pulumi:"ikeLifetime"`
	// The identification of the VPN gateway.
	IkeLocalId *string `pulumi:"ikeLocalId"`
	// The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: main
	IkeMode *string `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2
	IkePfs *string `pulumi:"ikePfs"`
	// The identification of the customer gateway.
	IkeRemoteId *string `pulumi:"ikeRemoteId"`
	// The version of the IKE protocol. Valid value: ikev1 | ikev2. Default value: ikev1
	IkeVersion *string `pulumi:"ikeVersion"`
	// Used for authentication between the IPsec VPN gateway and the customer gateway.
	Psk *string `pulumi:"psk"`
}

type ConnectionIkeConfigArgs

type ConnectionIkeConfigArgs struct {
	// The authentication algorithm of phase-one negotiation. Valid value: md5 | sha1 . Default value: md5
	IkeAuthAlg pulumi.StringPtrInput `pulumi:"ikeAuthAlg"`
	// The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes
	IkeEncAlg pulumi.StringPtrInput `pulumi:"ikeEncAlg"`
	// The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.
	IkeLifetime pulumi.IntPtrInput `pulumi:"ikeLifetime"`
	// The identification of the VPN gateway.
	IkeLocalId pulumi.StringPtrInput `pulumi:"ikeLocalId"`
	// The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: main
	IkeMode pulumi.StringPtrInput `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2
	IkePfs pulumi.StringPtrInput `pulumi:"ikePfs"`
	// The identification of the customer gateway.
	IkeRemoteId pulumi.StringPtrInput `pulumi:"ikeRemoteId"`
	// The version of the IKE protocol. Valid value: ikev1 | ikev2. Default value: ikev1
	IkeVersion pulumi.StringPtrInput `pulumi:"ikeVersion"`
	// Used for authentication between the IPsec VPN gateway and the customer gateway.
	Psk pulumi.StringPtrInput `pulumi:"psk"`
}

func (ConnectionIkeConfigArgs) ElementType

func (ConnectionIkeConfigArgs) ElementType() reflect.Type

func (ConnectionIkeConfigArgs) ToConnectionIkeConfigOutput

func (i ConnectionIkeConfigArgs) ToConnectionIkeConfigOutput() ConnectionIkeConfigOutput

func (ConnectionIkeConfigArgs) ToConnectionIkeConfigOutputWithContext

func (i ConnectionIkeConfigArgs) ToConnectionIkeConfigOutputWithContext(ctx context.Context) ConnectionIkeConfigOutput

func (ConnectionIkeConfigArgs) ToConnectionIkeConfigPtrOutput added in v3.20.0

func (i ConnectionIkeConfigArgs) ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigArgs) ToConnectionIkeConfigPtrOutputWithContext added in v3.20.0

func (i ConnectionIkeConfigArgs) ToConnectionIkeConfigPtrOutputWithContext(ctx context.Context) ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigArgs) ToOutput added in v3.43.1

type ConnectionIkeConfigInput

type ConnectionIkeConfigInput interface {
	pulumi.Input

	ToConnectionIkeConfigOutput() ConnectionIkeConfigOutput
	ToConnectionIkeConfigOutputWithContext(context.Context) ConnectionIkeConfigOutput
}

ConnectionIkeConfigInput is an input type that accepts ConnectionIkeConfigArgs and ConnectionIkeConfigOutput values. You can construct a concrete instance of `ConnectionIkeConfigInput` via:

ConnectionIkeConfigArgs{...}

type ConnectionIkeConfigOutput

type ConnectionIkeConfigOutput struct{ *pulumi.OutputState }

func (ConnectionIkeConfigOutput) ElementType

func (ConnectionIkeConfigOutput) ElementType() reflect.Type

func (ConnectionIkeConfigOutput) IkeAuthAlg

The authentication algorithm of phase-one negotiation. Valid value: md5 | sha1 . Default value: md5

func (ConnectionIkeConfigOutput) IkeEncAlg

The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes

func (ConnectionIkeConfigOutput) IkeLifetime

The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.

func (ConnectionIkeConfigOutput) IkeLocalId

The identification of the VPN gateway.

func (ConnectionIkeConfigOutput) IkeMode

The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: main

func (ConnectionIkeConfigOutput) IkePfs

The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2

func (ConnectionIkeConfigOutput) IkeRemoteId

The identification of the customer gateway.

func (ConnectionIkeConfigOutput) IkeVersion

The version of the IKE protocol. Valid value: ikev1 | ikev2. Default value: ikev1

func (ConnectionIkeConfigOutput) Psk

Used for authentication between the IPsec VPN gateway and the customer gateway.

func (ConnectionIkeConfigOutput) ToConnectionIkeConfigOutput

func (o ConnectionIkeConfigOutput) ToConnectionIkeConfigOutput() ConnectionIkeConfigOutput

func (ConnectionIkeConfigOutput) ToConnectionIkeConfigOutputWithContext

func (o ConnectionIkeConfigOutput) ToConnectionIkeConfigOutputWithContext(ctx context.Context) ConnectionIkeConfigOutput

func (ConnectionIkeConfigOutput) ToConnectionIkeConfigPtrOutput added in v3.20.0

func (o ConnectionIkeConfigOutput) ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigOutput) ToConnectionIkeConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionIkeConfigOutput) ToConnectionIkeConfigPtrOutputWithContext(ctx context.Context) ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigOutput) ToOutput added in v3.43.1

type ConnectionIkeConfigPtrInput added in v3.20.0

type ConnectionIkeConfigPtrInput interface {
	pulumi.Input

	ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput
	ToConnectionIkeConfigPtrOutputWithContext(context.Context) ConnectionIkeConfigPtrOutput
}

ConnectionIkeConfigPtrInput is an input type that accepts ConnectionIkeConfigArgs, ConnectionIkeConfigPtr and ConnectionIkeConfigPtrOutput values. You can construct a concrete instance of `ConnectionIkeConfigPtrInput` via:

        ConnectionIkeConfigArgs{...}

or:

        nil

func ConnectionIkeConfigPtr added in v3.20.0

func ConnectionIkeConfigPtr(v *ConnectionIkeConfigArgs) ConnectionIkeConfigPtrInput

type ConnectionIkeConfigPtrOutput added in v3.20.0

type ConnectionIkeConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionIkeConfigPtrOutput) Elem added in v3.20.0

func (ConnectionIkeConfigPtrOutput) ElementType added in v3.20.0

func (ConnectionIkeConfigPtrOutput) IkeAuthAlg added in v3.20.0

The authentication algorithm of phase-one negotiation. Valid value: md5 | sha1 . Default value: md5

func (ConnectionIkeConfigPtrOutput) IkeEncAlg added in v3.20.0

The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes

func (ConnectionIkeConfigPtrOutput) IkeLifetime added in v3.20.0

The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.

func (ConnectionIkeConfigPtrOutput) IkeLocalId added in v3.20.0

The identification of the VPN gateway.

func (ConnectionIkeConfigPtrOutput) IkeMode added in v3.20.0

The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: main

func (ConnectionIkeConfigPtrOutput) IkePfs added in v3.20.0

The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2

func (ConnectionIkeConfigPtrOutput) IkeRemoteId added in v3.20.0

The identification of the customer gateway.

func (ConnectionIkeConfigPtrOutput) IkeVersion added in v3.20.0

The version of the IKE protocol. Valid value: ikev1 | ikev2. Default value: ikev1

func (ConnectionIkeConfigPtrOutput) Psk added in v3.20.0

Used for authentication between the IPsec VPN gateway and the customer gateway.

func (ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutput added in v3.20.0

func (o ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutputWithContext(ctx context.Context) ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigPtrOutput) ToOutput added in v3.43.1

type ConnectionInput

type ConnectionInput interface {
	pulumi.Input

	ToConnectionOutput() ConnectionOutput
	ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput
}

type ConnectionIpsecConfig

type ConnectionIpsecConfig struct {
	// The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1
	IpsecAuthAlg *string `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes
	IpsecEncAlg *string `pulumi:"ipsecEncAlg"`
	// The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.
	IpsecLifetime *int `pulumi:"ipsecLifetime"`
	// The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2
	IpsecPfs *string `pulumi:"ipsecPfs"`
}

type ConnectionIpsecConfigArgs

type ConnectionIpsecConfigArgs struct {
	// The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1
	IpsecAuthAlg pulumi.StringPtrInput `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes
	IpsecEncAlg pulumi.StringPtrInput `pulumi:"ipsecEncAlg"`
	// The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.
	IpsecLifetime pulumi.IntPtrInput `pulumi:"ipsecLifetime"`
	// The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2
	IpsecPfs pulumi.StringPtrInput `pulumi:"ipsecPfs"`
}

func (ConnectionIpsecConfigArgs) ElementType

func (ConnectionIpsecConfigArgs) ElementType() reflect.Type

func (ConnectionIpsecConfigArgs) ToConnectionIpsecConfigOutput

func (i ConnectionIpsecConfigArgs) ToConnectionIpsecConfigOutput() ConnectionIpsecConfigOutput

func (ConnectionIpsecConfigArgs) ToConnectionIpsecConfigOutputWithContext

func (i ConnectionIpsecConfigArgs) ToConnectionIpsecConfigOutputWithContext(ctx context.Context) ConnectionIpsecConfigOutput

func (ConnectionIpsecConfigArgs) ToConnectionIpsecConfigPtrOutput added in v3.20.0

func (i ConnectionIpsecConfigArgs) ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigArgs) ToConnectionIpsecConfigPtrOutputWithContext added in v3.20.0

func (i ConnectionIpsecConfigArgs) ToConnectionIpsecConfigPtrOutputWithContext(ctx context.Context) ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigArgs) ToOutput added in v3.43.1

type ConnectionIpsecConfigInput

type ConnectionIpsecConfigInput interface {
	pulumi.Input

	ToConnectionIpsecConfigOutput() ConnectionIpsecConfigOutput
	ToConnectionIpsecConfigOutputWithContext(context.Context) ConnectionIpsecConfigOutput
}

ConnectionIpsecConfigInput is an input type that accepts ConnectionIpsecConfigArgs and ConnectionIpsecConfigOutput values. You can construct a concrete instance of `ConnectionIpsecConfigInput` via:

ConnectionIpsecConfigArgs{...}

type ConnectionIpsecConfigOutput

type ConnectionIpsecConfigOutput struct{ *pulumi.OutputState }

func (ConnectionIpsecConfigOutput) ElementType

func (ConnectionIpsecConfigOutput) IpsecAuthAlg

The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1

func (ConnectionIpsecConfigOutput) IpsecEncAlg

The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes

func (ConnectionIpsecConfigOutput) IpsecLifetime

The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.

func (ConnectionIpsecConfigOutput) IpsecPfs

The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2

func (ConnectionIpsecConfigOutput) ToConnectionIpsecConfigOutput

func (o ConnectionIpsecConfigOutput) ToConnectionIpsecConfigOutput() ConnectionIpsecConfigOutput

func (ConnectionIpsecConfigOutput) ToConnectionIpsecConfigOutputWithContext

func (o ConnectionIpsecConfigOutput) ToConnectionIpsecConfigOutputWithContext(ctx context.Context) ConnectionIpsecConfigOutput

func (ConnectionIpsecConfigOutput) ToConnectionIpsecConfigPtrOutput added in v3.20.0

func (o ConnectionIpsecConfigOutput) ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigOutput) ToConnectionIpsecConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionIpsecConfigOutput) ToConnectionIpsecConfigPtrOutputWithContext(ctx context.Context) ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigOutput) ToOutput added in v3.43.1

type ConnectionIpsecConfigPtrInput added in v3.20.0

type ConnectionIpsecConfigPtrInput interface {
	pulumi.Input

	ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput
	ToConnectionIpsecConfigPtrOutputWithContext(context.Context) ConnectionIpsecConfigPtrOutput
}

ConnectionIpsecConfigPtrInput is an input type that accepts ConnectionIpsecConfigArgs, ConnectionIpsecConfigPtr and ConnectionIpsecConfigPtrOutput values. You can construct a concrete instance of `ConnectionIpsecConfigPtrInput` via:

        ConnectionIpsecConfigArgs{...}

or:

        nil

func ConnectionIpsecConfigPtr added in v3.20.0

func ConnectionIpsecConfigPtr(v *ConnectionIpsecConfigArgs) ConnectionIpsecConfigPtrInput

type ConnectionIpsecConfigPtrOutput added in v3.20.0

type ConnectionIpsecConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionIpsecConfigPtrOutput) Elem added in v3.20.0

func (ConnectionIpsecConfigPtrOutput) ElementType added in v3.20.0

func (ConnectionIpsecConfigPtrOutput) IpsecAuthAlg added in v3.20.0

The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1

func (ConnectionIpsecConfigPtrOutput) IpsecEncAlg added in v3.20.0

The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes

func (ConnectionIpsecConfigPtrOutput) IpsecLifetime added in v3.20.0

The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.

func (ConnectionIpsecConfigPtrOutput) IpsecPfs added in v3.20.0

The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2

func (ConnectionIpsecConfigPtrOutput) ToConnectionIpsecConfigPtrOutput added in v3.20.0

func (o ConnectionIpsecConfigPtrOutput) ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigPtrOutput) ToConnectionIpsecConfigPtrOutputWithContext added in v3.20.0

func (o ConnectionIpsecConfigPtrOutput) ToConnectionIpsecConfigPtrOutputWithContext(ctx context.Context) ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigPtrOutput) ToOutput added in v3.43.1

type ConnectionMap

type ConnectionMap map[string]ConnectionInput

func (ConnectionMap) ElementType

func (ConnectionMap) ElementType() reflect.Type

func (ConnectionMap) ToConnectionMapOutput

func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMap) ToConnectionMapOutputWithContext

func (i ConnectionMap) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

func (ConnectionMap) ToOutput added in v3.43.1

type ConnectionMapInput

type ConnectionMapInput interface {
	pulumi.Input

	ToConnectionMapOutput() ConnectionMapOutput
	ToConnectionMapOutputWithContext(context.Context) ConnectionMapOutput
}

ConnectionMapInput is an input type that accepts ConnectionMap and ConnectionMapOutput values. You can construct a concrete instance of `ConnectionMapInput` via:

ConnectionMap{ "key": ConnectionArgs{...} }

type ConnectionMapOutput

type ConnectionMapOutput struct{ *pulumi.OutputState }

func (ConnectionMapOutput) ElementType

func (ConnectionMapOutput) ElementType() reflect.Type

func (ConnectionMapOutput) MapIndex

func (ConnectionMapOutput) ToConnectionMapOutput

func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMapOutput) ToConnectionMapOutputWithContext

func (o ConnectionMapOutput) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

func (ConnectionMapOutput) ToOutput added in v3.43.1

type ConnectionOutput

type ConnectionOutput struct{ *pulumi.OutputState }

func (ConnectionOutput) BgpConfig added in v3.27.0

The configurations of the BGP routing protocol. See the following `Block bgpConfig`.

func (ConnectionOutput) CustomerGatewayId added in v3.27.0

func (o ConnectionOutput) CustomerGatewayId() pulumi.StringOutput

The ID of the customer gateway.

func (ConnectionOutput) EffectImmediately added in v3.27.0

func (o ConnectionOutput) EffectImmediately() pulumi.BoolPtrOutput

Whether to delete a successfully negotiated IPsec tunnel and initiate a negotiation again. Valid value:true,false.

func (ConnectionOutput) ElementType

func (ConnectionOutput) ElementType() reflect.Type

func (ConnectionOutput) EnableDpd added in v3.27.0

func (o ConnectionOutput) EnableDpd() pulumi.BoolOutput

Specifies whether to enable the dead peer detection (DPD) feature. Valid values: `true`(default), `false`.

func (ConnectionOutput) EnableNatTraversal added in v3.27.0

func (o ConnectionOutput) EnableNatTraversal() pulumi.BoolOutput

Specifies whether to enable NAT traversal. Valid values: `true`(default), `false`.

func (ConnectionOutput) HealthCheckConfig added in v3.27.0

The health check configurations. See the following `Block healthCheckConfig`.

func (ConnectionOutput) IkeConfig added in v3.27.0

The configurations of phase-one negotiation. See the following `Block ikeConfig`.

func (ConnectionOutput) IpsecConfig added in v3.27.0

The configurations of phase-two negotiation. See the following `Block ipsecConfig`.

func (ConnectionOutput) LocalSubnets added in v3.27.0

func (o ConnectionOutput) LocalSubnets() pulumi.StringArrayOutput

The CIDR block of the VPC to be connected with the local data center. This parameter is used for phase-two negotiation.

func (ConnectionOutput) Name added in v3.27.0

The name of the IPsec connection.

func (ConnectionOutput) RemoteSubnets added in v3.27.0

func (o ConnectionOutput) RemoteSubnets() pulumi.StringArrayOutput

The CIDR block of the local data center. This parameter is used for phase-two negotiation.

func (ConnectionOutput) Status added in v3.27.0

The status of VPN connection.

func (ConnectionOutput) ToConnectionOutput

func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput

func (ConnectionOutput) ToConnectionOutputWithContext

func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

func (ConnectionOutput) ToOutput added in v3.43.1

func (ConnectionOutput) VpnGatewayId added in v3.27.0

func (o ConnectionOutput) VpnGatewayId() pulumi.StringOutput

The ID of the VPN gateway.

type ConnectionState

type ConnectionState struct {
	// The configurations of the BGP routing protocol. See the following `Block bgpConfig`.
	BgpConfig ConnectionBgpConfigPtrInput
	// The ID of the customer gateway.
	CustomerGatewayId pulumi.StringPtrInput
	// Whether to delete a successfully negotiated IPsec tunnel and initiate a negotiation again. Valid value:true,false.
	EffectImmediately pulumi.BoolPtrInput
	// Specifies whether to enable the dead peer detection (DPD) feature. Valid values: `true`(default), `false`.
	EnableDpd pulumi.BoolPtrInput
	// Specifies whether to enable NAT traversal. Valid values: `true`(default), `false`.
	EnableNatTraversal pulumi.BoolPtrInput
	// The health check configurations. See the following `Block healthCheckConfig`.
	HealthCheckConfig ConnectionHealthCheckConfigPtrInput
	// The configurations of phase-one negotiation. See the following `Block ikeConfig`.
	IkeConfig ConnectionIkeConfigPtrInput
	// The configurations of phase-two negotiation. See the following `Block ipsecConfig`.
	IpsecConfig ConnectionIpsecConfigPtrInput
	// The CIDR block of the VPC to be connected with the local data center. This parameter is used for phase-two negotiation.
	LocalSubnets pulumi.StringArrayInput
	// The name of the IPsec connection.
	Name pulumi.StringPtrInput
	// The CIDR block of the local data center. This parameter is used for phase-two negotiation.
	RemoteSubnets pulumi.StringArrayInput
	// The status of VPN connection.
	Status pulumi.StringPtrInput
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringPtrInput
}

func (ConnectionState) ElementType

func (ConnectionState) ElementType() reflect.Type

type CustomerGateway

type CustomerGateway struct {
	pulumi.CustomResourceState

	// The autonomous system number of the gateway device in the data center. The `asn` is a 4-byte number. You can enter the number in two segments and separate the first 16 bits from the following 16 bits with a period (.). Enter the number in each segment in the decimal format.
	Asn pulumi.StringPtrOutput `pulumi:"asn"`
	// The description of the VPN customer gateway instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The IP address of the customer gateway.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// The name of the VPN customer gateway. Defaults to null.
	Name pulumi.StringOutput `pulumi:"name"`
}

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpn.NewCustomerGateway(ctx, "foo", &vpn.CustomerGatewayArgs{
			Description: pulumi.String("vpnCgwDescriptionExample"),
			IpAddress:   pulumi.String("43.104.22.228"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN customer gateway can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/customerGateway:CustomerGateway example cgw-abc123456

```

func GetCustomerGateway

func GetCustomerGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CustomerGatewayState, opts ...pulumi.ResourceOption) (*CustomerGateway, error)

GetCustomerGateway gets an existing CustomerGateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCustomerGateway

func NewCustomerGateway(ctx *pulumi.Context,
	name string, args *CustomerGatewayArgs, opts ...pulumi.ResourceOption) (*CustomerGateway, error)

NewCustomerGateway registers a new resource with the given unique name, arguments, and options.

func (*CustomerGateway) ElementType

func (*CustomerGateway) ElementType() reflect.Type

func (*CustomerGateway) ToCustomerGatewayOutput

func (i *CustomerGateway) ToCustomerGatewayOutput() CustomerGatewayOutput

func (*CustomerGateway) ToCustomerGatewayOutputWithContext

func (i *CustomerGateway) ToCustomerGatewayOutputWithContext(ctx context.Context) CustomerGatewayOutput

func (*CustomerGateway) ToOutput added in v3.43.1

type CustomerGatewayArgs

type CustomerGatewayArgs struct {
	// The autonomous system number of the gateway device in the data center. The `asn` is a 4-byte number. You can enter the number in two segments and separate the first 16 bits from the following 16 bits with a period (.). Enter the number in each segment in the decimal format.
	Asn pulumi.StringPtrInput
	// The description of the VPN customer gateway instance.
	Description pulumi.StringPtrInput
	// The IP address of the customer gateway.
	IpAddress pulumi.StringInput
	// The name of the VPN customer gateway. Defaults to null.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a CustomerGateway resource.

func (CustomerGatewayArgs) ElementType

func (CustomerGatewayArgs) ElementType() reflect.Type

type CustomerGatewayArray

type CustomerGatewayArray []CustomerGatewayInput

func (CustomerGatewayArray) ElementType

func (CustomerGatewayArray) ElementType() reflect.Type

func (CustomerGatewayArray) ToCustomerGatewayArrayOutput

func (i CustomerGatewayArray) ToCustomerGatewayArrayOutput() CustomerGatewayArrayOutput

func (CustomerGatewayArray) ToCustomerGatewayArrayOutputWithContext

func (i CustomerGatewayArray) ToCustomerGatewayArrayOutputWithContext(ctx context.Context) CustomerGatewayArrayOutput

func (CustomerGatewayArray) ToOutput added in v3.43.1

type CustomerGatewayArrayInput

type CustomerGatewayArrayInput interface {
	pulumi.Input

	ToCustomerGatewayArrayOutput() CustomerGatewayArrayOutput
	ToCustomerGatewayArrayOutputWithContext(context.Context) CustomerGatewayArrayOutput
}

CustomerGatewayArrayInput is an input type that accepts CustomerGatewayArray and CustomerGatewayArrayOutput values. You can construct a concrete instance of `CustomerGatewayArrayInput` via:

CustomerGatewayArray{ CustomerGatewayArgs{...} }

type CustomerGatewayArrayOutput

type CustomerGatewayArrayOutput struct{ *pulumi.OutputState }

func (CustomerGatewayArrayOutput) ElementType

func (CustomerGatewayArrayOutput) ElementType() reflect.Type

func (CustomerGatewayArrayOutput) Index

func (CustomerGatewayArrayOutput) ToCustomerGatewayArrayOutput

func (o CustomerGatewayArrayOutput) ToCustomerGatewayArrayOutput() CustomerGatewayArrayOutput

func (CustomerGatewayArrayOutput) ToCustomerGatewayArrayOutputWithContext

func (o CustomerGatewayArrayOutput) ToCustomerGatewayArrayOutputWithContext(ctx context.Context) CustomerGatewayArrayOutput

func (CustomerGatewayArrayOutput) ToOutput added in v3.43.1

type CustomerGatewayInput

type CustomerGatewayInput interface {
	pulumi.Input

	ToCustomerGatewayOutput() CustomerGatewayOutput
	ToCustomerGatewayOutputWithContext(ctx context.Context) CustomerGatewayOutput
}

type CustomerGatewayMap

type CustomerGatewayMap map[string]CustomerGatewayInput

func (CustomerGatewayMap) ElementType

func (CustomerGatewayMap) ElementType() reflect.Type

func (CustomerGatewayMap) ToCustomerGatewayMapOutput

func (i CustomerGatewayMap) ToCustomerGatewayMapOutput() CustomerGatewayMapOutput

func (CustomerGatewayMap) ToCustomerGatewayMapOutputWithContext

func (i CustomerGatewayMap) ToCustomerGatewayMapOutputWithContext(ctx context.Context) CustomerGatewayMapOutput

func (CustomerGatewayMap) ToOutput added in v3.43.1

type CustomerGatewayMapInput

type CustomerGatewayMapInput interface {
	pulumi.Input

	ToCustomerGatewayMapOutput() CustomerGatewayMapOutput
	ToCustomerGatewayMapOutputWithContext(context.Context) CustomerGatewayMapOutput
}

CustomerGatewayMapInput is an input type that accepts CustomerGatewayMap and CustomerGatewayMapOutput values. You can construct a concrete instance of `CustomerGatewayMapInput` via:

CustomerGatewayMap{ "key": CustomerGatewayArgs{...} }

type CustomerGatewayMapOutput

type CustomerGatewayMapOutput struct{ *pulumi.OutputState }

func (CustomerGatewayMapOutput) ElementType

func (CustomerGatewayMapOutput) ElementType() reflect.Type

func (CustomerGatewayMapOutput) MapIndex

func (CustomerGatewayMapOutput) ToCustomerGatewayMapOutput

func (o CustomerGatewayMapOutput) ToCustomerGatewayMapOutput() CustomerGatewayMapOutput

func (CustomerGatewayMapOutput) ToCustomerGatewayMapOutputWithContext

func (o CustomerGatewayMapOutput) ToCustomerGatewayMapOutputWithContext(ctx context.Context) CustomerGatewayMapOutput

func (CustomerGatewayMapOutput) ToOutput added in v3.43.1

type CustomerGatewayOutput

type CustomerGatewayOutput struct{ *pulumi.OutputState }

func (CustomerGatewayOutput) Asn added in v3.27.0

The autonomous system number of the gateway device in the data center. The `asn` is a 4-byte number. You can enter the number in two segments and separate the first 16 bits from the following 16 bits with a period (.). Enter the number in each segment in the decimal format.

func (CustomerGatewayOutput) Description added in v3.27.0

The description of the VPN customer gateway instance.

func (CustomerGatewayOutput) ElementType

func (CustomerGatewayOutput) ElementType() reflect.Type

func (CustomerGatewayOutput) IpAddress added in v3.27.0

The IP address of the customer gateway.

func (CustomerGatewayOutput) Name added in v3.27.0

The name of the VPN customer gateway. Defaults to null.

func (CustomerGatewayOutput) ToCustomerGatewayOutput

func (o CustomerGatewayOutput) ToCustomerGatewayOutput() CustomerGatewayOutput

func (CustomerGatewayOutput) ToCustomerGatewayOutputWithContext

func (o CustomerGatewayOutput) ToCustomerGatewayOutputWithContext(ctx context.Context) CustomerGatewayOutput

func (CustomerGatewayOutput) ToOutput added in v3.43.1

type CustomerGatewayState

type CustomerGatewayState struct {
	// The autonomous system number of the gateway device in the data center. The `asn` is a 4-byte number. You can enter the number in two segments and separate the first 16 bits from the following 16 bits with a period (.). Enter the number in each segment in the decimal format.
	Asn pulumi.StringPtrInput
	// The description of the VPN customer gateway instance.
	Description pulumi.StringPtrInput
	// The IP address of the customer gateway.
	IpAddress pulumi.StringPtrInput
	// The name of the VPN customer gateway. Defaults to null.
	Name pulumi.StringPtrInput
}

func (CustomerGatewayState) ElementType

func (CustomerGatewayState) ElementType() reflect.Type

type Gateway

type Gateway struct {
	pulumi.CustomResourceState

	// Whether to pay automatically. Default value: `true`. Valid values:
	AutoPay pulumi.BoolPtrOutput `pulumi:"autoPay"`
	// Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:
	AutoPropagate pulumi.BoolPtrOutput `pulumi:"autoPropagate"`
	Bandwidth     pulumi.IntOutput     `pulumi:"bandwidth"`
	// The business status of the VPN gateway.
	BusinessStatus pulumi.StringOutput `pulumi:"businessStatus"`
	// The description of the VPN instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Enable or Disable IPSec VPN. At least one type of VPN should be enabled.
	EnableIpsec pulumi.BoolPtrOutput `pulumi:"enableIpsec"`
	// Enable or Disable SSL VPN.  At least one type of VPN should be enabled.
	EnableSsl pulumi.BoolPtrOutput `pulumi:"enableSsl"`
	// The charge type for instance. If it is an international site account, the valid value is PostPaid, otherwise PrePaid.
	// Default to PostPaid.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// The internet ip of the VPN.
	InternetIp pulumi.StringOutput `pulumi:"internetIp"`
	// The name of the VPN. Defaults to null.
	Name pulumi.StringOutput `pulumi:"name"`
	// The network type of the VPN gateway. Value:
	// - public (default): Public VPN gateway.
	// - private: Private VPN gateway.
	//
	// > **NOTE:** Private VPN gateway can only be purchased by white list users, and the bandwidth only supports 200M or 1000M; In addition, SSL is not supported.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// The filed is only required while the InstanceChargeType is PrePaid. Valid values: [1-9, 12, 24, 36]. Default to 1.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The max connections of SSL VPN. Default to 5. The number of connections supported by each account is different.
	// This field is ignored when enableSsl is false.
	SslConnections pulumi.IntPtrOutput `pulumi:"sslConnections"`
	// The status of the VPN gateway.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of VPN gateway.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VPN belongs the vpc_id, the field can't be changed.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The VPN belongs the vswitch_id, the field can't be changed.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

## Import

VPN gateway can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/gateway:Gateway example vpn-abc123456

```

func GetGateway

func GetGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayState, opts ...pulumi.ResourceOption) (*Gateway, error)

GetGateway gets an existing Gateway resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGateway

func NewGateway(ctx *pulumi.Context,
	name string, args *GatewayArgs, opts ...pulumi.ResourceOption) (*Gateway, error)

NewGateway registers a new resource with the given unique name, arguments, and options.

func (*Gateway) ElementType

func (*Gateway) ElementType() reflect.Type

func (*Gateway) ToGatewayOutput

func (i *Gateway) ToGatewayOutput() GatewayOutput

func (*Gateway) ToGatewayOutputWithContext

func (i *Gateway) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (*Gateway) ToOutput added in v3.43.1

func (i *Gateway) ToOutput(ctx context.Context) pulumix.Output[*Gateway]

type GatewayArgs

type GatewayArgs struct {
	// Whether to pay automatically. Default value: `true`. Valid values:
	AutoPay pulumi.BoolPtrInput
	// Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:
	AutoPropagate pulumi.BoolPtrInput
	Bandwidth     pulumi.IntInput
	// The description of the VPN instance.
	Description pulumi.StringPtrInput
	// Enable or Disable IPSec VPN. At least one type of VPN should be enabled.
	EnableIpsec pulumi.BoolPtrInput
	// Enable or Disable SSL VPN.  At least one type of VPN should be enabled.
	EnableSsl pulumi.BoolPtrInput
	// The charge type for instance. If it is an international site account, the valid value is PostPaid, otherwise PrePaid.
	// Default to PostPaid.
	InstanceChargeType pulumi.StringPtrInput
	// The name of the VPN. Defaults to null.
	Name pulumi.StringPtrInput
	// The network type of the VPN gateway. Value:
	// - public (default): Public VPN gateway.
	// - private: Private VPN gateway.
	//
	// > **NOTE:** Private VPN gateway can only be purchased by white list users, and the bandwidth only supports 200M or 1000M; In addition, SSL is not supported.
	NetworkType pulumi.StringPtrInput
	// The filed is only required while the InstanceChargeType is PrePaid. Valid values: [1-9, 12, 24, 36]. Default to 1.
	Period pulumi.IntPtrInput
	// The max connections of SSL VPN. Default to 5. The number of connections supported by each account is different.
	// This field is ignored when enableSsl is false.
	SslConnections pulumi.IntPtrInput
	// The tags of VPN gateway.
	Tags pulumi.MapInput
	// The VPN belongs the vpc_id, the field can't be changed.
	VpcId pulumi.StringInput
	// The VPN belongs the vswitch_id, the field can't be changed.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a Gateway resource.

func (GatewayArgs) ElementType

func (GatewayArgs) ElementType() reflect.Type

type GatewayArray

type GatewayArray []GatewayInput

func (GatewayArray) ElementType

func (GatewayArray) ElementType() reflect.Type

func (GatewayArray) ToGatewayArrayOutput

func (i GatewayArray) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArray) ToGatewayArrayOutputWithContext

func (i GatewayArray) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

func (GatewayArray) ToOutput added in v3.43.1

func (i GatewayArray) ToOutput(ctx context.Context) pulumix.Output[[]*Gateway]

type GatewayArrayInput

type GatewayArrayInput interface {
	pulumi.Input

	ToGatewayArrayOutput() GatewayArrayOutput
	ToGatewayArrayOutputWithContext(context.Context) GatewayArrayOutput
}

GatewayArrayInput is an input type that accepts GatewayArray and GatewayArrayOutput values. You can construct a concrete instance of `GatewayArrayInput` via:

GatewayArray{ GatewayArgs{...} }

type GatewayArrayOutput

type GatewayArrayOutput struct{ *pulumi.OutputState }

func (GatewayArrayOutput) ElementType

func (GatewayArrayOutput) ElementType() reflect.Type

func (GatewayArrayOutput) Index

func (GatewayArrayOutput) ToGatewayArrayOutput

func (o GatewayArrayOutput) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArrayOutput) ToGatewayArrayOutputWithContext

func (o GatewayArrayOutput) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

func (GatewayArrayOutput) ToOutput added in v3.43.1

type GatewayInput

type GatewayInput interface {
	pulumi.Input

	ToGatewayOutput() GatewayOutput
	ToGatewayOutputWithContext(ctx context.Context) GatewayOutput
}

type GatewayMap

type GatewayMap map[string]GatewayInput

func (GatewayMap) ElementType

func (GatewayMap) ElementType() reflect.Type

func (GatewayMap) ToGatewayMapOutput

func (i GatewayMap) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMap) ToGatewayMapOutputWithContext

func (i GatewayMap) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

func (GatewayMap) ToOutput added in v3.43.1

func (i GatewayMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Gateway]

type GatewayMapInput

type GatewayMapInput interface {
	pulumi.Input

	ToGatewayMapOutput() GatewayMapOutput
	ToGatewayMapOutputWithContext(context.Context) GatewayMapOutput
}

GatewayMapInput is an input type that accepts GatewayMap and GatewayMapOutput values. You can construct a concrete instance of `GatewayMapInput` via:

GatewayMap{ "key": GatewayArgs{...} }

type GatewayMapOutput

type GatewayMapOutput struct{ *pulumi.OutputState }

func (GatewayMapOutput) ElementType

func (GatewayMapOutput) ElementType() reflect.Type

func (GatewayMapOutput) MapIndex

func (GatewayMapOutput) ToGatewayMapOutput

func (o GatewayMapOutput) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMapOutput) ToGatewayMapOutputWithContext

func (o GatewayMapOutput) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

func (GatewayMapOutput) ToOutput added in v3.43.1

type GatewayOutput

type GatewayOutput struct{ *pulumi.OutputState }

func (GatewayOutput) AutoPay added in v3.27.0

func (o GatewayOutput) AutoPay() pulumi.BoolPtrOutput

Whether to pay automatically. Default value: `true`. Valid values:

func (GatewayOutput) AutoPropagate added in v3.29.0

func (o GatewayOutput) AutoPropagate() pulumi.BoolPtrOutput

Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:

func (GatewayOutput) Bandwidth added in v3.27.0

func (o GatewayOutput) Bandwidth() pulumi.IntOutput

func (GatewayOutput) BusinessStatus added in v3.27.0

func (o GatewayOutput) BusinessStatus() pulumi.StringOutput

The business status of the VPN gateway.

func (GatewayOutput) Description added in v3.27.0

func (o GatewayOutput) Description() pulumi.StringPtrOutput

The description of the VPN instance.

func (GatewayOutput) ElementType

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) EnableIpsec added in v3.27.0

func (o GatewayOutput) EnableIpsec() pulumi.BoolPtrOutput

Enable or Disable IPSec VPN. At least one type of VPN should be enabled.

func (GatewayOutput) EnableSsl added in v3.27.0

func (o GatewayOutput) EnableSsl() pulumi.BoolPtrOutput

Enable or Disable SSL VPN. At least one type of VPN should be enabled.

func (GatewayOutput) InstanceChargeType added in v3.27.0

func (o GatewayOutput) InstanceChargeType() pulumi.StringPtrOutput

The charge type for instance. If it is an international site account, the valid value is PostPaid, otherwise PrePaid. Default to PostPaid.

func (GatewayOutput) InternetIp added in v3.27.0

func (o GatewayOutput) InternetIp() pulumi.StringOutput

The internet ip of the VPN.

func (GatewayOutput) Name added in v3.27.0

The name of the VPN. Defaults to null.

func (GatewayOutput) NetworkType added in v3.29.0

func (o GatewayOutput) NetworkType() pulumi.StringOutput

The network type of the VPN gateway. Value: - public (default): Public VPN gateway. - private: Private VPN gateway.

> **NOTE:** Private VPN gateway can only be purchased by white list users, and the bandwidth only supports 200M or 1000M; In addition, SSL is not supported.

func (GatewayOutput) Period added in v3.27.0

func (o GatewayOutput) Period() pulumi.IntPtrOutput

The filed is only required while the InstanceChargeType is PrePaid. Valid values: [1-9, 12, 24, 36]. Default to 1.

func (GatewayOutput) SslConnections added in v3.27.0

func (o GatewayOutput) SslConnections() pulumi.IntPtrOutput

The max connections of SSL VPN. Default to 5. The number of connections supported by each account is different. This field is ignored when enableSsl is false.

func (GatewayOutput) Status added in v3.27.0

func (o GatewayOutput) Status() pulumi.StringOutput

The status of the VPN gateway.

func (GatewayOutput) Tags added in v3.27.0

func (o GatewayOutput) Tags() pulumi.MapOutput

The tags of VPN gateway.

func (GatewayOutput) ToGatewayOutput

func (o GatewayOutput) ToGatewayOutput() GatewayOutput

func (GatewayOutput) ToGatewayOutputWithContext

func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (GatewayOutput) ToOutput added in v3.43.1

func (o GatewayOutput) ToOutput(ctx context.Context) pulumix.Output[*Gateway]

func (GatewayOutput) VpcId added in v3.27.0

func (o GatewayOutput) VpcId() pulumi.StringOutput

The VPN belongs the vpc_id, the field can't be changed.

func (GatewayOutput) VswitchId added in v3.27.0

func (o GatewayOutput) VswitchId() pulumi.StringOutput

The VPN belongs the vswitch_id, the field can't be changed.

type GatewayState

type GatewayState struct {
	// Whether to pay automatically. Default value: `true`. Valid values:
	AutoPay pulumi.BoolPtrInput
	// Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:
	AutoPropagate pulumi.BoolPtrInput
	Bandwidth     pulumi.IntPtrInput
	// The business status of the VPN gateway.
	BusinessStatus pulumi.StringPtrInput
	// The description of the VPN instance.
	Description pulumi.StringPtrInput
	// Enable or Disable IPSec VPN. At least one type of VPN should be enabled.
	EnableIpsec pulumi.BoolPtrInput
	// Enable or Disable SSL VPN.  At least one type of VPN should be enabled.
	EnableSsl pulumi.BoolPtrInput
	// The charge type for instance. If it is an international site account, the valid value is PostPaid, otherwise PrePaid.
	// Default to PostPaid.
	InstanceChargeType pulumi.StringPtrInput
	// The internet ip of the VPN.
	InternetIp pulumi.StringPtrInput
	// The name of the VPN. Defaults to null.
	Name pulumi.StringPtrInput
	// The network type of the VPN gateway. Value:
	// - public (default): Public VPN gateway.
	// - private: Private VPN gateway.
	//
	// > **NOTE:** Private VPN gateway can only be purchased by white list users, and the bandwidth only supports 200M or 1000M; In addition, SSL is not supported.
	NetworkType pulumi.StringPtrInput
	// The filed is only required while the InstanceChargeType is PrePaid. Valid values: [1-9, 12, 24, 36]. Default to 1.
	Period pulumi.IntPtrInput
	// The max connections of SSL VPN. Default to 5. The number of connections supported by each account is different.
	// This field is ignored when enableSsl is false.
	SslConnections pulumi.IntPtrInput
	// The status of the VPN gateway.
	Status pulumi.StringPtrInput
	// The tags of VPN gateway.
	Tags pulumi.MapInput
	// The VPN belongs the vpc_id, the field can't be changed.
	VpcId pulumi.StringPtrInput
	// The VPN belongs the vswitch_id, the field can't be changed.
	VswitchId pulumi.StringPtrInput
}

func (GatewayState) ElementType

func (GatewayState) ElementType() reflect.Type

type GatewayVcoRoute added in v3.29.0

type GatewayVcoRoute struct {
	pulumi.CustomResourceState

	// The next hop of the destination route.
	NextHop pulumi.StringOutput `pulumi:"nextHop"`
	// The destination network segment of the destination route.
	RouteDest pulumi.StringOutput `pulumi:"routeDest"`
	// The status of the vpn route entry.
	Status pulumi.StringOutput `pulumi:"status"`
	// The id of the vpn attachment.
	VpnConnectionId pulumi.StringOutput `pulumi:"vpnConnectionId"`
	// The weight value of the destination route. Valid values: `0`, `100`.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

Provides a VPN Gateway Vco Route resource.

For information about VPN Gateway Vco Route and how to use it, see [What is Vco Route](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvcorouteentry).

> **NOTE:** Available in v1.183.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultInstance, err := cen.NewInstance(ctx, "defaultInstance", &cen.InstanceArgs{
			CenInstanceName: pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultTransitRouter, err := cen.NewTransitRouter(ctx, "defaultTransitRouter", &cen.TransitRouterArgs{
			CenId:                    defaultInstance.ID(),
			TransitRouterDescription: pulumi.String("desd"),
			TransitRouterName:        pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultTransitRouterAvailableResources, err := cen.GetTransitRouterAvailableResources(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "defaultCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress:   pulumi.String("42.104.22.210"),
			Asn:         pulumi.String("45014"),
			Description: pulumi.String("testAccVpnConnectionDesc"),
		})
		if err != nil {
			return err
		}
		defaultGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, "defaultGatewayVpnAttachment", &vpn.GatewayVpnAttachmentArgs{
			CustomerGatewayId: defaultCustomerGateway.ID(),
			NetworkType:       pulumi.String("public"),
			LocalSubnet:       pulumi.String("0.0.0.0/0"),
			RemoteSubnet:      pulumi.String("0.0.0.0/0"),
			EffectImmediately: pulumi.Bool(false),
			IkeConfig: &vpn.GatewayVpnAttachmentIkeConfigArgs{
				IkeAuthAlg:  pulumi.String("md5"),
				IkeEncAlg:   pulumi.String("des"),
				IkeVersion:  pulumi.String("ikev2"),
				IkeMode:     pulumi.String("main"),
				IkeLifetime: pulumi.Int(86400),
				Psk:         pulumi.String("tf-testvpn2"),
				IkePfs:      pulumi.String("group1"),
				RemoteId:    pulumi.String("testbob2"),
				LocalId:     pulumi.String("testalice2"),
			},
			IpsecConfig: &vpn.GatewayVpnAttachmentIpsecConfigArgs{
				IpsecPfs:      pulumi.String("group5"),
				IpsecEncAlg:   pulumi.String("des"),
				IpsecAuthAlg:  pulumi.String("md5"),
				IpsecLifetime: pulumi.Int(86400),
			},
			BgpConfig: &vpn.GatewayVpnAttachmentBgpConfigArgs{
				Enable:     pulumi.Bool(true),
				LocalAsn:   pulumi.Int(45014),
				TunnelCidr: pulumi.String("169.254.11.0/30"),
				LocalBgpIp: pulumi.String("169.254.11.1"),
			},
			HealthCheckConfig: &vpn.GatewayVpnAttachmentHealthCheckConfigArgs{
				Enable:   pulumi.Bool(true),
				Sip:      pulumi.String("192.168.1.1"),
				Dip:      pulumi.String("10.0.0.1"),
				Interval: pulumi.Int(10),
				Retry:    pulumi.Int(10),
				Policy:   pulumi.String("revoke_route"),
			},
			EnableDpd:          pulumi.Bool(true),
			EnableNatTraversal: pulumi.Bool(true),
			VpnAttachmentName:  pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultTransitRouterVpnAttachment, err := cen.NewTransitRouterVpnAttachment(ctx, "defaultTransitRouterVpnAttachment", &cen.TransitRouterVpnAttachmentArgs{
			AutoPublishRouteEnabled:            pulumi.Bool(false),
			TransitRouterAttachmentDescription: pulumi.Any(_var.Name),
			TransitRouterAttachmentName:        pulumi.Any(_var.Name),
			CenId:                              defaultTransitRouter.CenId,
			TransitRouterId:                    defaultTransitRouter.TransitRouterId,
			VpnId:                              defaultGatewayVpnAttachment.ID(),
			Zones: cen.TransitRouterVpnAttachmentZoneArray{
				&cen.TransitRouterVpnAttachmentZoneArgs{
					ZoneId: *pulumi.String(defaultTransitRouterAvailableResources.Resources[0].MasterZones[0]),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewGatewayVcoRoute(ctx, "defaultGatewayVcoRoute", &vpn.GatewayVcoRouteArgs{
			RouteDest:       pulumi.String("192.168.12.0/24"),
			NextHop:         defaultTransitRouterVpnAttachment.VpnId,
			VpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,
			Weight:          pulumi.Int(100),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN Gateway Vco Route can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/gatewayVcoRoute:GatewayVcoRoute example <vpn_connection_id>:<route_dest>:<next_hop>:<weight>

```

func GetGatewayVcoRoute added in v3.29.0

func GetGatewayVcoRoute(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayVcoRouteState, opts ...pulumi.ResourceOption) (*GatewayVcoRoute, error)

GetGatewayVcoRoute gets an existing GatewayVcoRoute resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGatewayVcoRoute added in v3.29.0

func NewGatewayVcoRoute(ctx *pulumi.Context,
	name string, args *GatewayVcoRouteArgs, opts ...pulumi.ResourceOption) (*GatewayVcoRoute, error)

NewGatewayVcoRoute registers a new resource with the given unique name, arguments, and options.

func (*GatewayVcoRoute) ElementType added in v3.29.0

func (*GatewayVcoRoute) ElementType() reflect.Type

func (*GatewayVcoRoute) ToGatewayVcoRouteOutput added in v3.29.0

func (i *GatewayVcoRoute) ToGatewayVcoRouteOutput() GatewayVcoRouteOutput

func (*GatewayVcoRoute) ToGatewayVcoRouteOutputWithContext added in v3.29.0

func (i *GatewayVcoRoute) ToGatewayVcoRouteOutputWithContext(ctx context.Context) GatewayVcoRouteOutput

func (*GatewayVcoRoute) ToOutput added in v3.43.1

type GatewayVcoRouteArgs added in v3.29.0

type GatewayVcoRouteArgs struct {
	// The next hop of the destination route.
	NextHop pulumi.StringInput
	// The destination network segment of the destination route.
	RouteDest pulumi.StringInput
	// The id of the vpn attachment.
	VpnConnectionId pulumi.StringInput
	// The weight value of the destination route. Valid values: `0`, `100`.
	Weight pulumi.IntInput
}

The set of arguments for constructing a GatewayVcoRoute resource.

func (GatewayVcoRouteArgs) ElementType added in v3.29.0

func (GatewayVcoRouteArgs) ElementType() reflect.Type

type GatewayVcoRouteArray added in v3.29.0

type GatewayVcoRouteArray []GatewayVcoRouteInput

func (GatewayVcoRouteArray) ElementType added in v3.29.0

func (GatewayVcoRouteArray) ElementType() reflect.Type

func (GatewayVcoRouteArray) ToGatewayVcoRouteArrayOutput added in v3.29.0

func (i GatewayVcoRouteArray) ToGatewayVcoRouteArrayOutput() GatewayVcoRouteArrayOutput

func (GatewayVcoRouteArray) ToGatewayVcoRouteArrayOutputWithContext added in v3.29.0

func (i GatewayVcoRouteArray) ToGatewayVcoRouteArrayOutputWithContext(ctx context.Context) GatewayVcoRouteArrayOutput

func (GatewayVcoRouteArray) ToOutput added in v3.43.1

type GatewayVcoRouteArrayInput added in v3.29.0

type GatewayVcoRouteArrayInput interface {
	pulumi.Input

	ToGatewayVcoRouteArrayOutput() GatewayVcoRouteArrayOutput
	ToGatewayVcoRouteArrayOutputWithContext(context.Context) GatewayVcoRouteArrayOutput
}

GatewayVcoRouteArrayInput is an input type that accepts GatewayVcoRouteArray and GatewayVcoRouteArrayOutput values. You can construct a concrete instance of `GatewayVcoRouteArrayInput` via:

GatewayVcoRouteArray{ GatewayVcoRouteArgs{...} }

type GatewayVcoRouteArrayOutput added in v3.29.0

type GatewayVcoRouteArrayOutput struct{ *pulumi.OutputState }

func (GatewayVcoRouteArrayOutput) ElementType added in v3.29.0

func (GatewayVcoRouteArrayOutput) ElementType() reflect.Type

func (GatewayVcoRouteArrayOutput) Index added in v3.29.0

func (GatewayVcoRouteArrayOutput) ToGatewayVcoRouteArrayOutput added in v3.29.0

func (o GatewayVcoRouteArrayOutput) ToGatewayVcoRouteArrayOutput() GatewayVcoRouteArrayOutput

func (GatewayVcoRouteArrayOutput) ToGatewayVcoRouteArrayOutputWithContext added in v3.29.0

func (o GatewayVcoRouteArrayOutput) ToGatewayVcoRouteArrayOutputWithContext(ctx context.Context) GatewayVcoRouteArrayOutput

func (GatewayVcoRouteArrayOutput) ToOutput added in v3.43.1

type GatewayVcoRouteInput added in v3.29.0

type GatewayVcoRouteInput interface {
	pulumi.Input

	ToGatewayVcoRouteOutput() GatewayVcoRouteOutput
	ToGatewayVcoRouteOutputWithContext(ctx context.Context) GatewayVcoRouteOutput
}

type GatewayVcoRouteMap added in v3.29.0

type GatewayVcoRouteMap map[string]GatewayVcoRouteInput

func (GatewayVcoRouteMap) ElementType added in v3.29.0

func (GatewayVcoRouteMap) ElementType() reflect.Type

func (GatewayVcoRouteMap) ToGatewayVcoRouteMapOutput added in v3.29.0

func (i GatewayVcoRouteMap) ToGatewayVcoRouteMapOutput() GatewayVcoRouteMapOutput

func (GatewayVcoRouteMap) ToGatewayVcoRouteMapOutputWithContext added in v3.29.0

func (i GatewayVcoRouteMap) ToGatewayVcoRouteMapOutputWithContext(ctx context.Context) GatewayVcoRouteMapOutput

func (GatewayVcoRouteMap) ToOutput added in v3.43.1

type GatewayVcoRouteMapInput added in v3.29.0

type GatewayVcoRouteMapInput interface {
	pulumi.Input

	ToGatewayVcoRouteMapOutput() GatewayVcoRouteMapOutput
	ToGatewayVcoRouteMapOutputWithContext(context.Context) GatewayVcoRouteMapOutput
}

GatewayVcoRouteMapInput is an input type that accepts GatewayVcoRouteMap and GatewayVcoRouteMapOutput values. You can construct a concrete instance of `GatewayVcoRouteMapInput` via:

GatewayVcoRouteMap{ "key": GatewayVcoRouteArgs{...} }

type GatewayVcoRouteMapOutput added in v3.29.0

type GatewayVcoRouteMapOutput struct{ *pulumi.OutputState }

func (GatewayVcoRouteMapOutput) ElementType added in v3.29.0

func (GatewayVcoRouteMapOutput) ElementType() reflect.Type

func (GatewayVcoRouteMapOutput) MapIndex added in v3.29.0

func (GatewayVcoRouteMapOutput) ToGatewayVcoRouteMapOutput added in v3.29.0

func (o GatewayVcoRouteMapOutput) ToGatewayVcoRouteMapOutput() GatewayVcoRouteMapOutput

func (GatewayVcoRouteMapOutput) ToGatewayVcoRouteMapOutputWithContext added in v3.29.0

func (o GatewayVcoRouteMapOutput) ToGatewayVcoRouteMapOutputWithContext(ctx context.Context) GatewayVcoRouteMapOutput

func (GatewayVcoRouteMapOutput) ToOutput added in v3.43.1

type GatewayVcoRouteOutput added in v3.29.0

type GatewayVcoRouteOutput struct{ *pulumi.OutputState }

func (GatewayVcoRouteOutput) ElementType added in v3.29.0

func (GatewayVcoRouteOutput) ElementType() reflect.Type

func (GatewayVcoRouteOutput) NextHop added in v3.29.0

The next hop of the destination route.

func (GatewayVcoRouteOutput) RouteDest added in v3.29.0

The destination network segment of the destination route.

func (GatewayVcoRouteOutput) Status added in v3.29.0

The status of the vpn route entry.

func (GatewayVcoRouteOutput) ToGatewayVcoRouteOutput added in v3.29.0

func (o GatewayVcoRouteOutput) ToGatewayVcoRouteOutput() GatewayVcoRouteOutput

func (GatewayVcoRouteOutput) ToGatewayVcoRouteOutputWithContext added in v3.29.0

func (o GatewayVcoRouteOutput) ToGatewayVcoRouteOutputWithContext(ctx context.Context) GatewayVcoRouteOutput

func (GatewayVcoRouteOutput) ToOutput added in v3.43.1

func (GatewayVcoRouteOutput) VpnConnectionId added in v3.29.0

func (o GatewayVcoRouteOutput) VpnConnectionId() pulumi.StringOutput

The id of the vpn attachment.

func (GatewayVcoRouteOutput) Weight added in v3.29.0

The weight value of the destination route. Valid values: `0`, `100`.

type GatewayVcoRouteState added in v3.29.0

type GatewayVcoRouteState struct {
	// The next hop of the destination route.
	NextHop pulumi.StringPtrInput
	// The destination network segment of the destination route.
	RouteDest pulumi.StringPtrInput
	// The status of the vpn route entry.
	Status pulumi.StringPtrInput
	// The id of the vpn attachment.
	VpnConnectionId pulumi.StringPtrInput
	// The weight value of the destination route. Valid values: `0`, `100`.
	Weight pulumi.IntPtrInput
}

func (GatewayVcoRouteState) ElementType added in v3.29.0

func (GatewayVcoRouteState) ElementType() reflect.Type

type GatewayVpnAttachment added in v3.28.0

type GatewayVpnAttachment struct {
	pulumi.CustomResourceState

	// Bgp configuration information. See `bgpConfig` below.
	BgpConfig GatewayVpnAttachmentBgpConfigOutput `pulumi:"bgpConfig"`
	// The ID of the customer gateway. From version 1.196.0, `customerGatewayId` can be modified.
	CustomerGatewayId pulumi.StringOutput `pulumi:"customerGatewayId"`
	// Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.
	EffectImmediately pulumi.BoolPtrOutput `pulumi:"effectImmediately"`
	// Whether to enable the DPD (peer survival detection) function.
	EnableDpd pulumi.BoolOutput `pulumi:"enableDpd"`
	// Allow NAT penetration.
	EnableNatTraversal pulumi.BoolOutput `pulumi:"enableNatTraversal"`
	// Health check configuration information. See `healthCheckConfig` below.
	HealthCheckConfig GatewayVpnAttachmentHealthCheckConfigOutput `pulumi:"healthCheckConfig"`
	// Configuration negotiated in the second stage. See `ikeConfig` below.
	IkeConfig GatewayVpnAttachmentIkeConfigOutput `pulumi:"ikeConfig"`
	// The VPN gateway IP.
	InternetIp pulumi.StringOutput `pulumi:"internetIp"`
	// Configuration negotiated in the second stage. See `ipsecConfig` below.
	IpsecConfig GatewayVpnAttachmentIpsecConfigOutput `pulumi:"ipsecConfig"`
	// The CIDR block of the virtual private cloud (VPC).
	LocalSubnet pulumi.StringOutput `pulumi:"localSubnet"`
	// The network type of the IPsec connection. Valid values: `public`, `private`.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// The CIDR block of the on-premises data center.
	RemoteSubnet pulumi.StringOutput `pulumi:"remoteSubnet"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The name of the vpn attachment.
	VpnAttachmentName pulumi.StringPtrOutput `pulumi:"vpnAttachmentName"`
}

Provides a VPN Gateway Vpn Attachment resource.

For information about VPN Gateway Vpn Attachment and how to use it, see [What is Vpn Attachment](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/createvpnattachment).

> **NOTE:** Available since v1.181.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "defaultCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress:   pulumi.String("42.104.22.210"),
			Asn:         pulumi.String("45014"),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewGatewayVpnAttachment(ctx, "defaultGatewayVpnAttachment", &vpn.GatewayVpnAttachmentArgs{
			CustomerGatewayId: defaultCustomerGateway.ID(),
			NetworkType:       pulumi.String("public"),
			LocalSubnet:       pulumi.String("0.0.0.0/0"),
			RemoteSubnet:      pulumi.String("0.0.0.0/0"),
			EffectImmediately: pulumi.Bool(false),
			IkeConfig: &vpn.GatewayVpnAttachmentIkeConfigArgs{
				IkeAuthAlg:  pulumi.String("md5"),
				IkeEncAlg:   pulumi.String("des"),
				IkeVersion:  pulumi.String("ikev2"),
				IkeMode:     pulumi.String("main"),
				IkeLifetime: pulumi.Int(86400),
				Psk:         pulumi.String("tf-testvpn2"),
				IkePfs:      pulumi.String("group1"),
				RemoteId:    pulumi.String("testbob2"),
				LocalId:     pulumi.String("testalice2"),
			},
			IpsecConfig: &vpn.GatewayVpnAttachmentIpsecConfigArgs{
				IpsecPfs:      pulumi.String("group5"),
				IpsecEncAlg:   pulumi.String("des"),
				IpsecAuthAlg:  pulumi.String("md5"),
				IpsecLifetime: pulumi.Int(86400),
			},
			BgpConfig: &vpn.GatewayVpnAttachmentBgpConfigArgs{
				Enable:     pulumi.Bool(true),
				LocalAsn:   pulumi.Int(45014),
				TunnelCidr: pulumi.String("169.254.11.0/30"),
				LocalBgpIp: pulumi.String("169.254.11.1"),
			},
			HealthCheckConfig: &vpn.GatewayVpnAttachmentHealthCheckConfigArgs{
				Enable:   pulumi.Bool(true),
				Sip:      pulumi.String("192.168.1.1"),
				Dip:      pulumi.String("10.0.0.1"),
				Interval: pulumi.Int(10),
				Retry:    pulumi.Int(10),
				Policy:   pulumi.String("revoke_route"),
			},
			EnableDpd:          pulumi.Bool(true),
			EnableNatTraversal: pulumi.Bool(true),
			VpnAttachmentName:  pulumi.String(name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN Gateway Vpn Attachment can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/gatewayVpnAttachment:GatewayVpnAttachment example <id>

```

func GetGatewayVpnAttachment added in v3.28.0

func GetGatewayVpnAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayVpnAttachmentState, opts ...pulumi.ResourceOption) (*GatewayVpnAttachment, error)

GetGatewayVpnAttachment gets an existing GatewayVpnAttachment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGatewayVpnAttachment added in v3.28.0

func NewGatewayVpnAttachment(ctx *pulumi.Context,
	name string, args *GatewayVpnAttachmentArgs, opts ...pulumi.ResourceOption) (*GatewayVpnAttachment, error)

NewGatewayVpnAttachment registers a new resource with the given unique name, arguments, and options.

func (*GatewayVpnAttachment) ElementType added in v3.28.0

func (*GatewayVpnAttachment) ElementType() reflect.Type

func (*GatewayVpnAttachment) ToGatewayVpnAttachmentOutput added in v3.28.0

func (i *GatewayVpnAttachment) ToGatewayVpnAttachmentOutput() GatewayVpnAttachmentOutput

func (*GatewayVpnAttachment) ToGatewayVpnAttachmentOutputWithContext added in v3.28.0

func (i *GatewayVpnAttachment) ToGatewayVpnAttachmentOutputWithContext(ctx context.Context) GatewayVpnAttachmentOutput

func (*GatewayVpnAttachment) ToOutput added in v3.43.1

type GatewayVpnAttachmentArgs added in v3.28.0

type GatewayVpnAttachmentArgs struct {
	// Bgp configuration information. See `bgpConfig` below.
	BgpConfig GatewayVpnAttachmentBgpConfigPtrInput
	// The ID of the customer gateway. From version 1.196.0, `customerGatewayId` can be modified.
	CustomerGatewayId pulumi.StringInput
	// Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.
	EffectImmediately pulumi.BoolPtrInput
	// Whether to enable the DPD (peer survival detection) function.
	EnableDpd pulumi.BoolPtrInput
	// Allow NAT penetration.
	EnableNatTraversal pulumi.BoolPtrInput
	// Health check configuration information. See `healthCheckConfig` below.
	HealthCheckConfig GatewayVpnAttachmentHealthCheckConfigPtrInput
	// Configuration negotiated in the second stage. See `ikeConfig` below.
	IkeConfig GatewayVpnAttachmentIkeConfigPtrInput
	// Configuration negotiated in the second stage. See `ipsecConfig` below.
	IpsecConfig GatewayVpnAttachmentIpsecConfigPtrInput
	// The CIDR block of the virtual private cloud (VPC).
	LocalSubnet pulumi.StringInput
	// The network type of the IPsec connection. Valid values: `public`, `private`.
	NetworkType pulumi.StringPtrInput
	// The CIDR block of the on-premises data center.
	RemoteSubnet pulumi.StringInput
	// The name of the vpn attachment.
	VpnAttachmentName pulumi.StringPtrInput
}

The set of arguments for constructing a GatewayVpnAttachment resource.

func (GatewayVpnAttachmentArgs) ElementType added in v3.28.0

func (GatewayVpnAttachmentArgs) ElementType() reflect.Type

type GatewayVpnAttachmentArray added in v3.28.0

type GatewayVpnAttachmentArray []GatewayVpnAttachmentInput

func (GatewayVpnAttachmentArray) ElementType added in v3.28.0

func (GatewayVpnAttachmentArray) ElementType() reflect.Type

func (GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutput added in v3.28.0

func (i GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutput() GatewayVpnAttachmentArrayOutput

func (GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutputWithContext(ctx context.Context) GatewayVpnAttachmentArrayOutput

func (GatewayVpnAttachmentArray) ToOutput added in v3.43.1

type GatewayVpnAttachmentArrayInput added in v3.28.0

type GatewayVpnAttachmentArrayInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentArrayOutput() GatewayVpnAttachmentArrayOutput
	ToGatewayVpnAttachmentArrayOutputWithContext(context.Context) GatewayVpnAttachmentArrayOutput
}

GatewayVpnAttachmentArrayInput is an input type that accepts GatewayVpnAttachmentArray and GatewayVpnAttachmentArrayOutput values. You can construct a concrete instance of `GatewayVpnAttachmentArrayInput` via:

GatewayVpnAttachmentArray{ GatewayVpnAttachmentArgs{...} }

type GatewayVpnAttachmentArrayOutput added in v3.28.0

type GatewayVpnAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentArrayOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentArrayOutput) Index added in v3.28.0

func (GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutput added in v3.28.0

func (o GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutput() GatewayVpnAttachmentArrayOutput

func (GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutputWithContext(ctx context.Context) GatewayVpnAttachmentArrayOutput

func (GatewayVpnAttachmentArrayOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentBgpConfig added in v3.28.0

type GatewayVpnAttachmentBgpConfig struct {
	// Whether to enable BGP.
	Enable *bool `pulumi:"enable"`
	// The ASN on the Alibaba Cloud side.
	LocalAsn *int `pulumi:"localAsn"`
	// The BGP IP address on the Alibaba Cloud side.
	LocalBgpIp *string `pulumi:"localBgpIp"`
	// The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.
	TunnelCidr *string `pulumi:"tunnelCidr"`
}

type GatewayVpnAttachmentBgpConfigArgs added in v3.28.0

type GatewayVpnAttachmentBgpConfigArgs struct {
	// Whether to enable BGP.
	Enable pulumi.BoolPtrInput `pulumi:"enable"`
	// The ASN on the Alibaba Cloud side.
	LocalAsn pulumi.IntPtrInput `pulumi:"localAsn"`
	// The BGP IP address on the Alibaba Cloud side.
	LocalBgpIp pulumi.StringPtrInput `pulumi:"localBgpIp"`
	// The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.
	TunnelCidr pulumi.StringPtrInput `pulumi:"tunnelCidr"`
}

func (GatewayVpnAttachmentBgpConfigArgs) ElementType added in v3.28.0

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutput added in v3.28.0

func (i GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutput() GatewayVpnAttachmentBgpConfigOutput

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentBgpConfigOutput

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutput added in v3.28.0

func (i GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigArgs) ToOutput added in v3.43.1

type GatewayVpnAttachmentBgpConfigInput added in v3.28.0

type GatewayVpnAttachmentBgpConfigInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentBgpConfigOutput() GatewayVpnAttachmentBgpConfigOutput
	ToGatewayVpnAttachmentBgpConfigOutputWithContext(context.Context) GatewayVpnAttachmentBgpConfigOutput
}

GatewayVpnAttachmentBgpConfigInput is an input type that accepts GatewayVpnAttachmentBgpConfigArgs and GatewayVpnAttachmentBgpConfigOutput values. You can construct a concrete instance of `GatewayVpnAttachmentBgpConfigInput` via:

GatewayVpnAttachmentBgpConfigArgs{...}

type GatewayVpnAttachmentBgpConfigOutput added in v3.28.0

type GatewayVpnAttachmentBgpConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentBgpConfigOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentBgpConfigOutput) Enable added in v3.28.0

Whether to enable BGP.

func (GatewayVpnAttachmentBgpConfigOutput) LocalAsn added in v3.28.0

The ASN on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigOutput) LocalBgpIp added in v3.28.0

The BGP IP address on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutput added in v3.28.0

func (o GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutput() GatewayVpnAttachmentBgpConfigOutput

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentBgpConfigOutput

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigOutput) ToOutput added in v3.43.1

func (GatewayVpnAttachmentBgpConfigOutput) TunnelCidr added in v3.28.0

The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.

type GatewayVpnAttachmentBgpConfigPtrInput added in v3.28.0

type GatewayVpnAttachmentBgpConfigPtrInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput
	ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext(context.Context) GatewayVpnAttachmentBgpConfigPtrOutput
}

GatewayVpnAttachmentBgpConfigPtrInput is an input type that accepts GatewayVpnAttachmentBgpConfigArgs, GatewayVpnAttachmentBgpConfigPtr and GatewayVpnAttachmentBgpConfigPtrOutput values. You can construct a concrete instance of `GatewayVpnAttachmentBgpConfigPtrInput` via:

        GatewayVpnAttachmentBgpConfigArgs{...}

or:

        nil

type GatewayVpnAttachmentBgpConfigPtrOutput added in v3.28.0

type GatewayVpnAttachmentBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentBgpConfigPtrOutput) Elem added in v3.28.0

func (GatewayVpnAttachmentBgpConfigPtrOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentBgpConfigPtrOutput) Enable added in v3.28.0

Whether to enable BGP.

func (GatewayVpnAttachmentBgpConfigPtrOutput) LocalAsn added in v3.28.0

The ASN on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigPtrOutput) LocalBgpIp added in v3.28.0

The BGP IP address on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigPtrOutput) ToOutput added in v3.43.1

func (GatewayVpnAttachmentBgpConfigPtrOutput) TunnelCidr added in v3.28.0

The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.

type GatewayVpnAttachmentHealthCheckConfig added in v3.28.0

type GatewayVpnAttachmentHealthCheckConfig struct {
	// The destination IP address that is used for health checks.
	Dip *string `pulumi:"dip"`
	// Specifies whether to enable health checks.
	Enable *bool `pulumi:"enable"`
	// The interval between two consecutive health checks. Unit: seconds.
	Interval *int `pulumi:"interval"`
	// Whether to revoke the published route when the health check fails. Valid values: `revokeRoute` or `reserveRoute`.
	Policy *string `pulumi:"policy"`
	// The maximum number of health check retries.
	Retry *int `pulumi:"retry"`
	// The source IP address that is used for health checks.
	Sip *string `pulumi:"sip"`
}

type GatewayVpnAttachmentHealthCheckConfigArgs added in v3.28.0

type GatewayVpnAttachmentHealthCheckConfigArgs struct {
	// The destination IP address that is used for health checks.
	Dip pulumi.StringPtrInput `pulumi:"dip"`
	// Specifies whether to enable health checks.
	Enable pulumi.BoolPtrInput `pulumi:"enable"`
	// The interval between two consecutive health checks. Unit: seconds.
	Interval pulumi.IntPtrInput `pulumi:"interval"`
	// Whether to revoke the published route when the health check fails. Valid values: `revokeRoute` or `reserveRoute`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The maximum number of health check retries.
	Retry pulumi.IntPtrInput `pulumi:"retry"`
	// The source IP address that is used for health checks.
	Sip pulumi.StringPtrInput `pulumi:"sip"`
}

func (GatewayVpnAttachmentHealthCheckConfigArgs) ElementType added in v3.28.0

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutput added in v3.28.0

func (i GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutput() GatewayVpnAttachmentHealthCheckConfigOutput

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentHealthCheckConfigOutput

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput added in v3.28.0

func (i GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToOutput added in v3.43.1

type GatewayVpnAttachmentHealthCheckConfigInput added in v3.28.0

type GatewayVpnAttachmentHealthCheckConfigInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentHealthCheckConfigOutput() GatewayVpnAttachmentHealthCheckConfigOutput
	ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext(context.Context) GatewayVpnAttachmentHealthCheckConfigOutput
}

GatewayVpnAttachmentHealthCheckConfigInput is an input type that accepts GatewayVpnAttachmentHealthCheckConfigArgs and GatewayVpnAttachmentHealthCheckConfigOutput values. You can construct a concrete instance of `GatewayVpnAttachmentHealthCheckConfigInput` via:

GatewayVpnAttachmentHealthCheckConfigArgs{...}

type GatewayVpnAttachmentHealthCheckConfigOutput added in v3.28.0

type GatewayVpnAttachmentHealthCheckConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentHealthCheckConfigOutput) Dip added in v3.28.0

The destination IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentHealthCheckConfigOutput) Enable added in v3.28.0

Specifies whether to enable health checks.

func (GatewayVpnAttachmentHealthCheckConfigOutput) Interval added in v3.28.0

The interval between two consecutive health checks. Unit: seconds.

func (GatewayVpnAttachmentHealthCheckConfigOutput) Policy added in v3.28.0

Whether to revoke the published route when the health check fails. Valid values: `revokeRoute` or `reserveRoute`.

func (GatewayVpnAttachmentHealthCheckConfigOutput) Retry added in v3.28.0

The maximum number of health check retries.

func (GatewayVpnAttachmentHealthCheckConfigOutput) Sip added in v3.28.0

The source IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutput added in v3.28.0

func (o GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutput() GatewayVpnAttachmentHealthCheckConfigOutput

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentHealthCheckConfigOutput

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentHealthCheckConfigPtrInput added in v3.28.0

type GatewayVpnAttachmentHealthCheckConfigPtrInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput
	ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext(context.Context) GatewayVpnAttachmentHealthCheckConfigPtrOutput
}

GatewayVpnAttachmentHealthCheckConfigPtrInput is an input type that accepts GatewayVpnAttachmentHealthCheckConfigArgs, GatewayVpnAttachmentHealthCheckConfigPtr and GatewayVpnAttachmentHealthCheckConfigPtrOutput values. You can construct a concrete instance of `GatewayVpnAttachmentHealthCheckConfigPtrInput` via:

        GatewayVpnAttachmentHealthCheckConfigArgs{...}

or:

        nil

type GatewayVpnAttachmentHealthCheckConfigPtrOutput added in v3.28.0

type GatewayVpnAttachmentHealthCheckConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Dip added in v3.28.0

The destination IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Elem added in v3.28.0

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Enable added in v3.28.0

Specifies whether to enable health checks.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Interval added in v3.28.0

The interval between two consecutive health checks. Unit: seconds.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Policy added in v3.28.0

Whether to revoke the published route when the health check fails. Valid values: `revokeRoute` or `reserveRoute`.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Retry added in v3.28.0

The maximum number of health check retries.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Sip added in v3.28.0

The source IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentIkeConfig added in v3.28.0

type GatewayVpnAttachmentIkeConfig struct {
	// IKE authentication algorithm supports sha1 and MD5.
	IkeAuthAlg *string `pulumi:"ikeAuthAlg"`
	// The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes.
	IkeEncAlg *string `pulumi:"ikeEncAlg"`
	// The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.
	IkeLifetime *int `pulumi:"ikeLifetime"`
	// The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: `main`.
	IkeMode *string `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2
	IkePfs *string `pulumi:"ikePfs"`
	// The version of the IKE protocol. Valid value: `ikev1`, `ikev2`. Default value: `ikev1`.
	IkeVersion *string `pulumi:"ikeVersion"`
	// The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default.
	LocalId *string `pulumi:"localId"`
	// Used for authentication between the IPsec VPN gateway and the customer gateway.
	Psk *string `pulumi:"psk"`
	// The peer ID, which supports FQDN and IP formats. By default, the IP address of the currently selected user gateway.
	RemoteId *string `pulumi:"remoteId"`
}

type GatewayVpnAttachmentIkeConfigArgs added in v3.28.0

type GatewayVpnAttachmentIkeConfigArgs struct {
	// IKE authentication algorithm supports sha1 and MD5.
	IkeAuthAlg pulumi.StringPtrInput `pulumi:"ikeAuthAlg"`
	// The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes.
	IkeEncAlg pulumi.StringPtrInput `pulumi:"ikeEncAlg"`
	// The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.
	IkeLifetime pulumi.IntPtrInput `pulumi:"ikeLifetime"`
	// The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: `main`.
	IkeMode pulumi.StringPtrInput `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2
	IkePfs pulumi.StringPtrInput `pulumi:"ikePfs"`
	// The version of the IKE protocol. Valid value: `ikev1`, `ikev2`. Default value: `ikev1`.
	IkeVersion pulumi.StringPtrInput `pulumi:"ikeVersion"`
	// The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default.
	LocalId pulumi.StringPtrInput `pulumi:"localId"`
	// Used for authentication between the IPsec VPN gateway and the customer gateway.
	Psk pulumi.StringPtrInput `pulumi:"psk"`
	// The peer ID, which supports FQDN and IP formats. By default, the IP address of the currently selected user gateway.
	RemoteId pulumi.StringPtrInput `pulumi:"remoteId"`
}

func (GatewayVpnAttachmentIkeConfigArgs) ElementType added in v3.28.0

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutput added in v3.28.0

func (i GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutput() GatewayVpnAttachmentIkeConfigOutput

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentIkeConfigOutput

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutput added in v3.28.0

func (i GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigArgs) ToOutput added in v3.43.1

type GatewayVpnAttachmentIkeConfigInput added in v3.28.0

type GatewayVpnAttachmentIkeConfigInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentIkeConfigOutput() GatewayVpnAttachmentIkeConfigOutput
	ToGatewayVpnAttachmentIkeConfigOutputWithContext(context.Context) GatewayVpnAttachmentIkeConfigOutput
}

GatewayVpnAttachmentIkeConfigInput is an input type that accepts GatewayVpnAttachmentIkeConfigArgs and GatewayVpnAttachmentIkeConfigOutput values. You can construct a concrete instance of `GatewayVpnAttachmentIkeConfigInput` via:

GatewayVpnAttachmentIkeConfigArgs{...}

type GatewayVpnAttachmentIkeConfigOutput added in v3.28.0

type GatewayVpnAttachmentIkeConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIkeConfigOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentIkeConfigOutput) IkeAuthAlg added in v3.28.0

IKE authentication algorithm supports sha1 and MD5.

func (GatewayVpnAttachmentIkeConfigOutput) IkeEncAlg added in v3.28.0

The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes.

func (GatewayVpnAttachmentIkeConfigOutput) IkeLifetime added in v3.28.0

The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.

func (GatewayVpnAttachmentIkeConfigOutput) IkeMode added in v3.28.0

The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: `main`.

func (GatewayVpnAttachmentIkeConfigOutput) IkePfs added in v3.28.0

The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2

func (GatewayVpnAttachmentIkeConfigOutput) IkeVersion added in v3.28.0

The version of the IKE protocol. Valid value: `ikev1`, `ikev2`. Default value: `ikev1`.

func (GatewayVpnAttachmentIkeConfigOutput) LocalId added in v3.28.0

The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default.

func (GatewayVpnAttachmentIkeConfigOutput) Psk added in v3.28.0

Used for authentication between the IPsec VPN gateway and the customer gateway.

func (GatewayVpnAttachmentIkeConfigOutput) RemoteId added in v3.28.0

The peer ID, which supports FQDN and IP formats. By default, the IP address of the currently selected user gateway.

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutput added in v3.28.0

func (o GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutput() GatewayVpnAttachmentIkeConfigOutput

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentIkeConfigOutput

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentIkeConfigPtrInput added in v3.28.0

type GatewayVpnAttachmentIkeConfigPtrInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput
	ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext(context.Context) GatewayVpnAttachmentIkeConfigPtrOutput
}

GatewayVpnAttachmentIkeConfigPtrInput is an input type that accepts GatewayVpnAttachmentIkeConfigArgs, GatewayVpnAttachmentIkeConfigPtr and GatewayVpnAttachmentIkeConfigPtrOutput values. You can construct a concrete instance of `GatewayVpnAttachmentIkeConfigPtrInput` via:

        GatewayVpnAttachmentIkeConfigArgs{...}

or:

        nil

type GatewayVpnAttachmentIkeConfigPtrOutput added in v3.28.0

type GatewayVpnAttachmentIkeConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIkeConfigPtrOutput) Elem added in v3.28.0

func (GatewayVpnAttachmentIkeConfigPtrOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeAuthAlg added in v3.28.0

IKE authentication algorithm supports sha1 and MD5.

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeEncAlg added in v3.28.0

The encryption algorithm of phase-one negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default Valid value: aes.

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeLifetime added in v3.28.0

The SA lifecycle as the result of phase-one negotiation. The valid value of n is [0, 86400], the unit is second and the default value is 86400.

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeMode added in v3.28.0

The negotiation mode of IKE V1. Valid value: main (main mode) | aggressive (aggressive mode). Default value: `main`.

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkePfs added in v3.28.0

The Diffie-Hellman key exchange algorithm used by phase-one negotiation. Valid value: group1 | group2 | group5 | group14 | group24. Default value: group2

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeVersion added in v3.28.0

The version of the IKE protocol. Valid value: `ikev1`, `ikev2`. Default value: `ikev1`.

func (GatewayVpnAttachmentIkeConfigPtrOutput) LocalId added in v3.28.0

The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default.

func (GatewayVpnAttachmentIkeConfigPtrOutput) Psk added in v3.28.0

Used for authentication between the IPsec VPN gateway and the customer gateway.

func (GatewayVpnAttachmentIkeConfigPtrOutput) RemoteId added in v3.28.0

The peer ID, which supports FQDN and IP formats. By default, the IP address of the currently selected user gateway.

func (GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigPtrOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentInput added in v3.28.0

type GatewayVpnAttachmentInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentOutput() GatewayVpnAttachmentOutput
	ToGatewayVpnAttachmentOutputWithContext(ctx context.Context) GatewayVpnAttachmentOutput
}

type GatewayVpnAttachmentIpsecConfig added in v3.28.0

type GatewayVpnAttachmentIpsecConfig struct {
	// The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1
	IpsecAuthAlg *string `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes
	IpsecEncAlg *string `pulumi:"ipsecEncAlg"`
	// The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.
	IpsecLifetime *int `pulumi:"ipsecLifetime"`
	// The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2
	IpsecPfs *string `pulumi:"ipsecPfs"`
}

type GatewayVpnAttachmentIpsecConfigArgs added in v3.28.0

type GatewayVpnAttachmentIpsecConfigArgs struct {
	// The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1
	IpsecAuthAlg pulumi.StringPtrInput `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes
	IpsecEncAlg pulumi.StringPtrInput `pulumi:"ipsecEncAlg"`
	// The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.
	IpsecLifetime pulumi.IntPtrInput `pulumi:"ipsecLifetime"`
	// The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2
	IpsecPfs pulumi.StringPtrInput `pulumi:"ipsecPfs"`
}

func (GatewayVpnAttachmentIpsecConfigArgs) ElementType added in v3.28.0

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutput added in v3.28.0

func (i GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutput() GatewayVpnAttachmentIpsecConfigOutput

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentIpsecConfigOutput

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutput added in v3.28.0

func (i GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigArgs) ToOutput added in v3.43.1

type GatewayVpnAttachmentIpsecConfigInput added in v3.28.0

type GatewayVpnAttachmentIpsecConfigInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentIpsecConfigOutput() GatewayVpnAttachmentIpsecConfigOutput
	ToGatewayVpnAttachmentIpsecConfigOutputWithContext(context.Context) GatewayVpnAttachmentIpsecConfigOutput
}

GatewayVpnAttachmentIpsecConfigInput is an input type that accepts GatewayVpnAttachmentIpsecConfigArgs and GatewayVpnAttachmentIpsecConfigOutput values. You can construct a concrete instance of `GatewayVpnAttachmentIpsecConfigInput` via:

GatewayVpnAttachmentIpsecConfigArgs{...}

type GatewayVpnAttachmentIpsecConfigOutput added in v3.28.0

type GatewayVpnAttachmentIpsecConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIpsecConfigOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentIpsecConfigOutput) IpsecAuthAlg added in v3.28.0

The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1

func (GatewayVpnAttachmentIpsecConfigOutput) IpsecEncAlg added in v3.28.0

The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes

func (GatewayVpnAttachmentIpsecConfigOutput) IpsecLifetime added in v3.28.0

The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.

func (GatewayVpnAttachmentIpsecConfigOutput) IpsecPfs added in v3.28.0

The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigOutput added in v3.28.0

func (o GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigOutput() GatewayVpnAttachmentIpsecConfigOutput

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigOutputWithContext(ctx context.Context) GatewayVpnAttachmentIpsecConfigOutput

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentIpsecConfigPtrInput added in v3.28.0

type GatewayVpnAttachmentIpsecConfigPtrInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput
	ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext(context.Context) GatewayVpnAttachmentIpsecConfigPtrOutput
}

GatewayVpnAttachmentIpsecConfigPtrInput is an input type that accepts GatewayVpnAttachmentIpsecConfigArgs, GatewayVpnAttachmentIpsecConfigPtr and GatewayVpnAttachmentIpsecConfigPtrOutput values. You can construct a concrete instance of `GatewayVpnAttachmentIpsecConfigPtrInput` via:

        GatewayVpnAttachmentIpsecConfigArgs{...}

or:

        nil

type GatewayVpnAttachmentIpsecConfigPtrOutput added in v3.28.0

type GatewayVpnAttachmentIpsecConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIpsecConfigPtrOutput) Elem added in v3.28.0

func (GatewayVpnAttachmentIpsecConfigPtrOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecAuthAlg added in v3.28.0

The authentication algorithm of phase-two negotiation. Valid value: md5 | sha1 | sha256 | sha384 | sha512 |. Default value: sha1

func (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecEncAlg added in v3.28.0

The encryption algorithm of phase-two negotiation. Valid value: aes | aes192 | aes256 | des | 3des. Default value: aes

func (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecLifetime added in v3.28.0

The SA lifecycle as the result of phase-two negotiation. The valid value is [0, 86400], the unit is second and the default value is 86400.

func (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecPfs added in v3.28.0

The Diffie-Hellman key exchange algorithm used by phase-two negotiation. Valid value: group1 | group2 | group5 | group14 | group24| disabled. Default value: group2

func (GatewayVpnAttachmentIpsecConfigPtrOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput added in v3.28.0

func (o GatewayVpnAttachmentIpsecConfigPtrOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigPtrOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentIpsecConfigPtrOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext(ctx context.Context) GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigPtrOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentMap added in v3.28.0

type GatewayVpnAttachmentMap map[string]GatewayVpnAttachmentInput

func (GatewayVpnAttachmentMap) ElementType added in v3.28.0

func (GatewayVpnAttachmentMap) ElementType() reflect.Type

func (GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutput added in v3.28.0

func (i GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutput() GatewayVpnAttachmentMapOutput

func (GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutputWithContext added in v3.28.0

func (i GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutputWithContext(ctx context.Context) GatewayVpnAttachmentMapOutput

func (GatewayVpnAttachmentMap) ToOutput added in v3.43.1

type GatewayVpnAttachmentMapInput added in v3.28.0

type GatewayVpnAttachmentMapInput interface {
	pulumi.Input

	ToGatewayVpnAttachmentMapOutput() GatewayVpnAttachmentMapOutput
	ToGatewayVpnAttachmentMapOutputWithContext(context.Context) GatewayVpnAttachmentMapOutput
}

GatewayVpnAttachmentMapInput is an input type that accepts GatewayVpnAttachmentMap and GatewayVpnAttachmentMapOutput values. You can construct a concrete instance of `GatewayVpnAttachmentMapInput` via:

GatewayVpnAttachmentMap{ "key": GatewayVpnAttachmentArgs{...} }

type GatewayVpnAttachmentMapOutput added in v3.28.0

type GatewayVpnAttachmentMapOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentMapOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentMapOutput) MapIndex added in v3.28.0

func (GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutput added in v3.28.0

func (o GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutput() GatewayVpnAttachmentMapOutput

func (GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutputWithContext(ctx context.Context) GatewayVpnAttachmentMapOutput

func (GatewayVpnAttachmentMapOutput) ToOutput added in v3.43.1

type GatewayVpnAttachmentOutput added in v3.28.0

type GatewayVpnAttachmentOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentOutput) BgpConfig added in v3.28.0

Bgp configuration information. See `bgpConfig` below.

func (GatewayVpnAttachmentOutput) CustomerGatewayId added in v3.28.0

func (o GatewayVpnAttachmentOutput) CustomerGatewayId() pulumi.StringOutput

The ID of the customer gateway. From version 1.196.0, `customerGatewayId` can be modified.

func (GatewayVpnAttachmentOutput) EffectImmediately added in v3.28.0

func (o GatewayVpnAttachmentOutput) EffectImmediately() pulumi.BoolPtrOutput

Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.

func (GatewayVpnAttachmentOutput) ElementType added in v3.28.0

func (GatewayVpnAttachmentOutput) ElementType() reflect.Type

func (GatewayVpnAttachmentOutput) EnableDpd added in v3.28.0

Whether to enable the DPD (peer survival detection) function.

func (GatewayVpnAttachmentOutput) EnableNatTraversal added in v3.28.0

func (o GatewayVpnAttachmentOutput) EnableNatTraversal() pulumi.BoolOutput

Allow NAT penetration.

func (GatewayVpnAttachmentOutput) HealthCheckConfig added in v3.28.0

Health check configuration information. See `healthCheckConfig` below.

func (GatewayVpnAttachmentOutput) IkeConfig added in v3.28.0

Configuration negotiated in the second stage. See `ikeConfig` below.

func (GatewayVpnAttachmentOutput) InternetIp added in v3.29.0

The VPN gateway IP.

func (GatewayVpnAttachmentOutput) IpsecConfig added in v3.28.0

Configuration negotiated in the second stage. See `ipsecConfig` below.

func (GatewayVpnAttachmentOutput) LocalSubnet added in v3.28.0

The CIDR block of the virtual private cloud (VPC).

func (GatewayVpnAttachmentOutput) NetworkType added in v3.28.0

The network type of the IPsec connection. Valid values: `public`, `private`.

func (GatewayVpnAttachmentOutput) RemoteSubnet added in v3.28.0

The CIDR block of the on-premises data center.

func (GatewayVpnAttachmentOutput) Status added in v3.28.0

The status of the resource.

func (GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutput added in v3.28.0

func (o GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutput() GatewayVpnAttachmentOutput

func (GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutputWithContext added in v3.28.0

func (o GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutputWithContext(ctx context.Context) GatewayVpnAttachmentOutput

func (GatewayVpnAttachmentOutput) ToOutput added in v3.43.1

func (GatewayVpnAttachmentOutput) VpnAttachmentName added in v3.28.0

func (o GatewayVpnAttachmentOutput) VpnAttachmentName() pulumi.StringPtrOutput

The name of the vpn attachment.

type GatewayVpnAttachmentState added in v3.28.0

type GatewayVpnAttachmentState struct {
	// Bgp configuration information. See `bgpConfig` below.
	BgpConfig GatewayVpnAttachmentBgpConfigPtrInput
	// The ID of the customer gateway. From version 1.196.0, `customerGatewayId` can be modified.
	CustomerGatewayId pulumi.StringPtrInput
	// Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.
	EffectImmediately pulumi.BoolPtrInput
	// Whether to enable the DPD (peer survival detection) function.
	EnableDpd pulumi.BoolPtrInput
	// Allow NAT penetration.
	EnableNatTraversal pulumi.BoolPtrInput
	// Health check configuration information. See `healthCheckConfig` below.
	HealthCheckConfig GatewayVpnAttachmentHealthCheckConfigPtrInput
	// Configuration negotiated in the second stage. See `ikeConfig` below.
	IkeConfig GatewayVpnAttachmentIkeConfigPtrInput
	// The VPN gateway IP.
	InternetIp pulumi.StringPtrInput
	// Configuration negotiated in the second stage. See `ipsecConfig` below.
	IpsecConfig GatewayVpnAttachmentIpsecConfigPtrInput
	// The CIDR block of the virtual private cloud (VPC).
	LocalSubnet pulumi.StringPtrInput
	// The network type of the IPsec connection. Valid values: `public`, `private`.
	NetworkType pulumi.StringPtrInput
	// The CIDR block of the on-premises data center.
	RemoteSubnet pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The name of the vpn attachment.
	VpnAttachmentName pulumi.StringPtrInput
}

func (GatewayVpnAttachmentState) ElementType added in v3.28.0

func (GatewayVpnAttachmentState) ElementType() reflect.Type

type GetConnectionsArgs

type GetConnectionsArgs struct {
	// Use the VPN customer gateway ID as the search key.
	CustomerGatewayId *string `pulumi:"customerGatewayId"`
	// IDs of the VPN connections.
	Ids []string `pulumi:"ids"`
	// A regex string of VPN connection name.
	NameRegex *string `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile *string `pulumi:"outputFile"`
	// Use the VPN gateway ID as the search key.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getConnections.

type GetConnectionsConnection

type GetConnectionsConnection struct {
	CreateTime string `pulumi:"createTime"`
	// Use the VPN customer gateway ID as the search key.
	CustomerGatewayId string `pulumi:"customerGatewayId"`
	EffectImmediately bool   `pulumi:"effectImmediately"`
	// Specifies whether to enable the dead peer detection (DPD) feature.
	EnableDpd bool `pulumi:"enableDpd"`
	// Specifies whether to enable NAT traversal.
	EnableNatTraversal bool `pulumi:"enableNatTraversal"`
	// ID of the VPN connection.
	Id string `pulumi:"id"`
	// The configurations of phase-one negotiation.
	IkeConfigs []GetConnectionsConnectionIkeConfig `pulumi:"ikeConfigs"`
	// The configurations of phase-two negotiation.
	IpsecConfigs []GetConnectionsConnectionIpsecConfig `pulumi:"ipsecConfigs"`
	// The local subnet of the VPN connection.
	LocalSubnet string `pulumi:"localSubnet"`
	// The name of the VPN connection.
	Name string `pulumi:"name"`
	// The remote subnet of the VPN connection.
	RemoteSubnet string `pulumi:"remoteSubnet"`
	// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
	Status          string                                   `pulumi:"status"`
	VcoHealthChecks []GetConnectionsConnectionVcoHealthCheck `pulumi:"vcoHealthChecks"`
	// The configuration information for BGP.
	VpnBgpConfigs []GetConnectionsConnectionVpnBgpConfig `pulumi:"vpnBgpConfigs"`
	// Use the VPN gateway ID as the search key.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
}

type GetConnectionsConnectionArgs

type GetConnectionsConnectionArgs struct {
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Use the VPN customer gateway ID as the search key.
	CustomerGatewayId pulumi.StringInput `pulumi:"customerGatewayId"`
	EffectImmediately pulumi.BoolInput   `pulumi:"effectImmediately"`
	// Specifies whether to enable the dead peer detection (DPD) feature.
	EnableDpd pulumi.BoolInput `pulumi:"enableDpd"`
	// Specifies whether to enable NAT traversal.
	EnableNatTraversal pulumi.BoolInput `pulumi:"enableNatTraversal"`
	// ID of the VPN connection.
	Id pulumi.StringInput `pulumi:"id"`
	// The configurations of phase-one negotiation.
	IkeConfigs GetConnectionsConnectionIkeConfigArrayInput `pulumi:"ikeConfigs"`
	// The configurations of phase-two negotiation.
	IpsecConfigs GetConnectionsConnectionIpsecConfigArrayInput `pulumi:"ipsecConfigs"`
	// The local subnet of the VPN connection.
	LocalSubnet pulumi.StringInput `pulumi:"localSubnet"`
	// The name of the VPN connection.
	Name pulumi.StringInput `pulumi:"name"`
	// The remote subnet of the VPN connection.
	RemoteSubnet pulumi.StringInput `pulumi:"remoteSubnet"`
	// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
	Status          pulumi.StringInput                               `pulumi:"status"`
	VcoHealthChecks GetConnectionsConnectionVcoHealthCheckArrayInput `pulumi:"vcoHealthChecks"`
	// The configuration information for BGP.
	VpnBgpConfigs GetConnectionsConnectionVpnBgpConfigArrayInput `pulumi:"vpnBgpConfigs"`
	// Use the VPN gateway ID as the search key.
	VpnGatewayId pulumi.StringInput `pulumi:"vpnGatewayId"`
}

func (GetConnectionsConnectionArgs) ElementType

func (GetConnectionsConnectionArgs) ToGetConnectionsConnectionOutput

func (i GetConnectionsConnectionArgs) ToGetConnectionsConnectionOutput() GetConnectionsConnectionOutput

func (GetConnectionsConnectionArgs) ToGetConnectionsConnectionOutputWithContext

func (i GetConnectionsConnectionArgs) ToGetConnectionsConnectionOutputWithContext(ctx context.Context) GetConnectionsConnectionOutput

func (GetConnectionsConnectionArgs) ToOutput added in v3.43.1

type GetConnectionsConnectionArray

type GetConnectionsConnectionArray []GetConnectionsConnectionInput

func (GetConnectionsConnectionArray) ElementType

func (GetConnectionsConnectionArray) ToGetConnectionsConnectionArrayOutput

func (i GetConnectionsConnectionArray) ToGetConnectionsConnectionArrayOutput() GetConnectionsConnectionArrayOutput

func (GetConnectionsConnectionArray) ToGetConnectionsConnectionArrayOutputWithContext

func (i GetConnectionsConnectionArray) ToGetConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionArrayOutput

func (GetConnectionsConnectionArray) ToOutput added in v3.43.1

type GetConnectionsConnectionArrayInput

type GetConnectionsConnectionArrayInput interface {
	pulumi.Input

	ToGetConnectionsConnectionArrayOutput() GetConnectionsConnectionArrayOutput
	ToGetConnectionsConnectionArrayOutputWithContext(context.Context) GetConnectionsConnectionArrayOutput
}

GetConnectionsConnectionArrayInput is an input type that accepts GetConnectionsConnectionArray and GetConnectionsConnectionArrayOutput values. You can construct a concrete instance of `GetConnectionsConnectionArrayInput` via:

GetConnectionsConnectionArray{ GetConnectionsConnectionArgs{...} }

type GetConnectionsConnectionArrayOutput

type GetConnectionsConnectionArrayOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionArrayOutput) ElementType

func (GetConnectionsConnectionArrayOutput) Index

func (GetConnectionsConnectionArrayOutput) ToGetConnectionsConnectionArrayOutput

func (o GetConnectionsConnectionArrayOutput) ToGetConnectionsConnectionArrayOutput() GetConnectionsConnectionArrayOutput

func (GetConnectionsConnectionArrayOutput) ToGetConnectionsConnectionArrayOutputWithContext

func (o GetConnectionsConnectionArrayOutput) ToGetConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionArrayOutput

func (GetConnectionsConnectionArrayOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionIkeConfig

type GetConnectionsConnectionIkeConfig struct {
	// The authentication algorithm of phase-one negotiation.
	IkeAuthAlg *string `pulumi:"ikeAuthAlg"`
	// The encryption algorithm of phase-one negotiation.
	IkeEncAlg *string `pulumi:"ikeEncAlg"`
	// The SA lifecycle as the result of phase-one negotiation.
	IkeLifetime *int `pulumi:"ikeLifetime"`
	// The identification of the VPN gateway.
	IkeLocalId *string `pulumi:"ikeLocalId"`
	// The negotiation mode of IKE phase-one.
	IkeMode *string `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm used by phase-one negotiation.
	IkePfs *string `pulumi:"ikePfs"`
	// The identification of the customer gateway.
	IkeRemoteId *string `pulumi:"ikeRemoteId"`
	// The version of the IKE protocol.
	IkeVersion *string `pulumi:"ikeVersion"`
	// Used for authentication between the IPsec VPN gateway and the customer gateway.
	Psk *string `pulumi:"psk"`
}

type GetConnectionsConnectionIkeConfigArgs

type GetConnectionsConnectionIkeConfigArgs struct {
	// The authentication algorithm of phase-one negotiation.
	IkeAuthAlg pulumi.StringPtrInput `pulumi:"ikeAuthAlg"`
	// The encryption algorithm of phase-one negotiation.
	IkeEncAlg pulumi.StringPtrInput `pulumi:"ikeEncAlg"`
	// The SA lifecycle as the result of phase-one negotiation.
	IkeLifetime pulumi.IntPtrInput `pulumi:"ikeLifetime"`
	// The identification of the VPN gateway.
	IkeLocalId pulumi.StringPtrInput `pulumi:"ikeLocalId"`
	// The negotiation mode of IKE phase-one.
	IkeMode pulumi.StringPtrInput `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm used by phase-one negotiation.
	IkePfs pulumi.StringPtrInput `pulumi:"ikePfs"`
	// The identification of the customer gateway.
	IkeRemoteId pulumi.StringPtrInput `pulumi:"ikeRemoteId"`
	// The version of the IKE protocol.
	IkeVersion pulumi.StringPtrInput `pulumi:"ikeVersion"`
	// Used for authentication between the IPsec VPN gateway and the customer gateway.
	Psk pulumi.StringPtrInput `pulumi:"psk"`
}

func (GetConnectionsConnectionIkeConfigArgs) ElementType

func (GetConnectionsConnectionIkeConfigArgs) ToGetConnectionsConnectionIkeConfigOutput

func (i GetConnectionsConnectionIkeConfigArgs) ToGetConnectionsConnectionIkeConfigOutput() GetConnectionsConnectionIkeConfigOutput

func (GetConnectionsConnectionIkeConfigArgs) ToGetConnectionsConnectionIkeConfigOutputWithContext

func (i GetConnectionsConnectionIkeConfigArgs) ToGetConnectionsConnectionIkeConfigOutputWithContext(ctx context.Context) GetConnectionsConnectionIkeConfigOutput

func (GetConnectionsConnectionIkeConfigArgs) ToOutput added in v3.43.1

type GetConnectionsConnectionIkeConfigArray

type GetConnectionsConnectionIkeConfigArray []GetConnectionsConnectionIkeConfigInput

func (GetConnectionsConnectionIkeConfigArray) ElementType

func (GetConnectionsConnectionIkeConfigArray) ToGetConnectionsConnectionIkeConfigArrayOutput

func (i GetConnectionsConnectionIkeConfigArray) ToGetConnectionsConnectionIkeConfigArrayOutput() GetConnectionsConnectionIkeConfigArrayOutput

func (GetConnectionsConnectionIkeConfigArray) ToGetConnectionsConnectionIkeConfigArrayOutputWithContext

func (i GetConnectionsConnectionIkeConfigArray) ToGetConnectionsConnectionIkeConfigArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionIkeConfigArrayOutput

func (GetConnectionsConnectionIkeConfigArray) ToOutput added in v3.43.1

type GetConnectionsConnectionIkeConfigArrayInput

type GetConnectionsConnectionIkeConfigArrayInput interface {
	pulumi.Input

	ToGetConnectionsConnectionIkeConfigArrayOutput() GetConnectionsConnectionIkeConfigArrayOutput
	ToGetConnectionsConnectionIkeConfigArrayOutputWithContext(context.Context) GetConnectionsConnectionIkeConfigArrayOutput
}

GetConnectionsConnectionIkeConfigArrayInput is an input type that accepts GetConnectionsConnectionIkeConfigArray and GetConnectionsConnectionIkeConfigArrayOutput values. You can construct a concrete instance of `GetConnectionsConnectionIkeConfigArrayInput` via:

GetConnectionsConnectionIkeConfigArray{ GetConnectionsConnectionIkeConfigArgs{...} }

type GetConnectionsConnectionIkeConfigArrayOutput

type GetConnectionsConnectionIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionIkeConfigArrayOutput) ElementType

func (GetConnectionsConnectionIkeConfigArrayOutput) Index

func (GetConnectionsConnectionIkeConfigArrayOutput) ToGetConnectionsConnectionIkeConfigArrayOutput

func (o GetConnectionsConnectionIkeConfigArrayOutput) ToGetConnectionsConnectionIkeConfigArrayOutput() GetConnectionsConnectionIkeConfigArrayOutput

func (GetConnectionsConnectionIkeConfigArrayOutput) ToGetConnectionsConnectionIkeConfigArrayOutputWithContext

func (o GetConnectionsConnectionIkeConfigArrayOutput) ToGetConnectionsConnectionIkeConfigArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionIkeConfigArrayOutput

func (GetConnectionsConnectionIkeConfigArrayOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionIkeConfigInput

type GetConnectionsConnectionIkeConfigInput interface {
	pulumi.Input

	ToGetConnectionsConnectionIkeConfigOutput() GetConnectionsConnectionIkeConfigOutput
	ToGetConnectionsConnectionIkeConfigOutputWithContext(context.Context) GetConnectionsConnectionIkeConfigOutput
}

GetConnectionsConnectionIkeConfigInput is an input type that accepts GetConnectionsConnectionIkeConfigArgs and GetConnectionsConnectionIkeConfigOutput values. You can construct a concrete instance of `GetConnectionsConnectionIkeConfigInput` via:

GetConnectionsConnectionIkeConfigArgs{...}

type GetConnectionsConnectionIkeConfigOutput

type GetConnectionsConnectionIkeConfigOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionIkeConfigOutput) ElementType

func (GetConnectionsConnectionIkeConfigOutput) IkeAuthAlg

The authentication algorithm of phase-one negotiation.

func (GetConnectionsConnectionIkeConfigOutput) IkeEncAlg

The encryption algorithm of phase-one negotiation.

func (GetConnectionsConnectionIkeConfigOutput) IkeLifetime

The SA lifecycle as the result of phase-one negotiation.

func (GetConnectionsConnectionIkeConfigOutput) IkeLocalId

The identification of the VPN gateway.

func (GetConnectionsConnectionIkeConfigOutput) IkeMode

The negotiation mode of IKE phase-one.

func (GetConnectionsConnectionIkeConfigOutput) IkePfs

The Diffie-Hellman key exchange algorithm used by phase-one negotiation.

func (GetConnectionsConnectionIkeConfigOutput) IkeRemoteId

The identification of the customer gateway.

func (GetConnectionsConnectionIkeConfigOutput) IkeVersion

The version of the IKE protocol.

func (GetConnectionsConnectionIkeConfigOutput) Psk

Used for authentication between the IPsec VPN gateway and the customer gateway.

func (GetConnectionsConnectionIkeConfigOutput) ToGetConnectionsConnectionIkeConfigOutput

func (o GetConnectionsConnectionIkeConfigOutput) ToGetConnectionsConnectionIkeConfigOutput() GetConnectionsConnectionIkeConfigOutput

func (GetConnectionsConnectionIkeConfigOutput) ToGetConnectionsConnectionIkeConfigOutputWithContext

func (o GetConnectionsConnectionIkeConfigOutput) ToGetConnectionsConnectionIkeConfigOutputWithContext(ctx context.Context) GetConnectionsConnectionIkeConfigOutput

func (GetConnectionsConnectionIkeConfigOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionInput

type GetConnectionsConnectionInput interface {
	pulumi.Input

	ToGetConnectionsConnectionOutput() GetConnectionsConnectionOutput
	ToGetConnectionsConnectionOutputWithContext(context.Context) GetConnectionsConnectionOutput
}

GetConnectionsConnectionInput is an input type that accepts GetConnectionsConnectionArgs and GetConnectionsConnectionOutput values. You can construct a concrete instance of `GetConnectionsConnectionInput` via:

GetConnectionsConnectionArgs{...}

type GetConnectionsConnectionIpsecConfig

type GetConnectionsConnectionIpsecConfig struct {
	// The authentication algorithm of phase-two negotiation.
	IpsecAuthAlg *string `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm of phase-two negotiation.
	IpsecEncAlg *string `pulumi:"ipsecEncAlg"`
	// The SA lifecycle as the result of phase-two negotiation.
	IpsecLifetime *int `pulumi:"ipsecLifetime"`
	// The Diffie-Hellman key exchange algorithm used by phase-two negotiation.
	IpsecPfs *string `pulumi:"ipsecPfs"`
}

type GetConnectionsConnectionIpsecConfigArgs

type GetConnectionsConnectionIpsecConfigArgs struct {
	// The authentication algorithm of phase-two negotiation.
	IpsecAuthAlg pulumi.StringPtrInput `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm of phase-two negotiation.
	IpsecEncAlg pulumi.StringPtrInput `pulumi:"ipsecEncAlg"`
	// The SA lifecycle as the result of phase-two negotiation.
	IpsecLifetime pulumi.IntPtrInput `pulumi:"ipsecLifetime"`
	// The Diffie-Hellman key exchange algorithm used by phase-two negotiation.
	IpsecPfs pulumi.StringPtrInput `pulumi:"ipsecPfs"`
}

func (GetConnectionsConnectionIpsecConfigArgs) ElementType

func (GetConnectionsConnectionIpsecConfigArgs) ToGetConnectionsConnectionIpsecConfigOutput

func (i GetConnectionsConnectionIpsecConfigArgs) ToGetConnectionsConnectionIpsecConfigOutput() GetConnectionsConnectionIpsecConfigOutput

func (GetConnectionsConnectionIpsecConfigArgs) ToGetConnectionsConnectionIpsecConfigOutputWithContext

func (i GetConnectionsConnectionIpsecConfigArgs) ToGetConnectionsConnectionIpsecConfigOutputWithContext(ctx context.Context) GetConnectionsConnectionIpsecConfigOutput

func (GetConnectionsConnectionIpsecConfigArgs) ToOutput added in v3.43.1

type GetConnectionsConnectionIpsecConfigArray

type GetConnectionsConnectionIpsecConfigArray []GetConnectionsConnectionIpsecConfigInput

func (GetConnectionsConnectionIpsecConfigArray) ElementType

func (GetConnectionsConnectionIpsecConfigArray) ToGetConnectionsConnectionIpsecConfigArrayOutput

func (i GetConnectionsConnectionIpsecConfigArray) ToGetConnectionsConnectionIpsecConfigArrayOutput() GetConnectionsConnectionIpsecConfigArrayOutput

func (GetConnectionsConnectionIpsecConfigArray) ToGetConnectionsConnectionIpsecConfigArrayOutputWithContext

func (i GetConnectionsConnectionIpsecConfigArray) ToGetConnectionsConnectionIpsecConfigArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionIpsecConfigArrayOutput

func (GetConnectionsConnectionIpsecConfigArray) ToOutput added in v3.43.1

type GetConnectionsConnectionIpsecConfigArrayInput

type GetConnectionsConnectionIpsecConfigArrayInput interface {
	pulumi.Input

	ToGetConnectionsConnectionIpsecConfigArrayOutput() GetConnectionsConnectionIpsecConfigArrayOutput
	ToGetConnectionsConnectionIpsecConfigArrayOutputWithContext(context.Context) GetConnectionsConnectionIpsecConfigArrayOutput
}

GetConnectionsConnectionIpsecConfigArrayInput is an input type that accepts GetConnectionsConnectionIpsecConfigArray and GetConnectionsConnectionIpsecConfigArrayOutput values. You can construct a concrete instance of `GetConnectionsConnectionIpsecConfigArrayInput` via:

GetConnectionsConnectionIpsecConfigArray{ GetConnectionsConnectionIpsecConfigArgs{...} }

type GetConnectionsConnectionIpsecConfigArrayOutput

type GetConnectionsConnectionIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionIpsecConfigArrayOutput) ElementType

func (GetConnectionsConnectionIpsecConfigArrayOutput) Index

func (GetConnectionsConnectionIpsecConfigArrayOutput) ToGetConnectionsConnectionIpsecConfigArrayOutput

func (o GetConnectionsConnectionIpsecConfigArrayOutput) ToGetConnectionsConnectionIpsecConfigArrayOutput() GetConnectionsConnectionIpsecConfigArrayOutput

func (GetConnectionsConnectionIpsecConfigArrayOutput) ToGetConnectionsConnectionIpsecConfigArrayOutputWithContext

func (o GetConnectionsConnectionIpsecConfigArrayOutput) ToGetConnectionsConnectionIpsecConfigArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionIpsecConfigArrayOutput

func (GetConnectionsConnectionIpsecConfigArrayOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionIpsecConfigInput

type GetConnectionsConnectionIpsecConfigInput interface {
	pulumi.Input

	ToGetConnectionsConnectionIpsecConfigOutput() GetConnectionsConnectionIpsecConfigOutput
	ToGetConnectionsConnectionIpsecConfigOutputWithContext(context.Context) GetConnectionsConnectionIpsecConfigOutput
}

GetConnectionsConnectionIpsecConfigInput is an input type that accepts GetConnectionsConnectionIpsecConfigArgs and GetConnectionsConnectionIpsecConfigOutput values. You can construct a concrete instance of `GetConnectionsConnectionIpsecConfigInput` via:

GetConnectionsConnectionIpsecConfigArgs{...}

type GetConnectionsConnectionIpsecConfigOutput

type GetConnectionsConnectionIpsecConfigOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionIpsecConfigOutput) ElementType

func (GetConnectionsConnectionIpsecConfigOutput) IpsecAuthAlg

The authentication algorithm of phase-two negotiation.

func (GetConnectionsConnectionIpsecConfigOutput) IpsecEncAlg

The encryption algorithm of phase-two negotiation.

func (GetConnectionsConnectionIpsecConfigOutput) IpsecLifetime

The SA lifecycle as the result of phase-two negotiation.

func (GetConnectionsConnectionIpsecConfigOutput) IpsecPfs

The Diffie-Hellman key exchange algorithm used by phase-two negotiation.

func (GetConnectionsConnectionIpsecConfigOutput) ToGetConnectionsConnectionIpsecConfigOutput

func (o GetConnectionsConnectionIpsecConfigOutput) ToGetConnectionsConnectionIpsecConfigOutput() GetConnectionsConnectionIpsecConfigOutput

func (GetConnectionsConnectionIpsecConfigOutput) ToGetConnectionsConnectionIpsecConfigOutputWithContext

func (o GetConnectionsConnectionIpsecConfigOutput) ToGetConnectionsConnectionIpsecConfigOutputWithContext(ctx context.Context) GetConnectionsConnectionIpsecConfigOutput

func (GetConnectionsConnectionIpsecConfigOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionOutput

type GetConnectionsConnectionOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionOutput) CreateTime

func (GetConnectionsConnectionOutput) CustomerGatewayId

func (o GetConnectionsConnectionOutput) CustomerGatewayId() pulumi.StringOutput

Use the VPN customer gateway ID as the search key.

func (GetConnectionsConnectionOutput) EffectImmediately

func (o GetConnectionsConnectionOutput) EffectImmediately() pulumi.BoolOutput

func (GetConnectionsConnectionOutput) ElementType

func (GetConnectionsConnectionOutput) EnableDpd added in v3.35.0

Specifies whether to enable the dead peer detection (DPD) feature.

func (GetConnectionsConnectionOutput) EnableNatTraversal added in v3.35.0

func (o GetConnectionsConnectionOutput) EnableNatTraversal() pulumi.BoolOutput

Specifies whether to enable NAT traversal.

func (GetConnectionsConnectionOutput) Id

ID of the VPN connection.

func (GetConnectionsConnectionOutput) IkeConfigs

The configurations of phase-one negotiation.

func (GetConnectionsConnectionOutput) IpsecConfigs

The configurations of phase-two negotiation.

func (GetConnectionsConnectionOutput) LocalSubnet

The local subnet of the VPN connection.

func (GetConnectionsConnectionOutput) Name

The name of the VPN connection.

func (GetConnectionsConnectionOutput) RemoteSubnet

The remote subnet of the VPN connection.

func (GetConnectionsConnectionOutput) Status

The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.

func (GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutput

func (o GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutput() GetConnectionsConnectionOutput

func (GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutputWithContext

func (o GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutputWithContext(ctx context.Context) GetConnectionsConnectionOutput

func (GetConnectionsConnectionOutput) ToOutput added in v3.43.1

func (GetConnectionsConnectionOutput) VcoHealthChecks added in v3.29.0

func (GetConnectionsConnectionOutput) VpnBgpConfigs added in v3.29.0

The configuration information for BGP.

func (GetConnectionsConnectionOutput) VpnGatewayId

Use the VPN gateway ID as the search key.

type GetConnectionsConnectionVcoHealthCheck added in v3.29.0

type GetConnectionsConnectionVcoHealthCheck struct {
	// The destination ip address.
	Dip *string `pulumi:"dip"`
	// The health check on status. Valid values: `true`, `false`.
	Enable *string `pulumi:"enable"`
	// The time interval between health checks.
	Interval *int `pulumi:"interval"`
	// The number of retries for health checks issued.
	Retry *int `pulumi:"retry"`
	// The source ip address.
	Sip *string `pulumi:"sip"`
	// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
	Status *string `pulumi:"status"`
}

type GetConnectionsConnectionVcoHealthCheckArgs added in v3.29.0

type GetConnectionsConnectionVcoHealthCheckArgs struct {
	// The destination ip address.
	Dip pulumi.StringPtrInput `pulumi:"dip"`
	// The health check on status. Valid values: `true`, `false`.
	Enable pulumi.StringPtrInput `pulumi:"enable"`
	// The time interval between health checks.
	Interval pulumi.IntPtrInput `pulumi:"interval"`
	// The number of retries for health checks issued.
	Retry pulumi.IntPtrInput `pulumi:"retry"`
	// The source ip address.
	Sip pulumi.StringPtrInput `pulumi:"sip"`
	// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (GetConnectionsConnectionVcoHealthCheckArgs) ElementType added in v3.29.0

func (GetConnectionsConnectionVcoHealthCheckArgs) ToGetConnectionsConnectionVcoHealthCheckOutput added in v3.29.0

func (i GetConnectionsConnectionVcoHealthCheckArgs) ToGetConnectionsConnectionVcoHealthCheckOutput() GetConnectionsConnectionVcoHealthCheckOutput

func (GetConnectionsConnectionVcoHealthCheckArgs) ToGetConnectionsConnectionVcoHealthCheckOutputWithContext added in v3.29.0

func (i GetConnectionsConnectionVcoHealthCheckArgs) ToGetConnectionsConnectionVcoHealthCheckOutputWithContext(ctx context.Context) GetConnectionsConnectionVcoHealthCheckOutput

func (GetConnectionsConnectionVcoHealthCheckArgs) ToOutput added in v3.43.1

type GetConnectionsConnectionVcoHealthCheckArray added in v3.29.0

type GetConnectionsConnectionVcoHealthCheckArray []GetConnectionsConnectionVcoHealthCheckInput

func (GetConnectionsConnectionVcoHealthCheckArray) ElementType added in v3.29.0

func (GetConnectionsConnectionVcoHealthCheckArray) ToGetConnectionsConnectionVcoHealthCheckArrayOutput added in v3.29.0

func (i GetConnectionsConnectionVcoHealthCheckArray) ToGetConnectionsConnectionVcoHealthCheckArrayOutput() GetConnectionsConnectionVcoHealthCheckArrayOutput

func (GetConnectionsConnectionVcoHealthCheckArray) ToGetConnectionsConnectionVcoHealthCheckArrayOutputWithContext added in v3.29.0

func (i GetConnectionsConnectionVcoHealthCheckArray) ToGetConnectionsConnectionVcoHealthCheckArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionVcoHealthCheckArrayOutput

func (GetConnectionsConnectionVcoHealthCheckArray) ToOutput added in v3.43.1

type GetConnectionsConnectionVcoHealthCheckArrayInput added in v3.29.0

type GetConnectionsConnectionVcoHealthCheckArrayInput interface {
	pulumi.Input

	ToGetConnectionsConnectionVcoHealthCheckArrayOutput() GetConnectionsConnectionVcoHealthCheckArrayOutput
	ToGetConnectionsConnectionVcoHealthCheckArrayOutputWithContext(context.Context) GetConnectionsConnectionVcoHealthCheckArrayOutput
}

GetConnectionsConnectionVcoHealthCheckArrayInput is an input type that accepts GetConnectionsConnectionVcoHealthCheckArray and GetConnectionsConnectionVcoHealthCheckArrayOutput values. You can construct a concrete instance of `GetConnectionsConnectionVcoHealthCheckArrayInput` via:

GetConnectionsConnectionVcoHealthCheckArray{ GetConnectionsConnectionVcoHealthCheckArgs{...} }

type GetConnectionsConnectionVcoHealthCheckArrayOutput added in v3.29.0

type GetConnectionsConnectionVcoHealthCheckArrayOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionVcoHealthCheckArrayOutput) ElementType added in v3.29.0

func (GetConnectionsConnectionVcoHealthCheckArrayOutput) Index added in v3.29.0

func (GetConnectionsConnectionVcoHealthCheckArrayOutput) ToGetConnectionsConnectionVcoHealthCheckArrayOutput added in v3.29.0

func (o GetConnectionsConnectionVcoHealthCheckArrayOutput) ToGetConnectionsConnectionVcoHealthCheckArrayOutput() GetConnectionsConnectionVcoHealthCheckArrayOutput

func (GetConnectionsConnectionVcoHealthCheckArrayOutput) ToGetConnectionsConnectionVcoHealthCheckArrayOutputWithContext added in v3.29.0

func (o GetConnectionsConnectionVcoHealthCheckArrayOutput) ToGetConnectionsConnectionVcoHealthCheckArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionVcoHealthCheckArrayOutput

func (GetConnectionsConnectionVcoHealthCheckArrayOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionVcoHealthCheckInput added in v3.29.0

type GetConnectionsConnectionVcoHealthCheckInput interface {
	pulumi.Input

	ToGetConnectionsConnectionVcoHealthCheckOutput() GetConnectionsConnectionVcoHealthCheckOutput
	ToGetConnectionsConnectionVcoHealthCheckOutputWithContext(context.Context) GetConnectionsConnectionVcoHealthCheckOutput
}

GetConnectionsConnectionVcoHealthCheckInput is an input type that accepts GetConnectionsConnectionVcoHealthCheckArgs and GetConnectionsConnectionVcoHealthCheckOutput values. You can construct a concrete instance of `GetConnectionsConnectionVcoHealthCheckInput` via:

GetConnectionsConnectionVcoHealthCheckArgs{...}

type GetConnectionsConnectionVcoHealthCheckOutput added in v3.29.0

type GetConnectionsConnectionVcoHealthCheckOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionVcoHealthCheckOutput) Dip added in v3.29.0

The destination ip address.

func (GetConnectionsConnectionVcoHealthCheckOutput) ElementType added in v3.29.0

func (GetConnectionsConnectionVcoHealthCheckOutput) Enable added in v3.29.0

The health check on status. Valid values: `true`, `false`.

func (GetConnectionsConnectionVcoHealthCheckOutput) Interval added in v3.29.0

The time interval between health checks.

func (GetConnectionsConnectionVcoHealthCheckOutput) Retry added in v3.29.0

The number of retries for health checks issued.

func (GetConnectionsConnectionVcoHealthCheckOutput) Sip added in v3.29.0

The source ip address.

func (GetConnectionsConnectionVcoHealthCheckOutput) Status added in v3.29.0

The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.

func (GetConnectionsConnectionVcoHealthCheckOutput) ToGetConnectionsConnectionVcoHealthCheckOutput added in v3.29.0

func (o GetConnectionsConnectionVcoHealthCheckOutput) ToGetConnectionsConnectionVcoHealthCheckOutput() GetConnectionsConnectionVcoHealthCheckOutput

func (GetConnectionsConnectionVcoHealthCheckOutput) ToGetConnectionsConnectionVcoHealthCheckOutputWithContext added in v3.29.0

func (o GetConnectionsConnectionVcoHealthCheckOutput) ToGetConnectionsConnectionVcoHealthCheckOutputWithContext(ctx context.Context) GetConnectionsConnectionVcoHealthCheckOutput

func (GetConnectionsConnectionVcoHealthCheckOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionVpnBgpConfig added in v3.29.0

type GetConnectionsConnectionVpnBgpConfig struct {
	// The authentication keys for BGP routing protocols.
	AuthKey *string `pulumi:"authKey"`
	// The ali cloud side autonomous system.
	LocalAsn *int `pulumi:"localAsn"`
	// The ali cloud side BGP address.
	LocalBgpIp *string `pulumi:"localBgpIp"`
	// The counterpart autonomous system number.
	PeerAsn *int `pulumi:"peerAsn"`
	// The BGP address on the other side.
	PeerBgpIp *string `pulumi:"peerBgpIp"`
	// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
	Status *string `pulumi:"status"`
	// The ipsec tunnel segments.
	TunnelCidr *string `pulumi:"tunnelCidr"`
}

type GetConnectionsConnectionVpnBgpConfigArgs added in v3.29.0

type GetConnectionsConnectionVpnBgpConfigArgs struct {
	// The authentication keys for BGP routing protocols.
	AuthKey pulumi.StringPtrInput `pulumi:"authKey"`
	// The ali cloud side autonomous system.
	LocalAsn pulumi.IntPtrInput `pulumi:"localAsn"`
	// The ali cloud side BGP address.
	LocalBgpIp pulumi.StringPtrInput `pulumi:"localBgpIp"`
	// The counterpart autonomous system number.
	PeerAsn pulumi.IntPtrInput `pulumi:"peerAsn"`
	// The BGP address on the other side.
	PeerBgpIp pulumi.StringPtrInput `pulumi:"peerBgpIp"`
	// The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ipsec tunnel segments.
	TunnelCidr pulumi.StringPtrInput `pulumi:"tunnelCidr"`
}

func (GetConnectionsConnectionVpnBgpConfigArgs) ElementType added in v3.29.0

func (GetConnectionsConnectionVpnBgpConfigArgs) ToGetConnectionsConnectionVpnBgpConfigOutput added in v3.29.0

func (i GetConnectionsConnectionVpnBgpConfigArgs) ToGetConnectionsConnectionVpnBgpConfigOutput() GetConnectionsConnectionVpnBgpConfigOutput

func (GetConnectionsConnectionVpnBgpConfigArgs) ToGetConnectionsConnectionVpnBgpConfigOutputWithContext added in v3.29.0

func (i GetConnectionsConnectionVpnBgpConfigArgs) ToGetConnectionsConnectionVpnBgpConfigOutputWithContext(ctx context.Context) GetConnectionsConnectionVpnBgpConfigOutput

func (GetConnectionsConnectionVpnBgpConfigArgs) ToOutput added in v3.43.1

type GetConnectionsConnectionVpnBgpConfigArray added in v3.29.0

type GetConnectionsConnectionVpnBgpConfigArray []GetConnectionsConnectionVpnBgpConfigInput

func (GetConnectionsConnectionVpnBgpConfigArray) ElementType added in v3.29.0

func (GetConnectionsConnectionVpnBgpConfigArray) ToGetConnectionsConnectionVpnBgpConfigArrayOutput added in v3.29.0

func (i GetConnectionsConnectionVpnBgpConfigArray) ToGetConnectionsConnectionVpnBgpConfigArrayOutput() GetConnectionsConnectionVpnBgpConfigArrayOutput

func (GetConnectionsConnectionVpnBgpConfigArray) ToGetConnectionsConnectionVpnBgpConfigArrayOutputWithContext added in v3.29.0

func (i GetConnectionsConnectionVpnBgpConfigArray) ToGetConnectionsConnectionVpnBgpConfigArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionVpnBgpConfigArrayOutput

func (GetConnectionsConnectionVpnBgpConfigArray) ToOutput added in v3.43.1

type GetConnectionsConnectionVpnBgpConfigArrayInput added in v3.29.0

type GetConnectionsConnectionVpnBgpConfigArrayInput interface {
	pulumi.Input

	ToGetConnectionsConnectionVpnBgpConfigArrayOutput() GetConnectionsConnectionVpnBgpConfigArrayOutput
	ToGetConnectionsConnectionVpnBgpConfigArrayOutputWithContext(context.Context) GetConnectionsConnectionVpnBgpConfigArrayOutput
}

GetConnectionsConnectionVpnBgpConfigArrayInput is an input type that accepts GetConnectionsConnectionVpnBgpConfigArray and GetConnectionsConnectionVpnBgpConfigArrayOutput values. You can construct a concrete instance of `GetConnectionsConnectionVpnBgpConfigArrayInput` via:

GetConnectionsConnectionVpnBgpConfigArray{ GetConnectionsConnectionVpnBgpConfigArgs{...} }

type GetConnectionsConnectionVpnBgpConfigArrayOutput added in v3.29.0

type GetConnectionsConnectionVpnBgpConfigArrayOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionVpnBgpConfigArrayOutput) ElementType added in v3.29.0

func (GetConnectionsConnectionVpnBgpConfigArrayOutput) Index added in v3.29.0

func (GetConnectionsConnectionVpnBgpConfigArrayOutput) ToGetConnectionsConnectionVpnBgpConfigArrayOutput added in v3.29.0

func (o GetConnectionsConnectionVpnBgpConfigArrayOutput) ToGetConnectionsConnectionVpnBgpConfigArrayOutput() GetConnectionsConnectionVpnBgpConfigArrayOutput

func (GetConnectionsConnectionVpnBgpConfigArrayOutput) ToGetConnectionsConnectionVpnBgpConfigArrayOutputWithContext added in v3.29.0

func (o GetConnectionsConnectionVpnBgpConfigArrayOutput) ToGetConnectionsConnectionVpnBgpConfigArrayOutputWithContext(ctx context.Context) GetConnectionsConnectionVpnBgpConfigArrayOutput

func (GetConnectionsConnectionVpnBgpConfigArrayOutput) ToOutput added in v3.43.1

type GetConnectionsConnectionVpnBgpConfigInput added in v3.29.0

type GetConnectionsConnectionVpnBgpConfigInput interface {
	pulumi.Input

	ToGetConnectionsConnectionVpnBgpConfigOutput() GetConnectionsConnectionVpnBgpConfigOutput
	ToGetConnectionsConnectionVpnBgpConfigOutputWithContext(context.Context) GetConnectionsConnectionVpnBgpConfigOutput
}

GetConnectionsConnectionVpnBgpConfigInput is an input type that accepts GetConnectionsConnectionVpnBgpConfigArgs and GetConnectionsConnectionVpnBgpConfigOutput values. You can construct a concrete instance of `GetConnectionsConnectionVpnBgpConfigInput` via:

GetConnectionsConnectionVpnBgpConfigArgs{...}

type GetConnectionsConnectionVpnBgpConfigOutput added in v3.29.0

type GetConnectionsConnectionVpnBgpConfigOutput struct{ *pulumi.OutputState }

func (GetConnectionsConnectionVpnBgpConfigOutput) AuthKey added in v3.29.0

The authentication keys for BGP routing protocols.

func (GetConnectionsConnectionVpnBgpConfigOutput) ElementType added in v3.29.0

func (GetConnectionsConnectionVpnBgpConfigOutput) LocalAsn added in v3.29.0

The ali cloud side autonomous system.

func (GetConnectionsConnectionVpnBgpConfigOutput) LocalBgpIp added in v3.29.0

The ali cloud side BGP address.

func (GetConnectionsConnectionVpnBgpConfigOutput) PeerAsn added in v3.29.0

The counterpart autonomous system number.

func (GetConnectionsConnectionVpnBgpConfigOutput) PeerBgpIp added in v3.29.0

The BGP address on the other side.

func (GetConnectionsConnectionVpnBgpConfigOutput) Status added in v3.29.0

The negotiation status of the BGP routing protocol. Valid values: `success`, `false`.

func (GetConnectionsConnectionVpnBgpConfigOutput) ToGetConnectionsConnectionVpnBgpConfigOutput added in v3.29.0

func (o GetConnectionsConnectionVpnBgpConfigOutput) ToGetConnectionsConnectionVpnBgpConfigOutput() GetConnectionsConnectionVpnBgpConfigOutput

func (GetConnectionsConnectionVpnBgpConfigOutput) ToGetConnectionsConnectionVpnBgpConfigOutputWithContext added in v3.29.0

func (o GetConnectionsConnectionVpnBgpConfigOutput) ToGetConnectionsConnectionVpnBgpConfigOutputWithContext(ctx context.Context) GetConnectionsConnectionVpnBgpConfigOutput

func (GetConnectionsConnectionVpnBgpConfigOutput) ToOutput added in v3.43.1

func (GetConnectionsConnectionVpnBgpConfigOutput) TunnelCidr added in v3.29.0

The ipsec tunnel segments.

type GetConnectionsOutputArgs added in v3.9.0

type GetConnectionsOutputArgs struct {
	// Use the VPN customer gateway ID as the search key.
	CustomerGatewayId pulumi.StringPtrInput `pulumi:"customerGatewayId"`
	// IDs of the VPN connections.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string of VPN connection name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Use the VPN gateway ID as the search key.
	VpnGatewayId pulumi.StringPtrInput `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getConnections.

func (GetConnectionsOutputArgs) ElementType added in v3.9.0

func (GetConnectionsOutputArgs) ElementType() reflect.Type

type GetConnectionsResult

type GetConnectionsResult struct {
	// A list of VPN connections. Each element contains the following attributes:
	Connections []GetConnectionsConnection `pulumi:"connections"`
	// ID of the VPN customer gateway.
	CustomerGatewayId *string `pulumi:"customerGatewayId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Optional) IDs of the VPN connections.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// (Optional) names of the VPN connections.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// ID of the VPN gateway.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of values returned by getConnections.

func GetConnections

func GetConnections(ctx *pulumi.Context, args *GetConnectionsArgs, opts ...pulumi.InvokeOption) (*GetConnectionsResult, error)

The VPN connections data source lists lots of VPN connections resource information owned by an Alicloud account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpn.GetConnections(ctx, &vpn.GetConnectionsArgs{
			CustomerGatewayId: pulumi.StringRef("fake-cgw-id"),
			Ids: []string{
				"fake-conn-id",
			},
			OutputFile:   pulumi.StringRef("/tmp/vpnconn"),
			VpnGatewayId: pulumi.StringRef("fake-vpn-id"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetConnectionsResultOutput added in v3.9.0

type GetConnectionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConnections.

func GetConnectionsOutput added in v3.9.0

func GetConnectionsOutput(ctx *pulumi.Context, args GetConnectionsOutputArgs, opts ...pulumi.InvokeOption) GetConnectionsResultOutput

func (GetConnectionsResultOutput) Connections added in v3.9.0

A list of VPN connections. Each element contains the following attributes:

func (GetConnectionsResultOutput) CustomerGatewayId added in v3.9.0

func (o GetConnectionsResultOutput) CustomerGatewayId() pulumi.StringPtrOutput

ID of the VPN customer gateway.

func (GetConnectionsResultOutput) ElementType added in v3.9.0

func (GetConnectionsResultOutput) ElementType() reflect.Type

func (GetConnectionsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetConnectionsResultOutput) Ids added in v3.9.0

(Optional) IDs of the VPN connections.

func (GetConnectionsResultOutput) NameRegex added in v3.9.0

func (GetConnectionsResultOutput) Names added in v3.9.0

(Optional) names of the VPN connections.

func (GetConnectionsResultOutput) OutputFile added in v3.9.0

func (GetConnectionsResultOutput) ToGetConnectionsResultOutput added in v3.9.0

func (o GetConnectionsResultOutput) ToGetConnectionsResultOutput() GetConnectionsResultOutput

func (GetConnectionsResultOutput) ToGetConnectionsResultOutputWithContext added in v3.9.0

func (o GetConnectionsResultOutput) ToGetConnectionsResultOutputWithContext(ctx context.Context) GetConnectionsResultOutput

func (GetConnectionsResultOutput) ToOutput added in v3.43.1

func (GetConnectionsResultOutput) VpnGatewayId added in v3.9.0

ID of the VPN gateway.

type GetCustomerGatewaysArgs

type GetCustomerGatewaysArgs struct {
	// ID of the VPN customer gateways.
	Ids []string `pulumi:"ids"`
	// A regex string of VPN customer gateways name.
	NameRegex *string `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getCustomerGateways.

type GetCustomerGatewaysGateway

type GetCustomerGatewaysGateway struct {
	// The autonomous system number of the local data center gateway device of the VPN customer gateway.
	Asn int `pulumi:"asn"`
	// The creation time of the VPN customer gateway.
	CreateTime string `pulumi:"createTime"`
	// The description of the VPN customer gateway.
	Description string `pulumi:"description"`
	// ID of the VPN customer gateway .
	Id string `pulumi:"id"`
	// The ip address of the VPN customer gateway.
	IpAddress string `pulumi:"ipAddress"`
	// The name of the VPN customer gateway.
	Name string `pulumi:"name"`
}

type GetCustomerGatewaysGatewayArgs

type GetCustomerGatewaysGatewayArgs struct {
	// The autonomous system number of the local data center gateway device of the VPN customer gateway.
	Asn pulumi.IntInput `pulumi:"asn"`
	// The creation time of the VPN customer gateway.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The description of the VPN customer gateway.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the VPN customer gateway .
	Id pulumi.StringInput `pulumi:"id"`
	// The ip address of the VPN customer gateway.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The name of the VPN customer gateway.
	Name pulumi.StringInput `pulumi:"name"`
}

func (GetCustomerGatewaysGatewayArgs) ElementType

func (GetCustomerGatewaysGatewayArgs) ToGetCustomerGatewaysGatewayOutput

func (i GetCustomerGatewaysGatewayArgs) ToGetCustomerGatewaysGatewayOutput() GetCustomerGatewaysGatewayOutput

func (GetCustomerGatewaysGatewayArgs) ToGetCustomerGatewaysGatewayOutputWithContext

func (i GetCustomerGatewaysGatewayArgs) ToGetCustomerGatewaysGatewayOutputWithContext(ctx context.Context) GetCustomerGatewaysGatewayOutput

func (GetCustomerGatewaysGatewayArgs) ToOutput added in v3.43.1

type GetCustomerGatewaysGatewayArray

type GetCustomerGatewaysGatewayArray []GetCustomerGatewaysGatewayInput

func (GetCustomerGatewaysGatewayArray) ElementType

func (GetCustomerGatewaysGatewayArray) ToGetCustomerGatewaysGatewayArrayOutput

func (i GetCustomerGatewaysGatewayArray) ToGetCustomerGatewaysGatewayArrayOutput() GetCustomerGatewaysGatewayArrayOutput

func (GetCustomerGatewaysGatewayArray) ToGetCustomerGatewaysGatewayArrayOutputWithContext

func (i GetCustomerGatewaysGatewayArray) ToGetCustomerGatewaysGatewayArrayOutputWithContext(ctx context.Context) GetCustomerGatewaysGatewayArrayOutput

func (GetCustomerGatewaysGatewayArray) ToOutput added in v3.43.1

type GetCustomerGatewaysGatewayArrayInput

type GetCustomerGatewaysGatewayArrayInput interface {
	pulumi.Input

	ToGetCustomerGatewaysGatewayArrayOutput() GetCustomerGatewaysGatewayArrayOutput
	ToGetCustomerGatewaysGatewayArrayOutputWithContext(context.Context) GetCustomerGatewaysGatewayArrayOutput
}

GetCustomerGatewaysGatewayArrayInput is an input type that accepts GetCustomerGatewaysGatewayArray and GetCustomerGatewaysGatewayArrayOutput values. You can construct a concrete instance of `GetCustomerGatewaysGatewayArrayInput` via:

GetCustomerGatewaysGatewayArray{ GetCustomerGatewaysGatewayArgs{...} }

type GetCustomerGatewaysGatewayArrayOutput

type GetCustomerGatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetCustomerGatewaysGatewayArrayOutput) ElementType

func (GetCustomerGatewaysGatewayArrayOutput) Index

func (GetCustomerGatewaysGatewayArrayOutput) ToGetCustomerGatewaysGatewayArrayOutput

func (o GetCustomerGatewaysGatewayArrayOutput) ToGetCustomerGatewaysGatewayArrayOutput() GetCustomerGatewaysGatewayArrayOutput

func (GetCustomerGatewaysGatewayArrayOutput) ToGetCustomerGatewaysGatewayArrayOutputWithContext

func (o GetCustomerGatewaysGatewayArrayOutput) ToGetCustomerGatewaysGatewayArrayOutputWithContext(ctx context.Context) GetCustomerGatewaysGatewayArrayOutput

func (GetCustomerGatewaysGatewayArrayOutput) ToOutput added in v3.43.1

type GetCustomerGatewaysGatewayInput

type GetCustomerGatewaysGatewayInput interface {
	pulumi.Input

	ToGetCustomerGatewaysGatewayOutput() GetCustomerGatewaysGatewayOutput
	ToGetCustomerGatewaysGatewayOutputWithContext(context.Context) GetCustomerGatewaysGatewayOutput
}

GetCustomerGatewaysGatewayInput is an input type that accepts GetCustomerGatewaysGatewayArgs and GetCustomerGatewaysGatewayOutput values. You can construct a concrete instance of `GetCustomerGatewaysGatewayInput` via:

GetCustomerGatewaysGatewayArgs{...}

type GetCustomerGatewaysGatewayOutput

type GetCustomerGatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetCustomerGatewaysGatewayOutput) Asn added in v3.29.0

The autonomous system number of the local data center gateway device of the VPN customer gateway.

func (GetCustomerGatewaysGatewayOutput) CreateTime

The creation time of the VPN customer gateway.

func (GetCustomerGatewaysGatewayOutput) Description

The description of the VPN customer gateway.

func (GetCustomerGatewaysGatewayOutput) ElementType

func (GetCustomerGatewaysGatewayOutput) Id

ID of the VPN customer gateway .

func (GetCustomerGatewaysGatewayOutput) IpAddress

The ip address of the VPN customer gateway.

func (GetCustomerGatewaysGatewayOutput) Name

The name of the VPN customer gateway.

func (GetCustomerGatewaysGatewayOutput) ToGetCustomerGatewaysGatewayOutput

func (o GetCustomerGatewaysGatewayOutput) ToGetCustomerGatewaysGatewayOutput() GetCustomerGatewaysGatewayOutput

func (GetCustomerGatewaysGatewayOutput) ToGetCustomerGatewaysGatewayOutputWithContext

func (o GetCustomerGatewaysGatewayOutput) ToGetCustomerGatewaysGatewayOutputWithContext(ctx context.Context) GetCustomerGatewaysGatewayOutput

func (GetCustomerGatewaysGatewayOutput) ToOutput added in v3.43.1

type GetCustomerGatewaysOutputArgs added in v3.9.0

type GetCustomerGatewaysOutputArgs struct {
	// ID of the VPN customer gateways.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string of VPN customer gateways name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getCustomerGateways.

func (GetCustomerGatewaysOutputArgs) ElementType added in v3.9.0

type GetCustomerGatewaysResult

type GetCustomerGatewaysResult struct {
	// A list of VPN customer gateways. Each element contains the following attributes:
	Gateways []GetCustomerGatewaysGateway `pulumi:"gateways"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// IDs of VPN customer gateway.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// names of VPN customer gateway.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getCustomerGateways.

func GetCustomerGateways

func GetCustomerGateways(ctx *pulumi.Context, args *GetCustomerGatewaysArgs, opts ...pulumi.InvokeOption) (*GetCustomerGatewaysResult, error)

The VPN customers gateways data source lists a number of VPN customer gateways resource information owned by an Alicloud account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpn.GetCustomerGateways(ctx, &vpn.GetCustomerGatewaysArgs{
			Ids: []string{
				"fake-id1",
				"fake-id2",
			},
			NameRegex:  pulumi.StringRef("testAcc*"),
			OutputFile: pulumi.StringRef("/tmp/cgws"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetCustomerGatewaysResultOutput added in v3.9.0

type GetCustomerGatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCustomerGateways.

func GetCustomerGatewaysOutput added in v3.9.0

func (GetCustomerGatewaysResultOutput) ElementType added in v3.9.0

func (GetCustomerGatewaysResultOutput) Gateways added in v3.9.0

A list of VPN customer gateways. Each element contains the following attributes:

func (GetCustomerGatewaysResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetCustomerGatewaysResultOutput) Ids added in v3.9.0

IDs of VPN customer gateway.

func (GetCustomerGatewaysResultOutput) NameRegex added in v3.9.0

func (GetCustomerGatewaysResultOutput) Names added in v3.9.0

names of VPN customer gateway.

func (GetCustomerGatewaysResultOutput) OutputFile added in v3.9.0

func (GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutput added in v3.9.0

func (o GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutput() GetCustomerGatewaysResultOutput

func (GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutputWithContext added in v3.9.0

func (o GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutputWithContext(ctx context.Context) GetCustomerGatewaysResultOutput

func (GetCustomerGatewaysResultOutput) ToOutput added in v3.43.1

type GetGatewayVcoRoutesArgs added in v3.29.0

type GetGatewayVcoRoutesArgs struct {
	// A list of Vco Route IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The Routing input type. Valid values: `custom`, `bgp`.
	RouteEntryType *string `pulumi:"routeEntryType"`
	// The status of the vpn route entry.
	Status *string `pulumi:"status"`
	// The id of the vpn connection.
	VpnConnectionId string `pulumi:"vpnConnectionId"`
}

A collection of arguments for invoking getGatewayVcoRoutes.

type GetGatewayVcoRoutesOutputArgs added in v3.29.0

type GetGatewayVcoRoutesOutputArgs struct {
	// A list of Vco Route IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The Routing input type. Valid values: `custom`, `bgp`.
	RouteEntryType pulumi.StringPtrInput `pulumi:"routeEntryType"`
	// The status of the vpn route entry.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The id of the vpn connection.
	VpnConnectionId pulumi.StringInput `pulumi:"vpnConnectionId"`
}

A collection of arguments for invoking getGatewayVcoRoutes.

func (GetGatewayVcoRoutesOutputArgs) ElementType added in v3.29.0

type GetGatewayVcoRoutesResult added in v3.29.0

type GetGatewayVcoRoutesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id              string                     `pulumi:"id"`
	Ids             []string                   `pulumi:"ids"`
	OutputFile      *string                    `pulumi:"outputFile"`
	PageNumber      *int                       `pulumi:"pageNumber"`
	PageSize        *int                       `pulumi:"pageSize"`
	RouteEntryType  *string                    `pulumi:"routeEntryType"`
	Routes          []GetGatewayVcoRoutesRoute `pulumi:"routes"`
	Status          *string                    `pulumi:"status"`
	VpnConnectionId string                     `pulumi:"vpnConnectionId"`
}

A collection of values returned by getGatewayVcoRoutes.

func GetGatewayVcoRoutes added in v3.29.0

func GetGatewayVcoRoutes(ctx *pulumi.Context, args *GetGatewayVcoRoutesArgs, opts ...pulumi.InvokeOption) (*GetGatewayVcoRoutesResult, error)

This data source provides the Vpn Gateway Vco Routes of the current Alibaba Cloud user.

> **NOTE:** Available in v1.183.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cen"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultInstance, err := cen.NewInstance(ctx, "defaultInstance", &cen.InstanceArgs{
			CenInstanceName: pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultTransitRouter, err := cen.NewTransitRouter(ctx, "defaultTransitRouter", &cen.TransitRouterArgs{
			CenId:                    defaultInstance.ID(),
			TransitRouterDescription: pulumi.String("desd"),
			TransitRouterName:        pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultTransitRouterAvailableResources, err := cen.GetTransitRouterAvailableResources(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "defaultCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress:   pulumi.String("42.104.22.210"),
			Asn:         pulumi.String("45014"),
			Description: pulumi.String("testAccVpnConnectionDesc"),
		})
		if err != nil {
			return err
		}
		defaultGatewayVpnAttachment, err := vpn.NewGatewayVpnAttachment(ctx, "defaultGatewayVpnAttachment", &vpn.GatewayVpnAttachmentArgs{
			CustomerGatewayId: defaultCustomerGateway.ID(),
			NetworkType:       pulumi.String("public"),
			LocalSubnet:       pulumi.String("0.0.0.0/0"),
			RemoteSubnet:      pulumi.String("0.0.0.0/0"),
			EffectImmediately: pulumi.Bool(false),
			IkeConfig: &vpn.GatewayVpnAttachmentIkeConfigArgs{
				IkeAuthAlg:  pulumi.String("md5"),
				IkeEncAlg:   pulumi.String("des"),
				IkeVersion:  pulumi.String("ikev2"),
				IkeMode:     pulumi.String("main"),
				IkeLifetime: pulumi.Int(86400),
				Psk:         pulumi.String("tf-testvpn2"),
				IkePfs:      pulumi.String("group1"),
				RemoteId:    pulumi.String("testbob2"),
				LocalId:     pulumi.String("testalice2"),
			},
			IpsecConfig: &vpn.GatewayVpnAttachmentIpsecConfigArgs{
				IpsecPfs:      pulumi.String("group5"),
				IpsecEncAlg:   pulumi.String("des"),
				IpsecAuthAlg:  pulumi.String("md5"),
				IpsecLifetime: pulumi.Int(86400),
			},
			BgpConfig: &vpn.GatewayVpnAttachmentBgpConfigArgs{
				Enable:     pulumi.Bool(true),
				LocalAsn:   pulumi.Int(45014),
				TunnelCidr: pulumi.String("169.254.11.0/30"),
				LocalBgpIp: pulumi.String("169.254.11.1"),
			},
			HealthCheckConfig: &vpn.GatewayVpnAttachmentHealthCheckConfigArgs{
				Enable:   pulumi.Bool(true),
				Sip:      pulumi.String("192.168.1.1"),
				Dip:      pulumi.String("10.0.0.1"),
				Interval: pulumi.Int(10),
				Retry:    pulumi.Int(10),
				Policy:   pulumi.String("revoke_route"),
			},
			EnableDpd:          pulumi.Bool(true),
			EnableNatTraversal: pulumi.Bool(true),
			VpnAttachmentName:  pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		defaultTransitRouterVpnAttachment, err := cen.NewTransitRouterVpnAttachment(ctx, "defaultTransitRouterVpnAttachment", &cen.TransitRouterVpnAttachmentArgs{
			AutoPublishRouteEnabled:            pulumi.Bool(false),
			TransitRouterAttachmentDescription: pulumi.Any(_var.Name),
			TransitRouterAttachmentName:        pulumi.Any(_var.Name),
			CenId:                              defaultTransitRouter.CenId,
			TransitRouterId:                    defaultTransitRouter.TransitRouterId,
			VpnId:                              defaultGatewayVpnAttachment.ID(),
			Zones: cen.TransitRouterVpnAttachmentZoneArray{
				&cen.TransitRouterVpnAttachmentZoneArgs{
					ZoneId: *pulumi.String(defaultTransitRouterAvailableResources.Resources[0].MasterZones[0]),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewGatewayVcoRoute(ctx, "defaultGatewayVcoRoute", &vpn.GatewayVcoRouteArgs{
			RouteDest:       pulumi.String("192.168.12.0/24"),
			NextHop:         defaultTransitRouterVpnAttachment.VpnId,
			VpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,
			Weight:          pulumi.Int(100),
		})
		if err != nil {
			return err
		}
		_ = vpn.GetGatewayVcoRoutesOutput(ctx, vpn.GetGatewayVcoRoutesOutputArgs{
			VpnConnectionId: defaultTransitRouterVpnAttachment.VpnId,
		}, nil)
		ctx.Export("vpnGatewayVcoRouteId1", data.Alicloud_vpn_gateway_vco_routes.Ids.Routes[0].Id)
		return nil
	})
}

```

type GetGatewayVcoRoutesResultOutput added in v3.29.0

type GetGatewayVcoRoutesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGatewayVcoRoutes.

func GetGatewayVcoRoutesOutput added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) ElementType added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) Id added in v3.29.0

The provider-assigned unique ID for this managed resource.

func (GetGatewayVcoRoutesResultOutput) Ids added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) OutputFile added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) PageNumber added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) PageSize added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) RouteEntryType added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) Routes added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) Status added in v3.29.0

func (GetGatewayVcoRoutesResultOutput) ToGetGatewayVcoRoutesResultOutput added in v3.29.0

func (o GetGatewayVcoRoutesResultOutput) ToGetGatewayVcoRoutesResultOutput() GetGatewayVcoRoutesResultOutput

func (GetGatewayVcoRoutesResultOutput) ToGetGatewayVcoRoutesResultOutputWithContext added in v3.29.0

func (o GetGatewayVcoRoutesResultOutput) ToGetGatewayVcoRoutesResultOutputWithContext(ctx context.Context) GetGatewayVcoRoutesResultOutput

func (GetGatewayVcoRoutesResultOutput) ToOutput added in v3.43.1

func (GetGatewayVcoRoutesResultOutput) VpnConnectionId added in v3.29.0

type GetGatewayVcoRoutesRoute added in v3.29.0

type GetGatewayVcoRoutesRoute struct {
	// List of autonomous system numbers through which BGP routing entries pass.
	AsPath string `pulumi:"asPath"`
	// The creation time of the VPN destination route.
	CreateTime string `pulumi:"createTime"`
	// The ID of the Vpn Gateway Vco Routes.
	Id string `pulumi:"id"`
	// The next hop of the destination route.
	NextHop string `pulumi:"nextHop"`
	// The destination network segment of the destination route.
	RouteDest string `pulumi:"routeDest"`
	// The source CIDR block of the destination route.
	Source string `pulumi:"source"`
	// The status of the vpn route entry.
	Status string `pulumi:"status"`
	// The id of the vpn connection.
	VpnConnectionId string `pulumi:"vpnConnectionId"`
	// The weight value of the destination route.
	Weight int `pulumi:"weight"`
}

type GetGatewayVcoRoutesRouteArgs added in v3.29.0

type GetGatewayVcoRoutesRouteArgs struct {
	// List of autonomous system numbers through which BGP routing entries pass.
	AsPath pulumi.StringInput `pulumi:"asPath"`
	// The creation time of the VPN destination route.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the Vpn Gateway Vco Routes.
	Id pulumi.StringInput `pulumi:"id"`
	// The next hop of the destination route.
	NextHop pulumi.StringInput `pulumi:"nextHop"`
	// The destination network segment of the destination route.
	RouteDest pulumi.StringInput `pulumi:"routeDest"`
	// The source CIDR block of the destination route.
	Source pulumi.StringInput `pulumi:"source"`
	// The status of the vpn route entry.
	Status pulumi.StringInput `pulumi:"status"`
	// The id of the vpn connection.
	VpnConnectionId pulumi.StringInput `pulumi:"vpnConnectionId"`
	// The weight value of the destination route.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetGatewayVcoRoutesRouteArgs) ElementType added in v3.29.0

func (GetGatewayVcoRoutesRouteArgs) ToGetGatewayVcoRoutesRouteOutput added in v3.29.0

func (i GetGatewayVcoRoutesRouteArgs) ToGetGatewayVcoRoutesRouteOutput() GetGatewayVcoRoutesRouteOutput

func (GetGatewayVcoRoutesRouteArgs) ToGetGatewayVcoRoutesRouteOutputWithContext added in v3.29.0

func (i GetGatewayVcoRoutesRouteArgs) ToGetGatewayVcoRoutesRouteOutputWithContext(ctx context.Context) GetGatewayVcoRoutesRouteOutput

func (GetGatewayVcoRoutesRouteArgs) ToOutput added in v3.43.1

type GetGatewayVcoRoutesRouteArray added in v3.29.0

type GetGatewayVcoRoutesRouteArray []GetGatewayVcoRoutesRouteInput

func (GetGatewayVcoRoutesRouteArray) ElementType added in v3.29.0

func (GetGatewayVcoRoutesRouteArray) ToGetGatewayVcoRoutesRouteArrayOutput added in v3.29.0

func (i GetGatewayVcoRoutesRouteArray) ToGetGatewayVcoRoutesRouteArrayOutput() GetGatewayVcoRoutesRouteArrayOutput

func (GetGatewayVcoRoutesRouteArray) ToGetGatewayVcoRoutesRouteArrayOutputWithContext added in v3.29.0

func (i GetGatewayVcoRoutesRouteArray) ToGetGatewayVcoRoutesRouteArrayOutputWithContext(ctx context.Context) GetGatewayVcoRoutesRouteArrayOutput

func (GetGatewayVcoRoutesRouteArray) ToOutput added in v3.43.1

type GetGatewayVcoRoutesRouteArrayInput added in v3.29.0

type GetGatewayVcoRoutesRouteArrayInput interface {
	pulumi.Input

	ToGetGatewayVcoRoutesRouteArrayOutput() GetGatewayVcoRoutesRouteArrayOutput
	ToGetGatewayVcoRoutesRouteArrayOutputWithContext(context.Context) GetGatewayVcoRoutesRouteArrayOutput
}

GetGatewayVcoRoutesRouteArrayInput is an input type that accepts GetGatewayVcoRoutesRouteArray and GetGatewayVcoRoutesRouteArrayOutput values. You can construct a concrete instance of `GetGatewayVcoRoutesRouteArrayInput` via:

GetGatewayVcoRoutesRouteArray{ GetGatewayVcoRoutesRouteArgs{...} }

type GetGatewayVcoRoutesRouteArrayOutput added in v3.29.0

type GetGatewayVcoRoutesRouteArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVcoRoutesRouteArrayOutput) ElementType added in v3.29.0

func (GetGatewayVcoRoutesRouteArrayOutput) Index added in v3.29.0

func (GetGatewayVcoRoutesRouteArrayOutput) ToGetGatewayVcoRoutesRouteArrayOutput added in v3.29.0

func (o GetGatewayVcoRoutesRouteArrayOutput) ToGetGatewayVcoRoutesRouteArrayOutput() GetGatewayVcoRoutesRouteArrayOutput

func (GetGatewayVcoRoutesRouteArrayOutput) ToGetGatewayVcoRoutesRouteArrayOutputWithContext added in v3.29.0

func (o GetGatewayVcoRoutesRouteArrayOutput) ToGetGatewayVcoRoutesRouteArrayOutputWithContext(ctx context.Context) GetGatewayVcoRoutesRouteArrayOutput

func (GetGatewayVcoRoutesRouteArrayOutput) ToOutput added in v3.43.1

type GetGatewayVcoRoutesRouteInput added in v3.29.0

type GetGatewayVcoRoutesRouteInput interface {
	pulumi.Input

	ToGetGatewayVcoRoutesRouteOutput() GetGatewayVcoRoutesRouteOutput
	ToGetGatewayVcoRoutesRouteOutputWithContext(context.Context) GetGatewayVcoRoutesRouteOutput
}

GetGatewayVcoRoutesRouteInput is an input type that accepts GetGatewayVcoRoutesRouteArgs and GetGatewayVcoRoutesRouteOutput values. You can construct a concrete instance of `GetGatewayVcoRoutesRouteInput` via:

GetGatewayVcoRoutesRouteArgs{...}

type GetGatewayVcoRoutesRouteOutput added in v3.29.0

type GetGatewayVcoRoutesRouteOutput struct{ *pulumi.OutputState }

func (GetGatewayVcoRoutesRouteOutput) AsPath added in v3.29.0

List of autonomous system numbers through which BGP routing entries pass.

func (GetGatewayVcoRoutesRouteOutput) CreateTime added in v3.29.0

The creation time of the VPN destination route.

func (GetGatewayVcoRoutesRouteOutput) ElementType added in v3.29.0

func (GetGatewayVcoRoutesRouteOutput) Id added in v3.29.0

The ID of the Vpn Gateway Vco Routes.

func (GetGatewayVcoRoutesRouteOutput) NextHop added in v3.29.0

The next hop of the destination route.

func (GetGatewayVcoRoutesRouteOutput) RouteDest added in v3.29.0

The destination network segment of the destination route.

func (GetGatewayVcoRoutesRouteOutput) Source added in v3.29.0

The source CIDR block of the destination route.

func (GetGatewayVcoRoutesRouteOutput) Status added in v3.29.0

The status of the vpn route entry.

func (GetGatewayVcoRoutesRouteOutput) ToGetGatewayVcoRoutesRouteOutput added in v3.29.0

func (o GetGatewayVcoRoutesRouteOutput) ToGetGatewayVcoRoutesRouteOutput() GetGatewayVcoRoutesRouteOutput

func (GetGatewayVcoRoutesRouteOutput) ToGetGatewayVcoRoutesRouteOutputWithContext added in v3.29.0

func (o GetGatewayVcoRoutesRouteOutput) ToGetGatewayVcoRoutesRouteOutputWithContext(ctx context.Context) GetGatewayVcoRoutesRouteOutput

func (GetGatewayVcoRoutesRouteOutput) ToOutput added in v3.43.1

func (GetGatewayVcoRoutesRouteOutput) VpnConnectionId added in v3.29.0

The id of the vpn connection.

func (GetGatewayVcoRoutesRouteOutput) Weight added in v3.29.0

The weight value of the destination route.

type GetGatewayVpnAttachmentsArgs added in v3.28.0

type GetGatewayVpnAttachmentsArgs struct {
	// A list of Vpn Attachment IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Vpn Attachment name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The status of the resource.
	Status *string `pulumi:"status"`
	// The parameter 'vpn_gateway_id' has been deprecated from 1.194.0.
	//
	// Deprecated: The parameter 'vpn_gateway_id' has been deprecated from 1.194.0.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getGatewayVpnAttachments.

type GetGatewayVpnAttachmentsAttachment added in v3.28.0

type GetGatewayVpnAttachmentsAttachment struct {
	// The configurations of the BGP routing protocol.
	BgpConfigs []GetGatewayVpnAttachmentsAttachmentBgpConfig `pulumi:"bgpConfigs"`
	// The status of the IPsec-VPN connection.
	ConnectionStatus string `pulumi:"connectionStatus"`
	// The creation time of the resource.
	CreateTime string `pulumi:"createTime"`
	// The ID of the customer gateway.
	CustomerGatewayId string `pulumi:"customerGatewayId"`
	// Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.
	EffectImmediately bool `pulumi:"effectImmediately"`
	// The health check configurations.
	HealthCheckConfigs []GetGatewayVpnAttachmentsAttachmentHealthCheckConfig `pulumi:"healthCheckConfigs"`
	// The ID of the Vpn Attachment.
	Id string `pulumi:"id"`
	// Configuration negotiated in the second stage.
	IkeConfigs []GetGatewayVpnAttachmentsAttachmentIkeConfig `pulumi:"ikeConfigs"`
	// The internet ip of the resource. The cen.TransitRouterVpnAttachment resource will not have a value until after it is created.
	InternetIp string `pulumi:"internetIp"`
	// The configuration of Phase 2 negotiations.
	IpsecConfigs []GetGatewayVpnAttachmentsAttachmentIpsecConfig `pulumi:"ipsecConfigs"`
	// The CIDR block of the virtual private cloud (VPC).
	LocalSubnet string `pulumi:"localSubnet"`
	// The network type.
	NetworkType string `pulumi:"networkType"`
	// The CIDR block of the on-premises data center.
	RemoteSubnet string `pulumi:"remoteSubnet"`
	// The status of the resource.
	Status string `pulumi:"status"`
	// The name of the IPsec-VPN connection.
	VpnAttachmentName string `pulumi:"vpnAttachmentName"`
	// The first ID of the resource.
	VpnConnectionId string `pulumi:"vpnConnectionId"`
}

type GetGatewayVpnAttachmentsAttachmentArgs added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentArgs struct {
	// The configurations of the BGP routing protocol.
	BgpConfigs GetGatewayVpnAttachmentsAttachmentBgpConfigArrayInput `pulumi:"bgpConfigs"`
	// The status of the IPsec-VPN connection.
	ConnectionStatus pulumi.StringInput `pulumi:"connectionStatus"`
	// The creation time of the resource.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the customer gateway.
	CustomerGatewayId pulumi.StringInput `pulumi:"customerGatewayId"`
	// Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.
	EffectImmediately pulumi.BoolInput `pulumi:"effectImmediately"`
	// The health check configurations.
	HealthCheckConfigs GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayInput `pulumi:"healthCheckConfigs"`
	// The ID of the Vpn Attachment.
	Id pulumi.StringInput `pulumi:"id"`
	// Configuration negotiated in the second stage.
	IkeConfigs GetGatewayVpnAttachmentsAttachmentIkeConfigArrayInput `pulumi:"ikeConfigs"`
	// The internet ip of the resource. The cen.TransitRouterVpnAttachment resource will not have a value until after it is created.
	InternetIp pulumi.StringInput `pulumi:"internetIp"`
	// The configuration of Phase 2 negotiations.
	IpsecConfigs GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayInput `pulumi:"ipsecConfigs"`
	// The CIDR block of the virtual private cloud (VPC).
	LocalSubnet pulumi.StringInput `pulumi:"localSubnet"`
	// The network type.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// The CIDR block of the on-premises data center.
	RemoteSubnet pulumi.StringInput `pulumi:"remoteSubnet"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
	// The name of the IPsec-VPN connection.
	VpnAttachmentName pulumi.StringInput `pulumi:"vpnAttachmentName"`
	// The first ID of the resource.
	VpnConnectionId pulumi.StringInput `pulumi:"vpnConnectionId"`
}

func (GetGatewayVpnAttachmentsAttachmentArgs) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutput() GetGatewayVpnAttachmentsAttachmentOutput

func (GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentOutput

func (GetGatewayVpnAttachmentsAttachmentArgs) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentArray added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentArray []GetGatewayVpnAttachmentsAttachmentInput

func (GetGatewayVpnAttachmentsAttachmentArray) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutput() GetGatewayVpnAttachmentsAttachmentArrayOutput

func (GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentArrayOutput

func (GetGatewayVpnAttachmentsAttachmentArray) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentArrayInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentArrayInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentArrayOutput() GetGatewayVpnAttachmentsAttachmentArrayOutput
	ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentArrayOutput
}

GetGatewayVpnAttachmentsAttachmentArrayInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentArray and GetGatewayVpnAttachmentsAttachmentArrayOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentArrayInput` via:

GetGatewayVpnAttachmentsAttachmentArray{ GetGatewayVpnAttachmentsAttachmentArgs{...} }

type GetGatewayVpnAttachmentsAttachmentArrayOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) Index added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutput added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutput() GetGatewayVpnAttachmentsAttachmentArrayOutput

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentArrayOutput

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentBgpConfig added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfig struct {
	// The ASN on the Alibaba Cloud side.
	LocalAsn string `pulumi:"localAsn"`
	// The BGP IP address on the Alibaba Cloud side.
	LocalBgpIp string `pulumi:"localBgpIp"`
	// The status of the resource.
	Status string `pulumi:"status"`
	// The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.
	TunnelCidr string `pulumi:"tunnelCidr"`
}

type GetGatewayVpnAttachmentsAttachmentBgpConfigArgs added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfigArgs struct {
	// The ASN on the Alibaba Cloud side.
	LocalAsn pulumi.StringInput `pulumi:"localAsn"`
	// The BGP IP address on the Alibaba Cloud side.
	LocalBgpIp pulumi.StringInput `pulumi:"localBgpIp"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
	// The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.
	TunnelCidr pulumi.StringInput `pulumi:"tunnelCidr"`
}

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentBgpConfigArray added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfigArray []GetGatewayVpnAttachmentsAttachmentBgpConfigInput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentBgpConfigArrayInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfigArrayInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput
	ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput
}

GetGatewayVpnAttachmentsAttachmentBgpConfigArrayInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentBgpConfigArray and GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentBgpConfigArrayInput` via:

GetGatewayVpnAttachmentsAttachmentBgpConfigArray{ GetGatewayVpnAttachmentsAttachmentBgpConfigArgs{...} }

type GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) Index added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentBgpConfigInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfigInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigOutput
	ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentBgpConfigOutput
}

GetGatewayVpnAttachmentsAttachmentBgpConfigInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentBgpConfigArgs and GetGatewayVpnAttachmentsAttachmentBgpConfigOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentBgpConfigInput` via:

GetGatewayVpnAttachmentsAttachmentBgpConfigArgs{...}

type GetGatewayVpnAttachmentsAttachmentBgpConfigOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentBgpConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) LocalAsn added in v3.28.0

The ASN on the Alibaba Cloud side.

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) LocalBgpIp added in v3.28.0

The BGP IP address on the Alibaba Cloud side.

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) Status added in v3.28.0

The status of the resource.

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToOutput added in v3.43.1

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) TunnelCidr added in v3.28.0

The CIDR block of the IPsec tunnel. The CIDR block belongs to 169.254.0.0/16. The mask of the CIDR block is 30 bits in length.

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfig added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfig struct {
	// The destination IP address.
	Dip string `pulumi:"dip"`
	// Specifies whether to enable health checks.
	Enable bool `pulumi:"enable"`
	// The interval between two consecutive health checks. Unit: seconds.
	Interval int `pulumi:"interval"`
	// Whether to revoke the published route when the health check fails.
	Policy string `pulumi:"policy"`
	// The maximum number of health check retries.
	Retry int `pulumi:"retry"`
	// The source IP address.
	Sip string `pulumi:"sip"`
	// The status of the resource.
	Status string `pulumi:"status"`
}

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs struct {
	// The destination IP address.
	Dip pulumi.StringInput `pulumi:"dip"`
	// Specifies whether to enable health checks.
	Enable pulumi.BoolInput `pulumi:"enable"`
	// The interval between two consecutive health checks. Unit: seconds.
	Interval pulumi.IntInput `pulumi:"interval"`
	// Whether to revoke the published route when the health check fails.
	Policy pulumi.StringInput `pulumi:"policy"`
	// The maximum number of health check retries.
	Retry pulumi.IntInput `pulumi:"retry"`
	// The source IP address.
	Sip pulumi.StringInput `pulumi:"sip"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray []GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput
	ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput
}

GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray and GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayInput` via:

GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray{ GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs{...} }

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) Index added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput() GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput
	ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput
}

GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs and GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput` via:

GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs{...}

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Dip added in v3.28.0

The destination IP address.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Enable added in v3.28.0

Specifies whether to enable health checks.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Interval added in v3.28.0

The interval between two consecutive health checks. Unit: seconds.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Policy added in v3.28.0

Whether to revoke the published route when the health check fails.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Retry added in v3.28.0

The maximum number of health check retries.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Sip added in v3.28.0

The source IP address.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Status added in v3.28.0

The status of the resource.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIkeConfig added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfig struct {
	// The IKE authentication algorithm.
	IkeAuthAlg string `pulumi:"ikeAuthAlg"`
	// The IKE encryption algorithm.
	IkeEncAlg string `pulumi:"ikeEncAlg"`
	// The IKE lifetime. Unit: seconds.
	IkeLifetime string `pulumi:"ikeLifetime"`
	// The IKE negotiation mode.
	IkeMode string `pulumi:"ikeMode"`
	// The DH group.
	IkePfs string `pulumi:"ikePfs"`
	// The version of the IKE protocol.
	IkeVersion string `pulumi:"ikeVersion"`
	// The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default. The cen.TransitRouterVpnAttachment resource will not have a value until after it is created.
	LocalId string `pulumi:"localId"`
	// The pre-shared key.
	Psk string `pulumi:"psk"`
	// The identifier of the peer. The default value is the IP address of the VPN gateway. The value can be a fully qualified domain name (FQDN) or an IP address.
	RemoteId string `pulumi:"remoteId"`
}

type GetGatewayVpnAttachmentsAttachmentIkeConfigArgs added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfigArgs struct {
	// The IKE authentication algorithm.
	IkeAuthAlg pulumi.StringInput `pulumi:"ikeAuthAlg"`
	// The IKE encryption algorithm.
	IkeEncAlg pulumi.StringInput `pulumi:"ikeEncAlg"`
	// The IKE lifetime. Unit: seconds.
	IkeLifetime pulumi.StringInput `pulumi:"ikeLifetime"`
	// The IKE negotiation mode.
	IkeMode pulumi.StringInput `pulumi:"ikeMode"`
	// The DH group.
	IkePfs pulumi.StringInput `pulumi:"ikePfs"`
	// The version of the IKE protocol.
	IkeVersion pulumi.StringInput `pulumi:"ikeVersion"`
	// The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default. The cen.TransitRouterVpnAttachment resource will not have a value until after it is created.
	LocalId pulumi.StringInput `pulumi:"localId"`
	// The pre-shared key.
	Psk pulumi.StringInput `pulumi:"psk"`
	// The identifier of the peer. The default value is the IP address of the VPN gateway. The value can be a fully qualified domain name (FQDN) or an IP address.
	RemoteId pulumi.StringInput `pulumi:"remoteId"`
}

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIkeConfigArray added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfigArray []GetGatewayVpnAttachmentsAttachmentIkeConfigInput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIkeConfigArrayInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfigArrayInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput
	ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput
}

GetGatewayVpnAttachmentsAttachmentIkeConfigArrayInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentIkeConfigArray and GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentIkeConfigArrayInput` via:

GetGatewayVpnAttachmentsAttachmentIkeConfigArray{ GetGatewayVpnAttachmentsAttachmentIkeConfigArgs{...} }

type GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) Index added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIkeConfigInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfigInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigOutput
	ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentIkeConfigOutput
}

GetGatewayVpnAttachmentsAttachmentIkeConfigInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentIkeConfigArgs and GetGatewayVpnAttachmentsAttachmentIkeConfigOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentIkeConfigInput` via:

GetGatewayVpnAttachmentsAttachmentIkeConfigArgs{...}

type GetGatewayVpnAttachmentsAttachmentIkeConfigOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIkeConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeAuthAlg added in v3.28.0

The IKE authentication algorithm.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeEncAlg added in v3.28.0

The IKE encryption algorithm.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeLifetime added in v3.28.0

The IKE lifetime. Unit: seconds.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeMode added in v3.28.0

The IKE negotiation mode.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkePfs added in v3.28.0

The DH group.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeVersion added in v3.28.0

The version of the IKE protocol.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) LocalId added in v3.28.0

The local ID, which supports the FQDN and IP formats. The current VPN gateway IP address is selected by default. The cen.TransitRouterVpnAttachment resource will not have a value until after it is created.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) Psk added in v3.28.0

The pre-shared key.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) RemoteId added in v3.28.0

The identifier of the peer. The default value is the IP address of the VPN gateway. The value can be a fully qualified domain name (FQDN) or an IP address.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentOutput() GetGatewayVpnAttachmentsAttachmentOutput
	ToGetGatewayVpnAttachmentsAttachmentOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentOutput
}

GetGatewayVpnAttachmentsAttachmentInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentArgs and GetGatewayVpnAttachmentsAttachmentOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentInput` via:

GetGatewayVpnAttachmentsAttachmentArgs{...}

type GetGatewayVpnAttachmentsAttachmentIpsecConfig added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfig struct {
	// The IPsec authentication algorithm.
	IpsecAuthAlg string `pulumi:"ipsecAuthAlg"`
	// The IPsec encryption algorithm.
	IpsecEncAlg string `pulumi:"ipsecEncAlg"`
	// The IPsec lifetime. Unit: seconds.
	IpsecLifetime string `pulumi:"ipsecLifetime"`
	// The DH group.
	IpsecPfs string `pulumi:"ipsecPfs"`
}

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs struct {
	// The IPsec authentication algorithm.
	IpsecAuthAlg pulumi.StringInput `pulumi:"ipsecAuthAlg"`
	// The IPsec encryption algorithm.
	IpsecEncAlg pulumi.StringInput `pulumi:"ipsecEncAlg"`
	// The IPsec lifetime. Unit: seconds.
	IpsecLifetime pulumi.StringInput `pulumi:"ipsecLifetime"`
	// The DH group.
	IpsecPfs pulumi.StringInput `pulumi:"ipsecPfs"`
}

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArray added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArray []GetGatewayVpnAttachmentsAttachmentIpsecConfigInput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext added in v3.28.0

func (i GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput
	ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput
}

GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentIpsecConfigArray and GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayInput` via:

GetGatewayVpnAttachmentsAttachmentIpsecConfigArray{ GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs{...} }

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) Index added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentIpsecConfigInput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfigInput interface {
	pulumi.Input

	ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput
	ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext(context.Context) GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput
}

GetGatewayVpnAttachmentsAttachmentIpsecConfigInput is an input type that accepts GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs and GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput values. You can construct a concrete instance of `GetGatewayVpnAttachmentsAttachmentIpsecConfigInput` via:

GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs{...}

type GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecAuthAlg added in v3.28.0

The IPsec authentication algorithm.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecEncAlg added in v3.28.0

The IPsec encryption algorithm.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecLifetime added in v3.28.0

The IPsec lifetime. Unit: seconds.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecPfs added in v3.28.0

The DH group.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToOutput added in v3.43.1

type GetGatewayVpnAttachmentsAttachmentOutput added in v3.28.0

type GetGatewayVpnAttachmentsAttachmentOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentOutput) BgpConfigs added in v3.28.0

The configurations of the BGP routing protocol.

func (GetGatewayVpnAttachmentsAttachmentOutput) ConnectionStatus added in v3.28.0

The status of the IPsec-VPN connection.

func (GetGatewayVpnAttachmentsAttachmentOutput) CreateTime added in v3.28.0

The creation time of the resource.

func (GetGatewayVpnAttachmentsAttachmentOutput) CustomerGatewayId added in v3.28.0

The ID of the customer gateway.

func (GetGatewayVpnAttachmentsAttachmentOutput) EffectImmediately added in v3.28.0

Indicates whether IPsec-VPN negotiations are initiated immediately. Valid values.

func (GetGatewayVpnAttachmentsAttachmentOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsAttachmentOutput) HealthCheckConfigs added in v3.28.0

The health check configurations.

func (GetGatewayVpnAttachmentsAttachmentOutput) Id added in v3.28.0

The ID of the Vpn Attachment.

func (GetGatewayVpnAttachmentsAttachmentOutput) IkeConfigs added in v3.28.0

Configuration negotiated in the second stage.

func (GetGatewayVpnAttachmentsAttachmentOutput) InternetIp added in v3.29.0

The internet ip of the resource. The cen.TransitRouterVpnAttachment resource will not have a value until after it is created.

func (GetGatewayVpnAttachmentsAttachmentOutput) IpsecConfigs added in v3.28.0

The configuration of Phase 2 negotiations.

func (GetGatewayVpnAttachmentsAttachmentOutput) LocalSubnet added in v3.28.0

The CIDR block of the virtual private cloud (VPC).

func (GetGatewayVpnAttachmentsAttachmentOutput) NetworkType added in v3.28.0

The network type.

func (GetGatewayVpnAttachmentsAttachmentOutput) RemoteSubnet added in v3.28.0

The CIDR block of the on-premises data center.

func (GetGatewayVpnAttachmentsAttachmentOutput) Status added in v3.28.0

The status of the resource.

func (GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutput added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutput() GetGatewayVpnAttachmentsAttachmentOutput

func (GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsAttachmentOutput

func (GetGatewayVpnAttachmentsAttachmentOutput) ToOutput added in v3.43.1

func (GetGatewayVpnAttachmentsAttachmentOutput) VpnAttachmentName added in v3.28.0

The name of the IPsec-VPN connection.

func (GetGatewayVpnAttachmentsAttachmentOutput) VpnConnectionId added in v3.28.0

The first ID of the resource.

type GetGatewayVpnAttachmentsOutputArgs added in v3.28.0

type GetGatewayVpnAttachmentsOutputArgs struct {
	// A list of Vpn Attachment IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Vpn Attachment name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The status of the resource.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The parameter 'vpn_gateway_id' has been deprecated from 1.194.0.
	//
	// Deprecated: The parameter 'vpn_gateway_id' has been deprecated from 1.194.0.
	VpnGatewayId pulumi.StringPtrInput `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getGatewayVpnAttachments.

func (GetGatewayVpnAttachmentsOutputArgs) ElementType added in v3.28.0

type GetGatewayVpnAttachmentsResult added in v3.28.0

type GetGatewayVpnAttachmentsResult struct {
	Attachments []GetGatewayVpnAttachmentsAttachment `pulumi:"attachments"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	PageNumber *int     `pulumi:"pageNumber"`
	PageSize   *int     `pulumi:"pageSize"`
	Status     *string  `pulumi:"status"`
	// Deprecated: The parameter 'vpn_gateway_id' has been deprecated from 1.194.0.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of values returned by getGatewayVpnAttachments.

func GetGatewayVpnAttachments added in v3.28.0

func GetGatewayVpnAttachments(ctx *pulumi.Context, args *GetGatewayVpnAttachmentsArgs, opts ...pulumi.InvokeOption) (*GetGatewayVpnAttachmentsResult, error)

This data source provides the Vpn Gateway Vpn Attachments of the current Alibaba Cloud user.

> **NOTE:** Available in v1.181.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpn.GetGatewayVpnAttachments(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpnGatewayVpnAttachmentId1", ids.Attachments[0].Id)
		nameRegex, err := vpn.GetGatewayVpnAttachments(ctx, &vpn.GetGatewayVpnAttachmentsArgs{
			NameRegex: pulumi.StringRef("^my-VpnAttachment"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpnGatewayVpnAttachmentId2", nameRegex.Attachments[0].Id)
		ctx.Export("localId", data.Alicloud_vpn_gateway_vpn_attachments.Vpn_attachments.Attachments[0].Ike_config[0].Local_id)
		ctx.Export("internetIp", data.Alicloud_vpn_gateway_vpn_attachments.Vpn_attachments.Attachments[0].Internet_ip)
		return nil
	})
}

```

type GetGatewayVpnAttachmentsResultOutput added in v3.28.0

type GetGatewayVpnAttachmentsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGatewayVpnAttachments.

func (GetGatewayVpnAttachmentsResultOutput) Attachments added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) ElementType added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) Id added in v3.28.0

The provider-assigned unique ID for this managed resource.

func (GetGatewayVpnAttachmentsResultOutput) Ids added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) NameRegex added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) Names added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) OutputFile added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) PageNumber added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) PageSize added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) Status added in v3.28.0

func (GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutput added in v3.28.0

func (o GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutput() GetGatewayVpnAttachmentsResultOutput

func (GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutputWithContext added in v3.28.0

func (o GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutputWithContext(ctx context.Context) GetGatewayVpnAttachmentsResultOutput

func (GetGatewayVpnAttachmentsResultOutput) ToOutput added in v3.43.1

func (GetGatewayVpnAttachmentsResultOutput) VpnGatewayId deprecated added in v3.28.0

Deprecated: The parameter 'vpn_gateway_id' has been deprecated from 1.194.0.

type GetGatewaysArgs

type GetGatewaysArgs struct {
	// Limit search to specific business status - valid value is "Normal", "FinancialLocked".
	BusinessStatus *string `pulumi:"businessStatus"`
	// Indicates whether the IPsec-VPN feature is enabled.
	//
	// Deprecated: Field 'enable_ipsec' has been deprecated from provider version 1.193.0 and it will be removed in the future version.
	EnableIpsec *bool `pulumi:"enableIpsec"`
	// IDs of the VPN.
	Ids []string `pulumi:"ids"`
	// Include ineffective ordering data.
	IncludeReservationData *bool `pulumi:"includeReservationData"`
	// A regex string of VPN name.
	NameRegex *string `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile *string `pulumi:"outputFile"`
	// Limit search to specific status - valid value is "Init", "Provisioning", "Active", "Updating", "Deleting".
	Status *string `pulumi:"status"`
	// Use the VPC ID as the search key.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getGateways.

type GetGatewaysGateway

type GetGatewaysGateway struct {
	// Whether to automatically propagate BGP routes to the VPC. Valid values: `true`, `false`.
	AutoPropagate string `pulumi:"autoPropagate"`
	// Limit search to specific business status - valid value is "Normal", "FinancialLocked".
	BusinessStatus string `pulumi:"businessStatus"`
	// The creation time of the VPN gateway.
	CreateTime string `pulumi:"createTime"`
	// The description of the VPN
	Description string `pulumi:"description"`
	// Indicates whether the IPsec-VPN feature is enabled.
	EnableIpsec string `pulumi:"enableIpsec"`
	// Whether the ssl function is enabled.
	EnableSsl string `pulumi:"enableSsl"`
	// The expiration time of the VPN gateway.
	EndTime string `pulumi:"endTime"`
	// ID of the VPN.
	Id string `pulumi:"id"`
	// The charge type of the VPN gateway.
	InstanceChargeType string `pulumi:"instanceChargeType"`
	// The internet ip of the VPN.
	InternetIp string `pulumi:"internetIp"`
	// The name of the VPN.
	Name string `pulumi:"name"`
	// The network type of the VPN gateway.
	NetworkType string `pulumi:"networkType"`
	// The Specification of the VPN
	Specification string `pulumi:"specification"`
	// Total count of ssl vpn connections.
	SslConnections int `pulumi:"sslConnections"`
	// Limit search to specific status - valid value is "Init", "Provisioning", "Active", "Updating", "Deleting".
	Status string `pulumi:"status"`
	// Use the VPC ID as the search key.
	VpcId string `pulumi:"vpcId"`
}

type GetGatewaysGatewayArgs

type GetGatewaysGatewayArgs struct {
	// Whether to automatically propagate BGP routes to the VPC. Valid values: `true`, `false`.
	AutoPropagate pulumi.StringInput `pulumi:"autoPropagate"`
	// Limit search to specific business status - valid value is "Normal", "FinancialLocked".
	BusinessStatus pulumi.StringInput `pulumi:"businessStatus"`
	// The creation time of the VPN gateway.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The description of the VPN
	Description pulumi.StringInput `pulumi:"description"`
	// Indicates whether the IPsec-VPN feature is enabled.
	EnableIpsec pulumi.StringInput `pulumi:"enableIpsec"`
	// Whether the ssl function is enabled.
	EnableSsl pulumi.StringInput `pulumi:"enableSsl"`
	// The expiration time of the VPN gateway.
	EndTime pulumi.StringInput `pulumi:"endTime"`
	// ID of the VPN.
	Id pulumi.StringInput `pulumi:"id"`
	// The charge type of the VPN gateway.
	InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"`
	// The internet ip of the VPN.
	InternetIp pulumi.StringInput `pulumi:"internetIp"`
	// The name of the VPN.
	Name pulumi.StringInput `pulumi:"name"`
	// The network type of the VPN gateway.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// The Specification of the VPN
	Specification pulumi.StringInput `pulumi:"specification"`
	// Total count of ssl vpn connections.
	SslConnections pulumi.IntInput `pulumi:"sslConnections"`
	// Limit search to specific status - valid value is "Init", "Provisioning", "Active", "Updating", "Deleting".
	Status pulumi.StringInput `pulumi:"status"`
	// Use the VPC ID as the search key.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetGatewaysGatewayArgs) ElementType

func (GetGatewaysGatewayArgs) ElementType() reflect.Type

func (GetGatewaysGatewayArgs) ToGetGatewaysGatewayOutput

func (i GetGatewaysGatewayArgs) ToGetGatewaysGatewayOutput() GetGatewaysGatewayOutput

func (GetGatewaysGatewayArgs) ToGetGatewaysGatewayOutputWithContext

func (i GetGatewaysGatewayArgs) ToGetGatewaysGatewayOutputWithContext(ctx context.Context) GetGatewaysGatewayOutput

func (GetGatewaysGatewayArgs) ToOutput added in v3.43.1

type GetGatewaysGatewayArray

type GetGatewaysGatewayArray []GetGatewaysGatewayInput

func (GetGatewaysGatewayArray) ElementType

func (GetGatewaysGatewayArray) ElementType() reflect.Type

func (GetGatewaysGatewayArray) ToGetGatewaysGatewayArrayOutput

func (i GetGatewaysGatewayArray) ToGetGatewaysGatewayArrayOutput() GetGatewaysGatewayArrayOutput

func (GetGatewaysGatewayArray) ToGetGatewaysGatewayArrayOutputWithContext

func (i GetGatewaysGatewayArray) ToGetGatewaysGatewayArrayOutputWithContext(ctx context.Context) GetGatewaysGatewayArrayOutput

func (GetGatewaysGatewayArray) ToOutput added in v3.43.1

type GetGatewaysGatewayArrayInput

type GetGatewaysGatewayArrayInput interface {
	pulumi.Input

	ToGetGatewaysGatewayArrayOutput() GetGatewaysGatewayArrayOutput
	ToGetGatewaysGatewayArrayOutputWithContext(context.Context) GetGatewaysGatewayArrayOutput
}

GetGatewaysGatewayArrayInput is an input type that accepts GetGatewaysGatewayArray and GetGatewaysGatewayArrayOutput values. You can construct a concrete instance of `GetGatewaysGatewayArrayInput` via:

GetGatewaysGatewayArray{ GetGatewaysGatewayArgs{...} }

type GetGatewaysGatewayArrayOutput

type GetGatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetGatewaysGatewayArrayOutput) ElementType

func (GetGatewaysGatewayArrayOutput) Index

func (GetGatewaysGatewayArrayOutput) ToGetGatewaysGatewayArrayOutput

func (o GetGatewaysGatewayArrayOutput) ToGetGatewaysGatewayArrayOutput() GetGatewaysGatewayArrayOutput

func (GetGatewaysGatewayArrayOutput) ToGetGatewaysGatewayArrayOutputWithContext

func (o GetGatewaysGatewayArrayOutput) ToGetGatewaysGatewayArrayOutputWithContext(ctx context.Context) GetGatewaysGatewayArrayOutput

func (GetGatewaysGatewayArrayOutput) ToOutput added in v3.43.1

type GetGatewaysGatewayInput

type GetGatewaysGatewayInput interface {
	pulumi.Input

	ToGetGatewaysGatewayOutput() GetGatewaysGatewayOutput
	ToGetGatewaysGatewayOutputWithContext(context.Context) GetGatewaysGatewayOutput
}

GetGatewaysGatewayInput is an input type that accepts GetGatewaysGatewayArgs and GetGatewaysGatewayOutput values. You can construct a concrete instance of `GetGatewaysGatewayInput` via:

GetGatewaysGatewayArgs{...}

type GetGatewaysGatewayOutput

type GetGatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetGatewaysGatewayOutput) AutoPropagate added in v3.29.0

func (o GetGatewaysGatewayOutput) AutoPropagate() pulumi.StringOutput

Whether to automatically propagate BGP routes to the VPC. Valid values: `true`, `false`.

func (GetGatewaysGatewayOutput) BusinessStatus

func (o GetGatewaysGatewayOutput) BusinessStatus() pulumi.StringOutput

Limit search to specific business status - valid value is "Normal", "FinancialLocked".

func (GetGatewaysGatewayOutput) CreateTime

The creation time of the VPN gateway.

func (GetGatewaysGatewayOutput) Description

The description of the VPN

func (GetGatewaysGatewayOutput) ElementType

func (GetGatewaysGatewayOutput) ElementType() reflect.Type

func (GetGatewaysGatewayOutput) EnableIpsec

Indicates whether the IPsec-VPN feature is enabled.

func (GetGatewaysGatewayOutput) EnableSsl

Whether the ssl function is enabled.

func (GetGatewaysGatewayOutput) EndTime

The expiration time of the VPN gateway.

func (GetGatewaysGatewayOutput) Id

ID of the VPN.

func (GetGatewaysGatewayOutput) InstanceChargeType

func (o GetGatewaysGatewayOutput) InstanceChargeType() pulumi.StringOutput

The charge type of the VPN gateway.

func (GetGatewaysGatewayOutput) InternetIp

The internet ip of the VPN.

func (GetGatewaysGatewayOutput) Name

The name of the VPN.

func (GetGatewaysGatewayOutput) NetworkType added in v3.29.0

The network type of the VPN gateway.

func (GetGatewaysGatewayOutput) Specification

func (o GetGatewaysGatewayOutput) Specification() pulumi.StringOutput

The Specification of the VPN

func (GetGatewaysGatewayOutput) SslConnections

func (o GetGatewaysGatewayOutput) SslConnections() pulumi.IntOutput

Total count of ssl vpn connections.

func (GetGatewaysGatewayOutput) Status

Limit search to specific status - valid value is "Init", "Provisioning", "Active", "Updating", "Deleting".

func (GetGatewaysGatewayOutput) ToGetGatewaysGatewayOutput

func (o GetGatewaysGatewayOutput) ToGetGatewaysGatewayOutput() GetGatewaysGatewayOutput

func (GetGatewaysGatewayOutput) ToGetGatewaysGatewayOutputWithContext

func (o GetGatewaysGatewayOutput) ToGetGatewaysGatewayOutputWithContext(ctx context.Context) GetGatewaysGatewayOutput

func (GetGatewaysGatewayOutput) ToOutput added in v3.43.1

func (GetGatewaysGatewayOutput) VpcId

Use the VPC ID as the search key.

type GetGatewaysOutputArgs added in v3.9.0

type GetGatewaysOutputArgs struct {
	// Limit search to specific business status - valid value is "Normal", "FinancialLocked".
	BusinessStatus pulumi.StringPtrInput `pulumi:"businessStatus"`
	// Indicates whether the IPsec-VPN feature is enabled.
	//
	// Deprecated: Field 'enable_ipsec' has been deprecated from provider version 1.193.0 and it will be removed in the future version.
	EnableIpsec pulumi.BoolPtrInput `pulumi:"enableIpsec"`
	// IDs of the VPN.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Include ineffective ordering data.
	IncludeReservationData pulumi.BoolPtrInput `pulumi:"includeReservationData"`
	// A regex string of VPN name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Limit search to specific status - valid value is "Init", "Provisioning", "Active", "Updating", "Deleting".
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Use the VPC ID as the search key.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getGateways.

func (GetGatewaysOutputArgs) ElementType added in v3.9.0

func (GetGatewaysOutputArgs) ElementType() reflect.Type

type GetGatewaysResult

type GetGatewaysResult struct {
	// The business status of the VPN gateway.
	BusinessStatus *string `pulumi:"businessStatus"`
	// Whether the ipsec function is enabled.
	//
	// Deprecated: Field 'enable_ipsec' has been deprecated from provider version 1.193.0 and it will be removed in the future version.
	EnableIpsec *bool `pulumi:"enableIpsec"`
	// A list of VPN gateways. Each element contains the following attributes:
	Gateways []GetGatewaysGateway `pulumi:"gateways"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// IDs of the VPN.
	Ids                    []string `pulumi:"ids"`
	IncludeReservationData *bool    `pulumi:"includeReservationData"`
	NameRegex              *string  `pulumi:"nameRegex"`
	// names of the VPN.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the VPN
	Status *string `pulumi:"status"`
	// ID of the VPC that the VPN belongs.
	VpcId *string `pulumi:"vpcId"`
}

A collection of values returned by getGateways.

func GetGateways

func GetGateways(ctx *pulumi.Context, args *GetGatewaysArgs, opts ...pulumi.InvokeOption) (*GetGatewaysResult, error)

The VPNs data source lists a number of VPNs resource information owned by an Alicloud account.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpn.GetGateways(ctx, &vpn.GetGatewaysArgs{
			BusinessStatus: pulumi.StringRef("Normal"),
			Ids: []string{
				"fake-vpn-id1",
				"fake-vpn-id2",
			},
			IncludeReservationData: pulumi.BoolRef(true),
			NameRegex:              pulumi.StringRef("testAcc*"),
			OutputFile:             pulumi.StringRef("/tmp/vpns"),
			Status:                 pulumi.StringRef("Active"),
			VpcId:                  pulumi.StringRef("fake-vpc-id"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetGatewaysResultOutput added in v3.9.0

type GetGatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGateways.

func GetGatewaysOutput added in v3.9.0

func GetGatewaysOutput(ctx *pulumi.Context, args GetGatewaysOutputArgs, opts ...pulumi.InvokeOption) GetGatewaysResultOutput

func (GetGatewaysResultOutput) BusinessStatus added in v3.9.0

func (o GetGatewaysResultOutput) BusinessStatus() pulumi.StringPtrOutput

The business status of the VPN gateway.

func (GetGatewaysResultOutput) ElementType added in v3.9.0

func (GetGatewaysResultOutput) ElementType() reflect.Type

func (GetGatewaysResultOutput) EnableIpsec deprecated added in v3.20.0

Whether the ipsec function is enabled.

Deprecated: Field 'enable_ipsec' has been deprecated from provider version 1.193.0 and it will be removed in the future version.

func (GetGatewaysResultOutput) Gateways added in v3.9.0

A list of VPN gateways. Each element contains the following attributes:

func (GetGatewaysResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetGatewaysResultOutput) Ids added in v3.9.0

IDs of the VPN.

func (GetGatewaysResultOutput) IncludeReservationData added in v3.29.0

func (o GetGatewaysResultOutput) IncludeReservationData() pulumi.BoolPtrOutput

func (GetGatewaysResultOutput) NameRegex added in v3.9.0

func (GetGatewaysResultOutput) Names added in v3.9.0

names of the VPN.

func (GetGatewaysResultOutput) OutputFile added in v3.9.0

func (GetGatewaysResultOutput) Status added in v3.9.0

The status of the VPN

func (GetGatewaysResultOutput) ToGetGatewaysResultOutput added in v3.9.0

func (o GetGatewaysResultOutput) ToGetGatewaysResultOutput() GetGatewaysResultOutput

func (GetGatewaysResultOutput) ToGetGatewaysResultOutputWithContext added in v3.9.0

func (o GetGatewaysResultOutput) ToGetGatewaysResultOutputWithContext(ctx context.Context) GetGatewaysResultOutput

func (GetGatewaysResultOutput) ToOutput added in v3.43.1

func (GetGatewaysResultOutput) VpcId added in v3.9.0

ID of the VPC that the VPN belongs.

type IpsecServer added in v3.20.0

type IpsecServer struct {
	pulumi.CustomResourceState

	// The client CIDR block. It refers to the CIDR block that is allocated to the virtual interface of the client.
	ClientIpPool pulumi.StringOutput `pulumi:"clientIpPool"`
	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Specifies whether you want the configuration to immediately take effect.
	EffectImmediately pulumi.BoolPtrOutput `pulumi:"effectImmediately"`
	// The configuration of Phase 1 negotiations. See the following `Block ikeConfig`.
	IkeConfigs IpsecServerIkeConfigArrayOutput `pulumi:"ikeConfigs"`
	// The configuration of Phase 2 negotiations. See the following `Block ipsecConfig`.
	IpsecConfigs IpsecServerIpsecConfigArrayOutput `pulumi:"ipsecConfigs"`
	// The name of the IPsec server. The name must be `2` to `128` characters in length, and can contain digits, hyphens (-), and underscores (_). It must start with a letter.
	IpsecServerName pulumi.StringPtrOutput `pulumi:"ipsecServerName"`
	// The local CIDR block. It refers to the CIDR block of the virtual private cloud (VPC) that is used to connect with the client. Separate multiple CIDR blocks with commas (,). Example: `192.168.1.0/24,192.168.2.0/24`.
	LocalSubnet pulumi.StringOutput `pulumi:"localSubnet"`
	// The pre-shared key. The pre-shared key is used to authenticate the VPN gateway and the client. By default, the system generates a random string that is 16 bits in length. You can also specify the pre-shared key. It can contain at most 100 characters.
	Psk pulumi.StringOutput `pulumi:"psk"`
	// Whether to enable the pre-shared key authentication method. The value is only `true`, which indicates that the pre-shared key authentication method is enabled.
	PskEnabled pulumi.BoolPtrOutput `pulumi:"pskEnabled"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringOutput `pulumi:"vpnGatewayId"`
}

Provides a VPN Ipsec Server resource.

For information about VPN Ipsec Server and how to use it, see [What is Ipsec Server](https://www.alibabacloud.com/help/en/doc-detail/205454.html).

> **NOTE:** Available in v1.161.0+.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			VswitchName: pulumi.String("terraform-example"),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			VpcId:       fooNetwork.ID(),
			ZoneId:      *pulumi.String(fooZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		fooGateway, err := vpn.NewGateway(ctx, "fooGateway", &vpn.GatewayArgs{
			VpcId:              fooNetwork.ID(),
			Bandwidth:          pulumi.Int(10),
			EnableSsl:          pulumi.Bool(true),
			InstanceChargeType: pulumi.String("PrePaid"),
			Description:        pulumi.String("terraform-example"),
			VswitchId:          fooSwitch.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewIpsecServer(ctx, "fooIpsecServer", &vpn.IpsecServerArgs{
			ClientIpPool:    pulumi.String("10.0.0.0/24"),
			IpsecServerName: pulumi.String("terraform-example"),
			LocalSubnet:     pulumi.String("192.168.0.0/24"),
			VpnGatewayId:    fooGateway.ID(),
			PskEnabled:      pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN Ipsec Server can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/ipsecServer:IpsecServer example <id>

```

func GetIpsecServer added in v3.20.0

func GetIpsecServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IpsecServerState, opts ...pulumi.ResourceOption) (*IpsecServer, error)

GetIpsecServer gets an existing IpsecServer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIpsecServer added in v3.20.0

func NewIpsecServer(ctx *pulumi.Context,
	name string, args *IpsecServerArgs, opts ...pulumi.ResourceOption) (*IpsecServer, error)

NewIpsecServer registers a new resource with the given unique name, arguments, and options.

func (*IpsecServer) ElementType added in v3.20.0

func (*IpsecServer) ElementType() reflect.Type

func (*IpsecServer) ToIpsecServerOutput added in v3.20.0

func (i *IpsecServer) ToIpsecServerOutput() IpsecServerOutput

func (*IpsecServer) ToIpsecServerOutputWithContext added in v3.20.0

func (i *IpsecServer) ToIpsecServerOutputWithContext(ctx context.Context) IpsecServerOutput

func (*IpsecServer) ToOutput added in v3.43.1

func (i *IpsecServer) ToOutput(ctx context.Context) pulumix.Output[*IpsecServer]

type IpsecServerArgs added in v3.20.0

type IpsecServerArgs struct {
	// The client CIDR block. It refers to the CIDR block that is allocated to the virtual interface of the client.
	ClientIpPool pulumi.StringInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// Specifies whether you want the configuration to immediately take effect.
	EffectImmediately pulumi.BoolPtrInput
	// The configuration of Phase 1 negotiations. See the following `Block ikeConfig`.
	IkeConfigs IpsecServerIkeConfigArrayInput
	// The configuration of Phase 2 negotiations. See the following `Block ipsecConfig`.
	IpsecConfigs IpsecServerIpsecConfigArrayInput
	// The name of the IPsec server. The name must be `2` to `128` characters in length, and can contain digits, hyphens (-), and underscores (_). It must start with a letter.
	IpsecServerName pulumi.StringPtrInput
	// The local CIDR block. It refers to the CIDR block of the virtual private cloud (VPC) that is used to connect with the client. Separate multiple CIDR blocks with commas (,). Example: `192.168.1.0/24,192.168.2.0/24`.
	LocalSubnet pulumi.StringInput
	// The pre-shared key. The pre-shared key is used to authenticate the VPN gateway and the client. By default, the system generates a random string that is 16 bits in length. You can also specify the pre-shared key. It can contain at most 100 characters.
	Psk pulumi.StringPtrInput
	// Whether to enable the pre-shared key authentication method. The value is only `true`, which indicates that the pre-shared key authentication method is enabled.
	PskEnabled pulumi.BoolPtrInput
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringInput
}

The set of arguments for constructing a IpsecServer resource.

func (IpsecServerArgs) ElementType added in v3.20.0

func (IpsecServerArgs) ElementType() reflect.Type

type IpsecServerArray added in v3.20.0

type IpsecServerArray []IpsecServerInput

func (IpsecServerArray) ElementType added in v3.20.0

func (IpsecServerArray) ElementType() reflect.Type

func (IpsecServerArray) ToIpsecServerArrayOutput added in v3.20.0

func (i IpsecServerArray) ToIpsecServerArrayOutput() IpsecServerArrayOutput

func (IpsecServerArray) ToIpsecServerArrayOutputWithContext added in v3.20.0

func (i IpsecServerArray) ToIpsecServerArrayOutputWithContext(ctx context.Context) IpsecServerArrayOutput

func (IpsecServerArray) ToOutput added in v3.43.1

type IpsecServerArrayInput added in v3.20.0

type IpsecServerArrayInput interface {
	pulumi.Input

	ToIpsecServerArrayOutput() IpsecServerArrayOutput
	ToIpsecServerArrayOutputWithContext(context.Context) IpsecServerArrayOutput
}

IpsecServerArrayInput is an input type that accepts IpsecServerArray and IpsecServerArrayOutput values. You can construct a concrete instance of `IpsecServerArrayInput` via:

IpsecServerArray{ IpsecServerArgs{...} }

type IpsecServerArrayOutput added in v3.20.0

type IpsecServerArrayOutput struct{ *pulumi.OutputState }

func (IpsecServerArrayOutput) ElementType added in v3.20.0

func (IpsecServerArrayOutput) ElementType() reflect.Type

func (IpsecServerArrayOutput) Index added in v3.20.0

func (IpsecServerArrayOutput) ToIpsecServerArrayOutput added in v3.20.0

func (o IpsecServerArrayOutput) ToIpsecServerArrayOutput() IpsecServerArrayOutput

func (IpsecServerArrayOutput) ToIpsecServerArrayOutputWithContext added in v3.20.0

func (o IpsecServerArrayOutput) ToIpsecServerArrayOutputWithContext(ctx context.Context) IpsecServerArrayOutput

func (IpsecServerArrayOutput) ToOutput added in v3.43.1

type IpsecServerIkeConfig added in v3.20.0

type IpsecServerIkeConfig struct {
	// The authentication algorithm that is used in Phase 1 negotiations. Default value: `sha1`.
	IkeAuthAlg *string `pulumi:"ikeAuthAlg"`
	// The encryption algorithm that is used in Phase 1 negotiations. Default value: `aes`.
	IkeEncAlg *string `pulumi:"ikeEncAlg"`
	// IkeLifetime: the SA lifetime determined by Phase 1 negotiations. Valid values: `0` to `86400`. Default value: `86400`. Unit: `seconds`.
	IkeLifetime *int `pulumi:"ikeLifetime"`
	// The IKE negotiation mode. Default value: `main`.
	IkeMode *string `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: `group2`.
	IkePfs *string `pulumi:"ikePfs"`
	// The IKE version. Valid values: `ikev1` and `ikev2`. Default value: `ikev2`.
	IkeVersion *string `pulumi:"ikeVersion"`
	// The identifier of the IPsec server. The value can be a fully qualified domain name (FQDN) or an IP address. The default value is the public IP address of the VPN gateway.
	LocalId *string `pulumi:"localId"`
	// The identifier of the customer gateway. The value can be an FQDN or an IP address. By default, this parameter is not specified.
	RemoteId *string `pulumi:"remoteId"`
}

type IpsecServerIkeConfigArgs added in v3.20.0

type IpsecServerIkeConfigArgs struct {
	// The authentication algorithm that is used in Phase 1 negotiations. Default value: `sha1`.
	IkeAuthAlg pulumi.StringPtrInput `pulumi:"ikeAuthAlg"`
	// The encryption algorithm that is used in Phase 1 negotiations. Default value: `aes`.
	IkeEncAlg pulumi.StringPtrInput `pulumi:"ikeEncAlg"`
	// IkeLifetime: the SA lifetime determined by Phase 1 negotiations. Valid values: `0` to `86400`. Default value: `86400`. Unit: `seconds`.
	IkeLifetime pulumi.IntPtrInput `pulumi:"ikeLifetime"`
	// The IKE negotiation mode. Default value: `main`.
	IkeMode pulumi.StringPtrInput `pulumi:"ikeMode"`
	// The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: `group2`.
	IkePfs pulumi.StringPtrInput `pulumi:"ikePfs"`
	// The IKE version. Valid values: `ikev1` and `ikev2`. Default value: `ikev2`.
	IkeVersion pulumi.StringPtrInput `pulumi:"ikeVersion"`
	// The identifier of the IPsec server. The value can be a fully qualified domain name (FQDN) or an IP address. The default value is the public IP address of the VPN gateway.
	LocalId pulumi.StringPtrInput `pulumi:"localId"`
	// The identifier of the customer gateway. The value can be an FQDN or an IP address. By default, this parameter is not specified.
	RemoteId pulumi.StringPtrInput `pulumi:"remoteId"`
}

func (IpsecServerIkeConfigArgs) ElementType added in v3.20.0

func (IpsecServerIkeConfigArgs) ElementType() reflect.Type

func (IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutput added in v3.20.0

func (i IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutput() IpsecServerIkeConfigOutput

func (IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutputWithContext added in v3.20.0

func (i IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutputWithContext(ctx context.Context) IpsecServerIkeConfigOutput

func (IpsecServerIkeConfigArgs) ToOutput added in v3.43.1

type IpsecServerIkeConfigArray added in v3.20.0

type IpsecServerIkeConfigArray []IpsecServerIkeConfigInput

func (IpsecServerIkeConfigArray) ElementType added in v3.20.0

func (IpsecServerIkeConfigArray) ElementType() reflect.Type

func (IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutput added in v3.20.0

func (i IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutput() IpsecServerIkeConfigArrayOutput

func (IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutputWithContext added in v3.20.0

func (i IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutputWithContext(ctx context.Context) IpsecServerIkeConfigArrayOutput

func (IpsecServerIkeConfigArray) ToOutput added in v3.43.1

type IpsecServerIkeConfigArrayInput added in v3.20.0

type IpsecServerIkeConfigArrayInput interface {
	pulumi.Input

	ToIpsecServerIkeConfigArrayOutput() IpsecServerIkeConfigArrayOutput
	ToIpsecServerIkeConfigArrayOutputWithContext(context.Context) IpsecServerIkeConfigArrayOutput
}

IpsecServerIkeConfigArrayInput is an input type that accepts IpsecServerIkeConfigArray and IpsecServerIkeConfigArrayOutput values. You can construct a concrete instance of `IpsecServerIkeConfigArrayInput` via:

IpsecServerIkeConfigArray{ IpsecServerIkeConfigArgs{...} }

type IpsecServerIkeConfigArrayOutput added in v3.20.0

type IpsecServerIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (IpsecServerIkeConfigArrayOutput) ElementType added in v3.20.0

func (IpsecServerIkeConfigArrayOutput) Index added in v3.20.0

func (IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutput added in v3.20.0

func (o IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutput() IpsecServerIkeConfigArrayOutput

func (IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutputWithContext added in v3.20.0

func (o IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutputWithContext(ctx context.Context) IpsecServerIkeConfigArrayOutput

func (IpsecServerIkeConfigArrayOutput) ToOutput added in v3.43.1

type IpsecServerIkeConfigInput added in v3.20.0

type IpsecServerIkeConfigInput interface {
	pulumi.Input

	ToIpsecServerIkeConfigOutput() IpsecServerIkeConfigOutput
	ToIpsecServerIkeConfigOutputWithContext(context.Context) IpsecServerIkeConfigOutput
}

IpsecServerIkeConfigInput is an input type that accepts IpsecServerIkeConfigArgs and IpsecServerIkeConfigOutput values. You can construct a concrete instance of `IpsecServerIkeConfigInput` via:

IpsecServerIkeConfigArgs{...}

type IpsecServerIkeConfigOutput added in v3.20.0

type IpsecServerIkeConfigOutput struct{ *pulumi.OutputState }

func (IpsecServerIkeConfigOutput) ElementType added in v3.20.0

func (IpsecServerIkeConfigOutput) ElementType() reflect.Type

func (IpsecServerIkeConfigOutput) IkeAuthAlg added in v3.20.0

The authentication algorithm that is used in Phase 1 negotiations. Default value: `sha1`.

func (IpsecServerIkeConfigOutput) IkeEncAlg added in v3.20.0

The encryption algorithm that is used in Phase 1 negotiations. Default value: `aes`.

func (IpsecServerIkeConfigOutput) IkeLifetime added in v3.20.0

IkeLifetime: the SA lifetime determined by Phase 1 negotiations. Valid values: `0` to `86400`. Default value: `86400`. Unit: `seconds`.

func (IpsecServerIkeConfigOutput) IkeMode added in v3.20.0

The IKE negotiation mode. Default value: `main`.

func (IpsecServerIkeConfigOutput) IkePfs added in v3.20.0

The Diffie-Hellman key exchange algorithm that is used in Phase 1 negotiations. Default value: `group2`.

func (IpsecServerIkeConfigOutput) IkeVersion added in v3.20.0

The IKE version. Valid values: `ikev1` and `ikev2`. Default value: `ikev2`.

func (IpsecServerIkeConfigOutput) LocalId added in v3.20.0

The identifier of the IPsec server. The value can be a fully qualified domain name (FQDN) or an IP address. The default value is the public IP address of the VPN gateway.

func (IpsecServerIkeConfigOutput) RemoteId added in v3.20.0

The identifier of the customer gateway. The value can be an FQDN or an IP address. By default, this parameter is not specified.

func (IpsecServerIkeConfigOutput) ToIpsecServerIkeConfigOutput added in v3.20.0

func (o IpsecServerIkeConfigOutput) ToIpsecServerIkeConfigOutput() IpsecServerIkeConfigOutput

func (IpsecServerIkeConfigOutput) ToIpsecServerIkeConfigOutputWithContext added in v3.20.0

func (o IpsecServerIkeConfigOutput) ToIpsecServerIkeConfigOutputWithContext(ctx context.Context) IpsecServerIkeConfigOutput

func (IpsecServerIkeConfigOutput) ToOutput added in v3.43.1

type IpsecServerInput added in v3.20.0

type IpsecServerInput interface {
	pulumi.Input

	ToIpsecServerOutput() IpsecServerOutput
	ToIpsecServerOutputWithContext(ctx context.Context) IpsecServerOutput
}

type IpsecServerIpsecConfig added in v3.20.0

type IpsecServerIpsecConfig struct {
	// The authentication algorithm that is used in Phase 2 negotiations. Default value: `sha1`.
	IpsecAuthAlg *string `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm that is used in Phase 2 negotiations. Default value: `aes`.
	IpsecEncAlg *string `pulumi:"ipsecEncAlg"`
	// The SA lifetime determined by Phase 2 negotiations. Valid values: `0` to `86400`. Default value: `86400`. Unit: `seconds`.
	IpsecLifetime *int `pulumi:"ipsecLifetime"`
	// Forwards packets of all protocols. The Diffie-Hellman key exchange algorithm used in Phase 2 negotiations. Default value: `group2`.
	IpsecPfs *string `pulumi:"ipsecPfs"`
}

type IpsecServerIpsecConfigArgs added in v3.20.0

type IpsecServerIpsecConfigArgs struct {
	// The authentication algorithm that is used in Phase 2 negotiations. Default value: `sha1`.
	IpsecAuthAlg pulumi.StringPtrInput `pulumi:"ipsecAuthAlg"`
	// The encryption algorithm that is used in Phase 2 negotiations. Default value: `aes`.
	IpsecEncAlg pulumi.StringPtrInput `pulumi:"ipsecEncAlg"`
	// The SA lifetime determined by Phase 2 negotiations. Valid values: `0` to `86400`. Default value: `86400`. Unit: `seconds`.
	IpsecLifetime pulumi.IntPtrInput `pulumi:"ipsecLifetime"`
	// Forwards packets of all protocols. The Diffie-Hellman key exchange algorithm used in Phase 2 negotiations. Default value: `group2`.
	IpsecPfs pulumi.StringPtrInput `pulumi:"ipsecPfs"`
}

func (IpsecServerIpsecConfigArgs) ElementType added in v3.20.0

func (IpsecServerIpsecConfigArgs) ElementType() reflect.Type

func (IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutput added in v3.20.0

func (i IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutput() IpsecServerIpsecConfigOutput

func (IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutputWithContext added in v3.20.0

func (i IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutputWithContext(ctx context.Context) IpsecServerIpsecConfigOutput

func (IpsecServerIpsecConfigArgs) ToOutput added in v3.43.1

type IpsecServerIpsecConfigArray added in v3.20.0

type IpsecServerIpsecConfigArray []IpsecServerIpsecConfigInput

func (IpsecServerIpsecConfigArray) ElementType added in v3.20.0

func (IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutput added in v3.20.0

func (i IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutput() IpsecServerIpsecConfigArrayOutput

func (IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutputWithContext added in v3.20.0

func (i IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutputWithContext(ctx context.Context) IpsecServerIpsecConfigArrayOutput

func (IpsecServerIpsecConfigArray) ToOutput added in v3.43.1

type IpsecServerIpsecConfigArrayInput added in v3.20.0

type IpsecServerIpsecConfigArrayInput interface {
	pulumi.Input

	ToIpsecServerIpsecConfigArrayOutput() IpsecServerIpsecConfigArrayOutput
	ToIpsecServerIpsecConfigArrayOutputWithContext(context.Context) IpsecServerIpsecConfigArrayOutput
}

IpsecServerIpsecConfigArrayInput is an input type that accepts IpsecServerIpsecConfigArray and IpsecServerIpsecConfigArrayOutput values. You can construct a concrete instance of `IpsecServerIpsecConfigArrayInput` via:

IpsecServerIpsecConfigArray{ IpsecServerIpsecConfigArgs{...} }

type IpsecServerIpsecConfigArrayOutput added in v3.20.0

type IpsecServerIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (IpsecServerIpsecConfigArrayOutput) ElementType added in v3.20.0

func (IpsecServerIpsecConfigArrayOutput) Index added in v3.20.0

func (IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutput added in v3.20.0

func (o IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutput() IpsecServerIpsecConfigArrayOutput

func (IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutputWithContext added in v3.20.0

func (o IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutputWithContext(ctx context.Context) IpsecServerIpsecConfigArrayOutput

func (IpsecServerIpsecConfigArrayOutput) ToOutput added in v3.43.1

type IpsecServerIpsecConfigInput added in v3.20.0

type IpsecServerIpsecConfigInput interface {
	pulumi.Input

	ToIpsecServerIpsecConfigOutput() IpsecServerIpsecConfigOutput
	ToIpsecServerIpsecConfigOutputWithContext(context.Context) IpsecServerIpsecConfigOutput
}

IpsecServerIpsecConfigInput is an input type that accepts IpsecServerIpsecConfigArgs and IpsecServerIpsecConfigOutput values. You can construct a concrete instance of `IpsecServerIpsecConfigInput` via:

IpsecServerIpsecConfigArgs{...}

type IpsecServerIpsecConfigOutput added in v3.20.0

type IpsecServerIpsecConfigOutput struct{ *pulumi.OutputState }

func (IpsecServerIpsecConfigOutput) ElementType added in v3.20.0

func (IpsecServerIpsecConfigOutput) IpsecAuthAlg added in v3.20.0

The authentication algorithm that is used in Phase 2 negotiations. Default value: `sha1`.

func (IpsecServerIpsecConfigOutput) IpsecEncAlg added in v3.20.0

The encryption algorithm that is used in Phase 2 negotiations. Default value: `aes`.

func (IpsecServerIpsecConfigOutput) IpsecLifetime added in v3.20.0

The SA lifetime determined by Phase 2 negotiations. Valid values: `0` to `86400`. Default value: `86400`. Unit: `seconds`.

func (IpsecServerIpsecConfigOutput) IpsecPfs added in v3.20.0

Forwards packets of all protocols. The Diffie-Hellman key exchange algorithm used in Phase 2 negotiations. Default value: `group2`.

func (IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutput added in v3.20.0

func (o IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutput() IpsecServerIpsecConfigOutput

func (IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutputWithContext added in v3.20.0

func (o IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutputWithContext(ctx context.Context) IpsecServerIpsecConfigOutput

func (IpsecServerIpsecConfigOutput) ToOutput added in v3.43.1

type IpsecServerMap added in v3.20.0

type IpsecServerMap map[string]IpsecServerInput

func (IpsecServerMap) ElementType added in v3.20.0

func (IpsecServerMap) ElementType() reflect.Type

func (IpsecServerMap) ToIpsecServerMapOutput added in v3.20.0

func (i IpsecServerMap) ToIpsecServerMapOutput() IpsecServerMapOutput

func (IpsecServerMap) ToIpsecServerMapOutputWithContext added in v3.20.0

func (i IpsecServerMap) ToIpsecServerMapOutputWithContext(ctx context.Context) IpsecServerMapOutput

func (IpsecServerMap) ToOutput added in v3.43.1

type IpsecServerMapInput added in v3.20.0

type IpsecServerMapInput interface {
	pulumi.Input

	ToIpsecServerMapOutput() IpsecServerMapOutput
	ToIpsecServerMapOutputWithContext(context.Context) IpsecServerMapOutput
}

IpsecServerMapInput is an input type that accepts IpsecServerMap and IpsecServerMapOutput values. You can construct a concrete instance of `IpsecServerMapInput` via:

IpsecServerMap{ "key": IpsecServerArgs{...} }

type IpsecServerMapOutput added in v3.20.0

type IpsecServerMapOutput struct{ *pulumi.OutputState }

func (IpsecServerMapOutput) ElementType added in v3.20.0

func (IpsecServerMapOutput) ElementType() reflect.Type

func (IpsecServerMapOutput) MapIndex added in v3.20.0

func (IpsecServerMapOutput) ToIpsecServerMapOutput added in v3.20.0

func (o IpsecServerMapOutput) ToIpsecServerMapOutput() IpsecServerMapOutput

func (IpsecServerMapOutput) ToIpsecServerMapOutputWithContext added in v3.20.0

func (o IpsecServerMapOutput) ToIpsecServerMapOutputWithContext(ctx context.Context) IpsecServerMapOutput

func (IpsecServerMapOutput) ToOutput added in v3.43.1

type IpsecServerOutput added in v3.20.0

type IpsecServerOutput struct{ *pulumi.OutputState }

func (IpsecServerOutput) ClientIpPool added in v3.27.0

func (o IpsecServerOutput) ClientIpPool() pulumi.StringOutput

The client CIDR block. It refers to the CIDR block that is allocated to the virtual interface of the client.

func (IpsecServerOutput) DryRun added in v3.27.0

The dry run.

func (IpsecServerOutput) EffectImmediately added in v3.27.0

func (o IpsecServerOutput) EffectImmediately() pulumi.BoolPtrOutput

Specifies whether you want the configuration to immediately take effect.

func (IpsecServerOutput) ElementType added in v3.20.0

func (IpsecServerOutput) ElementType() reflect.Type

func (IpsecServerOutput) IkeConfigs added in v3.27.0

The configuration of Phase 1 negotiations. See the following `Block ikeConfig`.

func (IpsecServerOutput) IpsecConfigs added in v3.27.0

The configuration of Phase 2 negotiations. See the following `Block ipsecConfig`.

func (IpsecServerOutput) IpsecServerName added in v3.27.0

func (o IpsecServerOutput) IpsecServerName() pulumi.StringPtrOutput

The name of the IPsec server. The name must be `2` to `128` characters in length, and can contain digits, hyphens (-), and underscores (_). It must start with a letter.

func (IpsecServerOutput) LocalSubnet added in v3.27.0

func (o IpsecServerOutput) LocalSubnet() pulumi.StringOutput

The local CIDR block. It refers to the CIDR block of the virtual private cloud (VPC) that is used to connect with the client. Separate multiple CIDR blocks with commas (,). Example: `192.168.1.0/24,192.168.2.0/24`.

func (IpsecServerOutput) Psk added in v3.27.0

The pre-shared key. The pre-shared key is used to authenticate the VPN gateway and the client. By default, the system generates a random string that is 16 bits in length. You can also specify the pre-shared key. It can contain at most 100 characters.

func (IpsecServerOutput) PskEnabled added in v3.27.0

func (o IpsecServerOutput) PskEnabled() pulumi.BoolPtrOutput

Whether to enable the pre-shared key authentication method. The value is only `true`, which indicates that the pre-shared key authentication method is enabled.

func (IpsecServerOutput) ToIpsecServerOutput added in v3.20.0

func (o IpsecServerOutput) ToIpsecServerOutput() IpsecServerOutput

func (IpsecServerOutput) ToIpsecServerOutputWithContext added in v3.20.0

func (o IpsecServerOutput) ToIpsecServerOutputWithContext(ctx context.Context) IpsecServerOutput

func (IpsecServerOutput) ToOutput added in v3.43.1

func (IpsecServerOutput) VpnGatewayId added in v3.27.0

func (o IpsecServerOutput) VpnGatewayId() pulumi.StringOutput

The ID of the VPN gateway.

type IpsecServerState added in v3.20.0

type IpsecServerState struct {
	// The client CIDR block. It refers to the CIDR block that is allocated to the virtual interface of the client.
	ClientIpPool pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// Specifies whether you want the configuration to immediately take effect.
	EffectImmediately pulumi.BoolPtrInput
	// The configuration of Phase 1 negotiations. See the following `Block ikeConfig`.
	IkeConfigs IpsecServerIkeConfigArrayInput
	// The configuration of Phase 2 negotiations. See the following `Block ipsecConfig`.
	IpsecConfigs IpsecServerIpsecConfigArrayInput
	// The name of the IPsec server. The name must be `2` to `128` characters in length, and can contain digits, hyphens (-), and underscores (_). It must start with a letter.
	IpsecServerName pulumi.StringPtrInput
	// The local CIDR block. It refers to the CIDR block of the virtual private cloud (VPC) that is used to connect with the client. Separate multiple CIDR blocks with commas (,). Example: `192.168.1.0/24,192.168.2.0/24`.
	LocalSubnet pulumi.StringPtrInput
	// The pre-shared key. The pre-shared key is used to authenticate the VPN gateway and the client. By default, the system generates a random string that is 16 bits in length. You can also specify the pre-shared key. It can contain at most 100 characters.
	Psk pulumi.StringPtrInput
	// Whether to enable the pre-shared key authentication method. The value is only `true`, which indicates that the pre-shared key authentication method is enabled.
	PskEnabled pulumi.BoolPtrInput
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringPtrInput
}

func (IpsecServerState) ElementType added in v3.20.0

func (IpsecServerState) ElementType() reflect.Type

type PbrRouteEntry added in v3.20.0

type PbrRouteEntry struct {
	pulumi.CustomResourceState

	// The next hop of the policy-based route.
	NextHop pulumi.StringOutput `pulumi:"nextHop"`
	// Whether to issue the destination route to the VPC.
	PublishVpc pulumi.BoolOutput `pulumi:"publishVpc"`
	// The destination CIDR block of the policy-based route.
	RouteDest pulumi.StringOutput `pulumi:"routeDest"`
	// The source CIDR block of the policy-based route.
	RouteSource pulumi.StringOutput `pulumi:"routeSource"`
	// The status of the vpn pbr route entry.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the vpn gateway.
	VpnGatewayId pulumi.StringOutput `pulumi:"vpnGatewayId"`
	// The weight of the policy-based route. Valid values: 0 and 100.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

Provides a VPN Pbr Route Entry resource.

> **NOTE:** Available in 1.162.0+.

For information about VPN Pbr Route Entry and how to use it, see [What is VPN Pbr Route Entry](https://www.alibabacloud.com/help/en/doc-detail/127248.html).

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tfacc"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultGateways, err := vpn.GetGateways(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "defaultCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress: pulumi.String("192.168.1.1"),
		})
		if err != nil {
			return err
		}
		defaultConnection, err := vpn.NewConnection(ctx, "defaultConnection", &vpn.ConnectionArgs{
			CustomerGatewayId: defaultCustomerGateway.ID(),
			VpnGatewayId:      *pulumi.String(defaultGateways.Ids[0]),
			LocalSubnets: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			RemoteSubnets: pulumi.StringArray{
				pulumi.String("192.168.3.0/24"),
			},
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewPbrRouteEntry(ctx, "defaultPbrRouteEntry", &vpn.PbrRouteEntryArgs{
			VpnGatewayId: *pulumi.String(defaultGateways.Ids[0]),
			RouteSource:  pulumi.String("192.168.1.0/24"),
			RouteDest:    pulumi.String("10.0.0.0/24"),
			NextHop:      defaultConnection.ID(),
			Weight:       pulumi.Int(0),
			PublishVpc:   pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN Pbr route entry can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/pbrRouteEntry:PbrRouteEntry example <vpn_gateway_id>:<next_hop>:<route_source>:<route_dest>

```

func GetPbrRouteEntry added in v3.20.0

func GetPbrRouteEntry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PbrRouteEntryState, opts ...pulumi.ResourceOption) (*PbrRouteEntry, error)

GetPbrRouteEntry gets an existing PbrRouteEntry resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPbrRouteEntry added in v3.20.0

func NewPbrRouteEntry(ctx *pulumi.Context,
	name string, args *PbrRouteEntryArgs, opts ...pulumi.ResourceOption) (*PbrRouteEntry, error)

NewPbrRouteEntry registers a new resource with the given unique name, arguments, and options.

func (*PbrRouteEntry) ElementType added in v3.20.0

func (*PbrRouteEntry) ElementType() reflect.Type

func (*PbrRouteEntry) ToOutput added in v3.43.1

func (*PbrRouteEntry) ToPbrRouteEntryOutput added in v3.20.0

func (i *PbrRouteEntry) ToPbrRouteEntryOutput() PbrRouteEntryOutput

func (*PbrRouteEntry) ToPbrRouteEntryOutputWithContext added in v3.20.0

func (i *PbrRouteEntry) ToPbrRouteEntryOutputWithContext(ctx context.Context) PbrRouteEntryOutput

type PbrRouteEntryArgs added in v3.20.0

type PbrRouteEntryArgs struct {
	// The next hop of the policy-based route.
	NextHop pulumi.StringInput
	// Whether to issue the destination route to the VPC.
	PublishVpc pulumi.BoolInput
	// The destination CIDR block of the policy-based route.
	RouteDest pulumi.StringInput
	// The source CIDR block of the policy-based route.
	RouteSource pulumi.StringInput
	// The ID of the vpn gateway.
	VpnGatewayId pulumi.StringInput
	// The weight of the policy-based route. Valid values: 0 and 100.
	Weight pulumi.IntInput
}

The set of arguments for constructing a PbrRouteEntry resource.

func (PbrRouteEntryArgs) ElementType added in v3.20.0

func (PbrRouteEntryArgs) ElementType() reflect.Type

type PbrRouteEntryArray added in v3.20.0

type PbrRouteEntryArray []PbrRouteEntryInput

func (PbrRouteEntryArray) ElementType added in v3.20.0

func (PbrRouteEntryArray) ElementType() reflect.Type

func (PbrRouteEntryArray) ToOutput added in v3.43.1

func (PbrRouteEntryArray) ToPbrRouteEntryArrayOutput added in v3.20.0

func (i PbrRouteEntryArray) ToPbrRouteEntryArrayOutput() PbrRouteEntryArrayOutput

func (PbrRouteEntryArray) ToPbrRouteEntryArrayOutputWithContext added in v3.20.0

func (i PbrRouteEntryArray) ToPbrRouteEntryArrayOutputWithContext(ctx context.Context) PbrRouteEntryArrayOutput

type PbrRouteEntryArrayInput added in v3.20.0

type PbrRouteEntryArrayInput interface {
	pulumi.Input

	ToPbrRouteEntryArrayOutput() PbrRouteEntryArrayOutput
	ToPbrRouteEntryArrayOutputWithContext(context.Context) PbrRouteEntryArrayOutput
}

PbrRouteEntryArrayInput is an input type that accepts PbrRouteEntryArray and PbrRouteEntryArrayOutput values. You can construct a concrete instance of `PbrRouteEntryArrayInput` via:

PbrRouteEntryArray{ PbrRouteEntryArgs{...} }

type PbrRouteEntryArrayOutput added in v3.20.0

type PbrRouteEntryArrayOutput struct{ *pulumi.OutputState }

func (PbrRouteEntryArrayOutput) ElementType added in v3.20.0

func (PbrRouteEntryArrayOutput) ElementType() reflect.Type

func (PbrRouteEntryArrayOutput) Index added in v3.20.0

func (PbrRouteEntryArrayOutput) ToOutput added in v3.43.1

func (PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutput added in v3.20.0

func (o PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutput() PbrRouteEntryArrayOutput

func (PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutputWithContext added in v3.20.0

func (o PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutputWithContext(ctx context.Context) PbrRouteEntryArrayOutput

type PbrRouteEntryInput added in v3.20.0

type PbrRouteEntryInput interface {
	pulumi.Input

	ToPbrRouteEntryOutput() PbrRouteEntryOutput
	ToPbrRouteEntryOutputWithContext(ctx context.Context) PbrRouteEntryOutput
}

type PbrRouteEntryMap added in v3.20.0

type PbrRouteEntryMap map[string]PbrRouteEntryInput

func (PbrRouteEntryMap) ElementType added in v3.20.0

func (PbrRouteEntryMap) ElementType() reflect.Type

func (PbrRouteEntryMap) ToOutput added in v3.43.1

func (PbrRouteEntryMap) ToPbrRouteEntryMapOutput added in v3.20.0

func (i PbrRouteEntryMap) ToPbrRouteEntryMapOutput() PbrRouteEntryMapOutput

func (PbrRouteEntryMap) ToPbrRouteEntryMapOutputWithContext added in v3.20.0

func (i PbrRouteEntryMap) ToPbrRouteEntryMapOutputWithContext(ctx context.Context) PbrRouteEntryMapOutput

type PbrRouteEntryMapInput added in v3.20.0

type PbrRouteEntryMapInput interface {
	pulumi.Input

	ToPbrRouteEntryMapOutput() PbrRouteEntryMapOutput
	ToPbrRouteEntryMapOutputWithContext(context.Context) PbrRouteEntryMapOutput
}

PbrRouteEntryMapInput is an input type that accepts PbrRouteEntryMap and PbrRouteEntryMapOutput values. You can construct a concrete instance of `PbrRouteEntryMapInput` via:

PbrRouteEntryMap{ "key": PbrRouteEntryArgs{...} }

type PbrRouteEntryMapOutput added in v3.20.0

type PbrRouteEntryMapOutput struct{ *pulumi.OutputState }

func (PbrRouteEntryMapOutput) ElementType added in v3.20.0

func (PbrRouteEntryMapOutput) ElementType() reflect.Type

func (PbrRouteEntryMapOutput) MapIndex added in v3.20.0

func (PbrRouteEntryMapOutput) ToOutput added in v3.43.1

func (PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutput added in v3.20.0

func (o PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutput() PbrRouteEntryMapOutput

func (PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutputWithContext added in v3.20.0

func (o PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutputWithContext(ctx context.Context) PbrRouteEntryMapOutput

type PbrRouteEntryOutput added in v3.20.0

type PbrRouteEntryOutput struct{ *pulumi.OutputState }

func (PbrRouteEntryOutput) ElementType added in v3.20.0

func (PbrRouteEntryOutput) ElementType() reflect.Type

func (PbrRouteEntryOutput) NextHop added in v3.27.0

The next hop of the policy-based route.

func (PbrRouteEntryOutput) PublishVpc added in v3.27.0

func (o PbrRouteEntryOutput) PublishVpc() pulumi.BoolOutput

Whether to issue the destination route to the VPC.

func (PbrRouteEntryOutput) RouteDest added in v3.27.0

func (o PbrRouteEntryOutput) RouteDest() pulumi.StringOutput

The destination CIDR block of the policy-based route.

func (PbrRouteEntryOutput) RouteSource added in v3.27.0

func (o PbrRouteEntryOutput) RouteSource() pulumi.StringOutput

The source CIDR block of the policy-based route.

func (PbrRouteEntryOutput) Status added in v3.27.0

The status of the vpn pbr route entry.

func (PbrRouteEntryOutput) ToOutput added in v3.43.1

func (PbrRouteEntryOutput) ToPbrRouteEntryOutput added in v3.20.0

func (o PbrRouteEntryOutput) ToPbrRouteEntryOutput() PbrRouteEntryOutput

func (PbrRouteEntryOutput) ToPbrRouteEntryOutputWithContext added in v3.20.0

func (o PbrRouteEntryOutput) ToPbrRouteEntryOutputWithContext(ctx context.Context) PbrRouteEntryOutput

func (PbrRouteEntryOutput) VpnGatewayId added in v3.27.0

func (o PbrRouteEntryOutput) VpnGatewayId() pulumi.StringOutput

The ID of the vpn gateway.

func (PbrRouteEntryOutput) Weight added in v3.27.0

The weight of the policy-based route. Valid values: 0 and 100.

type PbrRouteEntryState added in v3.20.0

type PbrRouteEntryState struct {
	// The next hop of the policy-based route.
	NextHop pulumi.StringPtrInput
	// Whether to issue the destination route to the VPC.
	PublishVpc pulumi.BoolPtrInput
	// The destination CIDR block of the policy-based route.
	RouteDest pulumi.StringPtrInput
	// The source CIDR block of the policy-based route.
	RouteSource pulumi.StringPtrInput
	// The status of the vpn pbr route entry.
	Status pulumi.StringPtrInput
	// The ID of the vpn gateway.
	VpnGatewayId pulumi.StringPtrInput
	// The weight of the policy-based route. Valid values: 0 and 100.
	Weight pulumi.IntPtrInput
}

func (PbrRouteEntryState) ElementType added in v3.20.0

func (PbrRouteEntryState) ElementType() reflect.Type

type RouteEntry

type RouteEntry struct {
	pulumi.CustomResourceState

	// The next hop of the destination route.
	NextHop pulumi.StringOutput `pulumi:"nextHop"`
	// Whether to issue the destination route to the VPC.
	PublishVpc pulumi.BoolOutput `pulumi:"publishVpc"`
	// The destination network segment of the destination route.
	RouteDest pulumi.StringOutput `pulumi:"routeDest"`
	// (Available in 1.161.0+) The type of the vpn route entry.
	RouteEntryType pulumi.StringOutput `pulumi:"routeEntryType"`
	// (Available in 1.161.0+) The status of the vpn route entry.
	Status pulumi.StringOutput `pulumi:"status"`
	// The id of the vpn gateway.
	VpnGatewayId pulumi.StringOutput `pulumi:"vpnGatewayId"`
	// The value should be 0 or 100.
	Weight pulumi.IntOutput `pulumi:"weight"`
}

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("10.1.0.0/21"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VswitchName: pulumi.String("terraform-example"),
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("10.1.0.0/24"),
			ZoneId:      *pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultGateway, err := vpn.NewGateway(ctx, "defaultGateway", &vpn.GatewayArgs{
			VpcId:              defaultNetwork.ID(),
			Bandwidth:          pulumi.Int(10),
			InstanceChargeType: pulumi.String("PrePaid"),
			EnableSsl:          pulumi.Bool(false),
			VswitchId:          defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		defaultCustomerGateway, err := vpn.NewCustomerGateway(ctx, "defaultCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress: pulumi.String("192.168.1.1"),
		})
		if err != nil {
			return err
		}
		defaultConnection, err := vpn.NewConnection(ctx, "defaultConnection", &vpn.ConnectionArgs{
			CustomerGatewayId: defaultCustomerGateway.ID(),
			VpnGatewayId:      defaultGateway.ID(),
			LocalSubnets: pulumi.StringArray{
				pulumi.String("192.168.2.0/24"),
			},
			RemoteSubnets: pulumi.StringArray{
				pulumi.String("192.168.3.0/24"),
			},
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewRouteEntry(ctx, "defaultRouteEntry", &vpn.RouteEntryArgs{
			VpnGatewayId: defaultGateway.ID(),
			RouteDest:    pulumi.String("10.0.0.0/24"),
			NextHop:      defaultConnection.ID(),
			Weight:       pulumi.Int(0),
			PublishVpc:   pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPN route entry can be imported using the id(VpnGatewayId +":"+ NextHop +":"+ RouteDest), e.g.

```sh

$ pulumi import alicloud:vpn/routeEntry:RouteEntry example vpn-abc123456:vco-abc123456:10.0.0.10/24

```

func GetRouteEntry

func GetRouteEntry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteEntryState, opts ...pulumi.ResourceOption) (*RouteEntry, error)

GetRouteEntry gets an existing RouteEntry resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewRouteEntry

func NewRouteEntry(ctx *pulumi.Context,
	name string, args *RouteEntryArgs, opts ...pulumi.ResourceOption) (*RouteEntry, error)

NewRouteEntry registers a new resource with the given unique name, arguments, and options.

func (*RouteEntry) ElementType

func (*RouteEntry) ElementType() reflect.Type

func (*RouteEntry) ToOutput added in v3.43.1

func (i *RouteEntry) ToOutput(ctx context.Context) pulumix.Output[*RouteEntry]

func (*RouteEntry) ToRouteEntryOutput

func (i *RouteEntry) ToRouteEntryOutput() RouteEntryOutput

func (*RouteEntry) ToRouteEntryOutputWithContext

func (i *RouteEntry) ToRouteEntryOutputWithContext(ctx context.Context) RouteEntryOutput

type RouteEntryArgs

type RouteEntryArgs struct {
	// The next hop of the destination route.
	NextHop pulumi.StringInput
	// Whether to issue the destination route to the VPC.
	PublishVpc pulumi.BoolInput
	// The destination network segment of the destination route.
	RouteDest pulumi.StringInput
	// The id of the vpn gateway.
	VpnGatewayId pulumi.StringInput
	// The value should be 0 or 100.
	Weight pulumi.IntInput
}

The set of arguments for constructing a RouteEntry resource.

func (RouteEntryArgs) ElementType

func (RouteEntryArgs) ElementType() reflect.Type

type RouteEntryArray

type RouteEntryArray []RouteEntryInput

func (RouteEntryArray) ElementType

func (RouteEntryArray) ElementType() reflect.Type

func (RouteEntryArray) ToOutput added in v3.43.1

func (RouteEntryArray) ToRouteEntryArrayOutput

func (i RouteEntryArray) ToRouteEntryArrayOutput() RouteEntryArrayOutput

func (RouteEntryArray) ToRouteEntryArrayOutputWithContext

func (i RouteEntryArray) ToRouteEntryArrayOutputWithContext(ctx context.Context) RouteEntryArrayOutput

type RouteEntryArrayInput

type RouteEntryArrayInput interface {
	pulumi.Input

	ToRouteEntryArrayOutput() RouteEntryArrayOutput
	ToRouteEntryArrayOutputWithContext(context.Context) RouteEntryArrayOutput
}

RouteEntryArrayInput is an input type that accepts RouteEntryArray and RouteEntryArrayOutput values. You can construct a concrete instance of `RouteEntryArrayInput` via:

RouteEntryArray{ RouteEntryArgs{...} }

type RouteEntryArrayOutput

type RouteEntryArrayOutput struct{ *pulumi.OutputState }

func (RouteEntryArrayOutput) ElementType

func (RouteEntryArrayOutput) ElementType() reflect.Type

func (RouteEntryArrayOutput) Index

func (RouteEntryArrayOutput) ToOutput added in v3.43.1

func (RouteEntryArrayOutput) ToRouteEntryArrayOutput

func (o RouteEntryArrayOutput) ToRouteEntryArrayOutput() RouteEntryArrayOutput

func (RouteEntryArrayOutput) ToRouteEntryArrayOutputWithContext

func (o RouteEntryArrayOutput) ToRouteEntryArrayOutputWithContext(ctx context.Context) RouteEntryArrayOutput

type RouteEntryInput

type RouteEntryInput interface {
	pulumi.Input

	ToRouteEntryOutput() RouteEntryOutput
	ToRouteEntryOutputWithContext(ctx context.Context) RouteEntryOutput
}

type RouteEntryMap

type RouteEntryMap map[string]RouteEntryInput

func (RouteEntryMap) ElementType

func (RouteEntryMap) ElementType() reflect.Type

func (RouteEntryMap) ToOutput added in v3.43.1

func (RouteEntryMap) ToRouteEntryMapOutput

func (i RouteEntryMap) ToRouteEntryMapOutput() RouteEntryMapOutput

func (RouteEntryMap) ToRouteEntryMapOutputWithContext

func (i RouteEntryMap) ToRouteEntryMapOutputWithContext(ctx context.Context) RouteEntryMapOutput

type RouteEntryMapInput

type RouteEntryMapInput interface {
	pulumi.Input

	ToRouteEntryMapOutput() RouteEntryMapOutput
	ToRouteEntryMapOutputWithContext(context.Context) RouteEntryMapOutput
}

RouteEntryMapInput is an input type that accepts RouteEntryMap and RouteEntryMapOutput values. You can construct a concrete instance of `RouteEntryMapInput` via:

RouteEntryMap{ "key": RouteEntryArgs{...} }

type RouteEntryMapOutput

type RouteEntryMapOutput struct{ *pulumi.OutputState }

func (RouteEntryMapOutput) ElementType

func (RouteEntryMapOutput) ElementType() reflect.Type

func (RouteEntryMapOutput) MapIndex

func (RouteEntryMapOutput) ToOutput added in v3.43.1

func (RouteEntryMapOutput) ToRouteEntryMapOutput

func (o RouteEntryMapOutput) ToRouteEntryMapOutput() RouteEntryMapOutput

func (RouteEntryMapOutput) ToRouteEntryMapOutputWithContext

func (o RouteEntryMapOutput) ToRouteEntryMapOutputWithContext(ctx context.Context) RouteEntryMapOutput

type RouteEntryOutput

type RouteEntryOutput struct{ *pulumi.OutputState }

func (RouteEntryOutput) ElementType

func (RouteEntryOutput) ElementType() reflect.Type

func (RouteEntryOutput) NextHop added in v3.27.0

func (o RouteEntryOutput) NextHop() pulumi.StringOutput

The next hop of the destination route.

func (RouteEntryOutput) PublishVpc added in v3.27.0

func (o RouteEntryOutput) PublishVpc() pulumi.BoolOutput

Whether to issue the destination route to the VPC.

func (RouteEntryOutput) RouteDest added in v3.27.0

func (o RouteEntryOutput) RouteDest() pulumi.StringOutput

The destination network segment of the destination route.

func (RouteEntryOutput) RouteEntryType added in v3.27.0

func (o RouteEntryOutput) RouteEntryType() pulumi.StringOutput

(Available in 1.161.0+) The type of the vpn route entry.

func (RouteEntryOutput) Status added in v3.27.0

(Available in 1.161.0+) The status of the vpn route entry.

func (RouteEntryOutput) ToOutput added in v3.43.1

func (RouteEntryOutput) ToRouteEntryOutput

func (o RouteEntryOutput) ToRouteEntryOutput() RouteEntryOutput

func (RouteEntryOutput) ToRouteEntryOutputWithContext

func (o RouteEntryOutput) ToRouteEntryOutputWithContext(ctx context.Context) RouteEntryOutput

func (RouteEntryOutput) VpnGatewayId added in v3.27.0

func (o RouteEntryOutput) VpnGatewayId() pulumi.StringOutput

The id of the vpn gateway.

func (RouteEntryOutput) Weight added in v3.27.0

func (o RouteEntryOutput) Weight() pulumi.IntOutput

The value should be 0 or 100.

type RouteEntryState

type RouteEntryState struct {
	// The next hop of the destination route.
	NextHop pulumi.StringPtrInput
	// Whether to issue the destination route to the VPC.
	PublishVpc pulumi.BoolPtrInput
	// The destination network segment of the destination route.
	RouteDest pulumi.StringPtrInput
	// (Available in 1.161.0+) The type of the vpn route entry.
	RouteEntryType pulumi.StringPtrInput
	// (Available in 1.161.0+) The status of the vpn route entry.
	Status pulumi.StringPtrInput
	// The id of the vpn gateway.
	VpnGatewayId pulumi.StringPtrInput
	// The value should be 0 or 100.
	Weight pulumi.IntPtrInput
}

func (RouteEntryState) ElementType

func (RouteEntryState) ElementType() reflect.Type

type SslVpnClientCert

type SslVpnClientCert struct {
	pulumi.CustomResourceState

	// The client ca cert.
	CaCert pulumi.StringOutput `pulumi:"caCert"`
	// The client cert.
	ClientCert pulumi.StringOutput `pulumi:"clientCert"`
	// The vpn client config.
	ClientConfig pulumi.StringOutput `pulumi:"clientConfig"`
	// The client key.
	ClientKey pulumi.StringOutput `pulumi:"clientKey"`
	// The name of the client certificate.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the SSL-VPN server.
	SslVpnServerId pulumi.StringOutput `pulumi:"sslVpnServerId"`
	// The status of the client certificate.
	Status pulumi.StringOutput `pulumi:"status"`
}

## Import

SSL-VPN client certificates can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/sslVpnClientCert:SslVpnClientCert example vsc-abc123456

```

func GetSslVpnClientCert

func GetSslVpnClientCert(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SslVpnClientCertState, opts ...pulumi.ResourceOption) (*SslVpnClientCert, error)

GetSslVpnClientCert gets an existing SslVpnClientCert resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSslVpnClientCert

func NewSslVpnClientCert(ctx *pulumi.Context,
	name string, args *SslVpnClientCertArgs, opts ...pulumi.ResourceOption) (*SslVpnClientCert, error)

NewSslVpnClientCert registers a new resource with the given unique name, arguments, and options.

func (*SslVpnClientCert) ElementType

func (*SslVpnClientCert) ElementType() reflect.Type

func (*SslVpnClientCert) ToOutput added in v3.43.1

func (*SslVpnClientCert) ToSslVpnClientCertOutput

func (i *SslVpnClientCert) ToSslVpnClientCertOutput() SslVpnClientCertOutput

func (*SslVpnClientCert) ToSslVpnClientCertOutputWithContext

func (i *SslVpnClientCert) ToSslVpnClientCertOutputWithContext(ctx context.Context) SslVpnClientCertOutput

type SslVpnClientCertArgs

type SslVpnClientCertArgs struct {
	// The name of the client certificate.
	Name pulumi.StringPtrInput
	// The ID of the SSL-VPN server.
	SslVpnServerId pulumi.StringInput
}

The set of arguments for constructing a SslVpnClientCert resource.

func (SslVpnClientCertArgs) ElementType

func (SslVpnClientCertArgs) ElementType() reflect.Type

type SslVpnClientCertArray

type SslVpnClientCertArray []SslVpnClientCertInput

func (SslVpnClientCertArray) ElementType

func (SslVpnClientCertArray) ElementType() reflect.Type

func (SslVpnClientCertArray) ToOutput added in v3.43.1

func (SslVpnClientCertArray) ToSslVpnClientCertArrayOutput

func (i SslVpnClientCertArray) ToSslVpnClientCertArrayOutput() SslVpnClientCertArrayOutput

func (SslVpnClientCertArray) ToSslVpnClientCertArrayOutputWithContext

func (i SslVpnClientCertArray) ToSslVpnClientCertArrayOutputWithContext(ctx context.Context) SslVpnClientCertArrayOutput

type SslVpnClientCertArrayInput

type SslVpnClientCertArrayInput interface {
	pulumi.Input

	ToSslVpnClientCertArrayOutput() SslVpnClientCertArrayOutput
	ToSslVpnClientCertArrayOutputWithContext(context.Context) SslVpnClientCertArrayOutput
}

SslVpnClientCertArrayInput is an input type that accepts SslVpnClientCertArray and SslVpnClientCertArrayOutput values. You can construct a concrete instance of `SslVpnClientCertArrayInput` via:

SslVpnClientCertArray{ SslVpnClientCertArgs{...} }

type SslVpnClientCertArrayOutput

type SslVpnClientCertArrayOutput struct{ *pulumi.OutputState }

func (SslVpnClientCertArrayOutput) ElementType

func (SslVpnClientCertArrayOutput) Index

func (SslVpnClientCertArrayOutput) ToOutput added in v3.43.1

func (SslVpnClientCertArrayOutput) ToSslVpnClientCertArrayOutput

func (o SslVpnClientCertArrayOutput) ToSslVpnClientCertArrayOutput() SslVpnClientCertArrayOutput

func (SslVpnClientCertArrayOutput) ToSslVpnClientCertArrayOutputWithContext

func (o SslVpnClientCertArrayOutput) ToSslVpnClientCertArrayOutputWithContext(ctx context.Context) SslVpnClientCertArrayOutput

type SslVpnClientCertInput

type SslVpnClientCertInput interface {
	pulumi.Input

	ToSslVpnClientCertOutput() SslVpnClientCertOutput
	ToSslVpnClientCertOutputWithContext(ctx context.Context) SslVpnClientCertOutput
}

type SslVpnClientCertMap

type SslVpnClientCertMap map[string]SslVpnClientCertInput

func (SslVpnClientCertMap) ElementType

func (SslVpnClientCertMap) ElementType() reflect.Type

func (SslVpnClientCertMap) ToOutput added in v3.43.1

func (SslVpnClientCertMap) ToSslVpnClientCertMapOutput

func (i SslVpnClientCertMap) ToSslVpnClientCertMapOutput() SslVpnClientCertMapOutput

func (SslVpnClientCertMap) ToSslVpnClientCertMapOutputWithContext

func (i SslVpnClientCertMap) ToSslVpnClientCertMapOutputWithContext(ctx context.Context) SslVpnClientCertMapOutput

type SslVpnClientCertMapInput

type SslVpnClientCertMapInput interface {
	pulumi.Input

	ToSslVpnClientCertMapOutput() SslVpnClientCertMapOutput
	ToSslVpnClientCertMapOutputWithContext(context.Context) SslVpnClientCertMapOutput
}

SslVpnClientCertMapInput is an input type that accepts SslVpnClientCertMap and SslVpnClientCertMapOutput values. You can construct a concrete instance of `SslVpnClientCertMapInput` via:

SslVpnClientCertMap{ "key": SslVpnClientCertArgs{...} }

type SslVpnClientCertMapOutput

type SslVpnClientCertMapOutput struct{ *pulumi.OutputState }

func (SslVpnClientCertMapOutput) ElementType

func (SslVpnClientCertMapOutput) ElementType() reflect.Type

func (SslVpnClientCertMapOutput) MapIndex

func (SslVpnClientCertMapOutput) ToOutput added in v3.43.1

func (SslVpnClientCertMapOutput) ToSslVpnClientCertMapOutput

func (o SslVpnClientCertMapOutput) ToSslVpnClientCertMapOutput() SslVpnClientCertMapOutput

func (SslVpnClientCertMapOutput) ToSslVpnClientCertMapOutputWithContext

func (o SslVpnClientCertMapOutput) ToSslVpnClientCertMapOutputWithContext(ctx context.Context) SslVpnClientCertMapOutput

type SslVpnClientCertOutput

type SslVpnClientCertOutput struct{ *pulumi.OutputState }

func (SslVpnClientCertOutput) CaCert added in v3.27.0

The client ca cert.

func (SslVpnClientCertOutput) ClientCert added in v3.27.0

The client cert.

func (SslVpnClientCertOutput) ClientConfig added in v3.27.0

func (o SslVpnClientCertOutput) ClientConfig() pulumi.StringOutput

The vpn client config.

func (SslVpnClientCertOutput) ClientKey added in v3.27.0

The client key.

func (SslVpnClientCertOutput) ElementType

func (SslVpnClientCertOutput) ElementType() reflect.Type

func (SslVpnClientCertOutput) Name added in v3.27.0

The name of the client certificate.

func (SslVpnClientCertOutput) SslVpnServerId added in v3.27.0

func (o SslVpnClientCertOutput) SslVpnServerId() pulumi.StringOutput

The ID of the SSL-VPN server.

func (SslVpnClientCertOutput) Status added in v3.27.0

The status of the client certificate.

func (SslVpnClientCertOutput) ToOutput added in v3.43.1

func (SslVpnClientCertOutput) ToSslVpnClientCertOutput

func (o SslVpnClientCertOutput) ToSslVpnClientCertOutput() SslVpnClientCertOutput

func (SslVpnClientCertOutput) ToSslVpnClientCertOutputWithContext

func (o SslVpnClientCertOutput) ToSslVpnClientCertOutputWithContext(ctx context.Context) SslVpnClientCertOutput

type SslVpnClientCertState

type SslVpnClientCertState struct {
	// The client ca cert.
	CaCert pulumi.StringPtrInput
	// The client cert.
	ClientCert pulumi.StringPtrInput
	// The vpn client config.
	ClientConfig pulumi.StringPtrInput
	// The client key.
	ClientKey pulumi.StringPtrInput
	// The name of the client certificate.
	Name pulumi.StringPtrInput
	// The ID of the SSL-VPN server.
	SslVpnServerId pulumi.StringPtrInput
	// The status of the client certificate.
	Status pulumi.StringPtrInput
}

func (SslVpnClientCertState) ElementType

func (SslVpnClientCertState) ElementType() reflect.Type

type SslVpnServer

type SslVpnServer struct {
	pulumi.CustomResourceState

	// The encryption algorithm that is used in the SSL-VPN connection. Valid values: `AES-128-CBC`,`AES-192-CBC`,`AES-256-CBC`,`none`. Default value: `AES-128-CBC`.
	// * `AES-128-CBC` - the AES-128-CBC algorithm.
	// * `AES-192-CBC` - the AES-192-CBC algorithm.
	// * `AES-256-CBC` - the AES-256-CBC algorithm.
	Cipher pulumi.StringPtrOutput `pulumi:"cipher"`
	// The CIDR block from which access addresses are allocated to the virtual network interface card of the client.
	ClientIpPool pulumi.StringOutput `pulumi:"clientIpPool"`
	// Specifies whether to enable data compression. Valid values: `true`,`false`. Default value: `false`
	Compress pulumi.BoolPtrOutput `pulumi:"compress"`
	// The number of current connections.
	Connections pulumi.IntOutput `pulumi:"connections"`
	// The internet IP of the SSL-VPN server.
	InternetIp pulumi.StringOutput `pulumi:"internetIp"`
	// The CIDR block to be accessed by the client through the SSL-VPN connection. It supports to set multi CIDRs by comma join ways, like `10.0.1.0/24,10.0.2.0/24,10.0.3.0/24`.
	LocalSubnet pulumi.StringOutput `pulumi:"localSubnet"`
	// The maximum number of connections.
	MaxConnections pulumi.IntOutput `pulumi:"maxConnections"`
	// The name of the SSL-VPN server.
	Name pulumi.StringOutput `pulumi:"name"`
	// The port used by the SSL-VPN server. The default value is `1194`.The following ports cannot be used: [22, 2222, 22222, 9000, 9001, 9002, 7505, 80, 443, 53, 68, 123, 4510, 4560, 500, 4500].
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// The protocol used by the SSL-VPN server. Valid value: UDP(default) |TCP
	Protocol pulumi.StringPtrOutput `pulumi:"protocol"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringOutput `pulumi:"vpnGatewayId"`
}

## Import

SSL-VPN server can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpn/sslVpnServer:SslVpnServer example vss-abc123456

```

func GetSslVpnServer

func GetSslVpnServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SslVpnServerState, opts ...pulumi.ResourceOption) (*SslVpnServer, error)

GetSslVpnServer gets an existing SslVpnServer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSslVpnServer

func NewSslVpnServer(ctx *pulumi.Context,
	name string, args *SslVpnServerArgs, opts ...pulumi.ResourceOption) (*SslVpnServer, error)

NewSslVpnServer registers a new resource with the given unique name, arguments, and options.

func (*SslVpnServer) ElementType

func (*SslVpnServer) ElementType() reflect.Type

func (*SslVpnServer) ToOutput added in v3.43.1

func (*SslVpnServer) ToSslVpnServerOutput

func (i *SslVpnServer) ToSslVpnServerOutput() SslVpnServerOutput

func (*SslVpnServer) ToSslVpnServerOutputWithContext

func (i *SslVpnServer) ToSslVpnServerOutputWithContext(ctx context.Context) SslVpnServerOutput

type SslVpnServerArgs

type SslVpnServerArgs struct {
	// The encryption algorithm that is used in the SSL-VPN connection. Valid values: `AES-128-CBC`,`AES-192-CBC`,`AES-256-CBC`,`none`. Default value: `AES-128-CBC`.
	// * `AES-128-CBC` - the AES-128-CBC algorithm.
	// * `AES-192-CBC` - the AES-192-CBC algorithm.
	// * `AES-256-CBC` - the AES-256-CBC algorithm.
	Cipher pulumi.StringPtrInput
	// The CIDR block from which access addresses are allocated to the virtual network interface card of the client.
	ClientIpPool pulumi.StringInput
	// Specifies whether to enable data compression. Valid values: `true`,`false`. Default value: `false`
	Compress pulumi.BoolPtrInput
	// The CIDR block to be accessed by the client through the SSL-VPN connection. It supports to set multi CIDRs by comma join ways, like `10.0.1.0/24,10.0.2.0/24,10.0.3.0/24`.
	LocalSubnet pulumi.StringInput
	// The name of the SSL-VPN server.
	Name pulumi.StringPtrInput
	// The port used by the SSL-VPN server. The default value is `1194`.The following ports cannot be used: [22, 2222, 22222, 9000, 9001, 9002, 7505, 80, 443, 53, 68, 123, 4510, 4560, 500, 4500].
	Port pulumi.IntPtrInput
	// The protocol used by the SSL-VPN server. Valid value: UDP(default) |TCP
	Protocol pulumi.StringPtrInput
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringInput
}

The set of arguments for constructing a SslVpnServer resource.

func (SslVpnServerArgs) ElementType

func (SslVpnServerArgs) ElementType() reflect.Type

type SslVpnServerArray

type SslVpnServerArray []SslVpnServerInput

func (SslVpnServerArray) ElementType

func (SslVpnServerArray) ElementType() reflect.Type

func (SslVpnServerArray) ToOutput added in v3.43.1

func (SslVpnServerArray) ToSslVpnServerArrayOutput

func (i SslVpnServerArray) ToSslVpnServerArrayOutput() SslVpnServerArrayOutput

func (SslVpnServerArray) ToSslVpnServerArrayOutputWithContext

func (i SslVpnServerArray) ToSslVpnServerArrayOutputWithContext(ctx context.Context) SslVpnServerArrayOutput

type SslVpnServerArrayInput

type SslVpnServerArrayInput interface {
	pulumi.Input

	ToSslVpnServerArrayOutput() SslVpnServerArrayOutput
	ToSslVpnServerArrayOutputWithContext(context.Context) SslVpnServerArrayOutput
}

SslVpnServerArrayInput is an input type that accepts SslVpnServerArray and SslVpnServerArrayOutput values. You can construct a concrete instance of `SslVpnServerArrayInput` via:

SslVpnServerArray{ SslVpnServerArgs{...} }

type SslVpnServerArrayOutput

type SslVpnServerArrayOutput struct{ *pulumi.OutputState }

func (SslVpnServerArrayOutput) ElementType

func (SslVpnServerArrayOutput) ElementType() reflect.Type

func (SslVpnServerArrayOutput) Index

func (SslVpnServerArrayOutput) ToOutput added in v3.43.1

func (SslVpnServerArrayOutput) ToSslVpnServerArrayOutput

func (o SslVpnServerArrayOutput) ToSslVpnServerArrayOutput() SslVpnServerArrayOutput

func (SslVpnServerArrayOutput) ToSslVpnServerArrayOutputWithContext

func (o SslVpnServerArrayOutput) ToSslVpnServerArrayOutputWithContext(ctx context.Context) SslVpnServerArrayOutput

type SslVpnServerInput

type SslVpnServerInput interface {
	pulumi.Input

	ToSslVpnServerOutput() SslVpnServerOutput
	ToSslVpnServerOutputWithContext(ctx context.Context) SslVpnServerOutput
}

type SslVpnServerMap

type SslVpnServerMap map[string]SslVpnServerInput

func (SslVpnServerMap) ElementType

func (SslVpnServerMap) ElementType() reflect.Type

func (SslVpnServerMap) ToOutput added in v3.43.1

func (SslVpnServerMap) ToSslVpnServerMapOutput

func (i SslVpnServerMap) ToSslVpnServerMapOutput() SslVpnServerMapOutput

func (SslVpnServerMap) ToSslVpnServerMapOutputWithContext

func (i SslVpnServerMap) ToSslVpnServerMapOutputWithContext(ctx context.Context) SslVpnServerMapOutput

type SslVpnServerMapInput

type SslVpnServerMapInput interface {
	pulumi.Input

	ToSslVpnServerMapOutput() SslVpnServerMapOutput
	ToSslVpnServerMapOutputWithContext(context.Context) SslVpnServerMapOutput
}

SslVpnServerMapInput is an input type that accepts SslVpnServerMap and SslVpnServerMapOutput values. You can construct a concrete instance of `SslVpnServerMapInput` via:

SslVpnServerMap{ "key": SslVpnServerArgs{...} }

type SslVpnServerMapOutput

type SslVpnServerMapOutput struct{ *pulumi.OutputState }

func (SslVpnServerMapOutput) ElementType

func (SslVpnServerMapOutput) ElementType() reflect.Type

func (SslVpnServerMapOutput) MapIndex

func (SslVpnServerMapOutput) ToOutput added in v3.43.1

func (SslVpnServerMapOutput) ToSslVpnServerMapOutput

func (o SslVpnServerMapOutput) ToSslVpnServerMapOutput() SslVpnServerMapOutput

func (SslVpnServerMapOutput) ToSslVpnServerMapOutputWithContext

func (o SslVpnServerMapOutput) ToSslVpnServerMapOutputWithContext(ctx context.Context) SslVpnServerMapOutput

type SslVpnServerOutput

type SslVpnServerOutput struct{ *pulumi.OutputState }

func (SslVpnServerOutput) Cipher added in v3.27.0

The encryption algorithm that is used in the SSL-VPN connection. Valid values: `AES-128-CBC`,`AES-192-CBC`,`AES-256-CBC`,`none`. Default value: `AES-128-CBC`. * `AES-128-CBC` - the AES-128-CBC algorithm. * `AES-192-CBC` - the AES-192-CBC algorithm. * `AES-256-CBC` - the AES-256-CBC algorithm.

func (SslVpnServerOutput) ClientIpPool added in v3.27.0

func (o SslVpnServerOutput) ClientIpPool() pulumi.StringOutput

The CIDR block from which access addresses are allocated to the virtual network interface card of the client.

func (SslVpnServerOutput) Compress added in v3.27.0

Specifies whether to enable data compression. Valid values: `true`,`false`. Default value: `false`

func (SslVpnServerOutput) Connections added in v3.27.0

func (o SslVpnServerOutput) Connections() pulumi.IntOutput

The number of current connections.

func (SslVpnServerOutput) ElementType

func (SslVpnServerOutput) ElementType() reflect.Type

func (SslVpnServerOutput) InternetIp added in v3.27.0

func (o SslVpnServerOutput) InternetIp() pulumi.StringOutput

The internet IP of the SSL-VPN server.

func (SslVpnServerOutput) LocalSubnet added in v3.27.0

func (o SslVpnServerOutput) LocalSubnet() pulumi.StringOutput

The CIDR block to be accessed by the client through the SSL-VPN connection. It supports to set multi CIDRs by comma join ways, like `10.0.1.0/24,10.0.2.0/24,10.0.3.0/24`.

func (SslVpnServerOutput) MaxConnections added in v3.27.0

func (o SslVpnServerOutput) MaxConnections() pulumi.IntOutput

The maximum number of connections.

func (SslVpnServerOutput) Name added in v3.27.0

The name of the SSL-VPN server.

func (SslVpnServerOutput) Port added in v3.27.0

The port used by the SSL-VPN server. The default value is `1194`.The following ports cannot be used: [22, 2222, 22222, 9000, 9001, 9002, 7505, 80, 443, 53, 68, 123, 4510, 4560, 500, 4500].

func (SslVpnServerOutput) Protocol added in v3.27.0

The protocol used by the SSL-VPN server. Valid value: UDP(default) |TCP

func (SslVpnServerOutput) ToOutput added in v3.43.1

func (SslVpnServerOutput) ToSslVpnServerOutput

func (o SslVpnServerOutput) ToSslVpnServerOutput() SslVpnServerOutput

func (SslVpnServerOutput) ToSslVpnServerOutputWithContext

func (o SslVpnServerOutput) ToSslVpnServerOutputWithContext(ctx context.Context) SslVpnServerOutput

func (SslVpnServerOutput) VpnGatewayId added in v3.27.0

func (o SslVpnServerOutput) VpnGatewayId() pulumi.StringOutput

The ID of the VPN gateway.

type SslVpnServerState

type SslVpnServerState struct {
	// The encryption algorithm that is used in the SSL-VPN connection. Valid values: `AES-128-CBC`,`AES-192-CBC`,`AES-256-CBC`,`none`. Default value: `AES-128-CBC`.
	// * `AES-128-CBC` - the AES-128-CBC algorithm.
	// * `AES-192-CBC` - the AES-192-CBC algorithm.
	// * `AES-256-CBC` - the AES-256-CBC algorithm.
	Cipher pulumi.StringPtrInput
	// The CIDR block from which access addresses are allocated to the virtual network interface card of the client.
	ClientIpPool pulumi.StringPtrInput
	// Specifies whether to enable data compression. Valid values: `true`,`false`. Default value: `false`
	Compress pulumi.BoolPtrInput
	// The number of current connections.
	Connections pulumi.IntPtrInput
	// The internet IP of the SSL-VPN server.
	InternetIp pulumi.StringPtrInput
	// The CIDR block to be accessed by the client through the SSL-VPN connection. It supports to set multi CIDRs by comma join ways, like `10.0.1.0/24,10.0.2.0/24,10.0.3.0/24`.
	LocalSubnet pulumi.StringPtrInput
	// The maximum number of connections.
	MaxConnections pulumi.IntPtrInput
	// The name of the SSL-VPN server.
	Name pulumi.StringPtrInput
	// The port used by the SSL-VPN server. The default value is `1194`.The following ports cannot be used: [22, 2222, 22222, 9000, 9001, 9002, 7505, 80, 443, 53, 68, 123, 4510, 4560, 500, 4500].
	Port pulumi.IntPtrInput
	// The protocol used by the SSL-VPN server. Valid value: UDP(default) |TCP
	Protocol pulumi.StringPtrInput
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringPtrInput
}

func (SslVpnServerState) ElementType

func (SslVpnServerState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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