vpn

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.1

func PkgVersion() (semver.Version, error)

PkgVersion uses reflection to determine the version of the current package. If a version cannot be determined, v1 will be assumed. The second return value is always nil.

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"`
	// Whether to enable NAT traversal.
	EnableDpd pulumi.BoolOutput `pulumi:"enableDpd"`
	// Whether to enable NAT traversal.
	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/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooGateway, err := vpn.NewGateway(ctx, "fooGateway", &vpn.GatewayArgs{
			VpcId:              pulumi.String("vpc-fake-id"),
			Bandwidth:          pulumi.Int(10),
			EnableSsl:          pulumi.Bool(true),
			InstanceChargeType: pulumi.String("PostPaid"),
			Description:        pulumi.String("test_create_description"),
		})
		if err != nil {
			return err
		}
		fooCustomerGateway, err := vpn.NewCustomerGateway(ctx, "fooCustomerGateway", &vpn.CustomerGatewayArgs{
			IpAddress:   pulumi.String("42.104.22.228"),
			Description: pulumi.String("testAccVpnCgwDesc"),
		})
		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("ikev1"),
				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

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
	// Whether to enable NAT traversal.
	EnableDpd pulumi.BoolPtrInput
	// Whether to enable NAT traversal.
	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

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

type ConnectionBgpConfig

type ConnectionBgpConfig struct {
	// Whether to enable BGP.
	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

type ConnectionBgpConfigArgs struct {
	// Whether to enable BGP.
	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

func (ConnectionBgpConfigArgs) ElementType() reflect.Type

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigOutput

func (i ConnectionBgpConfigArgs) ToConnectionBgpConfigOutput() ConnectionBgpConfigOutput

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigOutputWithContext

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

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutput

func (i ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigArgs) ToConnectionBgpConfigPtrOutputWithContext

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

type ConnectionBgpConfigInput

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

type ConnectionBgpConfigOutput struct{ *pulumi.OutputState }

func (ConnectionBgpConfigOutput) ElementType

func (ConnectionBgpConfigOutput) ElementType() reflect.Type

func (ConnectionBgpConfigOutput) Enable

Whether to enable BGP.

func (ConnectionBgpConfigOutput) LocalAsn

The ASN on the Alibaba Cloud side.

func (ConnectionBgpConfigOutput) LocalBgpIp

The BGP IP address on the Alibaba Cloud side.

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigOutput

func (o ConnectionBgpConfigOutput) ToConnectionBgpConfigOutput() ConnectionBgpConfigOutput

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigOutputWithContext

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

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutput

func (o ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigOutput) ToConnectionBgpConfigPtrOutputWithContext

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

func (ConnectionBgpConfigOutput) TunnelCidr

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

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

type ConnectionBgpConfigPtrOutput

type ConnectionBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionBgpConfigPtrOutput) Elem

func (ConnectionBgpConfigPtrOutput) ElementType

func (ConnectionBgpConfigPtrOutput) Enable

Whether to enable BGP.

func (ConnectionBgpConfigPtrOutput) LocalAsn

The ASN on the Alibaba Cloud side.

func (ConnectionBgpConfigPtrOutput) LocalBgpIp

The BGP IP address on the Alibaba Cloud side.

func (ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutput

func (o ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutput() ConnectionBgpConfigPtrOutput

func (ConnectionBgpConfigPtrOutput) ToConnectionBgpConfigPtrOutputWithContext

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

func (ConnectionBgpConfigPtrOutput) TunnelCidr

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

type ConnectionHealthCheckConfig struct {
	// The destination IP address.
	Dip *string `pulumi:"dip"`
	// Whether to enable BGP.
	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

type ConnectionHealthCheckConfigArgs struct {
	// The destination IP address.
	Dip pulumi.StringPtrInput `pulumi:"dip"`
	// Whether to enable BGP.
	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

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutput

func (i ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutput() ConnectionHealthCheckConfigOutput

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigOutputWithContext

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

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutput

func (i ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigArgs) ToConnectionHealthCheckConfigPtrOutputWithContext

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

type ConnectionHealthCheckConfigInput

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

type ConnectionHealthCheckConfigOutput struct{ *pulumi.OutputState }

func (ConnectionHealthCheckConfigOutput) Dip

The destination IP address.

func (ConnectionHealthCheckConfigOutput) ElementType

func (ConnectionHealthCheckConfigOutput) Enable

Whether to enable BGP.

func (ConnectionHealthCheckConfigOutput) Interval

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

func (ConnectionHealthCheckConfigOutput) Retry

The maximum number of health check retries.

func (ConnectionHealthCheckConfigOutput) Sip

The source IP address.

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutput

func (o ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutput() ConnectionHealthCheckConfigOutput

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigOutputWithContext

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

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutput

func (o ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigOutput) ToConnectionHealthCheckConfigPtrOutputWithContext

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

type ConnectionHealthCheckConfigPtrInput

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

type ConnectionHealthCheckConfigPtrOutput

type ConnectionHealthCheckConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionHealthCheckConfigPtrOutput) Dip

The destination IP address.

func (ConnectionHealthCheckConfigPtrOutput) Elem

func (ConnectionHealthCheckConfigPtrOutput) ElementType

func (ConnectionHealthCheckConfigPtrOutput) Enable

Whether to enable BGP.

func (ConnectionHealthCheckConfigPtrOutput) Interval

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

func (ConnectionHealthCheckConfigPtrOutput) Retry

The maximum number of health check retries.

func (ConnectionHealthCheckConfigPtrOutput) Sip

The source IP address.

func (ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutput

func (o ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutput() ConnectionHealthCheckConfigPtrOutput

func (ConnectionHealthCheckConfigPtrOutput) ToConnectionHealthCheckConfigPtrOutputWithContext

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

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

func (i ConnectionIkeConfigArgs) ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigArgs) ToConnectionIkeConfigPtrOutputWithContext

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

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

func (o ConnectionIkeConfigOutput) ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigOutput) ToConnectionIkeConfigPtrOutputWithContext

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

type ConnectionIkeConfigPtrInput

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

type ConnectionIkeConfigPtrOutput

type ConnectionIkeConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionIkeConfigPtrOutput) Elem

func (ConnectionIkeConfigPtrOutput) ElementType

func (ConnectionIkeConfigPtrOutput) IkeAuthAlg

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

func (ConnectionIkeConfigPtrOutput) IkeEncAlg

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

func (ConnectionIkeConfigPtrOutput) 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 (ConnectionIkeConfigPtrOutput) IkeLocalId

The identification of the VPN gateway.

func (ConnectionIkeConfigPtrOutput) IkeMode

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

func (ConnectionIkeConfigPtrOutput) IkePfs

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

func (ConnectionIkeConfigPtrOutput) IkeRemoteId

The identification of the customer gateway.

func (ConnectionIkeConfigPtrOutput) IkeVersion

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

func (ConnectionIkeConfigPtrOutput) Psk

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

func (ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutput

func (o ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutput() ConnectionIkeConfigPtrOutput

func (ConnectionIkeConfigPtrOutput) ToConnectionIkeConfigPtrOutputWithContext

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

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

func (i ConnectionIpsecConfigArgs) ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigArgs) ToConnectionIpsecConfigPtrOutputWithContext

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

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

func (o ConnectionIpsecConfigOutput) ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigOutput) ToConnectionIpsecConfigPtrOutputWithContext

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

type ConnectionIpsecConfigPtrInput

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

type ConnectionIpsecConfigPtrOutput

type ConnectionIpsecConfigPtrOutput struct{ *pulumi.OutputState }

func (ConnectionIpsecConfigPtrOutput) Elem

func (ConnectionIpsecConfigPtrOutput) ElementType

func (ConnectionIpsecConfigPtrOutput) IpsecAuthAlg

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

func (ConnectionIpsecConfigPtrOutput) IpsecEncAlg

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

func (ConnectionIpsecConfigPtrOutput) 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 (ConnectionIpsecConfigPtrOutput) IpsecPfs

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

func (o ConnectionIpsecConfigPtrOutput) ToConnectionIpsecConfigPtrOutput() ConnectionIpsecConfigPtrOutput

func (ConnectionIpsecConfigPtrOutput) ToConnectionIpsecConfigPtrOutputWithContext

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

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

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

type ConnectionOutput

type ConnectionOutput struct{ *pulumi.OutputState }

func (ConnectionOutput) BgpConfig

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

func (ConnectionOutput) CustomerGatewayId

func (o ConnectionOutput) CustomerGatewayId() pulumi.StringOutput

The ID of the customer gateway.

func (ConnectionOutput) EffectImmediately

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

func (o ConnectionOutput) EnableDpd() pulumi.BoolOutput

Whether to enable NAT traversal.

func (ConnectionOutput) EnableNatTraversal

func (o ConnectionOutput) EnableNatTraversal() pulumi.BoolOutput

Whether to enable NAT traversal.

func (ConnectionOutput) HealthCheckConfig

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

func (ConnectionOutput) IkeConfig

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

func (ConnectionOutput) IpsecConfig

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

func (ConnectionOutput) LocalSubnets

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

The name of the IPsec connection.

func (ConnectionOutput) RemoteSubnets

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

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) VpnGatewayId

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
	// Whether to enable NAT traversal.
	EnableDpd pulumi.BoolPtrInput
	// Whether to enable NAT traversal.
	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/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

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

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

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

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

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

type CustomerGatewayOutput

type CustomerGatewayOutput struct{ *pulumi.OutputState }

func (CustomerGatewayOutput) Asn

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

The description of the VPN customer gateway instance.

func (CustomerGatewayOutput) ElementType

func (CustomerGatewayOutput) ElementType() reflect.Type

func (CustomerGatewayOutput) IpAddress

The IP address of the customer gateway.

func (CustomerGatewayOutput) Name

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

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:
	// - `false`: If automatic payment is not enabled, you need to go to the order center to complete the payment after the order is generated.
	// - `true`: Enable automatic payment, automatic payment order.
	AutoPay pulumi.BoolPtrOutput `pulumi:"autoPay"`
	// Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:
	// - `true`: Enable.
	// - `false`: Disable.
	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.
	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

type GatewayArgs

type GatewayArgs struct {
	// Whether to pay automatically. Default value: `true`. Valid values:
	// - `false`: If automatic payment is not enabled, you need to go to the order center to complete the payment after the order is generated.
	// - `true`: Enable automatic payment, automatic payment order.
	AutoPay pulumi.BoolPtrInput
	// Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:
	// - `true`: Enable.
	// - `false`: Disable.
	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.
	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

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

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

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

type GatewayOutput

type GatewayOutput struct{ *pulumi.OutputState }

func (GatewayOutput) AutoPay

func (o GatewayOutput) AutoPay() pulumi.BoolPtrOutput

Whether to pay automatically. Default value: `true`. Valid values: - `false`: If automatic payment is not enabled, you need to go to the order center to complete the payment after the order is generated. - `true`: Enable automatic payment, automatic payment order.

func (GatewayOutput) AutoPropagate

func (o GatewayOutput) AutoPropagate() pulumi.BoolPtrOutput

Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values: - `true`: Enable. - `false`: Disable.

func (GatewayOutput) Bandwidth

func (o GatewayOutput) Bandwidth() pulumi.IntOutput

func (GatewayOutput) BusinessStatus

func (o GatewayOutput) BusinessStatus() pulumi.StringOutput

The business status of the VPN gateway.

func (GatewayOutput) Description

func (o GatewayOutput) Description() pulumi.StringPtrOutput

The description of the VPN instance.

func (GatewayOutput) ElementType

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) EnableIpsec

func (o GatewayOutput) EnableIpsec() pulumi.BoolPtrOutput

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

func (GatewayOutput) EnableSsl

func (o GatewayOutput) EnableSsl() pulumi.BoolPtrOutput

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

func (GatewayOutput) InstanceChargeType

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

func (o GatewayOutput) InternetIp() pulumi.StringOutput

The internet ip of the VPN.

func (GatewayOutput) Name

The name of the VPN. Defaults to null.

func (GatewayOutput) NetworkType

func (o GatewayOutput) NetworkType() pulumi.StringOutput

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

func (GatewayOutput) Period

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

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

func (o GatewayOutput) Status() pulumi.StringOutput

The status of the VPN gateway.

func (GatewayOutput) Tags

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) VpcId

func (o GatewayOutput) VpcId() pulumi.StringOutput

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

func (GatewayOutput) VswitchId

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:
	// - `false`: If automatic payment is not enabled, you need to go to the order center to complete the payment after the order is generated.
	// - `true`: Enable automatic payment, automatic payment order.
	AutoPay pulumi.BoolPtrInput
	// Specifies whether to automatically advertise BGP routes to the virtual private cloud (VPC). Valid values:
	// - `true`: Enable.
	// - `false`: Disable.
	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.
	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 GatewayVpnAttachment

type GatewayVpnAttachment struct {
	pulumi.CustomResourceState

	// Bgp configuration information. See the following `Block bgpConfig`.
	BgpConfig GatewayVpnAttachmentBgpConfigOutput `pulumi:"bgpConfig"`
	// The ID of the customer gateway.
	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 the following `Block healthCheckConfig`.
	HealthCheckConfig GatewayVpnAttachmentHealthCheckConfigOutput `pulumi:"healthCheckConfig"`
	// Configuration negotiated in the second stage. See the following `Block ikeConfig`.
	IkeConfig GatewayVpnAttachmentIkeConfigOutput `pulumi:"ikeConfig"`
	// The VPN gateway IP.
	InternetIp pulumi.StringOutput `pulumi:"internetIp"`
	// Configuration negotiated in the second stage. See the following `Block ipsecConfig`.
	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 in v1.181.0+.

## Import

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

```sh

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

```

func GetGatewayVpnAttachment

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

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

func (*GatewayVpnAttachment) ElementType() reflect.Type

func (*GatewayVpnAttachment) ToGatewayVpnAttachmentOutput

func (i *GatewayVpnAttachment) ToGatewayVpnAttachmentOutput() GatewayVpnAttachmentOutput

func (*GatewayVpnAttachment) ToGatewayVpnAttachmentOutputWithContext

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

type GatewayVpnAttachmentArgs

type GatewayVpnAttachmentArgs struct {
	// Bgp configuration information. See the following `Block bgpConfig`.
	BgpConfig GatewayVpnAttachmentBgpConfigPtrInput
	// The ID of the customer gateway.
	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 the following `Block healthCheckConfig`.
	HealthCheckConfig GatewayVpnAttachmentHealthCheckConfigPtrInput
	// Configuration negotiated in the second stage. See the following `Block ikeConfig`.
	IkeConfig GatewayVpnAttachmentIkeConfigPtrInput
	// Configuration negotiated in the second stage. See the following `Block ipsecConfig`.
	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

func (GatewayVpnAttachmentArgs) ElementType() reflect.Type

type GatewayVpnAttachmentArray

type GatewayVpnAttachmentArray []GatewayVpnAttachmentInput

func (GatewayVpnAttachmentArray) ElementType

func (GatewayVpnAttachmentArray) ElementType() reflect.Type

func (GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutput

func (i GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutput() GatewayVpnAttachmentArrayOutput

func (GatewayVpnAttachmentArray) ToGatewayVpnAttachmentArrayOutputWithContext

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

type GatewayVpnAttachmentArrayInput

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

type GatewayVpnAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentArrayOutput) ElementType

func (GatewayVpnAttachmentArrayOutput) Index

func (GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutput

func (o GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutput() GatewayVpnAttachmentArrayOutput

func (GatewayVpnAttachmentArrayOutput) ToGatewayVpnAttachmentArrayOutputWithContext

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

type GatewayVpnAttachmentBgpConfig

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

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

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutput

func (i GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutput() GatewayVpnAttachmentBgpConfigOutput

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigOutputWithContext

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

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutput

func (i GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigArgs) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext

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

type GatewayVpnAttachmentBgpConfigInput

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

type GatewayVpnAttachmentBgpConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentBgpConfigOutput) ElementType

func (GatewayVpnAttachmentBgpConfigOutput) Enable

Whether to enable BGP.

func (GatewayVpnAttachmentBgpConfigOutput) LocalAsn

The ASN on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigOutput) LocalBgpIp

The BGP IP address on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutput

func (o GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutput() GatewayVpnAttachmentBgpConfigOutput

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigOutputWithContext

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

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput

func (o GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigOutput) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext

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

func (GatewayVpnAttachmentBgpConfigOutput) TunnelCidr

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

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

type GatewayVpnAttachmentBgpConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentBgpConfigPtrOutput) Elem

func (GatewayVpnAttachmentBgpConfigPtrOutput) ElementType

func (GatewayVpnAttachmentBgpConfigPtrOutput) Enable

Whether to enable BGP.

func (GatewayVpnAttachmentBgpConfigPtrOutput) LocalAsn

The ASN on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigPtrOutput) LocalBgpIp

The BGP IP address on the Alibaba Cloud side.

func (GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput

func (o GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutput() GatewayVpnAttachmentBgpConfigPtrOutput

func (GatewayVpnAttachmentBgpConfigPtrOutput) ToGatewayVpnAttachmentBgpConfigPtrOutputWithContext

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

func (GatewayVpnAttachmentBgpConfigPtrOutput) TunnelCidr

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

type GatewayVpnAttachmentHealthCheckConfig struct {
	// The destination IP address that is used for health checks.
	Dip *string `pulumi:"dip"`
	// Whether to enable BGP.
	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

type GatewayVpnAttachmentHealthCheckConfigArgs struct {
	// The destination IP address that is used for health checks.
	Dip pulumi.StringPtrInput `pulumi:"dip"`
	// Whether to enable BGP.
	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

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutput

func (i GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutput() GatewayVpnAttachmentHealthCheckConfigOutput

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext

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

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput

func (i GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigArgs) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext

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

type GatewayVpnAttachmentHealthCheckConfigInput

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

type GatewayVpnAttachmentHealthCheckConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentHealthCheckConfigOutput) Dip

The destination IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigOutput) ElementType

func (GatewayVpnAttachmentHealthCheckConfigOutput) Enable

Whether to enable BGP.

func (GatewayVpnAttachmentHealthCheckConfigOutput) Interval

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

func (GatewayVpnAttachmentHealthCheckConfigOutput) Policy

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

func (GatewayVpnAttachmentHealthCheckConfigOutput) Retry

The maximum number of health check retries.

func (GatewayVpnAttachmentHealthCheckConfigOutput) Sip

The source IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutput

func (o GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutput() GatewayVpnAttachmentHealthCheckConfigOutput

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigOutputWithContext

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

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput

func (o GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext

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

type GatewayVpnAttachmentHealthCheckConfigPtrInput

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

type GatewayVpnAttachmentHealthCheckConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Dip

The destination IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Elem

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ElementType

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Enable

Whether to enable BGP.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Interval

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

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Policy

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

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Retry

The maximum number of health check retries.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) Sip

The source IP address that is used for health checks.

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput

func (o GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutput() GatewayVpnAttachmentHealthCheckConfigPtrOutput

func (GatewayVpnAttachmentHealthCheckConfigPtrOutput) ToGatewayVpnAttachmentHealthCheckConfigPtrOutputWithContext

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

type GatewayVpnAttachmentIkeConfig

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

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

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutput

func (i GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutput() GatewayVpnAttachmentIkeConfigOutput

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigOutputWithContext

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

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutput

func (i GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigArgs) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext

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

type GatewayVpnAttachmentIkeConfigInput

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

type GatewayVpnAttachmentIkeConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIkeConfigOutput) ElementType

func (GatewayVpnAttachmentIkeConfigOutput) IkeAuthAlg

IKE authentication algorithm supports sha1 and MD5.

func (GatewayVpnAttachmentIkeConfigOutput) IkeEncAlg

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

func (GatewayVpnAttachmentIkeConfigOutput) 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 (GatewayVpnAttachmentIkeConfigOutput) IkeMode

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

func (GatewayVpnAttachmentIkeConfigOutput) IkePfs

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

func (GatewayVpnAttachmentIkeConfigOutput) IkeVersion

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

func (GatewayVpnAttachmentIkeConfigOutput) LocalId

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

func (GatewayVpnAttachmentIkeConfigOutput) Psk

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

func (GatewayVpnAttachmentIkeConfigOutput) RemoteId

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

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutput

func (o GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutput() GatewayVpnAttachmentIkeConfigOutput

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigOutputWithContext

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

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput

func (o GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigOutput) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext

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

type GatewayVpnAttachmentIkeConfigPtrInput

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

type GatewayVpnAttachmentIkeConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIkeConfigPtrOutput) Elem

func (GatewayVpnAttachmentIkeConfigPtrOutput) ElementType

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeAuthAlg

IKE authentication algorithm supports sha1 and MD5.

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeEncAlg

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) 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 (GatewayVpnAttachmentIkeConfigPtrOutput) IkeMode

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkePfs

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) IkeVersion

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) LocalId

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) Psk

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) RemoteId

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

func (GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput

func (o GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutput() GatewayVpnAttachmentIkeConfigPtrOutput

func (GatewayVpnAttachmentIkeConfigPtrOutput) ToGatewayVpnAttachmentIkeConfigPtrOutputWithContext

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

type GatewayVpnAttachmentInput

type GatewayVpnAttachmentInput interface {
	pulumi.Input

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

type GatewayVpnAttachmentIpsecConfig

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

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

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutput

func (i GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutput() GatewayVpnAttachmentIpsecConfigOutput

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigOutputWithContext

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

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutput

func (i GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigArgs) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext

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

type GatewayVpnAttachmentIpsecConfigInput

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

type GatewayVpnAttachmentIpsecConfigOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIpsecConfigOutput) ElementType

func (GatewayVpnAttachmentIpsecConfigOutput) IpsecAuthAlg

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

func (GatewayVpnAttachmentIpsecConfigOutput) IpsecEncAlg

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

func (GatewayVpnAttachmentIpsecConfigOutput) 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 (GatewayVpnAttachmentIpsecConfigOutput) IpsecPfs

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

func (o GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigOutput() GatewayVpnAttachmentIpsecConfigOutput

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigOutputWithContext

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

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput

func (o GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext

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

type GatewayVpnAttachmentIpsecConfigPtrInput

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

type GatewayVpnAttachmentIpsecConfigPtrOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentIpsecConfigPtrOutput) Elem

func (GatewayVpnAttachmentIpsecConfigPtrOutput) ElementType

func (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecAuthAlg

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

func (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecEncAlg

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

func (GatewayVpnAttachmentIpsecConfigPtrOutput) 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 (GatewayVpnAttachmentIpsecConfigPtrOutput) IpsecPfs

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

func (o GatewayVpnAttachmentIpsecConfigPtrOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutput() GatewayVpnAttachmentIpsecConfigPtrOutput

func (GatewayVpnAttachmentIpsecConfigPtrOutput) ToGatewayVpnAttachmentIpsecConfigPtrOutputWithContext

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

type GatewayVpnAttachmentMap

type GatewayVpnAttachmentMap map[string]GatewayVpnAttachmentInput

func (GatewayVpnAttachmentMap) ElementType

func (GatewayVpnAttachmentMap) ElementType() reflect.Type

func (GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutput

func (i GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutput() GatewayVpnAttachmentMapOutput

func (GatewayVpnAttachmentMap) ToGatewayVpnAttachmentMapOutputWithContext

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

type GatewayVpnAttachmentMapInput

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

type GatewayVpnAttachmentMapOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentMapOutput) ElementType

func (GatewayVpnAttachmentMapOutput) MapIndex

func (GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutput

func (o GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutput() GatewayVpnAttachmentMapOutput

func (GatewayVpnAttachmentMapOutput) ToGatewayVpnAttachmentMapOutputWithContext

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

type GatewayVpnAttachmentOutput

type GatewayVpnAttachmentOutput struct{ *pulumi.OutputState }

func (GatewayVpnAttachmentOutput) BgpConfig

Bgp configuration information. See the following `Block bgpConfig`.

func (GatewayVpnAttachmentOutput) CustomerGatewayId

func (o GatewayVpnAttachmentOutput) CustomerGatewayId() pulumi.StringOutput

The ID of the customer gateway.

func (GatewayVpnAttachmentOutput) EffectImmediately

func (o GatewayVpnAttachmentOutput) EffectImmediately() pulumi.BoolPtrOutput

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

func (GatewayVpnAttachmentOutput) ElementType

func (GatewayVpnAttachmentOutput) ElementType() reflect.Type

func (GatewayVpnAttachmentOutput) EnableDpd

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

func (GatewayVpnAttachmentOutput) EnableNatTraversal

func (o GatewayVpnAttachmentOutput) EnableNatTraversal() pulumi.BoolOutput

Allow NAT penetration.

func (GatewayVpnAttachmentOutput) HealthCheckConfig

Health check configuration information. See the following `Block healthCheckConfig`.

func (GatewayVpnAttachmentOutput) IkeConfig

Configuration negotiated in the second stage. See the following `Block ikeConfig`.

func (GatewayVpnAttachmentOutput) InternetIp

The VPN gateway IP.

func (GatewayVpnAttachmentOutput) IpsecConfig

Configuration negotiated in the second stage. See the following `Block ipsecConfig`.

func (GatewayVpnAttachmentOutput) LocalSubnet

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

func (GatewayVpnAttachmentOutput) NetworkType

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

func (GatewayVpnAttachmentOutput) RemoteSubnet

The CIDR block of the on-premises data center.

func (GatewayVpnAttachmentOutput) Status

The status of the resource.

func (GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutput

func (o GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutput() GatewayVpnAttachmentOutput

func (GatewayVpnAttachmentOutput) ToGatewayVpnAttachmentOutputWithContext

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

func (GatewayVpnAttachmentOutput) VpnAttachmentName

func (o GatewayVpnAttachmentOutput) VpnAttachmentName() pulumi.StringPtrOutput

The name of the vpn attachment.

type GatewayVpnAttachmentState

type GatewayVpnAttachmentState struct {
	// Bgp configuration information. See the following `Block bgpConfig`.
	BgpConfig GatewayVpnAttachmentBgpConfigPtrInput
	// The ID of the customer gateway.
	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 the following `Block healthCheckConfig`.
	HealthCheckConfig GatewayVpnAttachmentHealthCheckConfigPtrInput
	// Configuration negotiated in the second stage. See the following `Block ikeConfig`.
	IkeConfig GatewayVpnAttachmentIkeConfigPtrInput
	// The VPN gateway IP.
	InternetIp pulumi.StringPtrInput
	// Configuration negotiated in the second stage. See the following `Block ipsecConfig`.
	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

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"`
	// 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 status of the VPN connection, valid value:ike_sa_not_established, ike_sa_established, ipsec_sa_not_established, ipsec_sa_established.
	Status string `pulumi:"status"`
	// 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"`
	// 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 status of the VPN connection, valid value:ike_sa_not_established, ike_sa_established, ipsec_sa_not_established, ipsec_sa_established.
	Status pulumi.StringInput `pulumi:"status"`
	// 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

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

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

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

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

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

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

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

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

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

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

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) 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 status of the VPN connection, valid value:ike_sa_not_established, ike_sa_established, ipsec_sa_not_established, ipsec_sa_established.

func (GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutput

func (o GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutput() GetConnectionsConnectionOutput

func (GetConnectionsConnectionOutput) ToGetConnectionsConnectionOutputWithContext

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

func (GetConnectionsConnectionOutput) VpnGatewayId

Use the VPN gateway ID as the search key.

type GetConnectionsOutputArgs

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

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/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

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

type GetConnectionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConnections.

func (GetConnectionsResultOutput) Connections

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

func (GetConnectionsResultOutput) CustomerGatewayId

func (o GetConnectionsResultOutput) CustomerGatewayId() pulumi.StringPtrOutput

ID of the VPN customer gateway.

func (GetConnectionsResultOutput) ElementType

func (GetConnectionsResultOutput) ElementType() reflect.Type

func (GetConnectionsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetConnectionsResultOutput) Ids

(Optional) IDs of the VPN connections.

func (GetConnectionsResultOutput) NameRegex

func (GetConnectionsResultOutput) Names

(Optional) names of the VPN connections.

func (GetConnectionsResultOutput) OutputFile

func (GetConnectionsResultOutput) ToGetConnectionsResultOutput

func (o GetConnectionsResultOutput) ToGetConnectionsResultOutput() GetConnectionsResultOutput

func (GetConnectionsResultOutput) ToGetConnectionsResultOutputWithContext

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

func (GetConnectionsResultOutput) VpnGatewayId

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

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

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

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

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

type GetCustomerGatewaysOutputArgs

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

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        []string `pulumi:"ids"`
	NameRegex  *string  `pulumi:"nameRegex"`
	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/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

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

type GetCustomerGatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCustomerGateways.

func (GetCustomerGatewaysResultOutput) ElementType

func (GetCustomerGatewaysResultOutput) Gateways

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

func (GetCustomerGatewaysResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetCustomerGatewaysResultOutput) Ids

func (GetCustomerGatewaysResultOutput) NameRegex

func (GetCustomerGatewaysResultOutput) Names

func (GetCustomerGatewaysResultOutput) OutputFile

func (GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutput

func (o GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutput() GetCustomerGatewaysResultOutput

func (GetCustomerGatewaysResultOutput) ToGetCustomerGatewaysResultOutputWithContext

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

type GetGatewayVpnAttachmentsArgs

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"`
	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

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 alicloudCenTransitRouterVpnAttachment 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

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 alicloudCenTransitRouterVpnAttachment 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

func (GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutput

func (i GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutput() GetGatewayVpnAttachmentsAttachmentOutput

func (GetGatewayVpnAttachmentsAttachmentArgs) ToGetGatewayVpnAttachmentsAttachmentOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentArray

type GetGatewayVpnAttachmentsAttachmentArray []GetGatewayVpnAttachmentsAttachmentInput

func (GetGatewayVpnAttachmentsAttachmentArray) ElementType

func (GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutput

func (i GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutput() GetGatewayVpnAttachmentsAttachmentArrayOutput

func (GetGatewayVpnAttachmentsAttachmentArray) ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentArrayInput

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

type GetGatewayVpnAttachmentsAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) Index

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutput

func (o GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutput() GetGatewayVpnAttachmentsAttachmentArrayOutput

func (GetGatewayVpnAttachmentsAttachmentArrayOutput) ToGetGatewayVpnAttachmentsAttachmentArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentBgpConfig

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

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

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (i GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArgs) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentBgpConfigArray

type GetGatewayVpnAttachmentsAttachmentBgpConfigArray []GetGatewayVpnAttachmentsAttachmentBgpConfigInput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ElementType

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput

func (i GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArray) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentBgpConfigArrayInput

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

type GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) Index

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentBgpConfigInput

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

type GetGatewayVpnAttachmentsAttachmentBgpConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) LocalAsn

The ASN on the Alibaba Cloud side.

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) LocalBgpIp

The BGP IP address on the Alibaba Cloud side.

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) Status

The status of the resource.

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (o GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutput() GetGatewayVpnAttachmentsAttachmentBgpConfigOutput

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) ToGetGatewayVpnAttachmentsAttachmentBgpConfigOutputWithContext

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

func (GetGatewayVpnAttachmentsAttachmentBgpConfigOutput) TunnelCidr

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

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

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

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArgs) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray []GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ElementType

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput

func (i GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArray) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayInput

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

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) Index

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigInput

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

type GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Dip

The destination IP address.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Enable

Specifies whether to enable health checks.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Interval

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

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Policy

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

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Retry

The maximum number of health check retries.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Sip

The source IP address.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) Status

The status of the resource.

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput

func (GetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutput) ToGetGatewayVpnAttachmentsAttachmentHealthCheckConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIkeConfig

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 alicloudCenTransitRouterVpnAttachment 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

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 alicloudCenTransitRouterVpnAttachment 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

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (i GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIkeConfigArray

type GetGatewayVpnAttachmentsAttachmentIkeConfigArray []GetGatewayVpnAttachmentsAttachmentIkeConfigInput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ElementType

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput

func (i GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArray) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIkeConfigArrayInput

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

type GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) Index

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIkeConfigInput

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

type GetGatewayVpnAttachmentsAttachmentIkeConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeAuthAlg

The IKE authentication algorithm.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeEncAlg

The IKE encryption algorithm.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeLifetime

The IKE lifetime. Unit: seconds.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeMode

The IKE negotiation mode.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkePfs

The DH group.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) IkeVersion

The version of the IKE protocol.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) LocalId

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

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) Psk

The pre-shared key.

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) RemoteId

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

func (o GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutput() GetGatewayVpnAttachmentsAttachmentIkeConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIkeConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIkeConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentInput

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

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

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

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (i GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArgs) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArray

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArray []GetGatewayVpnAttachmentsAttachmentIpsecConfigInput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ElementType

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput

func (i GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArray) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayInput

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

type GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) Index

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigArrayOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentIpsecConfigInput

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

type GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecAuthAlg

The IPsec authentication algorithm.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecEncAlg

The IPsec encryption algorithm.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecLifetime

The IPsec lifetime. Unit: seconds.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) IpsecPfs

The DH group.

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (o GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutput() GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput

func (GetGatewayVpnAttachmentsAttachmentIpsecConfigOutput) ToGetGatewayVpnAttachmentsAttachmentIpsecConfigOutputWithContext

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

type GetGatewayVpnAttachmentsAttachmentOutput

type GetGatewayVpnAttachmentsAttachmentOutput struct{ *pulumi.OutputState }

func (GetGatewayVpnAttachmentsAttachmentOutput) BgpConfigs

The configurations of the BGP routing protocol.

func (GetGatewayVpnAttachmentsAttachmentOutput) ConnectionStatus

The status of the IPsec-VPN connection.

func (GetGatewayVpnAttachmentsAttachmentOutput) CreateTime

The creation time of the resource.

func (GetGatewayVpnAttachmentsAttachmentOutput) CustomerGatewayId

The ID of the customer gateway.

func (GetGatewayVpnAttachmentsAttachmentOutput) EffectImmediately

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

func (GetGatewayVpnAttachmentsAttachmentOutput) ElementType

func (GetGatewayVpnAttachmentsAttachmentOutput) HealthCheckConfigs

The health check configurations.

func (GetGatewayVpnAttachmentsAttachmentOutput) Id

The ID of the Vpn Attachment.

func (GetGatewayVpnAttachmentsAttachmentOutput) IkeConfigs

Configuration negotiated in the second stage.

func (GetGatewayVpnAttachmentsAttachmentOutput) InternetIp

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

func (GetGatewayVpnAttachmentsAttachmentOutput) IpsecConfigs

The configuration of Phase 2 negotiations.

func (GetGatewayVpnAttachmentsAttachmentOutput) LocalSubnet

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

func (GetGatewayVpnAttachmentsAttachmentOutput) NetworkType

The network type.

func (GetGatewayVpnAttachmentsAttachmentOutput) RemoteSubnet

The CIDR block of the on-premises data center.

func (GetGatewayVpnAttachmentsAttachmentOutput) Status

The status of the resource.

func (GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutput

func (o GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutput() GetGatewayVpnAttachmentsAttachmentOutput

func (GetGatewayVpnAttachmentsAttachmentOutput) ToGetGatewayVpnAttachmentsAttachmentOutputWithContext

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

func (GetGatewayVpnAttachmentsAttachmentOutput) VpnAttachmentName

The name of the IPsec-VPN connection.

func (GetGatewayVpnAttachmentsAttachmentOutput) VpnConnectionId

The first ID of the resource.

type GetGatewayVpnAttachmentsOutputArgs

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"`
	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

type GetGatewayVpnAttachmentsResult

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

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/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

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

type GetGatewayVpnAttachmentsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGatewayVpnAttachments.

func (GetGatewayVpnAttachmentsResultOutput) Attachments

func (GetGatewayVpnAttachmentsResultOutput) ElementType

func (GetGatewayVpnAttachmentsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetGatewayVpnAttachmentsResultOutput) Ids

func (GetGatewayVpnAttachmentsResultOutput) NameRegex

func (GetGatewayVpnAttachmentsResultOutput) Names

func (GetGatewayVpnAttachmentsResultOutput) OutputFile

func (GetGatewayVpnAttachmentsResultOutput) PageNumber

func (GetGatewayVpnAttachmentsResultOutput) PageSize

func (GetGatewayVpnAttachmentsResultOutput) Status

func (GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutput

func (o GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutput() GetGatewayVpnAttachmentsResultOutput

func (GetGatewayVpnAttachmentsResultOutput) ToGetGatewayVpnAttachmentsResultOutputWithContext

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

func (GetGatewayVpnAttachmentsResultOutput) VpnGatewayId deprecated

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 {
	// 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 {
	// 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

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

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

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) 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

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) VpcId

Use the VPC ID as the search key.

type GetGatewaysOutputArgs

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

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/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

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

type GetGatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGateways.

func (GetGatewaysResultOutput) BusinessStatus

func (o GetGatewaysResultOutput) BusinessStatus() pulumi.StringPtrOutput

The business status of the VPN gateway.

func (GetGatewaysResultOutput) ElementType

func (GetGatewaysResultOutput) ElementType() reflect.Type

func (GetGatewaysResultOutput) EnableIpsec deprecated

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

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

func (GetGatewaysResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetGatewaysResultOutput) Ids

IDs of the VPN.

func (GetGatewaysResultOutput) IncludeReservationData

func (o GetGatewaysResultOutput) IncludeReservationData() pulumi.BoolPtrOutput

func (GetGatewaysResultOutput) NameRegex

func (GetGatewaysResultOutput) Names

names of the VPN.

func (GetGatewaysResultOutput) OutputFile

func (GetGatewaysResultOutput) Status

The status of the VPN

func (GetGatewaysResultOutput) ToGetGatewaysResultOutput

func (o GetGatewaysResultOutput) ToGetGatewaysResultOutput() GetGatewaysResultOutput

func (GetGatewaysResultOutput) ToGetGatewaysResultOutputWithContext

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

func (GetGatewaysResultOutput) VpcId

ID of the VPC that the VPN belongs.

type IpsecServer

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/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId:  pulumi.StringRef(defaultNetworks.Ids[0]),
			ZoneId: pulumi.StringRef(defaultZones.Zones[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		vswitchId := defaultSwitches.Ids[0]
		defaultGateway, err := vpn.NewGateway(ctx, "defaultGateway", &vpn.GatewayArgs{
			VpcId:              pulumi.String(defaultNetworks.Ids[0]),
			Bandwidth:          pulumi.Int(10),
			EnableSsl:          pulumi.Bool(true),
			EnableIpsec:        pulumi.Bool(true),
			SslConnections:     pulumi.Int(5),
			InstanceChargeType: pulumi.String("PrePaid"),
			VswitchId:          pulumi.String(vswitchId),
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewIpsecServer(ctx, "example", &vpn.IpsecServerArgs{
			ClientIpPool:    pulumi.String("example_value"),
			IpsecServerName: pulumi.String("example_value"),
			LocalSubnet:     pulumi.String("example_value"),
			VpnGatewayId:    defaultGateway.ID(),
		})
		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

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

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

func (*IpsecServer) ElementType() reflect.Type

func (*IpsecServer) ToIpsecServerOutput

func (i *IpsecServer) ToIpsecServerOutput() IpsecServerOutput

func (*IpsecServer) ToIpsecServerOutputWithContext

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

type IpsecServerArgs

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

func (IpsecServerArgs) ElementType() reflect.Type

type IpsecServerArray

type IpsecServerArray []IpsecServerInput

func (IpsecServerArray) ElementType

func (IpsecServerArray) ElementType() reflect.Type

func (IpsecServerArray) ToIpsecServerArrayOutput

func (i IpsecServerArray) ToIpsecServerArrayOutput() IpsecServerArrayOutput

func (IpsecServerArray) ToIpsecServerArrayOutputWithContext

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

type IpsecServerArrayInput

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

type IpsecServerArrayOutput struct{ *pulumi.OutputState }

func (IpsecServerArrayOutput) ElementType

func (IpsecServerArrayOutput) ElementType() reflect.Type

func (IpsecServerArrayOutput) Index

func (IpsecServerArrayOutput) ToIpsecServerArrayOutput

func (o IpsecServerArrayOutput) ToIpsecServerArrayOutput() IpsecServerArrayOutput

func (IpsecServerArrayOutput) ToIpsecServerArrayOutputWithContext

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

type IpsecServerIkeConfig

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

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

func (IpsecServerIkeConfigArgs) ElementType() reflect.Type

func (IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutput

func (i IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutput() IpsecServerIkeConfigOutput

func (IpsecServerIkeConfigArgs) ToIpsecServerIkeConfigOutputWithContext

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

type IpsecServerIkeConfigArray

type IpsecServerIkeConfigArray []IpsecServerIkeConfigInput

func (IpsecServerIkeConfigArray) ElementType

func (IpsecServerIkeConfigArray) ElementType() reflect.Type

func (IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutput

func (i IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutput() IpsecServerIkeConfigArrayOutput

func (IpsecServerIkeConfigArray) ToIpsecServerIkeConfigArrayOutputWithContext

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

type IpsecServerIkeConfigArrayInput

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

type IpsecServerIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (IpsecServerIkeConfigArrayOutput) ElementType

func (IpsecServerIkeConfigArrayOutput) Index

func (IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutput

func (o IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutput() IpsecServerIkeConfigArrayOutput

func (IpsecServerIkeConfigArrayOutput) ToIpsecServerIkeConfigArrayOutputWithContext

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

type IpsecServerIkeConfigInput

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

type IpsecServerIkeConfigOutput struct{ *pulumi.OutputState }

func (IpsecServerIkeConfigOutput) ElementType

func (IpsecServerIkeConfigOutput) ElementType() reflect.Type

func (IpsecServerIkeConfigOutput) IkeAuthAlg

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

func (IpsecServerIkeConfigOutput) IkeEncAlg

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

func (IpsecServerIkeConfigOutput) IkeLifetime

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

func (IpsecServerIkeConfigOutput) IkeMode

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

func (IpsecServerIkeConfigOutput) IkePfs

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

func (IpsecServerIkeConfigOutput) IkeVersion

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

func (IpsecServerIkeConfigOutput) LocalId

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

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

func (o IpsecServerIkeConfigOutput) ToIpsecServerIkeConfigOutput() IpsecServerIkeConfigOutput

func (IpsecServerIkeConfigOutput) ToIpsecServerIkeConfigOutputWithContext

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

type IpsecServerInput

type IpsecServerInput interface {
	pulumi.Input

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

type IpsecServerIpsecConfig

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

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

func (IpsecServerIpsecConfigArgs) ElementType() reflect.Type

func (IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutput

func (i IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutput() IpsecServerIpsecConfigOutput

func (IpsecServerIpsecConfigArgs) ToIpsecServerIpsecConfigOutputWithContext

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

type IpsecServerIpsecConfigArray

type IpsecServerIpsecConfigArray []IpsecServerIpsecConfigInput

func (IpsecServerIpsecConfigArray) ElementType

func (IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutput

func (i IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutput() IpsecServerIpsecConfigArrayOutput

func (IpsecServerIpsecConfigArray) ToIpsecServerIpsecConfigArrayOutputWithContext

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

type IpsecServerIpsecConfigArrayInput

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

type IpsecServerIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (IpsecServerIpsecConfigArrayOutput) ElementType

func (IpsecServerIpsecConfigArrayOutput) Index

func (IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutput

func (o IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutput() IpsecServerIpsecConfigArrayOutput

func (IpsecServerIpsecConfigArrayOutput) ToIpsecServerIpsecConfigArrayOutputWithContext

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

type IpsecServerIpsecConfigInput

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

type IpsecServerIpsecConfigOutput struct{ *pulumi.OutputState }

func (IpsecServerIpsecConfigOutput) ElementType

func (IpsecServerIpsecConfigOutput) IpsecAuthAlg

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

func (IpsecServerIpsecConfigOutput) IpsecEncAlg

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

func (IpsecServerIpsecConfigOutput) IpsecLifetime

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

func (IpsecServerIpsecConfigOutput) IpsecPfs

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

func (IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutput

func (o IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutput() IpsecServerIpsecConfigOutput

func (IpsecServerIpsecConfigOutput) ToIpsecServerIpsecConfigOutputWithContext

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

type IpsecServerMap

type IpsecServerMap map[string]IpsecServerInput

func (IpsecServerMap) ElementType

func (IpsecServerMap) ElementType() reflect.Type

func (IpsecServerMap) ToIpsecServerMapOutput

func (i IpsecServerMap) ToIpsecServerMapOutput() IpsecServerMapOutput

func (IpsecServerMap) ToIpsecServerMapOutputWithContext

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

type IpsecServerMapInput

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

type IpsecServerMapOutput struct{ *pulumi.OutputState }

func (IpsecServerMapOutput) ElementType

func (IpsecServerMapOutput) ElementType() reflect.Type

func (IpsecServerMapOutput) MapIndex

func (IpsecServerMapOutput) ToIpsecServerMapOutput

func (o IpsecServerMapOutput) ToIpsecServerMapOutput() IpsecServerMapOutput

func (IpsecServerMapOutput) ToIpsecServerMapOutputWithContext

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

type IpsecServerOutput

type IpsecServerOutput struct{ *pulumi.OutputState }

func (IpsecServerOutput) ClientIpPool

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

The dry run.

func (IpsecServerOutput) EffectImmediately

func (o IpsecServerOutput) EffectImmediately() pulumi.BoolPtrOutput

Specifies whether you want the configuration to immediately take effect.

func (IpsecServerOutput) ElementType

func (IpsecServerOutput) ElementType() reflect.Type

func (IpsecServerOutput) IkeConfigs

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

func (IpsecServerOutput) IpsecConfigs

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

func (IpsecServerOutput) IpsecServerName

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

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

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

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

func (o IpsecServerOutput) ToIpsecServerOutput() IpsecServerOutput

func (IpsecServerOutput) ToIpsecServerOutputWithContext

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

func (IpsecServerOutput) VpnGatewayId

func (o IpsecServerOutput) VpnGatewayId() pulumi.StringOutput

The ID of the VPN gateway.

type IpsecServerState

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

func (IpsecServerState) ElementType() reflect.Type

type PbrRouteEntry

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/go/alicloud/vpn"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

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

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

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

func (*PbrRouteEntry) ElementType() reflect.Type

func (*PbrRouteEntry) ToPbrRouteEntryOutput

func (i *PbrRouteEntry) ToPbrRouteEntryOutput() PbrRouteEntryOutput

func (*PbrRouteEntry) ToPbrRouteEntryOutputWithContext

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

type PbrRouteEntryArgs

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

func (PbrRouteEntryArgs) ElementType() reflect.Type

type PbrRouteEntryArray

type PbrRouteEntryArray []PbrRouteEntryInput

func (PbrRouteEntryArray) ElementType

func (PbrRouteEntryArray) ElementType() reflect.Type

func (PbrRouteEntryArray) ToPbrRouteEntryArrayOutput

func (i PbrRouteEntryArray) ToPbrRouteEntryArrayOutput() PbrRouteEntryArrayOutput

func (PbrRouteEntryArray) ToPbrRouteEntryArrayOutputWithContext

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

type PbrRouteEntryArrayInput

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

type PbrRouteEntryArrayOutput struct{ *pulumi.OutputState }

func (PbrRouteEntryArrayOutput) ElementType

func (PbrRouteEntryArrayOutput) ElementType() reflect.Type

func (PbrRouteEntryArrayOutput) Index

func (PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutput

func (o PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutput() PbrRouteEntryArrayOutput

func (PbrRouteEntryArrayOutput) ToPbrRouteEntryArrayOutputWithContext

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

type PbrRouteEntryInput

type PbrRouteEntryInput interface {
	pulumi.Input

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

type PbrRouteEntryMap

type PbrRouteEntryMap map[string]PbrRouteEntryInput

func (PbrRouteEntryMap) ElementType

func (PbrRouteEntryMap) ElementType() reflect.Type

func (PbrRouteEntryMap) ToPbrRouteEntryMapOutput

func (i PbrRouteEntryMap) ToPbrRouteEntryMapOutput() PbrRouteEntryMapOutput

func (PbrRouteEntryMap) ToPbrRouteEntryMapOutputWithContext

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

type PbrRouteEntryMapInput

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

type PbrRouteEntryMapOutput struct{ *pulumi.OutputState }

func (PbrRouteEntryMapOutput) ElementType

func (PbrRouteEntryMapOutput) ElementType() reflect.Type

func (PbrRouteEntryMapOutput) MapIndex

func (PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutput

func (o PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutput() PbrRouteEntryMapOutput

func (PbrRouteEntryMapOutput) ToPbrRouteEntryMapOutputWithContext

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

type PbrRouteEntryOutput

type PbrRouteEntryOutput struct{ *pulumi.OutputState }

func (PbrRouteEntryOutput) ElementType

func (PbrRouteEntryOutput) ElementType() reflect.Type

func (PbrRouteEntryOutput) NextHop

The next hop of the policy-based route.

func (PbrRouteEntryOutput) PublishVpc

func (o PbrRouteEntryOutput) PublishVpc() pulumi.BoolOutput

Whether to issue the destination route to the VPC.

func (PbrRouteEntryOutput) RouteDest

func (o PbrRouteEntryOutput) RouteDest() pulumi.StringOutput

The destination CIDR block of the policy-based route.

func (PbrRouteEntryOutput) RouteSource

func (o PbrRouteEntryOutput) RouteSource() pulumi.StringOutput

The source CIDR block of the policy-based route.

func (PbrRouteEntryOutput) Status

The status of the vpn pbr route entry.

func (PbrRouteEntryOutput) ToPbrRouteEntryOutput

func (o PbrRouteEntryOutput) ToPbrRouteEntryOutput() PbrRouteEntryOutput

func (PbrRouteEntryOutput) ToPbrRouteEntryOutputWithContext

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

func (PbrRouteEntryOutput) VpnGatewayId

func (o PbrRouteEntryOutput) VpnGatewayId() pulumi.StringOutput

The ID of the vpn gateway.

func (PbrRouteEntryOutput) Weight

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

type PbrRouteEntryState

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

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/go/alicloud"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpn"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableDiskCategory:     pulumi.StringRef("cloud_efficiency"),
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("10.1.0.0/21"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			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("PayByTraffic"),
			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) 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) 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) 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) 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) 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

func (o RouteEntryOutput) NextHop() pulumi.StringOutput

The next hop of the destination route.

func (RouteEntryOutput) PublishVpc

func (o RouteEntryOutput) PublishVpc() pulumi.BoolOutput

Whether to issue the destination route to the VPC.

func (RouteEntryOutput) RouteDest

func (o RouteEntryOutput) RouteDest() pulumi.StringOutput

The destination network segment of the destination route.

func (RouteEntryOutput) RouteEntryType

func (o RouteEntryOutput) RouteEntryType() pulumi.StringOutput

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

func (RouteEntryOutput) Status

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

func (RouteEntryOutput) ToRouteEntryOutput

func (o RouteEntryOutput) ToRouteEntryOutput() RouteEntryOutput

func (RouteEntryOutput) ToRouteEntryOutputWithContext

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

func (RouteEntryOutput) VpnGatewayId

func (o RouteEntryOutput) VpnGatewayId() pulumi.StringOutput

The id of the vpn gateway.

func (RouteEntryOutput) Weight

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"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpn.NewSslVpnClientCert(ctx, "foo", &vpn.SslVpnClientCertArgs{
			SslVpnServerId: pulumi.String("ssl_vpn_server_fake_id"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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) 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) 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) 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) 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) 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

The client ca cert.

func (SslVpnClientCertOutput) ClientCert

The client cert.

func (SslVpnClientCertOutput) ClientConfig

func (o SslVpnClientCertOutput) ClientConfig() pulumi.StringOutput

The vpn client config.

func (SslVpnClientCertOutput) ClientKey

The client key.

func (SslVpnClientCertOutput) ElementType

func (SslVpnClientCertOutput) ElementType() reflect.Type

func (SslVpnClientCertOutput) Name

The name of the client certificate.

func (SslVpnClientCertOutput) SslVpnServerId

func (o SslVpnClientCertOutput) SslVpnServerId() pulumi.StringOutput

The ID of the SSL-VPN server.

func (SslVpnClientCertOutput) Status

The status of the client certificate.

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"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooGateway, err := vpn.NewGateway(ctx, "fooGateway", &vpn.GatewayArgs{
			VpcId:              pulumi.String("vpc-fake-id"),
			Bandwidth:          pulumi.Int(10),
			EnableSsl:          pulumi.Bool(true),
			InstanceChargeType: pulumi.String("PostPaid"),
			Description:        pulumi.String("test_create_description"),
		})
		if err != nil {
			return err
		}
		_, err = vpn.NewSslVpnServer(ctx, "fooSslVpnServer", &vpn.SslVpnServerArgs{
			VpnGatewayId: fooGateway.ID(),
			ClientIpPool: pulumi.String("192.168.0.0/16"),
			LocalSubnet:  pulumi.String("172.16.0.0/21"),
			Protocol:     pulumi.String("UDP"),
			Cipher:       pulumi.String("AES-128-CBC"),
			Port:         pulumi.Int(1194),
			Compress:     pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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) 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) 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) 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) 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) 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

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

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

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

func (SslVpnServerOutput) Connections

func (o SslVpnServerOutput) Connections() pulumi.IntOutput

The number of current connections.

func (SslVpnServerOutput) ElementType

func (SslVpnServerOutput) ElementType() reflect.Type

func (SslVpnServerOutput) InternetIp

func (o SslVpnServerOutput) InternetIp() pulumi.StringOutput

The internet IP of the SSL-VPN server.

func (SslVpnServerOutput) LocalSubnet

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

func (o SslVpnServerOutput) MaxConnections() pulumi.IntOutput

The maximum number of connections.

func (SslVpnServerOutput) Name

The name of the SSL-VPN server.

func (SslVpnServerOutput) Port

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

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

func (SslVpnServerOutput) ToSslVpnServerOutput

func (o SslVpnServerOutput) ToSslVpnServerOutput() SslVpnServerOutput

func (SslVpnServerOutput) ToSslVpnServerOutputWithContext

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

func (SslVpnServerOutput) VpnGatewayId

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