vpc

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 BgpGroup

type BgpGroup struct {
	pulumi.CustomResourceState

	// The authentication key of the BGP group.
	AuthKey pulumi.StringPtrOutput `pulumi:"authKey"`
	// The name of the BGP group. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	BgpGroupName pulumi.StringPtrOutput `pulumi:"bgpGroupName"`
	// The description of the BGP group. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The is fake asn. A router that runs BGP typically belongs to only one AS. In some cases, for example, the AS needs to be migrated or is merged with another AS, a new AS number replaces the original one.
	IsFakeAsn pulumi.BoolOutput `pulumi:"isFakeAsn"`
	// The AS number on the Alibaba Cloud side.
	LocalAsn pulumi.IntOutput `pulumi:"localAsn"`
	// The AS number of the BGP peer.
	PeerAsn pulumi.IntOutput `pulumi:"peerAsn"`
	// The ID of the VBR.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Bgp Group resource.

For information about VPC Bgp Group and how to use it, see [What is Bgp Group](https://www.alibabacloud.com/help/en/doc-detail/91267.html).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplePhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, nil, nil)
		if err != nil {
			return err
		}
		exampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "exampleVirtualBorderRouter", &expressconnect.VirtualBorderRouterArgs{
			LocalGatewayIp:          pulumi.String("10.0.0.1"),
			PeerGatewayIp:           pulumi.String("10.0.0.2"),
			PeeringSubnetMask:       pulumi.String("255.255.255.252"),
			PhysicalConnectionId:    pulumi.String(examplePhysicalConnections.Connections[0].Id),
			VirtualBorderRouterName: pulumi.Any(_var.Name),
			VlanId:                  pulumi.Int(120),
			MinRxInterval:           pulumi.Int(1000),
			MinTxInterval:           pulumi.Int(1000),
			DetectMultiplier:        pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewBgpGroup(ctx, "default", &vpc.BgpGroupArgs{
			AuthKey:      pulumi.String("YourPassword+12345678"),
			BgpGroupName: pulumi.String("example_value"),
			Description:  pulumi.String("example_value"),
			LocalAsn:     pulumi.Int(64512),
			PeerAsn:      pulumi.Int(1111),
			RouterId:     exampleVirtualBorderRouter.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Bgp Group can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/bgpGroup:BgpGroup example <id>

```

func GetBgpGroup

func GetBgpGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BgpGroupState, opts ...pulumi.ResourceOption) (*BgpGroup, error)

GetBgpGroup gets an existing BgpGroup 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 NewBgpGroup

func NewBgpGroup(ctx *pulumi.Context,
	name string, args *BgpGroupArgs, opts ...pulumi.ResourceOption) (*BgpGroup, error)

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

func (*BgpGroup) ElementType

func (*BgpGroup) ElementType() reflect.Type

func (*BgpGroup) ToBgpGroupOutput

func (i *BgpGroup) ToBgpGroupOutput() BgpGroupOutput

func (*BgpGroup) ToBgpGroupOutputWithContext

func (i *BgpGroup) ToBgpGroupOutputWithContext(ctx context.Context) BgpGroupOutput

type BgpGroupArgs

type BgpGroupArgs struct {
	// The authentication key of the BGP group.
	AuthKey pulumi.StringPtrInput
	// The name of the BGP group. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	BgpGroupName pulumi.StringPtrInput
	// The description of the BGP group. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput
	// The is fake asn. A router that runs BGP typically belongs to only one AS. In some cases, for example, the AS needs to be migrated or is merged with another AS, a new AS number replaces the original one.
	IsFakeAsn pulumi.BoolPtrInput
	// The AS number on the Alibaba Cloud side.
	LocalAsn pulumi.IntPtrInput
	// The AS number of the BGP peer.
	PeerAsn pulumi.IntInput
	// The ID of the VBR.
	RouterId pulumi.StringInput
}

The set of arguments for constructing a BgpGroup resource.

func (BgpGroupArgs) ElementType

func (BgpGroupArgs) ElementType() reflect.Type

type BgpGroupArray

type BgpGroupArray []BgpGroupInput

func (BgpGroupArray) ElementType

func (BgpGroupArray) ElementType() reflect.Type

func (BgpGroupArray) ToBgpGroupArrayOutput

func (i BgpGroupArray) ToBgpGroupArrayOutput() BgpGroupArrayOutput

func (BgpGroupArray) ToBgpGroupArrayOutputWithContext

func (i BgpGroupArray) ToBgpGroupArrayOutputWithContext(ctx context.Context) BgpGroupArrayOutput

type BgpGroupArrayInput

type BgpGroupArrayInput interface {
	pulumi.Input

	ToBgpGroupArrayOutput() BgpGroupArrayOutput
	ToBgpGroupArrayOutputWithContext(context.Context) BgpGroupArrayOutput
}

BgpGroupArrayInput is an input type that accepts BgpGroupArray and BgpGroupArrayOutput values. You can construct a concrete instance of `BgpGroupArrayInput` via:

BgpGroupArray{ BgpGroupArgs{...} }

type BgpGroupArrayOutput

type BgpGroupArrayOutput struct{ *pulumi.OutputState }

func (BgpGroupArrayOutput) ElementType

func (BgpGroupArrayOutput) ElementType() reflect.Type

func (BgpGroupArrayOutput) Index

func (BgpGroupArrayOutput) ToBgpGroupArrayOutput

func (o BgpGroupArrayOutput) ToBgpGroupArrayOutput() BgpGroupArrayOutput

func (BgpGroupArrayOutput) ToBgpGroupArrayOutputWithContext

func (o BgpGroupArrayOutput) ToBgpGroupArrayOutputWithContext(ctx context.Context) BgpGroupArrayOutput

type BgpGroupInput

type BgpGroupInput interface {
	pulumi.Input

	ToBgpGroupOutput() BgpGroupOutput
	ToBgpGroupOutputWithContext(ctx context.Context) BgpGroupOutput
}

type BgpGroupMap

type BgpGroupMap map[string]BgpGroupInput

func (BgpGroupMap) ElementType

func (BgpGroupMap) ElementType() reflect.Type

func (BgpGroupMap) ToBgpGroupMapOutput

func (i BgpGroupMap) ToBgpGroupMapOutput() BgpGroupMapOutput

func (BgpGroupMap) ToBgpGroupMapOutputWithContext

func (i BgpGroupMap) ToBgpGroupMapOutputWithContext(ctx context.Context) BgpGroupMapOutput

type BgpGroupMapInput

type BgpGroupMapInput interface {
	pulumi.Input

	ToBgpGroupMapOutput() BgpGroupMapOutput
	ToBgpGroupMapOutputWithContext(context.Context) BgpGroupMapOutput
}

BgpGroupMapInput is an input type that accepts BgpGroupMap and BgpGroupMapOutput values. You can construct a concrete instance of `BgpGroupMapInput` via:

BgpGroupMap{ "key": BgpGroupArgs{...} }

type BgpGroupMapOutput

type BgpGroupMapOutput struct{ *pulumi.OutputState }

func (BgpGroupMapOutput) ElementType

func (BgpGroupMapOutput) ElementType() reflect.Type

func (BgpGroupMapOutput) MapIndex

func (BgpGroupMapOutput) ToBgpGroupMapOutput

func (o BgpGroupMapOutput) ToBgpGroupMapOutput() BgpGroupMapOutput

func (BgpGroupMapOutput) ToBgpGroupMapOutputWithContext

func (o BgpGroupMapOutput) ToBgpGroupMapOutputWithContext(ctx context.Context) BgpGroupMapOutput

type BgpGroupOutput

type BgpGroupOutput struct{ *pulumi.OutputState }

func (BgpGroupOutput) AuthKey

The authentication key of the BGP group.

func (BgpGroupOutput) BgpGroupName

func (o BgpGroupOutput) BgpGroupName() pulumi.StringPtrOutput

The name of the BGP group. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.

func (BgpGroupOutput) Description

func (o BgpGroupOutput) Description() pulumi.StringPtrOutput

The description of the BGP group. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.

func (BgpGroupOutput) ElementType

func (BgpGroupOutput) ElementType() reflect.Type

func (BgpGroupOutput) IsFakeAsn

func (o BgpGroupOutput) IsFakeAsn() pulumi.BoolOutput

The is fake asn. A router that runs BGP typically belongs to only one AS. In some cases, for example, the AS needs to be migrated or is merged with another AS, a new AS number replaces the original one.

func (BgpGroupOutput) LocalAsn

func (o BgpGroupOutput) LocalAsn() pulumi.IntOutput

The AS number on the Alibaba Cloud side.

func (BgpGroupOutput) PeerAsn

func (o BgpGroupOutput) PeerAsn() pulumi.IntOutput

The AS number of the BGP peer.

func (BgpGroupOutput) RouterId

func (o BgpGroupOutput) RouterId() pulumi.StringOutput

The ID of the VBR.

func (BgpGroupOutput) Status

func (o BgpGroupOutput) Status() pulumi.StringOutput

The status of the resource.

func (BgpGroupOutput) ToBgpGroupOutput

func (o BgpGroupOutput) ToBgpGroupOutput() BgpGroupOutput

func (BgpGroupOutput) ToBgpGroupOutputWithContext

func (o BgpGroupOutput) ToBgpGroupOutputWithContext(ctx context.Context) BgpGroupOutput

type BgpGroupState

type BgpGroupState struct {
	// The authentication key of the BGP group.
	AuthKey pulumi.StringPtrInput
	// The name of the BGP group. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	BgpGroupName pulumi.StringPtrInput
	// The description of the BGP group. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput
	// The is fake asn. A router that runs BGP typically belongs to only one AS. In some cases, for example, the AS needs to be migrated or is merged with another AS, a new AS number replaces the original one.
	IsFakeAsn pulumi.BoolPtrInput
	// The AS number on the Alibaba Cloud side.
	LocalAsn pulumi.IntPtrInput
	// The AS number of the BGP peer.
	PeerAsn pulumi.IntPtrInput
	// The ID of the VBR.
	RouterId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
}

func (BgpGroupState) ElementType

func (BgpGroupState) ElementType() reflect.Type

type BgpNetwork

type BgpNetwork struct {
	pulumi.CustomResourceState

	// The CIDR block of the virtual private cloud (VPC) or vSwitch that you want to connect to a data center.
	DstCidrBlock pulumi.StringOutput `pulumi:"dstCidrBlock"`
	// The ID of the vRouter associated with the router interface.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
	// The state of the advertised BGP network.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Bgp Network resource.

For information about VPC Bgp Network and how to use it, see [What is Bgp Network](https://www.alibabacloud.com/help/en/doc-detail/91267.html).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultPhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "defaultVirtualBorderRouter", &expressconnect.VirtualBorderRouterArgs{
			LocalGatewayIp:          pulumi.String("10.0.0.1"),
			PeerGatewayIp:           pulumi.String("10.0.0.2"),
			PeeringSubnetMask:       pulumi.String("255.255.255.252"),
			PhysicalConnectionId:    pulumi.String(defaultPhysicalConnections.Connections[0].Id),
			VirtualBorderRouterName: pulumi.Any(_var.Name),
			VlanId:                  pulumi.Int(120),
			MinRxInterval:           pulumi.Int(1000),
			MinTxInterval:           pulumi.Int(1000),
			DetectMultiplier:        pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewBgpNetwork(ctx, "example", &vpc.BgpNetworkArgs{
			DstCidrBlock: pulumi.String("example_value"),
			RouterId:     defaultVirtualBorderRouter.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Bgp Network can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/bgpNetwork:BgpNetwork example <router_id>:<dst_cidr_block>

```

func GetBgpNetwork

func GetBgpNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BgpNetworkState, opts ...pulumi.ResourceOption) (*BgpNetwork, error)

GetBgpNetwork gets an existing BgpNetwork 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 NewBgpNetwork

func NewBgpNetwork(ctx *pulumi.Context,
	name string, args *BgpNetworkArgs, opts ...pulumi.ResourceOption) (*BgpNetwork, error)

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

func (*BgpNetwork) ElementType

func (*BgpNetwork) ElementType() reflect.Type

func (*BgpNetwork) ToBgpNetworkOutput

func (i *BgpNetwork) ToBgpNetworkOutput() BgpNetworkOutput

func (*BgpNetwork) ToBgpNetworkOutputWithContext

func (i *BgpNetwork) ToBgpNetworkOutputWithContext(ctx context.Context) BgpNetworkOutput

type BgpNetworkArgs

type BgpNetworkArgs struct {
	// The CIDR block of the virtual private cloud (VPC) or vSwitch that you want to connect to a data center.
	DstCidrBlock pulumi.StringInput
	// The ID of the vRouter associated with the router interface.
	RouterId pulumi.StringInput
}

The set of arguments for constructing a BgpNetwork resource.

func (BgpNetworkArgs) ElementType

func (BgpNetworkArgs) ElementType() reflect.Type

type BgpNetworkArray

type BgpNetworkArray []BgpNetworkInput

func (BgpNetworkArray) ElementType

func (BgpNetworkArray) ElementType() reflect.Type

func (BgpNetworkArray) ToBgpNetworkArrayOutput

func (i BgpNetworkArray) ToBgpNetworkArrayOutput() BgpNetworkArrayOutput

func (BgpNetworkArray) ToBgpNetworkArrayOutputWithContext

func (i BgpNetworkArray) ToBgpNetworkArrayOutputWithContext(ctx context.Context) BgpNetworkArrayOutput

type BgpNetworkArrayInput

type BgpNetworkArrayInput interface {
	pulumi.Input

	ToBgpNetworkArrayOutput() BgpNetworkArrayOutput
	ToBgpNetworkArrayOutputWithContext(context.Context) BgpNetworkArrayOutput
}

BgpNetworkArrayInput is an input type that accepts BgpNetworkArray and BgpNetworkArrayOutput values. You can construct a concrete instance of `BgpNetworkArrayInput` via:

BgpNetworkArray{ BgpNetworkArgs{...} }

type BgpNetworkArrayOutput

type BgpNetworkArrayOutput struct{ *pulumi.OutputState }

func (BgpNetworkArrayOutput) ElementType

func (BgpNetworkArrayOutput) ElementType() reflect.Type

func (BgpNetworkArrayOutput) Index

func (BgpNetworkArrayOutput) ToBgpNetworkArrayOutput

func (o BgpNetworkArrayOutput) ToBgpNetworkArrayOutput() BgpNetworkArrayOutput

func (BgpNetworkArrayOutput) ToBgpNetworkArrayOutputWithContext

func (o BgpNetworkArrayOutput) ToBgpNetworkArrayOutputWithContext(ctx context.Context) BgpNetworkArrayOutput

type BgpNetworkInput

type BgpNetworkInput interface {
	pulumi.Input

	ToBgpNetworkOutput() BgpNetworkOutput
	ToBgpNetworkOutputWithContext(ctx context.Context) BgpNetworkOutput
}

type BgpNetworkMap

type BgpNetworkMap map[string]BgpNetworkInput

func (BgpNetworkMap) ElementType

func (BgpNetworkMap) ElementType() reflect.Type

func (BgpNetworkMap) ToBgpNetworkMapOutput

func (i BgpNetworkMap) ToBgpNetworkMapOutput() BgpNetworkMapOutput

func (BgpNetworkMap) ToBgpNetworkMapOutputWithContext

func (i BgpNetworkMap) ToBgpNetworkMapOutputWithContext(ctx context.Context) BgpNetworkMapOutput

type BgpNetworkMapInput

type BgpNetworkMapInput interface {
	pulumi.Input

	ToBgpNetworkMapOutput() BgpNetworkMapOutput
	ToBgpNetworkMapOutputWithContext(context.Context) BgpNetworkMapOutput
}

BgpNetworkMapInput is an input type that accepts BgpNetworkMap and BgpNetworkMapOutput values. You can construct a concrete instance of `BgpNetworkMapInput` via:

BgpNetworkMap{ "key": BgpNetworkArgs{...} }

type BgpNetworkMapOutput

type BgpNetworkMapOutput struct{ *pulumi.OutputState }

func (BgpNetworkMapOutput) ElementType

func (BgpNetworkMapOutput) ElementType() reflect.Type

func (BgpNetworkMapOutput) MapIndex

func (BgpNetworkMapOutput) ToBgpNetworkMapOutput

func (o BgpNetworkMapOutput) ToBgpNetworkMapOutput() BgpNetworkMapOutput

func (BgpNetworkMapOutput) ToBgpNetworkMapOutputWithContext

func (o BgpNetworkMapOutput) ToBgpNetworkMapOutputWithContext(ctx context.Context) BgpNetworkMapOutput

type BgpNetworkOutput

type BgpNetworkOutput struct{ *pulumi.OutputState }

func (BgpNetworkOutput) DstCidrBlock

func (o BgpNetworkOutput) DstCidrBlock() pulumi.StringOutput

The CIDR block of the virtual private cloud (VPC) or vSwitch that you want to connect to a data center.

func (BgpNetworkOutput) ElementType

func (BgpNetworkOutput) ElementType() reflect.Type

func (BgpNetworkOutput) RouterId

func (o BgpNetworkOutput) RouterId() pulumi.StringOutput

The ID of the vRouter associated with the router interface.

func (BgpNetworkOutput) Status

The state of the advertised BGP network.

func (BgpNetworkOutput) ToBgpNetworkOutput

func (o BgpNetworkOutput) ToBgpNetworkOutput() BgpNetworkOutput

func (BgpNetworkOutput) ToBgpNetworkOutputWithContext

func (o BgpNetworkOutput) ToBgpNetworkOutputWithContext(ctx context.Context) BgpNetworkOutput

type BgpNetworkState

type BgpNetworkState struct {
	// The CIDR block of the virtual private cloud (VPC) or vSwitch that you want to connect to a data center.
	DstCidrBlock pulumi.StringPtrInput
	// The ID of the vRouter associated with the router interface.
	RouterId pulumi.StringPtrInput
	// The state of the advertised BGP network.
	Status pulumi.StringPtrInput
}

func (BgpNetworkState) ElementType

func (BgpNetworkState) ElementType() reflect.Type

type BgpPeer

type BgpPeer struct {
	pulumi.CustomResourceState

	// The BFD hop count. Valid values: `1` to `255`. **NOTE:** The attribute is valid when the attribute `enableBfd` is `true`. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. You can set a proper value based on the factors that affect the physical connection.
	BfdMultiHop pulumi.IntPtrOutput `pulumi:"bfdMultiHop"`
	// The ID of the BGP group.
	BgpGroupId pulumi.StringOutput `pulumi:"bgpGroupId"`
	// Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature.
	EnableBfd pulumi.BoolPtrOutput `pulumi:"enableBfd"`
	// The IP version.
	IpVersion pulumi.StringOutput `pulumi:"ipVersion"`
	// The IP address of the BGP peer.
	PeerIpAddress pulumi.StringPtrOutput `pulumi:"peerIpAddress"`
	// The status of the BGP peer.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Bgp Peer resource.

For information about VPC Bgp Peer and how to use it, see [What is Bgp Peer](https://www.alibabacloud.com/help/en/doc-detail/91267.html).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultPhysicalConnections, err := expressconnect.GetPhysicalConnections(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "defaultVirtualBorderRouter", &expressconnect.VirtualBorderRouterArgs{
			LocalGatewayIp:          pulumi.String("10.0.0.1"),
			PeerGatewayIp:           pulumi.String("10.0.0.2"),
			PeeringSubnetMask:       pulumi.String("255.255.255.252"),
			PhysicalConnectionId:    pulumi.String(defaultPhysicalConnections.Connections[0].Id),
			VirtualBorderRouterName: pulumi.String("example_value"),
			VlanId:                  pulumi.Int(120),
			MinRxInterval:           pulumi.Int(1000),
			MinTxInterval:           pulumi.Int(1000),
			DetectMultiplier:        pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		defaultBgpGroup, err := vpc.NewBgpGroup(ctx, "defaultBgpGroup", &vpc.BgpGroupArgs{
			AuthKey:      pulumi.String("YourPassword+12345678"),
			BgpGroupName: pulumi.String("example_value"),
			Description:  pulumi.String("example_value"),
			LocalAsn:     pulumi.Int(64512),
			PeerAsn:      pulumi.Int(1111),
			RouterId:     defaultVirtualBorderRouter.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewBgpPeer(ctx, "defaultBgpPeer", &vpc.BgpPeerArgs{
			BfdMultiHop:   pulumi.Int(10),
			BgpGroupId:    defaultBgpGroup.ID(),
			EnableBfd:     pulumi.Bool(true),
			IpVersion:     pulumi.String("IPV4"),
			PeerIpAddress: pulumi.String("1.1.1.1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Bgp Peer can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/bgpPeer:BgpPeer example <id>

```

func GetBgpPeer

func GetBgpPeer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BgpPeerState, opts ...pulumi.ResourceOption) (*BgpPeer, error)

GetBgpPeer gets an existing BgpPeer 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 NewBgpPeer

func NewBgpPeer(ctx *pulumi.Context,
	name string, args *BgpPeerArgs, opts ...pulumi.ResourceOption) (*BgpPeer, error)

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

func (*BgpPeer) ElementType

func (*BgpPeer) ElementType() reflect.Type

func (*BgpPeer) ToBgpPeerOutput

func (i *BgpPeer) ToBgpPeerOutput() BgpPeerOutput

func (*BgpPeer) ToBgpPeerOutputWithContext

func (i *BgpPeer) ToBgpPeerOutputWithContext(ctx context.Context) BgpPeerOutput

type BgpPeerArgs

type BgpPeerArgs struct {
	// The BFD hop count. Valid values: `1` to `255`. **NOTE:** The attribute is valid when the attribute `enableBfd` is `true`. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. You can set a proper value based on the factors that affect the physical connection.
	BfdMultiHop pulumi.IntPtrInput
	// The ID of the BGP group.
	BgpGroupId pulumi.StringInput
	// Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature.
	EnableBfd pulumi.BoolPtrInput
	// The IP version.
	IpVersion pulumi.StringPtrInput
	// The IP address of the BGP peer.
	PeerIpAddress pulumi.StringPtrInput
}

The set of arguments for constructing a BgpPeer resource.

func (BgpPeerArgs) ElementType

func (BgpPeerArgs) ElementType() reflect.Type

type BgpPeerArray

type BgpPeerArray []BgpPeerInput

func (BgpPeerArray) ElementType

func (BgpPeerArray) ElementType() reflect.Type

func (BgpPeerArray) ToBgpPeerArrayOutput

func (i BgpPeerArray) ToBgpPeerArrayOutput() BgpPeerArrayOutput

func (BgpPeerArray) ToBgpPeerArrayOutputWithContext

func (i BgpPeerArray) ToBgpPeerArrayOutputWithContext(ctx context.Context) BgpPeerArrayOutput

type BgpPeerArrayInput

type BgpPeerArrayInput interface {
	pulumi.Input

	ToBgpPeerArrayOutput() BgpPeerArrayOutput
	ToBgpPeerArrayOutputWithContext(context.Context) BgpPeerArrayOutput
}

BgpPeerArrayInput is an input type that accepts BgpPeerArray and BgpPeerArrayOutput values. You can construct a concrete instance of `BgpPeerArrayInput` via:

BgpPeerArray{ BgpPeerArgs{...} }

type BgpPeerArrayOutput

type BgpPeerArrayOutput struct{ *pulumi.OutputState }

func (BgpPeerArrayOutput) ElementType

func (BgpPeerArrayOutput) ElementType() reflect.Type

func (BgpPeerArrayOutput) Index

func (BgpPeerArrayOutput) ToBgpPeerArrayOutput

func (o BgpPeerArrayOutput) ToBgpPeerArrayOutput() BgpPeerArrayOutput

func (BgpPeerArrayOutput) ToBgpPeerArrayOutputWithContext

func (o BgpPeerArrayOutput) ToBgpPeerArrayOutputWithContext(ctx context.Context) BgpPeerArrayOutput

type BgpPeerInput

type BgpPeerInput interface {
	pulumi.Input

	ToBgpPeerOutput() BgpPeerOutput
	ToBgpPeerOutputWithContext(ctx context.Context) BgpPeerOutput
}

type BgpPeerMap

type BgpPeerMap map[string]BgpPeerInput

func (BgpPeerMap) ElementType

func (BgpPeerMap) ElementType() reflect.Type

func (BgpPeerMap) ToBgpPeerMapOutput

func (i BgpPeerMap) ToBgpPeerMapOutput() BgpPeerMapOutput

func (BgpPeerMap) ToBgpPeerMapOutputWithContext

func (i BgpPeerMap) ToBgpPeerMapOutputWithContext(ctx context.Context) BgpPeerMapOutput

type BgpPeerMapInput

type BgpPeerMapInput interface {
	pulumi.Input

	ToBgpPeerMapOutput() BgpPeerMapOutput
	ToBgpPeerMapOutputWithContext(context.Context) BgpPeerMapOutput
}

BgpPeerMapInput is an input type that accepts BgpPeerMap and BgpPeerMapOutput values. You can construct a concrete instance of `BgpPeerMapInput` via:

BgpPeerMap{ "key": BgpPeerArgs{...} }

type BgpPeerMapOutput

type BgpPeerMapOutput struct{ *pulumi.OutputState }

func (BgpPeerMapOutput) ElementType

func (BgpPeerMapOutput) ElementType() reflect.Type

func (BgpPeerMapOutput) MapIndex

func (BgpPeerMapOutput) ToBgpPeerMapOutput

func (o BgpPeerMapOutput) ToBgpPeerMapOutput() BgpPeerMapOutput

func (BgpPeerMapOutput) ToBgpPeerMapOutputWithContext

func (o BgpPeerMapOutput) ToBgpPeerMapOutputWithContext(ctx context.Context) BgpPeerMapOutput

type BgpPeerOutput

type BgpPeerOutput struct{ *pulumi.OutputState }

func (BgpPeerOutput) BfdMultiHop

func (o BgpPeerOutput) BfdMultiHop() pulumi.IntPtrOutput

The BFD hop count. Valid values: `1` to `255`. **NOTE:** The attribute is valid when the attribute `enableBfd` is `true`. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. You can set a proper value based on the factors that affect the physical connection.

func (BgpPeerOutput) BgpGroupId

func (o BgpPeerOutput) BgpGroupId() pulumi.StringOutput

The ID of the BGP group.

func (BgpPeerOutput) ElementType

func (BgpPeerOutput) ElementType() reflect.Type

func (BgpPeerOutput) EnableBfd

func (o BgpPeerOutput) EnableBfd() pulumi.BoolPtrOutput

Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature.

func (BgpPeerOutput) IpVersion

func (o BgpPeerOutput) IpVersion() pulumi.StringOutput

The IP version.

func (BgpPeerOutput) PeerIpAddress

func (o BgpPeerOutput) PeerIpAddress() pulumi.StringPtrOutput

The IP address of the BGP peer.

func (BgpPeerOutput) Status

func (o BgpPeerOutput) Status() pulumi.StringOutput

The status of the BGP peer.

func (BgpPeerOutput) ToBgpPeerOutput

func (o BgpPeerOutput) ToBgpPeerOutput() BgpPeerOutput

func (BgpPeerOutput) ToBgpPeerOutputWithContext

func (o BgpPeerOutput) ToBgpPeerOutputWithContext(ctx context.Context) BgpPeerOutput

type BgpPeerState

type BgpPeerState struct {
	// The BFD hop count. Valid values: `1` to `255`. **NOTE:** The attribute is valid when the attribute `enableBfd` is `true`. The parameter specifies the maximum number of network devices that a packet can traverse from the source to the destination. You can set a proper value based on the factors that affect the physical connection.
	BfdMultiHop pulumi.IntPtrInput
	// The ID of the BGP group.
	BgpGroupId pulumi.StringPtrInput
	// Specifies whether to enable the Bidirectional Forwarding Detection (BFD) feature.
	EnableBfd pulumi.BoolPtrInput
	// The IP version.
	IpVersion pulumi.StringPtrInput
	// The IP address of the BGP peer.
	PeerIpAddress pulumi.StringPtrInput
	// The status of the BGP peer.
	Status pulumi.StringPtrInput
}

func (BgpPeerState) ElementType

func (BgpPeerState) ElementType() reflect.Type

type CommonBandwithPackage

type CommonBandwithPackage struct {
	pulumi.CustomResourceState

	// The bandwidth of the common bandwidth package. Unit: Mbps.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// The name of the common bandwidth package.
	BandwidthPackageName pulumi.StringOutput `pulumi:"bandwidthPackageName"`
	// Whether enable the deletion protection or not. Default value: `false`.
	// - true: Enable deletion protection.
	// - false: Disable deletion protection.
	DeletionProtection pulumi.BoolOutput `pulumi:"deletionProtection"`
	// The description of the common bandwidth package instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// This parameter is used for resource destroy. Default value is `false`.
	Force pulumi.StringPtrOutput `pulumi:"force"`
	// The billing method of the common bandwidth package. Valid values are `PayByBandwidth` and `PayBy95` and `PayByTraffic`, `PayByDominantTraffic`. `PayBy95` is pay by classic 95th percentile pricing. International Account doesn't supports `PayByBandwidth` and `PayBy95`. Default to `PayByTraffic`. **NOTE:** From 1.176.0+, `PayByDominantTraffic` is available.
	InternetChargeType pulumi.StringPtrOutput `pulumi:"internetChargeType"`
	// The type of the Internet Service Provider. Valid values: `BGP` and `BGP_PRO`. Default to `BGP`.
	Isp pulumi.StringPtrOutput `pulumi:"isp"`
	// Field `name` has been deprecated from provider version 1.120.0. New field `bandwidthPackageName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Ratio of the common bandwidth package. It is valid when `internetChargeType` is `PayBy95`. Default to `100`. Valid values: [10-100].
	Ratio pulumi.IntPtrOutput `pulumi:"ratio"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The edition of Anti-DDoS. If you do not set this parameter, Anti-DDoS Origin Basic is used. If you set the value to `AntiDDoS_Enhanced`, Anti-DDoS Pro(Premium) is used. It is valid when `internetChargeType` is `PayBy95`.
	SecurityProtectionTypes pulumi.StringArrayOutput `pulumi:"securityProtectionTypes"`
	// (Available in 1.120.0+) The status of bandwidth package.
	Status pulumi.StringOutput `pulumi:"status"`
	// The zone of bandwidth package.
	Zone pulumi.StringPtrOutput `pulumi:"zone"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewCommonBandwithPackage(ctx, "foo", &vpc.CommonBandwithPackageArgs{
			Bandwidth:            pulumi.String("1000"),
			BandwidthPackageName: pulumi.String("test-common-bandwidth-package"),
			Description:          pulumi.String("test-common-bandwidth-package"),
			InternetChargeType:   pulumi.String("PayByBandwidth"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The common bandwidth package can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/commonBandwithPackage:CommonBandwithPackage foo cbwp-abc123456

```

func GetCommonBandwithPackage

func GetCommonBandwithPackage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CommonBandwithPackageState, opts ...pulumi.ResourceOption) (*CommonBandwithPackage, error)

GetCommonBandwithPackage gets an existing CommonBandwithPackage 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 NewCommonBandwithPackage

func NewCommonBandwithPackage(ctx *pulumi.Context,
	name string, args *CommonBandwithPackageArgs, opts ...pulumi.ResourceOption) (*CommonBandwithPackage, error)

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

func (*CommonBandwithPackage) ElementType

func (*CommonBandwithPackage) ElementType() reflect.Type

func (*CommonBandwithPackage) ToCommonBandwithPackageOutput

func (i *CommonBandwithPackage) ToCommonBandwithPackageOutput() CommonBandwithPackageOutput

func (*CommonBandwithPackage) ToCommonBandwithPackageOutputWithContext

func (i *CommonBandwithPackage) ToCommonBandwithPackageOutputWithContext(ctx context.Context) CommonBandwithPackageOutput

type CommonBandwithPackageArgs

type CommonBandwithPackageArgs struct {
	// The bandwidth of the common bandwidth package. Unit: Mbps.
	Bandwidth pulumi.StringInput
	// The name of the common bandwidth package.
	BandwidthPackageName pulumi.StringPtrInput
	// Whether enable the deletion protection or not. Default value: `false`.
	// - true: Enable deletion protection.
	// - false: Disable deletion protection.
	DeletionProtection pulumi.BoolPtrInput
	// The description of the common bandwidth package instance.
	Description pulumi.StringPtrInput
	// This parameter is used for resource destroy. Default value is `false`.
	Force pulumi.StringPtrInput
	// The billing method of the common bandwidth package. Valid values are `PayByBandwidth` and `PayBy95` and `PayByTraffic`, `PayByDominantTraffic`. `PayBy95` is pay by classic 95th percentile pricing. International Account doesn't supports `PayByBandwidth` and `PayBy95`. Default to `PayByTraffic`. **NOTE:** From 1.176.0+, `PayByDominantTraffic` is available.
	InternetChargeType pulumi.StringPtrInput
	// The type of the Internet Service Provider. Valid values: `BGP` and `BGP_PRO`. Default to `BGP`.
	Isp pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.120.0. New field `bandwidthPackageName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.
	Name pulumi.StringPtrInput
	// Ratio of the common bandwidth package. It is valid when `internetChargeType` is `PayBy95`. Default to `100`. Valid values: [10-100].
	Ratio pulumi.IntPtrInput
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The edition of Anti-DDoS. If you do not set this parameter, Anti-DDoS Origin Basic is used. If you set the value to `AntiDDoS_Enhanced`, Anti-DDoS Pro(Premium) is used. It is valid when `internetChargeType` is `PayBy95`.
	SecurityProtectionTypes pulumi.StringArrayInput
	// The zone of bandwidth package.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a CommonBandwithPackage resource.

func (CommonBandwithPackageArgs) ElementType

func (CommonBandwithPackageArgs) ElementType() reflect.Type

type CommonBandwithPackageArray

type CommonBandwithPackageArray []CommonBandwithPackageInput

func (CommonBandwithPackageArray) ElementType

func (CommonBandwithPackageArray) ElementType() reflect.Type

func (CommonBandwithPackageArray) ToCommonBandwithPackageArrayOutput

func (i CommonBandwithPackageArray) ToCommonBandwithPackageArrayOutput() CommonBandwithPackageArrayOutput

func (CommonBandwithPackageArray) ToCommonBandwithPackageArrayOutputWithContext

func (i CommonBandwithPackageArray) ToCommonBandwithPackageArrayOutputWithContext(ctx context.Context) CommonBandwithPackageArrayOutput

type CommonBandwithPackageArrayInput

type CommonBandwithPackageArrayInput interface {
	pulumi.Input

	ToCommonBandwithPackageArrayOutput() CommonBandwithPackageArrayOutput
	ToCommonBandwithPackageArrayOutputWithContext(context.Context) CommonBandwithPackageArrayOutput
}

CommonBandwithPackageArrayInput is an input type that accepts CommonBandwithPackageArray and CommonBandwithPackageArrayOutput values. You can construct a concrete instance of `CommonBandwithPackageArrayInput` via:

CommonBandwithPackageArray{ CommonBandwithPackageArgs{...} }

type CommonBandwithPackageArrayOutput

type CommonBandwithPackageArrayOutput struct{ *pulumi.OutputState }

func (CommonBandwithPackageArrayOutput) ElementType

func (CommonBandwithPackageArrayOutput) Index

func (CommonBandwithPackageArrayOutput) ToCommonBandwithPackageArrayOutput

func (o CommonBandwithPackageArrayOutput) ToCommonBandwithPackageArrayOutput() CommonBandwithPackageArrayOutput

func (CommonBandwithPackageArrayOutput) ToCommonBandwithPackageArrayOutputWithContext

func (o CommonBandwithPackageArrayOutput) ToCommonBandwithPackageArrayOutputWithContext(ctx context.Context) CommonBandwithPackageArrayOutput

type CommonBandwithPackageAttachment

type CommonBandwithPackageAttachment struct {
	pulumi.CustomResourceState

	// The maximum bandwidth for the EIP. This value cannot be larger than the maximum bandwidth of the EIP bandwidth plan. Unit: Mbit/s.
	BandwidthPackageBandwidth pulumi.StringOutput `pulumi:"bandwidthPackageBandwidth"`
	// The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.
	BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"`
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, "fooCommonBandwithPackage", &vpc.CommonBandwithPackageArgs{
			Bandwidth:   pulumi.String("2"),
			Description: pulumi.String("test_common_bandwidth_package"),
		})
		if err != nil {
			return err
		}
		fooEipAddress, err := ecs.NewEipAddress(ctx, "fooEipAddress", &ecs.EipAddressArgs{
			Bandwidth:          pulumi.String("2"),
			InternetChargeType: pulumi.String("PayByBandwidth"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewCommonBandwithPackageAttachment(ctx, "fooCommonBandwithPackageAttachment", &vpc.CommonBandwithPackageAttachmentArgs{
			BandwidthPackageId: fooCommonBandwithPackage.ID(),
			InstanceId:         fooEipAddress.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The common bandwidth package attachment can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/commonBandwithPackageAttachment:CommonBandwithPackageAttachment foo cbwp-abc123456:eip-abc123456

```

func GetCommonBandwithPackageAttachment

func GetCommonBandwithPackageAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CommonBandwithPackageAttachmentState, opts ...pulumi.ResourceOption) (*CommonBandwithPackageAttachment, error)

GetCommonBandwithPackageAttachment gets an existing CommonBandwithPackageAttachment 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 NewCommonBandwithPackageAttachment

func NewCommonBandwithPackageAttachment(ctx *pulumi.Context,
	name string, args *CommonBandwithPackageAttachmentArgs, opts ...pulumi.ResourceOption) (*CommonBandwithPackageAttachment, error)

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

func (*CommonBandwithPackageAttachment) ElementType

func (*CommonBandwithPackageAttachment) ToCommonBandwithPackageAttachmentOutput

func (i *CommonBandwithPackageAttachment) ToCommonBandwithPackageAttachmentOutput() CommonBandwithPackageAttachmentOutput

func (*CommonBandwithPackageAttachment) ToCommonBandwithPackageAttachmentOutputWithContext

func (i *CommonBandwithPackageAttachment) ToCommonBandwithPackageAttachmentOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentOutput

type CommonBandwithPackageAttachmentArgs

type CommonBandwithPackageAttachmentArgs struct {
	// The maximum bandwidth for the EIP. This value cannot be larger than the maximum bandwidth of the EIP bandwidth plan. Unit: Mbit/s.
	BandwidthPackageBandwidth pulumi.StringPtrInput
	// The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.
	BandwidthPackageId pulumi.StringInput
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a CommonBandwithPackageAttachment resource.

func (CommonBandwithPackageAttachmentArgs) ElementType

type CommonBandwithPackageAttachmentArray

type CommonBandwithPackageAttachmentArray []CommonBandwithPackageAttachmentInput

func (CommonBandwithPackageAttachmentArray) ElementType

func (CommonBandwithPackageAttachmentArray) ToCommonBandwithPackageAttachmentArrayOutput

func (i CommonBandwithPackageAttachmentArray) ToCommonBandwithPackageAttachmentArrayOutput() CommonBandwithPackageAttachmentArrayOutput

func (CommonBandwithPackageAttachmentArray) ToCommonBandwithPackageAttachmentArrayOutputWithContext

func (i CommonBandwithPackageAttachmentArray) ToCommonBandwithPackageAttachmentArrayOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentArrayOutput

type CommonBandwithPackageAttachmentArrayInput

type CommonBandwithPackageAttachmentArrayInput interface {
	pulumi.Input

	ToCommonBandwithPackageAttachmentArrayOutput() CommonBandwithPackageAttachmentArrayOutput
	ToCommonBandwithPackageAttachmentArrayOutputWithContext(context.Context) CommonBandwithPackageAttachmentArrayOutput
}

CommonBandwithPackageAttachmentArrayInput is an input type that accepts CommonBandwithPackageAttachmentArray and CommonBandwithPackageAttachmentArrayOutput values. You can construct a concrete instance of `CommonBandwithPackageAttachmentArrayInput` via:

CommonBandwithPackageAttachmentArray{ CommonBandwithPackageAttachmentArgs{...} }

type CommonBandwithPackageAttachmentArrayOutput

type CommonBandwithPackageAttachmentArrayOutput struct{ *pulumi.OutputState }

func (CommonBandwithPackageAttachmentArrayOutput) ElementType

func (CommonBandwithPackageAttachmentArrayOutput) Index

func (CommonBandwithPackageAttachmentArrayOutput) ToCommonBandwithPackageAttachmentArrayOutput

func (o CommonBandwithPackageAttachmentArrayOutput) ToCommonBandwithPackageAttachmentArrayOutput() CommonBandwithPackageAttachmentArrayOutput

func (CommonBandwithPackageAttachmentArrayOutput) ToCommonBandwithPackageAttachmentArrayOutputWithContext

func (o CommonBandwithPackageAttachmentArrayOutput) ToCommonBandwithPackageAttachmentArrayOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentArrayOutput

type CommonBandwithPackageAttachmentInput

type CommonBandwithPackageAttachmentInput interface {
	pulumi.Input

	ToCommonBandwithPackageAttachmentOutput() CommonBandwithPackageAttachmentOutput
	ToCommonBandwithPackageAttachmentOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentOutput
}

type CommonBandwithPackageAttachmentMap

type CommonBandwithPackageAttachmentMap map[string]CommonBandwithPackageAttachmentInput

func (CommonBandwithPackageAttachmentMap) ElementType

func (CommonBandwithPackageAttachmentMap) ToCommonBandwithPackageAttachmentMapOutput

func (i CommonBandwithPackageAttachmentMap) ToCommonBandwithPackageAttachmentMapOutput() CommonBandwithPackageAttachmentMapOutput

func (CommonBandwithPackageAttachmentMap) ToCommonBandwithPackageAttachmentMapOutputWithContext

func (i CommonBandwithPackageAttachmentMap) ToCommonBandwithPackageAttachmentMapOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentMapOutput

type CommonBandwithPackageAttachmentMapInput

type CommonBandwithPackageAttachmentMapInput interface {
	pulumi.Input

	ToCommonBandwithPackageAttachmentMapOutput() CommonBandwithPackageAttachmentMapOutput
	ToCommonBandwithPackageAttachmentMapOutputWithContext(context.Context) CommonBandwithPackageAttachmentMapOutput
}

CommonBandwithPackageAttachmentMapInput is an input type that accepts CommonBandwithPackageAttachmentMap and CommonBandwithPackageAttachmentMapOutput values. You can construct a concrete instance of `CommonBandwithPackageAttachmentMapInput` via:

CommonBandwithPackageAttachmentMap{ "key": CommonBandwithPackageAttachmentArgs{...} }

type CommonBandwithPackageAttachmentMapOutput

type CommonBandwithPackageAttachmentMapOutput struct{ *pulumi.OutputState }

func (CommonBandwithPackageAttachmentMapOutput) ElementType

func (CommonBandwithPackageAttachmentMapOutput) MapIndex

func (CommonBandwithPackageAttachmentMapOutput) ToCommonBandwithPackageAttachmentMapOutput

func (o CommonBandwithPackageAttachmentMapOutput) ToCommonBandwithPackageAttachmentMapOutput() CommonBandwithPackageAttachmentMapOutput

func (CommonBandwithPackageAttachmentMapOutput) ToCommonBandwithPackageAttachmentMapOutputWithContext

func (o CommonBandwithPackageAttachmentMapOutput) ToCommonBandwithPackageAttachmentMapOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentMapOutput

type CommonBandwithPackageAttachmentOutput

type CommonBandwithPackageAttachmentOutput struct{ *pulumi.OutputState }

func (CommonBandwithPackageAttachmentOutput) BandwidthPackageBandwidth

func (o CommonBandwithPackageAttachmentOutput) BandwidthPackageBandwidth() pulumi.StringOutput

The maximum bandwidth for the EIP. This value cannot be larger than the maximum bandwidth of the EIP bandwidth plan. Unit: Mbit/s.

func (CommonBandwithPackageAttachmentOutput) BandwidthPackageId

The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.

func (CommonBandwithPackageAttachmentOutput) ElementType

func (CommonBandwithPackageAttachmentOutput) InstanceId

The instanceId of the common bandwidth package attachment, the field can't be changed.

func (CommonBandwithPackageAttachmentOutput) ToCommonBandwithPackageAttachmentOutput

func (o CommonBandwithPackageAttachmentOutput) ToCommonBandwithPackageAttachmentOutput() CommonBandwithPackageAttachmentOutput

func (CommonBandwithPackageAttachmentOutput) ToCommonBandwithPackageAttachmentOutputWithContext

func (o CommonBandwithPackageAttachmentOutput) ToCommonBandwithPackageAttachmentOutputWithContext(ctx context.Context) CommonBandwithPackageAttachmentOutput

type CommonBandwithPackageAttachmentState

type CommonBandwithPackageAttachmentState struct {
	// The maximum bandwidth for the EIP. This value cannot be larger than the maximum bandwidth of the EIP bandwidth plan. Unit: Mbit/s.
	BandwidthPackageBandwidth pulumi.StringPtrInput
	// The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.
	BandwidthPackageId pulumi.StringPtrInput
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringPtrInput
}

func (CommonBandwithPackageAttachmentState) ElementType

type CommonBandwithPackageInput

type CommonBandwithPackageInput interface {
	pulumi.Input

	ToCommonBandwithPackageOutput() CommonBandwithPackageOutput
	ToCommonBandwithPackageOutputWithContext(ctx context.Context) CommonBandwithPackageOutput
}

type CommonBandwithPackageMap

type CommonBandwithPackageMap map[string]CommonBandwithPackageInput

func (CommonBandwithPackageMap) ElementType

func (CommonBandwithPackageMap) ElementType() reflect.Type

func (CommonBandwithPackageMap) ToCommonBandwithPackageMapOutput

func (i CommonBandwithPackageMap) ToCommonBandwithPackageMapOutput() CommonBandwithPackageMapOutput

func (CommonBandwithPackageMap) ToCommonBandwithPackageMapOutputWithContext

func (i CommonBandwithPackageMap) ToCommonBandwithPackageMapOutputWithContext(ctx context.Context) CommonBandwithPackageMapOutput

type CommonBandwithPackageMapInput

type CommonBandwithPackageMapInput interface {
	pulumi.Input

	ToCommonBandwithPackageMapOutput() CommonBandwithPackageMapOutput
	ToCommonBandwithPackageMapOutputWithContext(context.Context) CommonBandwithPackageMapOutput
}

CommonBandwithPackageMapInput is an input type that accepts CommonBandwithPackageMap and CommonBandwithPackageMapOutput values. You can construct a concrete instance of `CommonBandwithPackageMapInput` via:

CommonBandwithPackageMap{ "key": CommonBandwithPackageArgs{...} }

type CommonBandwithPackageMapOutput

type CommonBandwithPackageMapOutput struct{ *pulumi.OutputState }

func (CommonBandwithPackageMapOutput) ElementType

func (CommonBandwithPackageMapOutput) MapIndex

func (CommonBandwithPackageMapOutput) ToCommonBandwithPackageMapOutput

func (o CommonBandwithPackageMapOutput) ToCommonBandwithPackageMapOutput() CommonBandwithPackageMapOutput

func (CommonBandwithPackageMapOutput) ToCommonBandwithPackageMapOutputWithContext

func (o CommonBandwithPackageMapOutput) ToCommonBandwithPackageMapOutputWithContext(ctx context.Context) CommonBandwithPackageMapOutput

type CommonBandwithPackageOutput

type CommonBandwithPackageOutput struct{ *pulumi.OutputState }

func (CommonBandwithPackageOutput) Bandwidth

The bandwidth of the common bandwidth package. Unit: Mbps.

func (CommonBandwithPackageOutput) BandwidthPackageName

func (o CommonBandwithPackageOutput) BandwidthPackageName() pulumi.StringOutput

The name of the common bandwidth package.

func (CommonBandwithPackageOutput) DeletionProtection

func (o CommonBandwithPackageOutput) DeletionProtection() pulumi.BoolOutput

Whether enable the deletion protection or not. Default value: `false`. - true: Enable deletion protection. - false: Disable deletion protection.

func (CommonBandwithPackageOutput) Description

The description of the common bandwidth package instance.

func (CommonBandwithPackageOutput) ElementType

func (CommonBandwithPackageOutput) Force

This parameter is used for resource destroy. Default value is `false`.

func (CommonBandwithPackageOutput) InternetChargeType

func (o CommonBandwithPackageOutput) InternetChargeType() pulumi.StringPtrOutput

The billing method of the common bandwidth package. Valid values are `PayByBandwidth` and `PayBy95` and `PayByTraffic`, `PayByDominantTraffic`. `PayBy95` is pay by classic 95th percentile pricing. International Account doesn't supports `PayByBandwidth` and `PayBy95`. Default to `PayByTraffic`. **NOTE:** From 1.176.0+, `PayByDominantTraffic` is available.

func (CommonBandwithPackageOutput) Isp

The type of the Internet Service Provider. Valid values: `BGP` and `BGP_PRO`. Default to `BGP`.

func (CommonBandwithPackageOutput) Name deprecated

Field `name` has been deprecated from provider version 1.120.0. New field `bandwidthPackageName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.

func (CommonBandwithPackageOutput) Ratio

Ratio of the common bandwidth package. It is valid when `internetChargeType` is `PayBy95`. Default to `100`. Valid values: [10-100].

func (CommonBandwithPackageOutput) ResourceGroupId

func (o CommonBandwithPackageOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which the common bandwidth package belongs.

func (CommonBandwithPackageOutput) SecurityProtectionTypes

func (o CommonBandwithPackageOutput) SecurityProtectionTypes() pulumi.StringArrayOutput

The edition of Anti-DDoS. If you do not set this parameter, Anti-DDoS Origin Basic is used. If you set the value to `AntiDDoS_Enhanced`, Anti-DDoS Pro(Premium) is used. It is valid when `internetChargeType` is `PayBy95`.

func (CommonBandwithPackageOutput) Status

(Available in 1.120.0+) The status of bandwidth package.

func (CommonBandwithPackageOutput) ToCommonBandwithPackageOutput

func (o CommonBandwithPackageOutput) ToCommonBandwithPackageOutput() CommonBandwithPackageOutput

func (CommonBandwithPackageOutput) ToCommonBandwithPackageOutputWithContext

func (o CommonBandwithPackageOutput) ToCommonBandwithPackageOutputWithContext(ctx context.Context) CommonBandwithPackageOutput

func (CommonBandwithPackageOutput) Zone

The zone of bandwidth package.

type CommonBandwithPackageState

type CommonBandwithPackageState struct {
	// The bandwidth of the common bandwidth package. Unit: Mbps.
	Bandwidth pulumi.StringPtrInput
	// The name of the common bandwidth package.
	BandwidthPackageName pulumi.StringPtrInput
	// Whether enable the deletion protection or not. Default value: `false`.
	// - true: Enable deletion protection.
	// - false: Disable deletion protection.
	DeletionProtection pulumi.BoolPtrInput
	// The description of the common bandwidth package instance.
	Description pulumi.StringPtrInput
	// This parameter is used for resource destroy. Default value is `false`.
	Force pulumi.StringPtrInput
	// The billing method of the common bandwidth package. Valid values are `PayByBandwidth` and `PayBy95` and `PayByTraffic`, `PayByDominantTraffic`. `PayBy95` is pay by classic 95th percentile pricing. International Account doesn't supports `PayByBandwidth` and `PayBy95`. Default to `PayByTraffic`. **NOTE:** From 1.176.0+, `PayByDominantTraffic` is available.
	InternetChargeType pulumi.StringPtrInput
	// The type of the Internet Service Provider. Valid values: `BGP` and `BGP_PRO`. Default to `BGP`.
	Isp pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.120.0. New field `bandwidthPackageName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.
	Name pulumi.StringPtrInput
	// Ratio of the common bandwidth package. It is valid when `internetChargeType` is `PayBy95`. Default to `100`. Valid values: [10-100].
	Ratio pulumi.IntPtrInput
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The edition of Anti-DDoS. If you do not set this parameter, Anti-DDoS Origin Basic is used. If you set the value to `AntiDDoS_Enhanced`, Anti-DDoS Pro(Premium) is used. It is valid when `internetChargeType` is `PayBy95`.
	SecurityProtectionTypes pulumi.StringArrayInput
	// (Available in 1.120.0+) The status of bandwidth package.
	Status pulumi.StringPtrInput
	// The zone of bandwidth package.
	Zone pulumi.StringPtrInput
}

func (CommonBandwithPackageState) ElementType

func (CommonBandwithPackageState) ElementType() reflect.Type

type DhcpOptionsSet

type DhcpOptionsSet struct {
	pulumi.CustomResourceState

	// AssociateVpcs. Number of VPCs that can be associated with each DHCP options set is 10. Field `associateVpcs` has been deprecated from provider version 1.153.0. It will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.
	//
	// Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.
	AssociateVpcs DhcpOptionsSetAssociateVpcArrayOutput `pulumi:"associateVpcs"`
	// The description of the DHCP options set. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.
	DhcpOptionsSetDescription pulumi.StringPtrOutput `pulumi:"dhcpOptionsSetDescription"`
	// The name of the DHCP options set. The name must be 2 to 128 characters in length and can contain letters, Chinese characters, digits, underscores (_), and hyphens (-). It must start with a letter or a Chinese character.
	DhcpOptionsSetName pulumi.StringPtrOutput `pulumi:"dhcpOptionsSetName"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.
	DomainName pulumi.StringPtrOutput `pulumi:"domainName"`
	// The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP addresses must be separated with commas (,).Before you specify any DNS server IP address, all ECS instances in the associated VPC network use the IP addresses of the Alibaba Cloud DNS servers, which are `100.100.2.136` and `100.100.2.138`.
	DomainNameServers pulumi.StringPtrOutput `pulumi:"domainNameServers"`
	// Specifies whether to precheck this request only. Valid values: `true` or `false`.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the account to which the DHCP options set belongs.
	OwnerId pulumi.StringOutput `pulumi:"ownerId"`
	// The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Dhcp Options Set resource.

For information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/doc-detail/174112.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewDhcpOptionsSet(ctx, "example", &vpc.DhcpOptionsSetArgs{
			DhcpOptionsSetDescription: pulumi.String("example_value"),
			DhcpOptionsSetName:        pulumi.String("example_value"),
			DomainName:                pulumi.String("example.com"),
			DomainNameServers:         pulumi.String("100.100.2.136"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Dhcp Options Set can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/dhcpOptionsSet:DhcpOptionsSet example <id>

```

func GetDhcpOptionsSet

func GetDhcpOptionsSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DhcpOptionsSetState, opts ...pulumi.ResourceOption) (*DhcpOptionsSet, error)

GetDhcpOptionsSet gets an existing DhcpOptionsSet 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 NewDhcpOptionsSet

func NewDhcpOptionsSet(ctx *pulumi.Context,
	name string, args *DhcpOptionsSetArgs, opts ...pulumi.ResourceOption) (*DhcpOptionsSet, error)

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

func (*DhcpOptionsSet) ElementType

func (*DhcpOptionsSet) ElementType() reflect.Type

func (*DhcpOptionsSet) ToDhcpOptionsSetOutput

func (i *DhcpOptionsSet) ToDhcpOptionsSetOutput() DhcpOptionsSetOutput

func (*DhcpOptionsSet) ToDhcpOptionsSetOutputWithContext

func (i *DhcpOptionsSet) ToDhcpOptionsSetOutputWithContext(ctx context.Context) DhcpOptionsSetOutput

type DhcpOptionsSetArgs

type DhcpOptionsSetArgs struct {
	// AssociateVpcs. Number of VPCs that can be associated with each DHCP options set is 10. Field `associateVpcs` has been deprecated from provider version 1.153.0. It will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.
	//
	// Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.
	AssociateVpcs DhcpOptionsSetAssociateVpcArrayInput
	// The description of the DHCP options set. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.
	DhcpOptionsSetDescription pulumi.StringPtrInput
	// The name of the DHCP options set. The name must be 2 to 128 characters in length and can contain letters, Chinese characters, digits, underscores (_), and hyphens (-). It must start with a letter or a Chinese character.
	DhcpOptionsSetName pulumi.StringPtrInput
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.
	DomainName pulumi.StringPtrInput
	// The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP addresses must be separated with commas (,).Before you specify any DNS server IP address, all ECS instances in the associated VPC network use the IP addresses of the Alibaba Cloud DNS servers, which are `100.100.2.136` and `100.100.2.138`.
	DomainNameServers pulumi.StringPtrInput
	// Specifies whether to precheck this request only. Valid values: `true` or `false`.
	DryRun pulumi.BoolPtrInput
}

The set of arguments for constructing a DhcpOptionsSet resource.

func (DhcpOptionsSetArgs) ElementType

func (DhcpOptionsSetArgs) ElementType() reflect.Type

type DhcpOptionsSetArray

type DhcpOptionsSetArray []DhcpOptionsSetInput

func (DhcpOptionsSetArray) ElementType

func (DhcpOptionsSetArray) ElementType() reflect.Type

func (DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutput

func (i DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutput() DhcpOptionsSetArrayOutput

func (DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutputWithContext

func (i DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutputWithContext(ctx context.Context) DhcpOptionsSetArrayOutput

type DhcpOptionsSetArrayInput

type DhcpOptionsSetArrayInput interface {
	pulumi.Input

	ToDhcpOptionsSetArrayOutput() DhcpOptionsSetArrayOutput
	ToDhcpOptionsSetArrayOutputWithContext(context.Context) DhcpOptionsSetArrayOutput
}

DhcpOptionsSetArrayInput is an input type that accepts DhcpOptionsSetArray and DhcpOptionsSetArrayOutput values. You can construct a concrete instance of `DhcpOptionsSetArrayInput` via:

DhcpOptionsSetArray{ DhcpOptionsSetArgs{...} }

type DhcpOptionsSetArrayOutput

type DhcpOptionsSetArrayOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetArrayOutput) ElementType

func (DhcpOptionsSetArrayOutput) ElementType() reflect.Type

func (DhcpOptionsSetArrayOutput) Index

func (DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutput

func (o DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutput() DhcpOptionsSetArrayOutput

func (DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutputWithContext

func (o DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutputWithContext(ctx context.Context) DhcpOptionsSetArrayOutput

type DhcpOptionsSetAssociateVpc

type DhcpOptionsSetAssociateVpc struct {
	// The status of the VPC network that is associated with the DHCP options set. Valid values:`InUse` or `Pending`. `InUse`: The VPC network is in use. `Pending`: The VPC network is being configured.
	AssociateStatus *string `pulumi:"associateStatus"`
	// The ID of the VPC network that is associated with the DHCP options set.
	VpcId *string `pulumi:"vpcId"`
}

type DhcpOptionsSetAssociateVpcArgs

type DhcpOptionsSetAssociateVpcArgs struct {
	// The status of the VPC network that is associated with the DHCP options set. Valid values:`InUse` or `Pending`. `InUse`: The VPC network is in use. `Pending`: The VPC network is being configured.
	AssociateStatus pulumi.StringPtrInput `pulumi:"associateStatus"`
	// The ID of the VPC network that is associated with the DHCP options set.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

func (DhcpOptionsSetAssociateVpcArgs) ElementType

func (DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutput

func (i DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutput() DhcpOptionsSetAssociateVpcOutput

func (DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutputWithContext

func (i DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutputWithContext(ctx context.Context) DhcpOptionsSetAssociateVpcOutput

type DhcpOptionsSetAssociateVpcArray

type DhcpOptionsSetAssociateVpcArray []DhcpOptionsSetAssociateVpcInput

func (DhcpOptionsSetAssociateVpcArray) ElementType

func (DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutput

func (i DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutput() DhcpOptionsSetAssociateVpcArrayOutput

func (DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutputWithContext

func (i DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutputWithContext(ctx context.Context) DhcpOptionsSetAssociateVpcArrayOutput

type DhcpOptionsSetAssociateVpcArrayInput

type DhcpOptionsSetAssociateVpcArrayInput interface {
	pulumi.Input

	ToDhcpOptionsSetAssociateVpcArrayOutput() DhcpOptionsSetAssociateVpcArrayOutput
	ToDhcpOptionsSetAssociateVpcArrayOutputWithContext(context.Context) DhcpOptionsSetAssociateVpcArrayOutput
}

DhcpOptionsSetAssociateVpcArrayInput is an input type that accepts DhcpOptionsSetAssociateVpcArray and DhcpOptionsSetAssociateVpcArrayOutput values. You can construct a concrete instance of `DhcpOptionsSetAssociateVpcArrayInput` via:

DhcpOptionsSetAssociateVpcArray{ DhcpOptionsSetAssociateVpcArgs{...} }

type DhcpOptionsSetAssociateVpcArrayOutput

type DhcpOptionsSetAssociateVpcArrayOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAssociateVpcArrayOutput) ElementType

func (DhcpOptionsSetAssociateVpcArrayOutput) Index

func (DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutput

func (o DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutput() DhcpOptionsSetAssociateVpcArrayOutput

func (DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutputWithContext

func (o DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutputWithContext(ctx context.Context) DhcpOptionsSetAssociateVpcArrayOutput

type DhcpOptionsSetAssociateVpcInput

type DhcpOptionsSetAssociateVpcInput interface {
	pulumi.Input

	ToDhcpOptionsSetAssociateVpcOutput() DhcpOptionsSetAssociateVpcOutput
	ToDhcpOptionsSetAssociateVpcOutputWithContext(context.Context) DhcpOptionsSetAssociateVpcOutput
}

DhcpOptionsSetAssociateVpcInput is an input type that accepts DhcpOptionsSetAssociateVpcArgs and DhcpOptionsSetAssociateVpcOutput values. You can construct a concrete instance of `DhcpOptionsSetAssociateVpcInput` via:

DhcpOptionsSetAssociateVpcArgs{...}

type DhcpOptionsSetAssociateVpcOutput

type DhcpOptionsSetAssociateVpcOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAssociateVpcOutput) AssociateStatus

The status of the VPC network that is associated with the DHCP options set. Valid values:`InUse` or `Pending`. `InUse`: The VPC network is in use. `Pending`: The VPC network is being configured.

func (DhcpOptionsSetAssociateVpcOutput) ElementType

func (DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutput

func (o DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutput() DhcpOptionsSetAssociateVpcOutput

func (DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutputWithContext

func (o DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutputWithContext(ctx context.Context) DhcpOptionsSetAssociateVpcOutput

func (DhcpOptionsSetAssociateVpcOutput) VpcId

The ID of the VPC network that is associated with the DHCP options set.

type DhcpOptionsSetAttachment

type DhcpOptionsSetAttachment struct {
	pulumi.CustomResourceState

	// The ID of the DHCP options set.
	DhcpOptionsSetId pulumi.StringOutput `pulumi:"dhcpOptionsSetId"`
	// Specifies whether to precheck this request only. Default values: `false`. Valid values:
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	Status pulumi.StringOutput  `pulumi:"status"`
	// The ID of the VPC network that is to be associated with the DHCP options set..
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Dhcp Options Set Attachment resource.

For information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/doc-detail/174112.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleNetwork, err := vpc.NewNetwork(ctx, "exampleNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String("test"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		exampleDhcpOptionsSet, err := vpc.NewDhcpOptionsSet(ctx, "exampleDhcpOptionsSet", &vpc.DhcpOptionsSetArgs{
			DhcpOptionsSetName:        pulumi.String("example_value"),
			DhcpOptionsSetDescription: pulumi.String("example_value"),
			DomainName:                pulumi.String("example.com"),
			DomainNameServers:         pulumi.String("100.100.2.136"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewDhcpOptionsSetAttachment(ctx, "exampleDhcpOptionsSetAttachment", &vpc.DhcpOptionsSetAttachmentArgs{
			VpcId:            exampleNetwork.ID(),
			DhcpOptionsSetId: exampleDhcpOptionsSet.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Dhcp Options Set Attachment can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/dhcpOptionsSetAttachment:DhcpOptionsSetAttachment example <id>

```

func GetDhcpOptionsSetAttachment

func GetDhcpOptionsSetAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DhcpOptionsSetAttachmentState, opts ...pulumi.ResourceOption) (*DhcpOptionsSetAttachment, error)

GetDhcpOptionsSetAttachment gets an existing DhcpOptionsSetAttachment 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 NewDhcpOptionsSetAttachment

func NewDhcpOptionsSetAttachment(ctx *pulumi.Context,
	name string, args *DhcpOptionsSetAttachmentArgs, opts ...pulumi.ResourceOption) (*DhcpOptionsSetAttachment, error)

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

func (*DhcpOptionsSetAttachment) ElementType

func (*DhcpOptionsSetAttachment) ElementType() reflect.Type

func (*DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutput

func (i *DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutput() DhcpOptionsSetAttachmentOutput

func (*DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutputWithContext

func (i *DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentOutput

type DhcpOptionsSetAttachmentArgs

type DhcpOptionsSetAttachmentArgs struct {
	// The ID of the DHCP options set.
	DhcpOptionsSetId pulumi.StringInput
	// Specifies whether to precheck this request only. Default values: `false`. Valid values:
	DryRun pulumi.BoolPtrInput
	// The ID of the VPC network that is to be associated with the DHCP options set..
	VpcId pulumi.StringInput
}

The set of arguments for constructing a DhcpOptionsSetAttachment resource.

func (DhcpOptionsSetAttachmentArgs) ElementType

type DhcpOptionsSetAttachmentArray

type DhcpOptionsSetAttachmentArray []DhcpOptionsSetAttachmentInput

func (DhcpOptionsSetAttachmentArray) ElementType

func (DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutput

func (i DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutput() DhcpOptionsSetAttachmentArrayOutput

func (DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutputWithContext

func (i DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentArrayOutput

type DhcpOptionsSetAttachmentArrayInput

type DhcpOptionsSetAttachmentArrayInput interface {
	pulumi.Input

	ToDhcpOptionsSetAttachmentArrayOutput() DhcpOptionsSetAttachmentArrayOutput
	ToDhcpOptionsSetAttachmentArrayOutputWithContext(context.Context) DhcpOptionsSetAttachmentArrayOutput
}

DhcpOptionsSetAttachmentArrayInput is an input type that accepts DhcpOptionsSetAttachmentArray and DhcpOptionsSetAttachmentArrayOutput values. You can construct a concrete instance of `DhcpOptionsSetAttachmentArrayInput` via:

DhcpOptionsSetAttachmentArray{ DhcpOptionsSetAttachmentArgs{...} }

type DhcpOptionsSetAttachmentArrayOutput

type DhcpOptionsSetAttachmentArrayOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAttachmentArrayOutput) ElementType

func (DhcpOptionsSetAttachmentArrayOutput) Index

func (DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutput

func (o DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutput() DhcpOptionsSetAttachmentArrayOutput

func (DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutputWithContext

func (o DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentArrayOutput

type DhcpOptionsSetAttachmentInput

type DhcpOptionsSetAttachmentInput interface {
	pulumi.Input

	ToDhcpOptionsSetAttachmentOutput() DhcpOptionsSetAttachmentOutput
	ToDhcpOptionsSetAttachmentOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentOutput
}

type DhcpOptionsSetAttachmentMap

type DhcpOptionsSetAttachmentMap map[string]DhcpOptionsSetAttachmentInput

func (DhcpOptionsSetAttachmentMap) ElementType

func (DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutput

func (i DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutput() DhcpOptionsSetAttachmentMapOutput

func (DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutputWithContext

func (i DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentMapOutput

type DhcpOptionsSetAttachmentMapInput

type DhcpOptionsSetAttachmentMapInput interface {
	pulumi.Input

	ToDhcpOptionsSetAttachmentMapOutput() DhcpOptionsSetAttachmentMapOutput
	ToDhcpOptionsSetAttachmentMapOutputWithContext(context.Context) DhcpOptionsSetAttachmentMapOutput
}

DhcpOptionsSetAttachmentMapInput is an input type that accepts DhcpOptionsSetAttachmentMap and DhcpOptionsSetAttachmentMapOutput values. You can construct a concrete instance of `DhcpOptionsSetAttachmentMapInput` via:

DhcpOptionsSetAttachmentMap{ "key": DhcpOptionsSetAttachmentArgs{...} }

type DhcpOptionsSetAttachmentMapOutput

type DhcpOptionsSetAttachmentMapOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAttachmentMapOutput) ElementType

func (DhcpOptionsSetAttachmentMapOutput) MapIndex

func (DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutput

func (o DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutput() DhcpOptionsSetAttachmentMapOutput

func (DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutputWithContext

func (o DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentMapOutput

type DhcpOptionsSetAttachmentOutput

type DhcpOptionsSetAttachmentOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAttachmentOutput) DhcpOptionsSetId

func (o DhcpOptionsSetAttachmentOutput) DhcpOptionsSetId() pulumi.StringOutput

The ID of the DHCP options set.

func (DhcpOptionsSetAttachmentOutput) DryRun

Specifies whether to precheck this request only. Default values: `false`. Valid values:

func (DhcpOptionsSetAttachmentOutput) ElementType

func (DhcpOptionsSetAttachmentOutput) Status

func (DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutput

func (o DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutput() DhcpOptionsSetAttachmentOutput

func (DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutputWithContext

func (o DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutputWithContext(ctx context.Context) DhcpOptionsSetAttachmentOutput

func (DhcpOptionsSetAttachmentOutput) VpcId

The ID of the VPC network that is to be associated with the DHCP options set..

type DhcpOptionsSetAttachmentState

type DhcpOptionsSetAttachmentState struct {
	// The ID of the DHCP options set.
	DhcpOptionsSetId pulumi.StringPtrInput
	// Specifies whether to precheck this request only. Default values: `false`. Valid values:
	DryRun pulumi.BoolPtrInput
	Status pulumi.StringPtrInput
	// The ID of the VPC network that is to be associated with the DHCP options set..
	VpcId pulumi.StringPtrInput
}

func (DhcpOptionsSetAttachmentState) ElementType

type DhcpOptionsSetInput

type DhcpOptionsSetInput interface {
	pulumi.Input

	ToDhcpOptionsSetOutput() DhcpOptionsSetOutput
	ToDhcpOptionsSetOutputWithContext(ctx context.Context) DhcpOptionsSetOutput
}

type DhcpOptionsSetMap

type DhcpOptionsSetMap map[string]DhcpOptionsSetInput

func (DhcpOptionsSetMap) ElementType

func (DhcpOptionsSetMap) ElementType() reflect.Type

func (DhcpOptionsSetMap) ToDhcpOptionsSetMapOutput

func (i DhcpOptionsSetMap) ToDhcpOptionsSetMapOutput() DhcpOptionsSetMapOutput

func (DhcpOptionsSetMap) ToDhcpOptionsSetMapOutputWithContext

func (i DhcpOptionsSetMap) ToDhcpOptionsSetMapOutputWithContext(ctx context.Context) DhcpOptionsSetMapOutput

type DhcpOptionsSetMapInput

type DhcpOptionsSetMapInput interface {
	pulumi.Input

	ToDhcpOptionsSetMapOutput() DhcpOptionsSetMapOutput
	ToDhcpOptionsSetMapOutputWithContext(context.Context) DhcpOptionsSetMapOutput
}

DhcpOptionsSetMapInput is an input type that accepts DhcpOptionsSetMap and DhcpOptionsSetMapOutput values. You can construct a concrete instance of `DhcpOptionsSetMapInput` via:

DhcpOptionsSetMap{ "key": DhcpOptionsSetArgs{...} }

type DhcpOptionsSetMapOutput

type DhcpOptionsSetMapOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetMapOutput) ElementType

func (DhcpOptionsSetMapOutput) ElementType() reflect.Type

func (DhcpOptionsSetMapOutput) MapIndex

func (DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutput

func (o DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutput() DhcpOptionsSetMapOutput

func (DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutputWithContext

func (o DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutputWithContext(ctx context.Context) DhcpOptionsSetMapOutput

type DhcpOptionsSetOutput

type DhcpOptionsSetOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetOutput) AssociateVpcs deprecated

AssociateVpcs. Number of VPCs that can be associated with each DHCP options set is 10. Field `associateVpcs` has been deprecated from provider version 1.153.0. It will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.

Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.

func (DhcpOptionsSetOutput) DhcpOptionsSetDescription

func (o DhcpOptionsSetOutput) DhcpOptionsSetDescription() pulumi.StringPtrOutput

The description of the DHCP options set. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.

func (DhcpOptionsSetOutput) DhcpOptionsSetName

func (o DhcpOptionsSetOutput) DhcpOptionsSetName() pulumi.StringPtrOutput

The name of the DHCP options set. The name must be 2 to 128 characters in length and can contain letters, Chinese characters, digits, underscores (_), and hyphens (-). It must start with a letter or a Chinese character.

func (DhcpOptionsSetOutput) DomainName

The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.

func (DhcpOptionsSetOutput) DomainNameServers

func (o DhcpOptionsSetOutput) DomainNameServers() pulumi.StringPtrOutput

The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP addresses must be separated with commas (,).Before you specify any DNS server IP address, all ECS instances in the associated VPC network use the IP addresses of the Alibaba Cloud DNS servers, which are `100.100.2.136` and `100.100.2.138`.

func (DhcpOptionsSetOutput) DryRun

Specifies whether to precheck this request only. Valid values: `true` or `false`.

func (DhcpOptionsSetOutput) ElementType

func (DhcpOptionsSetOutput) ElementType() reflect.Type

func (DhcpOptionsSetOutput) OwnerId

The ID of the account to which the DHCP options set belongs.

func (DhcpOptionsSetOutput) Status

The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.

func (DhcpOptionsSetOutput) ToDhcpOptionsSetOutput

func (o DhcpOptionsSetOutput) ToDhcpOptionsSetOutput() DhcpOptionsSetOutput

func (DhcpOptionsSetOutput) ToDhcpOptionsSetOutputWithContext

func (o DhcpOptionsSetOutput) ToDhcpOptionsSetOutputWithContext(ctx context.Context) DhcpOptionsSetOutput

type DhcpOptionsSetState

type DhcpOptionsSetState struct {
	// AssociateVpcs. Number of VPCs that can be associated with each DHCP options set is 10. Field `associateVpcs` has been deprecated from provider version 1.153.0. It will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.
	//
	// Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_dhcp_options_set_attachment' to attach DhcpOptionsSet and Vpc.
	AssociateVpcs DhcpOptionsSetAssociateVpcArrayInput
	// The description of the DHCP options set. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.
	DhcpOptionsSetDescription pulumi.StringPtrInput
	// The name of the DHCP options set. The name must be 2 to 128 characters in length and can contain letters, Chinese characters, digits, underscores (_), and hyphens (-). It must start with a letter or a Chinese character.
	DhcpOptionsSetName pulumi.StringPtrInput
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.
	DomainName pulumi.StringPtrInput
	// The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP addresses must be separated with commas (,).Before you specify any DNS server IP address, all ECS instances in the associated VPC network use the IP addresses of the Alibaba Cloud DNS servers, which are `100.100.2.136` and `100.100.2.138`.
	DomainNameServers pulumi.StringPtrInput
	// Specifies whether to precheck this request only. Valid values: `true` or `false`.
	DryRun pulumi.BoolPtrInput
	// The ID of the account to which the DHCP options set belongs.
	OwnerId pulumi.StringPtrInput
	// The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
	Status pulumi.StringPtrInput
}

func (DhcpOptionsSetState) ElementType

func (DhcpOptionsSetState) ElementType() reflect.Type

type FlowLog

type FlowLog struct {
	pulumi.CustomResourceState

	// The Description of the VPC Flow Log.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Name of the VPC Flow Log.
	FlowLogName pulumi.StringPtrOutput `pulumi:"flowLogName"`
	// The name of the logstore.
	LogStoreName pulumi.StringOutput `pulumi:"logStoreName"`
	// The name of the project.
	ProjectName pulumi.StringOutput `pulumi:"projectName"`
	// The ID of the resource.
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The type of the resource to capture traffic. Valid values `NetworkInterface`, `VPC`, and `VSwitch`.
	ResourceType pulumi.StringOutput `pulumi:"resourceType"`
	// The status of the VPC Flow Log. Valid values `Active` and `Inactive`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The type of traffic collected. Valid values `All`, `Drop` and `Allow`.
	TrafficType pulumi.StringOutput `pulumi:"trafficType"`
}

Provides a VPC Flow Log resource.

For information about VPC Flow log and how to use it, see [Flow log overview](https://www.alibabacloud.com/help/doc-detail/127150.htm).

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

> **NOTE:** While it uses `vpc.FlowLog` to build a vpc flow log resource, it will be active by default.

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terratest_vpc_flow_log"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		logStoreName := "vpc-flow-log-for-vpc"
		if param := cfg.Get("logStoreName"); param != "" {
			logStoreName = param
		}
		projectName := "vpc-flow-log-for-vpc"
		if param := cfg.Get("projectName"); param != "" {
			projectName = param
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("192.168.0.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewFlowLog(ctx, "defaultFlowLog", &vpc.FlowLogArgs{
			ResourceId:   defaultNetwork.ID(),
			ResourceType: pulumi.String("VPC"),
			TrafficType:  pulumi.String("All"),
			LogStoreName: pulumi.String(logStoreName),
			ProjectName:  pulumi.String(projectName),
			FlowLogName:  pulumi.String(name),
			Status:       pulumi.String("Active"),
		}, pulumi.DependsOn([]pulumi.Resource{
			pulumi.Resource("alicloud_vpc.default"),
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Flow Log can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/flowLog:FlowLog example fl-abc123456

```

func GetFlowLog

func GetFlowLog(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FlowLogState, opts ...pulumi.ResourceOption) (*FlowLog, error)

GetFlowLog gets an existing FlowLog 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 NewFlowLog

func NewFlowLog(ctx *pulumi.Context,
	name string, args *FlowLogArgs, opts ...pulumi.ResourceOption) (*FlowLog, error)

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

func (*FlowLog) ElementType

func (*FlowLog) ElementType() reflect.Type

func (*FlowLog) ToFlowLogOutput

func (i *FlowLog) ToFlowLogOutput() FlowLogOutput

func (*FlowLog) ToFlowLogOutputWithContext

func (i *FlowLog) ToFlowLogOutputWithContext(ctx context.Context) FlowLogOutput

type FlowLogArgs

type FlowLogArgs struct {
	// The Description of the VPC Flow Log.
	Description pulumi.StringPtrInput
	// The Name of the VPC Flow Log.
	FlowLogName pulumi.StringPtrInput
	// The name of the logstore.
	LogStoreName pulumi.StringInput
	// The name of the project.
	ProjectName pulumi.StringInput
	// The ID of the resource.
	ResourceId pulumi.StringInput
	// The type of the resource to capture traffic. Valid values `NetworkInterface`, `VPC`, and `VSwitch`.
	ResourceType pulumi.StringInput
	// The status of the VPC Flow Log. Valid values `Active` and `Inactive`.
	Status pulumi.StringPtrInput
	// The type of traffic collected. Valid values `All`, `Drop` and `Allow`.
	TrafficType pulumi.StringInput
}

The set of arguments for constructing a FlowLog resource.

func (FlowLogArgs) ElementType

func (FlowLogArgs) ElementType() reflect.Type

type FlowLogArray

type FlowLogArray []FlowLogInput

func (FlowLogArray) ElementType

func (FlowLogArray) ElementType() reflect.Type

func (FlowLogArray) ToFlowLogArrayOutput

func (i FlowLogArray) ToFlowLogArrayOutput() FlowLogArrayOutput

func (FlowLogArray) ToFlowLogArrayOutputWithContext

func (i FlowLogArray) ToFlowLogArrayOutputWithContext(ctx context.Context) FlowLogArrayOutput

type FlowLogArrayInput

type FlowLogArrayInput interface {
	pulumi.Input

	ToFlowLogArrayOutput() FlowLogArrayOutput
	ToFlowLogArrayOutputWithContext(context.Context) FlowLogArrayOutput
}

FlowLogArrayInput is an input type that accepts FlowLogArray and FlowLogArrayOutput values. You can construct a concrete instance of `FlowLogArrayInput` via:

FlowLogArray{ FlowLogArgs{...} }

type FlowLogArrayOutput

type FlowLogArrayOutput struct{ *pulumi.OutputState }

func (FlowLogArrayOutput) ElementType

func (FlowLogArrayOutput) ElementType() reflect.Type

func (FlowLogArrayOutput) Index

func (FlowLogArrayOutput) ToFlowLogArrayOutput

func (o FlowLogArrayOutput) ToFlowLogArrayOutput() FlowLogArrayOutput

func (FlowLogArrayOutput) ToFlowLogArrayOutputWithContext

func (o FlowLogArrayOutput) ToFlowLogArrayOutputWithContext(ctx context.Context) FlowLogArrayOutput

type FlowLogInput

type FlowLogInput interface {
	pulumi.Input

	ToFlowLogOutput() FlowLogOutput
	ToFlowLogOutputWithContext(ctx context.Context) FlowLogOutput
}

type FlowLogMap

type FlowLogMap map[string]FlowLogInput

func (FlowLogMap) ElementType

func (FlowLogMap) ElementType() reflect.Type

func (FlowLogMap) ToFlowLogMapOutput

func (i FlowLogMap) ToFlowLogMapOutput() FlowLogMapOutput

func (FlowLogMap) ToFlowLogMapOutputWithContext

func (i FlowLogMap) ToFlowLogMapOutputWithContext(ctx context.Context) FlowLogMapOutput

type FlowLogMapInput

type FlowLogMapInput interface {
	pulumi.Input

	ToFlowLogMapOutput() FlowLogMapOutput
	ToFlowLogMapOutputWithContext(context.Context) FlowLogMapOutput
}

FlowLogMapInput is an input type that accepts FlowLogMap and FlowLogMapOutput values. You can construct a concrete instance of `FlowLogMapInput` via:

FlowLogMap{ "key": FlowLogArgs{...} }

type FlowLogMapOutput

type FlowLogMapOutput struct{ *pulumi.OutputState }

func (FlowLogMapOutput) ElementType

func (FlowLogMapOutput) ElementType() reflect.Type

func (FlowLogMapOutput) MapIndex

func (FlowLogMapOutput) ToFlowLogMapOutput

func (o FlowLogMapOutput) ToFlowLogMapOutput() FlowLogMapOutput

func (FlowLogMapOutput) ToFlowLogMapOutputWithContext

func (o FlowLogMapOutput) ToFlowLogMapOutputWithContext(ctx context.Context) FlowLogMapOutput

type FlowLogOutput

type FlowLogOutput struct{ *pulumi.OutputState }

func (FlowLogOutput) Description

func (o FlowLogOutput) Description() pulumi.StringPtrOutput

The Description of the VPC Flow Log.

func (FlowLogOutput) ElementType

func (FlowLogOutput) ElementType() reflect.Type

func (FlowLogOutput) FlowLogName

func (o FlowLogOutput) FlowLogName() pulumi.StringPtrOutput

The Name of the VPC Flow Log.

func (FlowLogOutput) LogStoreName

func (o FlowLogOutput) LogStoreName() pulumi.StringOutput

The name of the logstore.

func (FlowLogOutput) ProjectName

func (o FlowLogOutput) ProjectName() pulumi.StringOutput

The name of the project.

func (FlowLogOutput) ResourceId

func (o FlowLogOutput) ResourceId() pulumi.StringOutput

The ID of the resource.

func (FlowLogOutput) ResourceType

func (o FlowLogOutput) ResourceType() pulumi.StringOutput

The type of the resource to capture traffic. Valid values `NetworkInterface`, `VPC`, and `VSwitch`.

func (FlowLogOutput) Status

func (o FlowLogOutput) Status() pulumi.StringOutput

The status of the VPC Flow Log. Valid values `Active` and `Inactive`.

func (FlowLogOutput) ToFlowLogOutput

func (o FlowLogOutput) ToFlowLogOutput() FlowLogOutput

func (FlowLogOutput) ToFlowLogOutputWithContext

func (o FlowLogOutput) ToFlowLogOutputWithContext(ctx context.Context) FlowLogOutput

func (FlowLogOutput) TrafficType

func (o FlowLogOutput) TrafficType() pulumi.StringOutput

The type of traffic collected. Valid values `All`, `Drop` and `Allow`.

type FlowLogState

type FlowLogState struct {
	// The Description of the VPC Flow Log.
	Description pulumi.StringPtrInput
	// The Name of the VPC Flow Log.
	FlowLogName pulumi.StringPtrInput
	// The name of the logstore.
	LogStoreName pulumi.StringPtrInput
	// The name of the project.
	ProjectName pulumi.StringPtrInput
	// The ID of the resource.
	ResourceId pulumi.StringPtrInput
	// The type of the resource to capture traffic. Valid values `NetworkInterface`, `VPC`, and `VSwitch`.
	ResourceType pulumi.StringPtrInput
	// The status of the VPC Flow Log. Valid values `Active` and `Inactive`.
	Status pulumi.StringPtrInput
	// The type of traffic collected. Valid values `All`, `Drop` and `Allow`.
	TrafficType pulumi.StringPtrInput
}

func (FlowLogState) ElementType

func (FlowLogState) ElementType() reflect.Type

type ForwardEntry

type ForwardEntry struct {
	pulumi.CustomResourceState

	// The external ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.
	ExternalIp pulumi.StringOutput `pulumi:"externalIp"`
	// The external port, valid value is 1~65535|any.
	ExternalPort pulumi.StringOutput `pulumi:"externalPort"`
	// The id of the forward entry on the server.
	ForwardEntryId pulumi.StringOutput `pulumi:"forwardEntryId"`
	// The name of forward entry.
	ForwardEntryName pulumi.StringOutput `pulumi:"forwardEntryName"`
	// The value can get from `vpc.NatGateway` Attributes "forwardTableIds".
	ForwardTableId pulumi.StringOutput `pulumi:"forwardTableId"`
	// The internal ip, must a private ip.
	InternalIp pulumi.StringOutput `pulumi:"internalIp"`
	// The internal port, valid value is 1~65535|any.
	InternalPort pulumi.StringOutput `pulumi:"internalPort"`
	// The ip protocol, valid value is tcp|udp|any.
	IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"`
	// Field `name` has been deprecated from provider version 1.119.1. New field `forwardEntryName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies whether to remove limits on the port range. Default value is `false`.
	PortBreak pulumi.BoolPtrOutput `pulumi:"portBreak"`
	// (Available in 1.119.1+) The status of forward entry.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a forward resource.

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "forward-entry-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "defaultNatGateway", &vpc.NatGatewayArgs{
			VpcId:         defaultNetwork.ID(),
			Specification: pulumi.String("Small"),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "defaultEipAddress", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "defaultEipAssociation", &ecs.EipAssociationArgs{
			AllocationId: defaultEipAddress.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewForwardEntry(ctx, "defaultForwardEntry", &vpc.ForwardEntryArgs{
			ForwardTableId: defaultNatGateway.ForwardTableIds,
			ExternalIp:     defaultEipAddress.IpAddress,
			ExternalPort:   pulumi.String("80"),
			IpProtocol:     pulumi.String("tcp"),
			InternalIp:     pulumi.String("172.16.0.3"),
			InternalPort:   pulumi.String("8080"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Forward Entry can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/forwardEntry:ForwardEntry foo ftb-1aece3:fwd-232ce2

```

func GetForwardEntry

func GetForwardEntry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ForwardEntryState, opts ...pulumi.ResourceOption) (*ForwardEntry, error)

GetForwardEntry gets an existing ForwardEntry 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 NewForwardEntry

func NewForwardEntry(ctx *pulumi.Context,
	name string, args *ForwardEntryArgs, opts ...pulumi.ResourceOption) (*ForwardEntry, error)

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

func (*ForwardEntry) ElementType

func (*ForwardEntry) ElementType() reflect.Type

func (*ForwardEntry) ToForwardEntryOutput

func (i *ForwardEntry) ToForwardEntryOutput() ForwardEntryOutput

func (*ForwardEntry) ToForwardEntryOutputWithContext

func (i *ForwardEntry) ToForwardEntryOutputWithContext(ctx context.Context) ForwardEntryOutput

type ForwardEntryArgs

type ForwardEntryArgs struct {
	// The external ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.
	ExternalIp pulumi.StringInput
	// The external port, valid value is 1~65535|any.
	ExternalPort pulumi.StringInput
	// The name of forward entry.
	ForwardEntryName pulumi.StringPtrInput
	// The value can get from `vpc.NatGateway` Attributes "forwardTableIds".
	ForwardTableId pulumi.StringInput
	// The internal ip, must a private ip.
	InternalIp pulumi.StringInput
	// The internal port, valid value is 1~65535|any.
	InternalPort pulumi.StringInput
	// The ip protocol, valid value is tcp|udp|any.
	IpProtocol pulumi.StringInput
	// Field `name` has been deprecated from provider version 1.119.1. New field `forwardEntryName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
	Name pulumi.StringPtrInput
	// Specifies whether to remove limits on the port range. Default value is `false`.
	PortBreak pulumi.BoolPtrInput
}

The set of arguments for constructing a ForwardEntry resource.

func (ForwardEntryArgs) ElementType

func (ForwardEntryArgs) ElementType() reflect.Type

type ForwardEntryArray

type ForwardEntryArray []ForwardEntryInput

func (ForwardEntryArray) ElementType

func (ForwardEntryArray) ElementType() reflect.Type

func (ForwardEntryArray) ToForwardEntryArrayOutput

func (i ForwardEntryArray) ToForwardEntryArrayOutput() ForwardEntryArrayOutput

func (ForwardEntryArray) ToForwardEntryArrayOutputWithContext

func (i ForwardEntryArray) ToForwardEntryArrayOutputWithContext(ctx context.Context) ForwardEntryArrayOutput

type ForwardEntryArrayInput

type ForwardEntryArrayInput interface {
	pulumi.Input

	ToForwardEntryArrayOutput() ForwardEntryArrayOutput
	ToForwardEntryArrayOutputWithContext(context.Context) ForwardEntryArrayOutput
}

ForwardEntryArrayInput is an input type that accepts ForwardEntryArray and ForwardEntryArrayOutput values. You can construct a concrete instance of `ForwardEntryArrayInput` via:

ForwardEntryArray{ ForwardEntryArgs{...} }

type ForwardEntryArrayOutput

type ForwardEntryArrayOutput struct{ *pulumi.OutputState }

func (ForwardEntryArrayOutput) ElementType

func (ForwardEntryArrayOutput) ElementType() reflect.Type

func (ForwardEntryArrayOutput) Index

func (ForwardEntryArrayOutput) ToForwardEntryArrayOutput

func (o ForwardEntryArrayOutput) ToForwardEntryArrayOutput() ForwardEntryArrayOutput

func (ForwardEntryArrayOutput) ToForwardEntryArrayOutputWithContext

func (o ForwardEntryArrayOutput) ToForwardEntryArrayOutputWithContext(ctx context.Context) ForwardEntryArrayOutput

type ForwardEntryInput

type ForwardEntryInput interface {
	pulumi.Input

	ToForwardEntryOutput() ForwardEntryOutput
	ToForwardEntryOutputWithContext(ctx context.Context) ForwardEntryOutput
}

type ForwardEntryMap

type ForwardEntryMap map[string]ForwardEntryInput

func (ForwardEntryMap) ElementType

func (ForwardEntryMap) ElementType() reflect.Type

func (ForwardEntryMap) ToForwardEntryMapOutput

func (i ForwardEntryMap) ToForwardEntryMapOutput() ForwardEntryMapOutput

func (ForwardEntryMap) ToForwardEntryMapOutputWithContext

func (i ForwardEntryMap) ToForwardEntryMapOutputWithContext(ctx context.Context) ForwardEntryMapOutput

type ForwardEntryMapInput

type ForwardEntryMapInput interface {
	pulumi.Input

	ToForwardEntryMapOutput() ForwardEntryMapOutput
	ToForwardEntryMapOutputWithContext(context.Context) ForwardEntryMapOutput
}

ForwardEntryMapInput is an input type that accepts ForwardEntryMap and ForwardEntryMapOutput values. You can construct a concrete instance of `ForwardEntryMapInput` via:

ForwardEntryMap{ "key": ForwardEntryArgs{...} }

type ForwardEntryMapOutput

type ForwardEntryMapOutput struct{ *pulumi.OutputState }

func (ForwardEntryMapOutput) ElementType

func (ForwardEntryMapOutput) ElementType() reflect.Type

func (ForwardEntryMapOutput) MapIndex

func (ForwardEntryMapOutput) ToForwardEntryMapOutput

func (o ForwardEntryMapOutput) ToForwardEntryMapOutput() ForwardEntryMapOutput

func (ForwardEntryMapOutput) ToForwardEntryMapOutputWithContext

func (o ForwardEntryMapOutput) ToForwardEntryMapOutputWithContext(ctx context.Context) ForwardEntryMapOutput

type ForwardEntryOutput

type ForwardEntryOutput struct{ *pulumi.OutputState }

func (ForwardEntryOutput) ElementType

func (ForwardEntryOutput) ElementType() reflect.Type

func (ForwardEntryOutput) ExternalIp

func (o ForwardEntryOutput) ExternalIp() pulumi.StringOutput

The external ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.

func (ForwardEntryOutput) ExternalPort

func (o ForwardEntryOutput) ExternalPort() pulumi.StringOutput

The external port, valid value is 1~65535|any.

func (ForwardEntryOutput) ForwardEntryId

func (o ForwardEntryOutput) ForwardEntryId() pulumi.StringOutput

The id of the forward entry on the server.

func (ForwardEntryOutput) ForwardEntryName

func (o ForwardEntryOutput) ForwardEntryName() pulumi.StringOutput

The name of forward entry.

func (ForwardEntryOutput) ForwardTableId

func (o ForwardEntryOutput) ForwardTableId() pulumi.StringOutput

The value can get from `vpc.NatGateway` Attributes "forwardTableIds".

func (ForwardEntryOutput) InternalIp

func (o ForwardEntryOutput) InternalIp() pulumi.StringOutput

The internal ip, must a private ip.

func (ForwardEntryOutput) InternalPort

func (o ForwardEntryOutput) InternalPort() pulumi.StringOutput

The internal port, valid value is 1~65535|any.

func (ForwardEntryOutput) IpProtocol

func (o ForwardEntryOutput) IpProtocol() pulumi.StringOutput

The ip protocol, valid value is tcp|udp|any.

func (ForwardEntryOutput) Name deprecated

Field `name` has been deprecated from provider version 1.119.1. New field `forwardEntryName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.

func (ForwardEntryOutput) PortBreak

func (o ForwardEntryOutput) PortBreak() pulumi.BoolPtrOutput

Specifies whether to remove limits on the port range. Default value is `false`.

func (ForwardEntryOutput) Status

(Available in 1.119.1+) The status of forward entry.

func (ForwardEntryOutput) ToForwardEntryOutput

func (o ForwardEntryOutput) ToForwardEntryOutput() ForwardEntryOutput

func (ForwardEntryOutput) ToForwardEntryOutputWithContext

func (o ForwardEntryOutput) ToForwardEntryOutputWithContext(ctx context.Context) ForwardEntryOutput

type ForwardEntryState

type ForwardEntryState struct {
	// The external ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.
	ExternalIp pulumi.StringPtrInput
	// The external port, valid value is 1~65535|any.
	ExternalPort pulumi.StringPtrInput
	// The id of the forward entry on the server.
	ForwardEntryId pulumi.StringPtrInput
	// The name of forward entry.
	ForwardEntryName pulumi.StringPtrInput
	// The value can get from `vpc.NatGateway` Attributes "forwardTableIds".
	ForwardTableId pulumi.StringPtrInput
	// The internal ip, must a private ip.
	InternalIp pulumi.StringPtrInput
	// The internal port, valid value is 1~65535|any.
	InternalPort pulumi.StringPtrInput
	// The ip protocol, valid value is tcp|udp|any.
	IpProtocol pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.119.1. New field `forwardEntryName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'forward_entry_name' instead.
	Name pulumi.StringPtrInput
	// Specifies whether to remove limits on the port range. Default value is `false`.
	PortBreak pulumi.BoolPtrInput
	// (Available in 1.119.1+) The status of forward entry.
	Status pulumi.StringPtrInput
}

func (ForwardEntryState) ElementType

func (ForwardEntryState) ElementType() reflect.Type

type GetBgpGroupsArgs

type GetBgpGroupsArgs struct {
	// A list of Bgp Group IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Bgp Group name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the VBR.
	RouterId *string `pulumi:"routerId"`
	// The status of the resource.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getBgpGroups.

type GetBgpGroupsGroup

type GetBgpGroupsGroup struct {
	// The key used by the BGP group.
	AuthKey string `pulumi:"authKey"`
	// The name of the BGP group.
	BgpGroupName string `pulumi:"bgpGroupName"`
	// Description of the BGP group.
	Description string `pulumi:"description"`
	// The hold time to wait for the incoming BGP message. If no message has been passed in after the hold time, the BGP neighbor is considered disconnected.
	Hold string `pulumi:"hold"`
	// The ID of the Bgp Group.
	Id string `pulumi:"id"`
	// IP version.
	IpVersion string `pulumi:"ipVersion"`
	// Whether the AS number is false.
	IsFakeAsn bool `pulumi:"isFakeAsn"`
	// The keepalive time.
	Keepalive string `pulumi:"keepalive"`
	// The local AS number.
	LocalAsn int `pulumi:"localAsn"`
	// The autonomous system (AS) number of the BGP peer.
	PeerAsn int `pulumi:"peerAsn"`
	// Routing limits.
	RouteLimit string `pulumi:"routeLimit"`
	// The ID of the VBR.
	RouterId string `pulumi:"routerId"`
	// The status of the resource.
	Status string `pulumi:"status"`
}

type GetBgpGroupsGroupArgs

type GetBgpGroupsGroupArgs struct {
	// The key used by the BGP group.
	AuthKey pulumi.StringInput `pulumi:"authKey"`
	// The name of the BGP group.
	BgpGroupName pulumi.StringInput `pulumi:"bgpGroupName"`
	// Description of the BGP group.
	Description pulumi.StringInput `pulumi:"description"`
	// The hold time to wait for the incoming BGP message. If no message has been passed in after the hold time, the BGP neighbor is considered disconnected.
	Hold pulumi.StringInput `pulumi:"hold"`
	// The ID of the Bgp Group.
	Id pulumi.StringInput `pulumi:"id"`
	// IP version.
	IpVersion pulumi.StringInput `pulumi:"ipVersion"`
	// Whether the AS number is false.
	IsFakeAsn pulumi.BoolInput `pulumi:"isFakeAsn"`
	// The keepalive time.
	Keepalive pulumi.StringInput `pulumi:"keepalive"`
	// The local AS number.
	LocalAsn pulumi.IntInput `pulumi:"localAsn"`
	// The autonomous system (AS) number of the BGP peer.
	PeerAsn pulumi.IntInput `pulumi:"peerAsn"`
	// Routing limits.
	RouteLimit pulumi.StringInput `pulumi:"routeLimit"`
	// The ID of the VBR.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetBgpGroupsGroupArgs) ElementType

func (GetBgpGroupsGroupArgs) ElementType() reflect.Type

func (GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutput

func (i GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutput() GetBgpGroupsGroupOutput

func (GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutputWithContext

func (i GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutputWithContext(ctx context.Context) GetBgpGroupsGroupOutput

type GetBgpGroupsGroupArray

type GetBgpGroupsGroupArray []GetBgpGroupsGroupInput

func (GetBgpGroupsGroupArray) ElementType

func (GetBgpGroupsGroupArray) ElementType() reflect.Type

func (GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutput

func (i GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutput() GetBgpGroupsGroupArrayOutput

func (GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutputWithContext

func (i GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutputWithContext(ctx context.Context) GetBgpGroupsGroupArrayOutput

type GetBgpGroupsGroupArrayInput

type GetBgpGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetBgpGroupsGroupArrayOutput() GetBgpGroupsGroupArrayOutput
	ToGetBgpGroupsGroupArrayOutputWithContext(context.Context) GetBgpGroupsGroupArrayOutput
}

GetBgpGroupsGroupArrayInput is an input type that accepts GetBgpGroupsGroupArray and GetBgpGroupsGroupArrayOutput values. You can construct a concrete instance of `GetBgpGroupsGroupArrayInput` via:

GetBgpGroupsGroupArray{ GetBgpGroupsGroupArgs{...} }

type GetBgpGroupsGroupArrayOutput

type GetBgpGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetBgpGroupsGroupArrayOutput) ElementType

func (GetBgpGroupsGroupArrayOutput) Index

func (GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutput

func (o GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutput() GetBgpGroupsGroupArrayOutput

func (GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutputWithContext

func (o GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutputWithContext(ctx context.Context) GetBgpGroupsGroupArrayOutput

type GetBgpGroupsGroupInput

type GetBgpGroupsGroupInput interface {
	pulumi.Input

	ToGetBgpGroupsGroupOutput() GetBgpGroupsGroupOutput
	ToGetBgpGroupsGroupOutputWithContext(context.Context) GetBgpGroupsGroupOutput
}

GetBgpGroupsGroupInput is an input type that accepts GetBgpGroupsGroupArgs and GetBgpGroupsGroupOutput values. You can construct a concrete instance of `GetBgpGroupsGroupInput` via:

GetBgpGroupsGroupArgs{...}

type GetBgpGroupsGroupOutput

type GetBgpGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetBgpGroupsGroupOutput) AuthKey

The key used by the BGP group.

func (GetBgpGroupsGroupOutput) BgpGroupName

func (o GetBgpGroupsGroupOutput) BgpGroupName() pulumi.StringOutput

The name of the BGP group.

func (GetBgpGroupsGroupOutput) Description

Description of the BGP group.

func (GetBgpGroupsGroupOutput) ElementType

func (GetBgpGroupsGroupOutput) ElementType() reflect.Type

func (GetBgpGroupsGroupOutput) Hold

The hold time to wait for the incoming BGP message. If no message has been passed in after the hold time, the BGP neighbor is considered disconnected.

func (GetBgpGroupsGroupOutput) Id

The ID of the Bgp Group.

func (GetBgpGroupsGroupOutput) IpVersion

IP version.

func (GetBgpGroupsGroupOutput) IsFakeAsn

Whether the AS number is false.

func (GetBgpGroupsGroupOutput) Keepalive

The keepalive time.

func (GetBgpGroupsGroupOutput) LocalAsn

The local AS number.

func (GetBgpGroupsGroupOutput) PeerAsn

The autonomous system (AS) number of the BGP peer.

func (GetBgpGroupsGroupOutput) RouteLimit

Routing limits.

func (GetBgpGroupsGroupOutput) RouterId

The ID of the VBR.

func (GetBgpGroupsGroupOutput) Status

The status of the resource.

func (GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutput

func (o GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutput() GetBgpGroupsGroupOutput

func (GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutputWithContext

func (o GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutputWithContext(ctx context.Context) GetBgpGroupsGroupOutput

type GetBgpGroupsOutputArgs

type GetBgpGroupsOutputArgs struct {
	// A list of Bgp Group IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Bgp Group name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the VBR.
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// The status of the resource.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getBgpGroups.

func (GetBgpGroupsOutputArgs) ElementType

func (GetBgpGroupsOutputArgs) ElementType() reflect.Type

type GetBgpGroupsResult

type GetBgpGroupsResult struct {
	Groups []GetBgpGroupsGroup `pulumi:"groups"`
	// 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"`
	RouterId   *string  `pulumi:"routerId"`
	Status     *string  `pulumi:"status"`
}

A collection of values returned by getBgpGroups.

func GetBgpGroups

func GetBgpGroups(ctx *pulumi.Context, args *GetBgpGroupsArgs, opts ...pulumi.InvokeOption) (*GetBgpGroupsResult, error)

This data source provides the Vpc Bgp Groups of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetBgpGroups(ctx, &vpc.GetBgpGroupsArgs{
			Ids: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpGroupId1", ids.Groups[0].Id)
		nameRegex, err := vpc.GetBgpGroups(ctx, &vpc.GetBgpGroupsArgs{
			NameRegex: pulumi.StringRef("^my-BgpGroup"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpGroupId2", nameRegex.Groups[0].Id)
		return nil
	})
}

```

type GetBgpGroupsResultOutput

type GetBgpGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBgpGroups.

func (GetBgpGroupsResultOutput) ElementType

func (GetBgpGroupsResultOutput) ElementType() reflect.Type

func (GetBgpGroupsResultOutput) Groups

func (GetBgpGroupsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBgpGroupsResultOutput) Ids

func (GetBgpGroupsResultOutput) NameRegex

func (GetBgpGroupsResultOutput) Names

func (GetBgpGroupsResultOutput) OutputFile

func (GetBgpGroupsResultOutput) RouterId

func (GetBgpGroupsResultOutput) Status

func (GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutput

func (o GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutput() GetBgpGroupsResultOutput

func (GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutputWithContext

func (o GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutputWithContext(ctx context.Context) GetBgpGroupsResultOutput

type GetBgpNetworksArgs

type GetBgpNetworksArgs struct {
	// A list of Bgp Network IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The ID of the vRouter.
	RouterId *string `pulumi:"routerId"`
	// The state of the advertised BGP network.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getBgpNetworks.

type GetBgpNetworksNetwork

type GetBgpNetworksNetwork struct {
	// Advertised BGP networks.
	DstCidrBlock string `pulumi:"dstCidrBlock"`
	// The ID of the Bgp Network. The value formats as `<router_id>:<dst_cidr_block>`.
	Id string `pulumi:"id"`
	// The ID of the vRouter.
	RouterId string `pulumi:"routerId"`
	// The state of the advertised BGP network.
	Status string `pulumi:"status"`
}

type GetBgpNetworksNetworkArgs

type GetBgpNetworksNetworkArgs struct {
	// Advertised BGP networks.
	DstCidrBlock pulumi.StringInput `pulumi:"dstCidrBlock"`
	// The ID of the Bgp Network. The value formats as `<router_id>:<dst_cidr_block>`.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the vRouter.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// The state of the advertised BGP network.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetBgpNetworksNetworkArgs) ElementType

func (GetBgpNetworksNetworkArgs) ElementType() reflect.Type

func (GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutput

func (i GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutput() GetBgpNetworksNetworkOutput

func (GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutputWithContext

func (i GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutputWithContext(ctx context.Context) GetBgpNetworksNetworkOutput

type GetBgpNetworksNetworkArray

type GetBgpNetworksNetworkArray []GetBgpNetworksNetworkInput

func (GetBgpNetworksNetworkArray) ElementType

func (GetBgpNetworksNetworkArray) ElementType() reflect.Type

func (GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutput

func (i GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutput() GetBgpNetworksNetworkArrayOutput

func (GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutputWithContext

func (i GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutputWithContext(ctx context.Context) GetBgpNetworksNetworkArrayOutput

type GetBgpNetworksNetworkArrayInput

type GetBgpNetworksNetworkArrayInput interface {
	pulumi.Input

	ToGetBgpNetworksNetworkArrayOutput() GetBgpNetworksNetworkArrayOutput
	ToGetBgpNetworksNetworkArrayOutputWithContext(context.Context) GetBgpNetworksNetworkArrayOutput
}

GetBgpNetworksNetworkArrayInput is an input type that accepts GetBgpNetworksNetworkArray and GetBgpNetworksNetworkArrayOutput values. You can construct a concrete instance of `GetBgpNetworksNetworkArrayInput` via:

GetBgpNetworksNetworkArray{ GetBgpNetworksNetworkArgs{...} }

type GetBgpNetworksNetworkArrayOutput

type GetBgpNetworksNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetBgpNetworksNetworkArrayOutput) ElementType

func (GetBgpNetworksNetworkArrayOutput) Index

func (GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutput

func (o GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutput() GetBgpNetworksNetworkArrayOutput

func (GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutputWithContext

func (o GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutputWithContext(ctx context.Context) GetBgpNetworksNetworkArrayOutput

type GetBgpNetworksNetworkInput

type GetBgpNetworksNetworkInput interface {
	pulumi.Input

	ToGetBgpNetworksNetworkOutput() GetBgpNetworksNetworkOutput
	ToGetBgpNetworksNetworkOutputWithContext(context.Context) GetBgpNetworksNetworkOutput
}

GetBgpNetworksNetworkInput is an input type that accepts GetBgpNetworksNetworkArgs and GetBgpNetworksNetworkOutput values. You can construct a concrete instance of `GetBgpNetworksNetworkInput` via:

GetBgpNetworksNetworkArgs{...}

type GetBgpNetworksNetworkOutput

type GetBgpNetworksNetworkOutput struct{ *pulumi.OutputState }

func (GetBgpNetworksNetworkOutput) DstCidrBlock

Advertised BGP networks.

func (GetBgpNetworksNetworkOutput) ElementType

func (GetBgpNetworksNetworkOutput) Id

The ID of the Bgp Network. The value formats as `<router_id>:<dst_cidr_block>`.

func (GetBgpNetworksNetworkOutput) RouterId

The ID of the vRouter.

func (GetBgpNetworksNetworkOutput) Status

The state of the advertised BGP network.

func (GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutput

func (o GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutput() GetBgpNetworksNetworkOutput

func (GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutputWithContext

func (o GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutputWithContext(ctx context.Context) GetBgpNetworksNetworkOutput

type GetBgpNetworksOutputArgs

type GetBgpNetworksOutputArgs struct {
	// A list of Bgp Network IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The ID of the vRouter.
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// The state of the advertised BGP network.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getBgpNetworks.

func (GetBgpNetworksOutputArgs) ElementType

func (GetBgpNetworksOutputArgs) ElementType() reflect.Type

type GetBgpNetworksResult

type GetBgpNetworksResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string                  `pulumi:"id"`
	Ids        []string                `pulumi:"ids"`
	Networks   []GetBgpNetworksNetwork `pulumi:"networks"`
	OutputFile *string                 `pulumi:"outputFile"`
	RouterId   *string                 `pulumi:"routerId"`
	Status     *string                 `pulumi:"status"`
}

A collection of values returned by getBgpNetworks.

func GetBgpNetworks

func GetBgpNetworks(ctx *pulumi.Context, args *GetBgpNetworksArgs, opts ...pulumi.InvokeOption) (*GetBgpNetworksResult, error)

This data source provides the Vpc Bgp Networks of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetBgpNetworks(ctx, &vpc.GetBgpNetworksArgs{
			Ids: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpNetworkId1", ids.Networks[0].Id)
		routerId, err := vpc.GetBgpNetworks(ctx, &vpc.GetBgpNetworksArgs{
			RouterId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpNetworkId2", routerId.Networks[0].Id)
		status, err := vpc.GetBgpNetworks(ctx, &vpc.GetBgpNetworksArgs{
			Status: pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpNetworkId3", status.Networks[0].Id)
		return nil
	})
}

```

type GetBgpNetworksResultOutput

type GetBgpNetworksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBgpNetworks.

func (GetBgpNetworksResultOutput) ElementType

func (GetBgpNetworksResultOutput) ElementType() reflect.Type

func (GetBgpNetworksResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBgpNetworksResultOutput) Ids

func (GetBgpNetworksResultOutput) Networks

func (GetBgpNetworksResultOutput) OutputFile

func (GetBgpNetworksResultOutput) RouterId

func (GetBgpNetworksResultOutput) Status

func (GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutput

func (o GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutput() GetBgpNetworksResultOutput

func (GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutputWithContext

func (o GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutputWithContext(ctx context.Context) GetBgpNetworksResultOutput

type GetBgpPeersArgs

type GetBgpPeersArgs struct {
	// The ID of the BGP group.
	BgpGroupId *string `pulumi:"bgpGroupId"`
	// A list of Bgp Peer IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The ID of the router.
	RouterId *string `pulumi:"routerId"`
	// The status of the BGP peer.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getBgpPeers.

type GetBgpPeersOutputArgs

type GetBgpPeersOutputArgs struct {
	// The ID of the BGP group.
	BgpGroupId pulumi.StringPtrInput `pulumi:"bgpGroupId"`
	// A list of Bgp Peer IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The ID of the router.
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// The status of the BGP peer.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getBgpPeers.

func (GetBgpPeersOutputArgs) ElementType

func (GetBgpPeersOutputArgs) ElementType() reflect.Type

type GetBgpPeersPeer

type GetBgpPeersPeer struct {
	// The authentication key of the BGP group.
	AuthKey string `pulumi:"authKey"`
	// The BFD hop count.
	BfdMultiHop int `pulumi:"bfdMultiHop"`
	// The ID of the BGP group.
	BgpGroupId string `pulumi:"bgpGroupId"`
	// The ID of the BGP neighbor.
	BgpPeerId string `pulumi:"bgpPeerId"`
	// The name of the BGP neighbor.
	BgpPeerName string `pulumi:"bgpPeerName"`
	// The status of the BGP connection.
	BgpStatus string `pulumi:"bgpStatus"`
	// The description of the BGP group.
	Description string `pulumi:"description"`
	// Indicates whether the Bidirectional Forwarding Detection (BFD) protocol is enabled.
	EnableBfd bool `pulumi:"enableBfd"`
	// The hold time.
	Hold string `pulumi:"hold"`
	// The ID of the Bgp Peer.
	Id string `pulumi:"id"`
	// The IP version.
	IpVersion string `pulumi:"ipVersion"`
	// Indicates whether a fake AS number is used.
	IsFake bool `pulumi:"isFake"`
	// The keepalive time.
	Keepalive string `pulumi:"keepalive"`
	// The AS number of the device on the Alibaba Cloud side.
	LocalAsn string `pulumi:"localAsn"`
	// The autonomous system (AS) number of the BGP peer.
	PeerAsn string `pulumi:"peerAsn"`
	// The IP address of the BGP neighbor.
	PeerIpAddress string `pulumi:"peerIpAddress"`
	// The limit on routes.
	RouteLimit string `pulumi:"routeLimit"`
	// The ID of the router.
	RouterId string `pulumi:"routerId"`
	// The status of the BGP peer.
	Status string `pulumi:"status"`
}

type GetBgpPeersPeerArgs

type GetBgpPeersPeerArgs struct {
	// The authentication key of the BGP group.
	AuthKey pulumi.StringInput `pulumi:"authKey"`
	// The BFD hop count.
	BfdMultiHop pulumi.IntInput `pulumi:"bfdMultiHop"`
	// The ID of the BGP group.
	BgpGroupId pulumi.StringInput `pulumi:"bgpGroupId"`
	// The ID of the BGP neighbor.
	BgpPeerId pulumi.StringInput `pulumi:"bgpPeerId"`
	// The name of the BGP neighbor.
	BgpPeerName pulumi.StringInput `pulumi:"bgpPeerName"`
	// The status of the BGP connection.
	BgpStatus pulumi.StringInput `pulumi:"bgpStatus"`
	// The description of the BGP group.
	Description pulumi.StringInput `pulumi:"description"`
	// Indicates whether the Bidirectional Forwarding Detection (BFD) protocol is enabled.
	EnableBfd pulumi.BoolInput `pulumi:"enableBfd"`
	// The hold time.
	Hold pulumi.StringInput `pulumi:"hold"`
	// The ID of the Bgp Peer.
	Id pulumi.StringInput `pulumi:"id"`
	// The IP version.
	IpVersion pulumi.StringInput `pulumi:"ipVersion"`
	// Indicates whether a fake AS number is used.
	IsFake pulumi.BoolInput `pulumi:"isFake"`
	// The keepalive time.
	Keepalive pulumi.StringInput `pulumi:"keepalive"`
	// The AS number of the device on the Alibaba Cloud side.
	LocalAsn pulumi.StringInput `pulumi:"localAsn"`
	// The autonomous system (AS) number of the BGP peer.
	PeerAsn pulumi.StringInput `pulumi:"peerAsn"`
	// The IP address of the BGP neighbor.
	PeerIpAddress pulumi.StringInput `pulumi:"peerIpAddress"`
	// The limit on routes.
	RouteLimit pulumi.StringInput `pulumi:"routeLimit"`
	// The ID of the router.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// The status of the BGP peer.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetBgpPeersPeerArgs) ElementType

func (GetBgpPeersPeerArgs) ElementType() reflect.Type

func (GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutput

func (i GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutput() GetBgpPeersPeerOutput

func (GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutputWithContext

func (i GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutputWithContext(ctx context.Context) GetBgpPeersPeerOutput

type GetBgpPeersPeerArray

type GetBgpPeersPeerArray []GetBgpPeersPeerInput

func (GetBgpPeersPeerArray) ElementType

func (GetBgpPeersPeerArray) ElementType() reflect.Type

func (GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutput

func (i GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutput() GetBgpPeersPeerArrayOutput

func (GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutputWithContext

func (i GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutputWithContext(ctx context.Context) GetBgpPeersPeerArrayOutput

type GetBgpPeersPeerArrayInput

type GetBgpPeersPeerArrayInput interface {
	pulumi.Input

	ToGetBgpPeersPeerArrayOutput() GetBgpPeersPeerArrayOutput
	ToGetBgpPeersPeerArrayOutputWithContext(context.Context) GetBgpPeersPeerArrayOutput
}

GetBgpPeersPeerArrayInput is an input type that accepts GetBgpPeersPeerArray and GetBgpPeersPeerArrayOutput values. You can construct a concrete instance of `GetBgpPeersPeerArrayInput` via:

GetBgpPeersPeerArray{ GetBgpPeersPeerArgs{...} }

type GetBgpPeersPeerArrayOutput

type GetBgpPeersPeerArrayOutput struct{ *pulumi.OutputState }

func (GetBgpPeersPeerArrayOutput) ElementType

func (GetBgpPeersPeerArrayOutput) ElementType() reflect.Type

func (GetBgpPeersPeerArrayOutput) Index

func (GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutput

func (o GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutput() GetBgpPeersPeerArrayOutput

func (GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutputWithContext

func (o GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutputWithContext(ctx context.Context) GetBgpPeersPeerArrayOutput

type GetBgpPeersPeerInput

type GetBgpPeersPeerInput interface {
	pulumi.Input

	ToGetBgpPeersPeerOutput() GetBgpPeersPeerOutput
	ToGetBgpPeersPeerOutputWithContext(context.Context) GetBgpPeersPeerOutput
}

GetBgpPeersPeerInput is an input type that accepts GetBgpPeersPeerArgs and GetBgpPeersPeerOutput values. You can construct a concrete instance of `GetBgpPeersPeerInput` via:

GetBgpPeersPeerArgs{...}

type GetBgpPeersPeerOutput

type GetBgpPeersPeerOutput struct{ *pulumi.OutputState }

func (GetBgpPeersPeerOutput) AuthKey

The authentication key of the BGP group.

func (GetBgpPeersPeerOutput) BfdMultiHop

func (o GetBgpPeersPeerOutput) BfdMultiHop() pulumi.IntOutput

The BFD hop count.

func (GetBgpPeersPeerOutput) BgpGroupId

func (o GetBgpPeersPeerOutput) BgpGroupId() pulumi.StringOutput

The ID of the BGP group.

func (GetBgpPeersPeerOutput) BgpPeerId

The ID of the BGP neighbor.

func (GetBgpPeersPeerOutput) BgpPeerName

func (o GetBgpPeersPeerOutput) BgpPeerName() pulumi.StringOutput

The name of the BGP neighbor.

func (GetBgpPeersPeerOutput) BgpStatus

The status of the BGP connection.

func (GetBgpPeersPeerOutput) Description

func (o GetBgpPeersPeerOutput) Description() pulumi.StringOutput

The description of the BGP group.

func (GetBgpPeersPeerOutput) ElementType

func (GetBgpPeersPeerOutput) ElementType() reflect.Type

func (GetBgpPeersPeerOutput) EnableBfd

func (o GetBgpPeersPeerOutput) EnableBfd() pulumi.BoolOutput

Indicates whether the Bidirectional Forwarding Detection (BFD) protocol is enabled.

func (GetBgpPeersPeerOutput) Hold

The hold time.

func (GetBgpPeersPeerOutput) Id

The ID of the Bgp Peer.

func (GetBgpPeersPeerOutput) IpVersion

The IP version.

func (GetBgpPeersPeerOutput) IsFake

Indicates whether a fake AS number is used.

func (GetBgpPeersPeerOutput) Keepalive

The keepalive time.

func (GetBgpPeersPeerOutput) LocalAsn

The AS number of the device on the Alibaba Cloud side.

func (GetBgpPeersPeerOutput) PeerAsn

The autonomous system (AS) number of the BGP peer.

func (GetBgpPeersPeerOutput) PeerIpAddress

func (o GetBgpPeersPeerOutput) PeerIpAddress() pulumi.StringOutput

The IP address of the BGP neighbor.

func (GetBgpPeersPeerOutput) RouteLimit

func (o GetBgpPeersPeerOutput) RouteLimit() pulumi.StringOutput

The limit on routes.

func (GetBgpPeersPeerOutput) RouterId

The ID of the router.

func (GetBgpPeersPeerOutput) Status

The status of the BGP peer.

func (GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutput

func (o GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutput() GetBgpPeersPeerOutput

func (GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutputWithContext

func (o GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutputWithContext(ctx context.Context) GetBgpPeersPeerOutput

type GetBgpPeersResult

type GetBgpPeersResult struct {
	BgpGroupId *string `pulumi:"bgpGroupId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string            `pulumi:"id"`
	Ids        []string          `pulumi:"ids"`
	OutputFile *string           `pulumi:"outputFile"`
	Peers      []GetBgpPeersPeer `pulumi:"peers"`
	RouterId   *string           `pulumi:"routerId"`
	Status     *string           `pulumi:"status"`
}

A collection of values returned by getBgpPeers.

func GetBgpPeers

func GetBgpPeers(ctx *pulumi.Context, args *GetBgpPeersArgs, opts ...pulumi.InvokeOption) (*GetBgpPeersResult, error)

This data source provides the Vpc Bgp Peers of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpPeerId1", ids.Peers[0].Id)
		bgpGroupId, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
			BgpGroupId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpPeerId2", bgpGroupId.Peers[0].Id)
		routerId, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
			RouterId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpPeerId3", routerId.Peers[0].Id)
		status, err := vpc.GetBgpPeers(ctx, &vpc.GetBgpPeersArgs{
			Status: pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcBgpPeerId4", status.Peers[0].Id)
		return nil
	})
}

```

type GetBgpPeersResultOutput

type GetBgpPeersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBgpPeers.

func (GetBgpPeersResultOutput) BgpGroupId

func (GetBgpPeersResultOutput) ElementType

func (GetBgpPeersResultOutput) ElementType() reflect.Type

func (GetBgpPeersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetBgpPeersResultOutput) Ids

func (GetBgpPeersResultOutput) OutputFile

func (GetBgpPeersResultOutput) Peers

func (GetBgpPeersResultOutput) RouterId

func (GetBgpPeersResultOutput) Status

func (GetBgpPeersResultOutput) ToGetBgpPeersResultOutput

func (o GetBgpPeersResultOutput) ToGetBgpPeersResultOutput() GetBgpPeersResultOutput

func (GetBgpPeersResultOutput) ToGetBgpPeersResultOutputWithContext

func (o GetBgpPeersResultOutput) ToGetBgpPeersResultOutputWithContext(ctx context.Context) GetBgpPeersResultOutput

type GetCommonBandwidthPackagesArgs

type GetCommonBandwidthPackagesArgs struct {
	// The name of bandwidth package.
	BandwidthPackageName *string `pulumi:"bandwidthPackageName"`
	// Specifies whether to precheck only the request.
	DryRun *bool `pulumi:"dryRun"`
	// A list of Common Bandwidth Packages IDs.
	Ids []string `pulumi:"ids"`
	// Specifies whether to return data of orders that have not taken effect.
	IncludeReservationData *bool `pulumi:"includeReservationData"`
	// A regex string to filter results by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The status of bandwidth package. Valid values: `Available` and `Pending`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getCommonBandwidthPackages.

type GetCommonBandwidthPackagesOutputArgs

type GetCommonBandwidthPackagesOutputArgs struct {
	// The name of bandwidth package.
	BandwidthPackageName pulumi.StringPtrInput `pulumi:"bandwidthPackageName"`
	// Specifies whether to precheck only the request.
	DryRun pulumi.BoolPtrInput `pulumi:"dryRun"`
	// A list of Common Bandwidth Packages IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Specifies whether to return data of orders that have not taken effect.
	IncludeReservationData pulumi.BoolPtrInput `pulumi:"includeReservationData"`
	// A regex string to filter results by name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The status of bandwidth package. Valid values: `Available` and `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getCommonBandwidthPackages.

func (GetCommonBandwidthPackagesOutputArgs) ElementType

type GetCommonBandwidthPackagesPackage

type GetCommonBandwidthPackagesPackage struct {
	// The peak bandwidth of the Internet Shared Bandwidth instance.
	Bandwidth string `pulumi:"bandwidth"`
	// The resource ID of bandwidth package.
	BandwidthPackageId string `pulumi:"bandwidthPackageId"`
	// The name of bandwidth package.
	BandwidthPackageName string `pulumi:"bandwidthPackageName"`
	// The business status of the Common Bandwidth Package instance.
	BusinessStatus string `pulumi:"businessStatus"`
	// The deletion protection of bandwidth package.
	DeletionProtection bool `pulumi:"deletionProtection"`
	// The description of the Common Bandwidth Package instance.
	Description string `pulumi:"description"`
	// The expired time of bandwidth package.
	ExpiredTime string `pulumi:"expiredTime"`
	// Is has reservation data.
	HasReservationData bool `pulumi:"hasReservationData"`
	// ID of the Common Bandwidth Package.
	Id string `pulumi:"id"`
	// The internet charge type of bandwidth package.
	InternetChargeType string `pulumi:"internetChargeType"`
	// ISP of the Common Bandwidth Package.
	Isp string `pulumi:"isp"`
	// Name of the Common Bandwidth Package.
	Name string `pulumi:"name"`
	// The payment type of bandwidth package.
	PaymentType string `pulumi:"paymentType"`
	// Public ip addresses that in the Common Bandwidth Pakcage.
	PublicIpAddresses []GetCommonBandwidthPackagesPackagePublicIpAddress `pulumi:"publicIpAddresses"`
	// The ratio of bandwidth package.
	Ratio int `pulumi:"ratio"`
	// The active time of reservation.
	ReservationActiveTime string `pulumi:"reservationActiveTime"`
	// The bandwidth of reservation.
	ReservationBandwidth string `pulumi:"reservationBandwidth"`
	// The charge type of reservation internet.
	ReservationInternetChargeType string `pulumi:"reservationInternetChargeType"`
	// The type of reservation order.
	ReservationOrderType string `pulumi:"reservationOrderType"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The service managed.
	ServiceManaged int `pulumi:"serviceManaged"`
	// The status of bandwidth package. Valid values: `Available` and `Pending`.
	Status string `pulumi:"status"`
}

type GetCommonBandwidthPackagesPackageArgs

type GetCommonBandwidthPackagesPackageArgs struct {
	// The peak bandwidth of the Internet Shared Bandwidth instance.
	Bandwidth pulumi.StringInput `pulumi:"bandwidth"`
	// The resource ID of bandwidth package.
	BandwidthPackageId pulumi.StringInput `pulumi:"bandwidthPackageId"`
	// The name of bandwidth package.
	BandwidthPackageName pulumi.StringInput `pulumi:"bandwidthPackageName"`
	// The business status of the Common Bandwidth Package instance.
	BusinessStatus pulumi.StringInput `pulumi:"businessStatus"`
	// The deletion protection of bandwidth package.
	DeletionProtection pulumi.BoolInput `pulumi:"deletionProtection"`
	// The description of the Common Bandwidth Package instance.
	Description pulumi.StringInput `pulumi:"description"`
	// The expired time of bandwidth package.
	ExpiredTime pulumi.StringInput `pulumi:"expiredTime"`
	// Is has reservation data.
	HasReservationData pulumi.BoolInput `pulumi:"hasReservationData"`
	// ID of the Common Bandwidth Package.
	Id pulumi.StringInput `pulumi:"id"`
	// The internet charge type of bandwidth package.
	InternetChargeType pulumi.StringInput `pulumi:"internetChargeType"`
	// ISP of the Common Bandwidth Package.
	Isp pulumi.StringInput `pulumi:"isp"`
	// Name of the Common Bandwidth Package.
	Name pulumi.StringInput `pulumi:"name"`
	// The payment type of bandwidth package.
	PaymentType pulumi.StringInput `pulumi:"paymentType"`
	// Public ip addresses that in the Common Bandwidth Pakcage.
	PublicIpAddresses GetCommonBandwidthPackagesPackagePublicIpAddressArrayInput `pulumi:"publicIpAddresses"`
	// The ratio of bandwidth package.
	Ratio pulumi.IntInput `pulumi:"ratio"`
	// The active time of reservation.
	ReservationActiveTime pulumi.StringInput `pulumi:"reservationActiveTime"`
	// The bandwidth of reservation.
	ReservationBandwidth pulumi.StringInput `pulumi:"reservationBandwidth"`
	// The charge type of reservation internet.
	ReservationInternetChargeType pulumi.StringInput `pulumi:"reservationInternetChargeType"`
	// The type of reservation order.
	ReservationOrderType pulumi.StringInput `pulumi:"reservationOrderType"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The service managed.
	ServiceManaged pulumi.IntInput `pulumi:"serviceManaged"`
	// The status of bandwidth package. Valid values: `Available` and `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetCommonBandwidthPackagesPackageArgs) ElementType

func (GetCommonBandwidthPackagesPackageArgs) ToGetCommonBandwidthPackagesPackageOutput

func (i GetCommonBandwidthPackagesPackageArgs) ToGetCommonBandwidthPackagesPackageOutput() GetCommonBandwidthPackagesPackageOutput

func (GetCommonBandwidthPackagesPackageArgs) ToGetCommonBandwidthPackagesPackageOutputWithContext

func (i GetCommonBandwidthPackagesPackageArgs) ToGetCommonBandwidthPackagesPackageOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackageOutput

type GetCommonBandwidthPackagesPackageArray

type GetCommonBandwidthPackagesPackageArray []GetCommonBandwidthPackagesPackageInput

func (GetCommonBandwidthPackagesPackageArray) ElementType

func (GetCommonBandwidthPackagesPackageArray) ToGetCommonBandwidthPackagesPackageArrayOutput

func (i GetCommonBandwidthPackagesPackageArray) ToGetCommonBandwidthPackagesPackageArrayOutput() GetCommonBandwidthPackagesPackageArrayOutput

func (GetCommonBandwidthPackagesPackageArray) ToGetCommonBandwidthPackagesPackageArrayOutputWithContext

func (i GetCommonBandwidthPackagesPackageArray) ToGetCommonBandwidthPackagesPackageArrayOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackageArrayOutput

type GetCommonBandwidthPackagesPackageArrayInput

type GetCommonBandwidthPackagesPackageArrayInput interface {
	pulumi.Input

	ToGetCommonBandwidthPackagesPackageArrayOutput() GetCommonBandwidthPackagesPackageArrayOutput
	ToGetCommonBandwidthPackagesPackageArrayOutputWithContext(context.Context) GetCommonBandwidthPackagesPackageArrayOutput
}

GetCommonBandwidthPackagesPackageArrayInput is an input type that accepts GetCommonBandwidthPackagesPackageArray and GetCommonBandwidthPackagesPackageArrayOutput values. You can construct a concrete instance of `GetCommonBandwidthPackagesPackageArrayInput` via:

GetCommonBandwidthPackagesPackageArray{ GetCommonBandwidthPackagesPackageArgs{...} }

type GetCommonBandwidthPackagesPackageArrayOutput

type GetCommonBandwidthPackagesPackageArrayOutput struct{ *pulumi.OutputState }

func (GetCommonBandwidthPackagesPackageArrayOutput) ElementType

func (GetCommonBandwidthPackagesPackageArrayOutput) Index

func (GetCommonBandwidthPackagesPackageArrayOutput) ToGetCommonBandwidthPackagesPackageArrayOutput

func (o GetCommonBandwidthPackagesPackageArrayOutput) ToGetCommonBandwidthPackagesPackageArrayOutput() GetCommonBandwidthPackagesPackageArrayOutput

func (GetCommonBandwidthPackagesPackageArrayOutput) ToGetCommonBandwidthPackagesPackageArrayOutputWithContext

func (o GetCommonBandwidthPackagesPackageArrayOutput) ToGetCommonBandwidthPackagesPackageArrayOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackageArrayOutput

type GetCommonBandwidthPackagesPackageInput

type GetCommonBandwidthPackagesPackageInput interface {
	pulumi.Input

	ToGetCommonBandwidthPackagesPackageOutput() GetCommonBandwidthPackagesPackageOutput
	ToGetCommonBandwidthPackagesPackageOutputWithContext(context.Context) GetCommonBandwidthPackagesPackageOutput
}

GetCommonBandwidthPackagesPackageInput is an input type that accepts GetCommonBandwidthPackagesPackageArgs and GetCommonBandwidthPackagesPackageOutput values. You can construct a concrete instance of `GetCommonBandwidthPackagesPackageInput` via:

GetCommonBandwidthPackagesPackageArgs{...}

type GetCommonBandwidthPackagesPackageOutput

type GetCommonBandwidthPackagesPackageOutput struct{ *pulumi.OutputState }

func (GetCommonBandwidthPackagesPackageOutput) Bandwidth

The peak bandwidth of the Internet Shared Bandwidth instance.

func (GetCommonBandwidthPackagesPackageOutput) BandwidthPackageId

The resource ID of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) BandwidthPackageName

The name of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) BusinessStatus

The business status of the Common Bandwidth Package instance.

func (GetCommonBandwidthPackagesPackageOutput) DeletionProtection

The deletion protection of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) Description

The description of the Common Bandwidth Package instance.

func (GetCommonBandwidthPackagesPackageOutput) ElementType

func (GetCommonBandwidthPackagesPackageOutput) ExpiredTime

The expired time of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) HasReservationData

Is has reservation data.

func (GetCommonBandwidthPackagesPackageOutput) Id

ID of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesPackageOutput) InternetChargeType

The internet charge type of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) Isp

ISP of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesPackageOutput) Name

Name of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesPackageOutput) PaymentType

The payment type of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) PublicIpAddresses

Public ip addresses that in the Common Bandwidth Pakcage.

func (GetCommonBandwidthPackagesPackageOutput) Ratio

The ratio of bandwidth package.

func (GetCommonBandwidthPackagesPackageOutput) ReservationActiveTime

The active time of reservation.

func (GetCommonBandwidthPackagesPackageOutput) ReservationBandwidth

The bandwidth of reservation.

func (GetCommonBandwidthPackagesPackageOutput) ReservationInternetChargeType

func (o GetCommonBandwidthPackagesPackageOutput) ReservationInternetChargeType() pulumi.StringOutput

The charge type of reservation internet.

func (GetCommonBandwidthPackagesPackageOutput) ReservationOrderType

The type of reservation order.

func (GetCommonBandwidthPackagesPackageOutput) ResourceGroupId

The Id of resource group which the common bandwidth package belongs.

func (GetCommonBandwidthPackagesPackageOutput) ServiceManaged

The service managed.

func (GetCommonBandwidthPackagesPackageOutput) Status

The status of bandwidth package. Valid values: `Available` and `Pending`.

func (GetCommonBandwidthPackagesPackageOutput) ToGetCommonBandwidthPackagesPackageOutput

func (o GetCommonBandwidthPackagesPackageOutput) ToGetCommonBandwidthPackagesPackageOutput() GetCommonBandwidthPackagesPackageOutput

func (GetCommonBandwidthPackagesPackageOutput) ToGetCommonBandwidthPackagesPackageOutputWithContext

func (o GetCommonBandwidthPackagesPackageOutput) ToGetCommonBandwidthPackagesPackageOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackageOutput

type GetCommonBandwidthPackagesPackagePublicIpAddress

type GetCommonBandwidthPackagesPackagePublicIpAddress struct {
	AllocationId                     string `pulumi:"allocationId"`
	BandwidthPackageIpRelationStatus string `pulumi:"bandwidthPackageIpRelationStatus"`
	IpAddress                        string `pulumi:"ipAddress"`
}

type GetCommonBandwidthPackagesPackagePublicIpAddressArgs

type GetCommonBandwidthPackagesPackagePublicIpAddressArgs struct {
	AllocationId                     pulumi.StringInput `pulumi:"allocationId"`
	BandwidthPackageIpRelationStatus pulumi.StringInput `pulumi:"bandwidthPackageIpRelationStatus"`
	IpAddress                        pulumi.StringInput `pulumi:"ipAddress"`
}

func (GetCommonBandwidthPackagesPackagePublicIpAddressArgs) ElementType

func (GetCommonBandwidthPackagesPackagePublicIpAddressArgs) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutput

func (i GetCommonBandwidthPackagesPackagePublicIpAddressArgs) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutput() GetCommonBandwidthPackagesPackagePublicIpAddressOutput

func (GetCommonBandwidthPackagesPackagePublicIpAddressArgs) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutputWithContext

func (i GetCommonBandwidthPackagesPackagePublicIpAddressArgs) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackagePublicIpAddressOutput

type GetCommonBandwidthPackagesPackagePublicIpAddressArray

type GetCommonBandwidthPackagesPackagePublicIpAddressArray []GetCommonBandwidthPackagesPackagePublicIpAddressInput

func (GetCommonBandwidthPackagesPackagePublicIpAddressArray) ElementType

func (GetCommonBandwidthPackagesPackagePublicIpAddressArray) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput

func (i GetCommonBandwidthPackagesPackagePublicIpAddressArray) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput() GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput

func (GetCommonBandwidthPackagesPackagePublicIpAddressArray) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutputWithContext

func (i GetCommonBandwidthPackagesPackagePublicIpAddressArray) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput

type GetCommonBandwidthPackagesPackagePublicIpAddressArrayInput

type GetCommonBandwidthPackagesPackagePublicIpAddressArrayInput interface {
	pulumi.Input

	ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput() GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput
	ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutputWithContext(context.Context) GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput
}

GetCommonBandwidthPackagesPackagePublicIpAddressArrayInput is an input type that accepts GetCommonBandwidthPackagesPackagePublicIpAddressArray and GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput values. You can construct a concrete instance of `GetCommonBandwidthPackagesPackagePublicIpAddressArrayInput` via:

GetCommonBandwidthPackagesPackagePublicIpAddressArray{ GetCommonBandwidthPackagesPackagePublicIpAddressArgs{...} }

type GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput

type GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput struct{ *pulumi.OutputState }

func (GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput) ElementType

func (GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput) Index

func (GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput

func (GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutputWithContext

func (o GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressArrayOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackagePublicIpAddressArrayOutput

type GetCommonBandwidthPackagesPackagePublicIpAddressInput

type GetCommonBandwidthPackagesPackagePublicIpAddressInput interface {
	pulumi.Input

	ToGetCommonBandwidthPackagesPackagePublicIpAddressOutput() GetCommonBandwidthPackagesPackagePublicIpAddressOutput
	ToGetCommonBandwidthPackagesPackagePublicIpAddressOutputWithContext(context.Context) GetCommonBandwidthPackagesPackagePublicIpAddressOutput
}

GetCommonBandwidthPackagesPackagePublicIpAddressInput is an input type that accepts GetCommonBandwidthPackagesPackagePublicIpAddressArgs and GetCommonBandwidthPackagesPackagePublicIpAddressOutput values. You can construct a concrete instance of `GetCommonBandwidthPackagesPackagePublicIpAddressInput` via:

GetCommonBandwidthPackagesPackagePublicIpAddressArgs{...}

type GetCommonBandwidthPackagesPackagePublicIpAddressOutput

type GetCommonBandwidthPackagesPackagePublicIpAddressOutput struct{ *pulumi.OutputState }

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) AllocationId

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) BandwidthPackageIpRelationStatus

func (o GetCommonBandwidthPackagesPackagePublicIpAddressOutput) BandwidthPackageIpRelationStatus() pulumi.StringOutput

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) ElementType

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) IpAddress

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutput

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutputWithContext

func (o GetCommonBandwidthPackagesPackagePublicIpAddressOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesPackagePublicIpAddressOutput

type GetCommonBandwidthPackagesResult

type GetCommonBandwidthPackagesResult struct {
	// The name of bandwidth package.
	BandwidthPackageName *string `pulumi:"bandwidthPackageName"`
	DryRun               *bool   `pulumi:"dryRun"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Optional) A list of Common Bandwidth Packages IDs.
	Ids                    []string `pulumi:"ids"`
	IncludeReservationData *bool    `pulumi:"includeReservationData"`
	NameRegex              *string  `pulumi:"nameRegex"`
	// A list of Common Bandwidth Packages names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of Common Bandwidth Packages. Each element contains the following attributes:
	Packages []GetCommonBandwidthPackagesPackage `pulumi:"packages"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Status of the Common Bandwidth Package.
	Status *string `pulumi:"status"`
}

A collection of values returned by getCommonBandwidthPackages.

func GetCommonBandwidthPackages

func GetCommonBandwidthPackages(ctx *pulumi.Context, args *GetCommonBandwidthPackagesArgs, opts ...pulumi.InvokeOption) (*GetCommonBandwidthPackagesResult, error)

This data source provides a list of Common Bandwidth Packages owned by an Alibaba Cloud account.

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

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, "fooCommonBandwithPackage", &vpc.CommonBandwithPackageArgs{
			Bandwidth:   pulumi.String("2"),
			Description: pulumi.String("tf-testAcc-CommonBandwidthPackage"),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetCommonBandwidthPackagesOutput(ctx, vpc.GetCommonBandwidthPackagesOutputArgs{
			Ids: pulumi.StringArray{
				fooCommonBandwithPackage.ID(),
			},
			NameRegex: pulumi.String("^tf-testAcc.*"),
		}, nil)
		return nil
	})
}

``` ## Public ip addresses Block

The public ip addresses mapping supports the following:

* `ipAddress`   - The address of the EIP.
* `allocationId` - The ID of the EIP instance.
* `bandwidthPackageIpRelationStatus` - The IP relation status of bandwidth package.

type GetCommonBandwidthPackagesResultOutput

type GetCommonBandwidthPackagesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCommonBandwidthPackages.

func (GetCommonBandwidthPackagesResultOutput) BandwidthPackageName

The name of bandwidth package.

func (GetCommonBandwidthPackagesResultOutput) DryRun

func (GetCommonBandwidthPackagesResultOutput) ElementType

func (GetCommonBandwidthPackagesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetCommonBandwidthPackagesResultOutput) Ids

(Optional) A list of Common Bandwidth Packages IDs.

func (GetCommonBandwidthPackagesResultOutput) IncludeReservationData

func (o GetCommonBandwidthPackagesResultOutput) IncludeReservationData() pulumi.BoolPtrOutput

func (GetCommonBandwidthPackagesResultOutput) NameRegex

func (GetCommonBandwidthPackagesResultOutput) Names

A list of Common Bandwidth Packages names.

func (GetCommonBandwidthPackagesResultOutput) OutputFile

func (GetCommonBandwidthPackagesResultOutput) Packages

A list of Common Bandwidth Packages. Each element contains the following attributes:

func (GetCommonBandwidthPackagesResultOutput) ResourceGroupId

The Id of resource group which the common bandwidth package belongs.

func (GetCommonBandwidthPackagesResultOutput) Status

Status of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutput

func (o GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutput() GetCommonBandwidthPackagesResultOutput

func (GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutputWithContext

func (o GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutputWithContext(ctx context.Context) GetCommonBandwidthPackagesResultOutput

type GetDhcpOptionsSetsArgs

type GetDhcpOptionsSetsArgs struct {
	// The root domain, for example, example.com. After a DHCP options set is associated with a
	// Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the
	// ECS instances in the VPC network.
	DhcpOptionsSetName *string `pulumi:"dhcpOptionsSetName"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual
	// Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS
	// instances in the VPC network.
	DomainName *string `pulumi:"domainName"`
	// A list of Dhcp Options Set IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Dhcp Options Set name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getDhcpOptionsSets.

type GetDhcpOptionsSetsOutputArgs

type GetDhcpOptionsSetsOutputArgs struct {
	// The root domain, for example, example.com. After a DHCP options set is associated with a
	// Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the
	// ECS instances in the VPC network.
	DhcpOptionsSetName pulumi.StringPtrInput `pulumi:"dhcpOptionsSetName"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual
	// Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS
	// instances in the VPC network.
	DomainName pulumi.StringPtrInput `pulumi:"domainName"`
	// A list of Dhcp Options Set IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Dhcp Options Set name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getDhcpOptionsSets.

func (GetDhcpOptionsSetsOutputArgs) ElementType

type GetDhcpOptionsSetsResult

type GetDhcpOptionsSetsResult struct {
	DhcpOptionsSetName *string `pulumi:"dhcpOptionsSetName"`
	DomainName         *string `pulumi:"domainName"`
	// 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"`
	Sets       []GetDhcpOptionsSetsSet `pulumi:"sets"`
	Status     *string                 `pulumi:"status"`
}

A collection of values returned by getDhcpOptionsSets.

func GetDhcpOptionsSets

func GetDhcpOptionsSets(ctx *pulumi.Context, args *GetDhcpOptionsSetsArgs, opts ...pulumi.InvokeOption) (*GetDhcpOptionsSetsResult, error)

This data source provides the Vpc Dhcp Options Sets of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
			Ids: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcDhcpOptionsSetId1", ids.Sets[0].Id)
		nameRegex, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
			NameRegex: pulumi.StringRef("^my-DhcpOptionsSet"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcDhcpOptionsSetId2", nameRegex.Sets[0].Id)
		dhcpOptionsSetName, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
			DhcpOptionsSetName: pulumi.StringRef("my-DhcpOptionsSet"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcDhcpOptionsSetId3", dhcpOptionsSetName.Sets[0].Id)
		domainName, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
			Ids: []string{
				"example_value",
			},
			DomainName: pulumi.StringRef("example.com"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcDhcpOptionsSetId4", domainName.Sets[0].Id)
		status, err := vpc.GetDhcpOptionsSets(ctx, &vpc.GetDhcpOptionsSetsArgs{
			Ids: []string{
				"example_value",
			},
			Status: pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcDhcpOptionsSetId5", status.Sets[0].Id)
		return nil
	})
}

```

type GetDhcpOptionsSetsResultOutput

type GetDhcpOptionsSetsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDhcpOptionsSets.

func (GetDhcpOptionsSetsResultOutput) DhcpOptionsSetName

func (o GetDhcpOptionsSetsResultOutput) DhcpOptionsSetName() pulumi.StringPtrOutput

func (GetDhcpOptionsSetsResultOutput) DomainName

func (GetDhcpOptionsSetsResultOutput) ElementType

func (GetDhcpOptionsSetsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetDhcpOptionsSetsResultOutput) Ids

func (GetDhcpOptionsSetsResultOutput) NameRegex

func (GetDhcpOptionsSetsResultOutput) Names

func (GetDhcpOptionsSetsResultOutput) OutputFile

func (GetDhcpOptionsSetsResultOutput) Sets

func (GetDhcpOptionsSetsResultOutput) Status

func (GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutput

func (o GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutput() GetDhcpOptionsSetsResultOutput

func (GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutputWithContext

func (o GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutputWithContext(ctx context.Context) GetDhcpOptionsSetsResultOutput

type GetDhcpOptionsSetsSet

type GetDhcpOptionsSetsSet struct {
	// AssociateVpcs.
	AssociateVpcs []GetDhcpOptionsSetsSetAssociateVpc `pulumi:"associateVpcs"`
	// The description of the DHCP options set. The description must be 2 to 256
	// characters in length and cannot start with `http://` or `https://`.
	DhcpOptionsSetDescription string `pulumi:"dhcpOptionsSetDescription"`
	DhcpOptionsSetId          string `pulumi:"dhcpOptionsSetId"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a
	// Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the
	// ECS instances in the VPC network.
	DhcpOptionsSetName string `pulumi:"dhcpOptionsSetName"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual
	// Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS
	// instances in the VPC network.
	DomainName string `pulumi:"domainName"`
	// The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP
	// addresses must be separated with commas (,).
	DomainNameServers string `pulumi:"domainNameServers"`
	Id                string `pulumi:"id"`
	// The ID of the account to which the DHCP options set belongs.
	OwnerId string `pulumi:"ownerId"`
	// The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
	Status string `pulumi:"status"`
}

type GetDhcpOptionsSetsSetArgs

type GetDhcpOptionsSetsSetArgs struct {
	// AssociateVpcs.
	AssociateVpcs GetDhcpOptionsSetsSetAssociateVpcArrayInput `pulumi:"associateVpcs"`
	// The description of the DHCP options set. The description must be 2 to 256
	// characters in length and cannot start with `http://` or `https://`.
	DhcpOptionsSetDescription pulumi.StringInput `pulumi:"dhcpOptionsSetDescription"`
	DhcpOptionsSetId          pulumi.StringInput `pulumi:"dhcpOptionsSetId"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a
	// Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the
	// ECS instances in the VPC network.
	DhcpOptionsSetName pulumi.StringInput `pulumi:"dhcpOptionsSetName"`
	// The root domain, for example, example.com. After a DHCP options set is associated with a Virtual
	// Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS
	// instances in the VPC network.
	DomainName pulumi.StringInput `pulumi:"domainName"`
	// The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP
	// addresses must be separated with commas (,).
	DomainNameServers pulumi.StringInput `pulumi:"domainNameServers"`
	Id                pulumi.StringInput `pulumi:"id"`
	// The ID of the account to which the DHCP options set belongs.
	OwnerId pulumi.StringInput `pulumi:"ownerId"`
	// The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetDhcpOptionsSetsSetArgs) ElementType

func (GetDhcpOptionsSetsSetArgs) ElementType() reflect.Type

func (GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutput

func (i GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutput() GetDhcpOptionsSetsSetOutput

func (GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutputWithContext

func (i GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetOutput

type GetDhcpOptionsSetsSetArray

type GetDhcpOptionsSetsSetArray []GetDhcpOptionsSetsSetInput

func (GetDhcpOptionsSetsSetArray) ElementType

func (GetDhcpOptionsSetsSetArray) ElementType() reflect.Type

func (GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutput

func (i GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutput() GetDhcpOptionsSetsSetArrayOutput

func (GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutputWithContext

func (i GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetArrayOutput

type GetDhcpOptionsSetsSetArrayInput

type GetDhcpOptionsSetsSetArrayInput interface {
	pulumi.Input

	ToGetDhcpOptionsSetsSetArrayOutput() GetDhcpOptionsSetsSetArrayOutput
	ToGetDhcpOptionsSetsSetArrayOutputWithContext(context.Context) GetDhcpOptionsSetsSetArrayOutput
}

GetDhcpOptionsSetsSetArrayInput is an input type that accepts GetDhcpOptionsSetsSetArray and GetDhcpOptionsSetsSetArrayOutput values. You can construct a concrete instance of `GetDhcpOptionsSetsSetArrayInput` via:

GetDhcpOptionsSetsSetArray{ GetDhcpOptionsSetsSetArgs{...} }

type GetDhcpOptionsSetsSetArrayOutput

type GetDhcpOptionsSetsSetArrayOutput struct{ *pulumi.OutputState }

func (GetDhcpOptionsSetsSetArrayOutput) ElementType

func (GetDhcpOptionsSetsSetArrayOutput) Index

func (GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutput

func (o GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutput() GetDhcpOptionsSetsSetArrayOutput

func (GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutputWithContext

func (o GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetArrayOutput

type GetDhcpOptionsSetsSetAssociateVpc

type GetDhcpOptionsSetsSetAssociateVpc struct {
	// The status of the VPC network that is associated with the DHCP options set. Valid values:`InUse` or `Pending`. `InUse`: The VPC network is in use. `Pending`: The VPC network is being configured.
	AssociateStatus string `pulumi:"associateStatus"`
	// The ID of the VPC network that is associated with the DHCP options set.
	VpcId string `pulumi:"vpcId"`
}

type GetDhcpOptionsSetsSetAssociateVpcArgs

type GetDhcpOptionsSetsSetAssociateVpcArgs struct {
	// The status of the VPC network that is associated with the DHCP options set. Valid values:`InUse` or `Pending`. `InUse`: The VPC network is in use. `Pending`: The VPC network is being configured.
	AssociateStatus pulumi.StringInput `pulumi:"associateStatus"`
	// The ID of the VPC network that is associated with the DHCP options set.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetDhcpOptionsSetsSetAssociateVpcArgs) ElementType

func (GetDhcpOptionsSetsSetAssociateVpcArgs) ToGetDhcpOptionsSetsSetAssociateVpcOutput

func (i GetDhcpOptionsSetsSetAssociateVpcArgs) ToGetDhcpOptionsSetsSetAssociateVpcOutput() GetDhcpOptionsSetsSetAssociateVpcOutput

func (GetDhcpOptionsSetsSetAssociateVpcArgs) ToGetDhcpOptionsSetsSetAssociateVpcOutputWithContext

func (i GetDhcpOptionsSetsSetAssociateVpcArgs) ToGetDhcpOptionsSetsSetAssociateVpcOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetAssociateVpcOutput

type GetDhcpOptionsSetsSetAssociateVpcArray

type GetDhcpOptionsSetsSetAssociateVpcArray []GetDhcpOptionsSetsSetAssociateVpcInput

func (GetDhcpOptionsSetsSetAssociateVpcArray) ElementType

func (GetDhcpOptionsSetsSetAssociateVpcArray) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutput

func (i GetDhcpOptionsSetsSetAssociateVpcArray) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutput() GetDhcpOptionsSetsSetAssociateVpcArrayOutput

func (GetDhcpOptionsSetsSetAssociateVpcArray) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutputWithContext

func (i GetDhcpOptionsSetsSetAssociateVpcArray) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetAssociateVpcArrayOutput

type GetDhcpOptionsSetsSetAssociateVpcArrayInput

type GetDhcpOptionsSetsSetAssociateVpcArrayInput interface {
	pulumi.Input

	ToGetDhcpOptionsSetsSetAssociateVpcArrayOutput() GetDhcpOptionsSetsSetAssociateVpcArrayOutput
	ToGetDhcpOptionsSetsSetAssociateVpcArrayOutputWithContext(context.Context) GetDhcpOptionsSetsSetAssociateVpcArrayOutput
}

GetDhcpOptionsSetsSetAssociateVpcArrayInput is an input type that accepts GetDhcpOptionsSetsSetAssociateVpcArray and GetDhcpOptionsSetsSetAssociateVpcArrayOutput values. You can construct a concrete instance of `GetDhcpOptionsSetsSetAssociateVpcArrayInput` via:

GetDhcpOptionsSetsSetAssociateVpcArray{ GetDhcpOptionsSetsSetAssociateVpcArgs{...} }

type GetDhcpOptionsSetsSetAssociateVpcArrayOutput

type GetDhcpOptionsSetsSetAssociateVpcArrayOutput struct{ *pulumi.OutputState }

func (GetDhcpOptionsSetsSetAssociateVpcArrayOutput) ElementType

func (GetDhcpOptionsSetsSetAssociateVpcArrayOutput) Index

func (GetDhcpOptionsSetsSetAssociateVpcArrayOutput) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutput

func (o GetDhcpOptionsSetsSetAssociateVpcArrayOutput) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutput() GetDhcpOptionsSetsSetAssociateVpcArrayOutput

func (GetDhcpOptionsSetsSetAssociateVpcArrayOutput) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutputWithContext

func (o GetDhcpOptionsSetsSetAssociateVpcArrayOutput) ToGetDhcpOptionsSetsSetAssociateVpcArrayOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetAssociateVpcArrayOutput

type GetDhcpOptionsSetsSetAssociateVpcInput

type GetDhcpOptionsSetsSetAssociateVpcInput interface {
	pulumi.Input

	ToGetDhcpOptionsSetsSetAssociateVpcOutput() GetDhcpOptionsSetsSetAssociateVpcOutput
	ToGetDhcpOptionsSetsSetAssociateVpcOutputWithContext(context.Context) GetDhcpOptionsSetsSetAssociateVpcOutput
}

GetDhcpOptionsSetsSetAssociateVpcInput is an input type that accepts GetDhcpOptionsSetsSetAssociateVpcArgs and GetDhcpOptionsSetsSetAssociateVpcOutput values. You can construct a concrete instance of `GetDhcpOptionsSetsSetAssociateVpcInput` via:

GetDhcpOptionsSetsSetAssociateVpcArgs{...}

type GetDhcpOptionsSetsSetAssociateVpcOutput

type GetDhcpOptionsSetsSetAssociateVpcOutput struct{ *pulumi.OutputState }

func (GetDhcpOptionsSetsSetAssociateVpcOutput) AssociateStatus

The status of the VPC network that is associated with the DHCP options set. Valid values:`InUse` or `Pending`. `InUse`: The VPC network is in use. `Pending`: The VPC network is being configured.

func (GetDhcpOptionsSetsSetAssociateVpcOutput) ElementType

func (GetDhcpOptionsSetsSetAssociateVpcOutput) ToGetDhcpOptionsSetsSetAssociateVpcOutput

func (o GetDhcpOptionsSetsSetAssociateVpcOutput) ToGetDhcpOptionsSetsSetAssociateVpcOutput() GetDhcpOptionsSetsSetAssociateVpcOutput

func (GetDhcpOptionsSetsSetAssociateVpcOutput) ToGetDhcpOptionsSetsSetAssociateVpcOutputWithContext

func (o GetDhcpOptionsSetsSetAssociateVpcOutput) ToGetDhcpOptionsSetsSetAssociateVpcOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetAssociateVpcOutput

func (GetDhcpOptionsSetsSetAssociateVpcOutput) VpcId

The ID of the VPC network that is associated with the DHCP options set.

type GetDhcpOptionsSetsSetInput

type GetDhcpOptionsSetsSetInput interface {
	pulumi.Input

	ToGetDhcpOptionsSetsSetOutput() GetDhcpOptionsSetsSetOutput
	ToGetDhcpOptionsSetsSetOutputWithContext(context.Context) GetDhcpOptionsSetsSetOutput
}

GetDhcpOptionsSetsSetInput is an input type that accepts GetDhcpOptionsSetsSetArgs and GetDhcpOptionsSetsSetOutput values. You can construct a concrete instance of `GetDhcpOptionsSetsSetInput` via:

GetDhcpOptionsSetsSetArgs{...}

type GetDhcpOptionsSetsSetOutput

type GetDhcpOptionsSetsSetOutput struct{ *pulumi.OutputState }

func (GetDhcpOptionsSetsSetOutput) AssociateVpcs

AssociateVpcs.

func (GetDhcpOptionsSetsSetOutput) DhcpOptionsSetDescription

func (o GetDhcpOptionsSetsSetOutput) DhcpOptionsSetDescription() pulumi.StringOutput

The description of the DHCP options set. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.

func (GetDhcpOptionsSetsSetOutput) DhcpOptionsSetId

func (o GetDhcpOptionsSetsSetOutput) DhcpOptionsSetId() pulumi.StringOutput

func (GetDhcpOptionsSetsSetOutput) DhcpOptionsSetName

func (o GetDhcpOptionsSetsSetOutput) DhcpOptionsSetName() pulumi.StringOutput

The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.

func (GetDhcpOptionsSetsSetOutput) DomainName

The root domain, for example, example.com. After a DHCP options set is associated with a Virtual Private Cloud (VPC) network, the root domain in the DHCP options set is automatically synchronized to the ECS instances in the VPC network.

func (GetDhcpOptionsSetsSetOutput) DomainNameServers

func (o GetDhcpOptionsSetsSetOutput) DomainNameServers() pulumi.StringOutput

The DNS server IP addresses. Up to four DNS server IP addresses can be specified. IP addresses must be separated with commas (,).

func (GetDhcpOptionsSetsSetOutput) ElementType

func (GetDhcpOptionsSetsSetOutput) Id

func (GetDhcpOptionsSetsSetOutput) OwnerId

The ID of the account to which the DHCP options set belongs.

func (GetDhcpOptionsSetsSetOutput) Status

The status of the DHCP options set. Valid values: `Available`, `InUse` or `Pending`. `Available`: The DHCP options set is available for use. `InUse`: The DHCP options set is in use. `Pending`: The DHCP options set is being configured.

func (GetDhcpOptionsSetsSetOutput) ToGetDhcpOptionsSetsSetOutput

func (o GetDhcpOptionsSetsSetOutput) ToGetDhcpOptionsSetsSetOutput() GetDhcpOptionsSetsSetOutput

func (GetDhcpOptionsSetsSetOutput) ToGetDhcpOptionsSetsSetOutputWithContext

func (o GetDhcpOptionsSetsSetOutput) ToGetDhcpOptionsSetsSetOutputWithContext(ctx context.Context) GetDhcpOptionsSetsSetOutput

type GetEnhancedNatAvailableZonesArgs

type GetEnhancedNatAvailableZonesArgs struct {
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getEnhancedNatAvailableZones.

type GetEnhancedNatAvailableZonesOutputArgs

type GetEnhancedNatAvailableZonesOutputArgs struct {
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

A collection of arguments for invoking getEnhancedNatAvailableZones.

func (GetEnhancedNatAvailableZonesOutputArgs) ElementType

type GetEnhancedNatAvailableZonesResult

type GetEnhancedNatAvailableZonesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string                             `pulumi:"id"`
	Ids        []string                           `pulumi:"ids"`
	OutputFile *string                            `pulumi:"outputFile"`
	Zones      []GetEnhancedNatAvailableZonesZone `pulumi:"zones"`
}

A collection of values returned by getEnhancedNatAvailableZones.

type GetEnhancedNatAvailableZonesResultOutput

type GetEnhancedNatAvailableZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEnhancedNatAvailableZones.

func (GetEnhancedNatAvailableZonesResultOutput) ElementType

func (GetEnhancedNatAvailableZonesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetEnhancedNatAvailableZonesResultOutput) Ids

func (GetEnhancedNatAvailableZonesResultOutput) OutputFile

func (GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutput

func (o GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutput() GetEnhancedNatAvailableZonesResultOutput

func (GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutputWithContext

func (o GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutputWithContext(ctx context.Context) GetEnhancedNatAvailableZonesResultOutput

func (GetEnhancedNatAvailableZonesResultOutput) Zones

type GetEnhancedNatAvailableZonesZone

type GetEnhancedNatAvailableZonesZone struct {
	LocalName string `pulumi:"localName"`
	ZoneId    string `pulumi:"zoneId"`
}

type GetEnhancedNatAvailableZonesZoneArgs

type GetEnhancedNatAvailableZonesZoneArgs struct {
	LocalName pulumi.StringInput `pulumi:"localName"`
	ZoneId    pulumi.StringInput `pulumi:"zoneId"`
}

func (GetEnhancedNatAvailableZonesZoneArgs) ElementType

func (GetEnhancedNatAvailableZonesZoneArgs) ToGetEnhancedNatAvailableZonesZoneOutput

func (i GetEnhancedNatAvailableZonesZoneArgs) ToGetEnhancedNatAvailableZonesZoneOutput() GetEnhancedNatAvailableZonesZoneOutput

func (GetEnhancedNatAvailableZonesZoneArgs) ToGetEnhancedNatAvailableZonesZoneOutputWithContext

func (i GetEnhancedNatAvailableZonesZoneArgs) ToGetEnhancedNatAvailableZonesZoneOutputWithContext(ctx context.Context) GetEnhancedNatAvailableZonesZoneOutput

type GetEnhancedNatAvailableZonesZoneArray

type GetEnhancedNatAvailableZonesZoneArray []GetEnhancedNatAvailableZonesZoneInput

func (GetEnhancedNatAvailableZonesZoneArray) ElementType

func (GetEnhancedNatAvailableZonesZoneArray) ToGetEnhancedNatAvailableZonesZoneArrayOutput

func (i GetEnhancedNatAvailableZonesZoneArray) ToGetEnhancedNatAvailableZonesZoneArrayOutput() GetEnhancedNatAvailableZonesZoneArrayOutput

func (GetEnhancedNatAvailableZonesZoneArray) ToGetEnhancedNatAvailableZonesZoneArrayOutputWithContext

func (i GetEnhancedNatAvailableZonesZoneArray) ToGetEnhancedNatAvailableZonesZoneArrayOutputWithContext(ctx context.Context) GetEnhancedNatAvailableZonesZoneArrayOutput

type GetEnhancedNatAvailableZonesZoneArrayInput

type GetEnhancedNatAvailableZonesZoneArrayInput interface {
	pulumi.Input

	ToGetEnhancedNatAvailableZonesZoneArrayOutput() GetEnhancedNatAvailableZonesZoneArrayOutput
	ToGetEnhancedNatAvailableZonesZoneArrayOutputWithContext(context.Context) GetEnhancedNatAvailableZonesZoneArrayOutput
}

GetEnhancedNatAvailableZonesZoneArrayInput is an input type that accepts GetEnhancedNatAvailableZonesZoneArray and GetEnhancedNatAvailableZonesZoneArrayOutput values. You can construct a concrete instance of `GetEnhancedNatAvailableZonesZoneArrayInput` via:

GetEnhancedNatAvailableZonesZoneArray{ GetEnhancedNatAvailableZonesZoneArgs{...} }

type GetEnhancedNatAvailableZonesZoneArrayOutput

type GetEnhancedNatAvailableZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetEnhancedNatAvailableZonesZoneArrayOutput) ElementType

func (GetEnhancedNatAvailableZonesZoneArrayOutput) Index

func (GetEnhancedNatAvailableZonesZoneArrayOutput) ToGetEnhancedNatAvailableZonesZoneArrayOutput

func (o GetEnhancedNatAvailableZonesZoneArrayOutput) ToGetEnhancedNatAvailableZonesZoneArrayOutput() GetEnhancedNatAvailableZonesZoneArrayOutput

func (GetEnhancedNatAvailableZonesZoneArrayOutput) ToGetEnhancedNatAvailableZonesZoneArrayOutputWithContext

func (o GetEnhancedNatAvailableZonesZoneArrayOutput) ToGetEnhancedNatAvailableZonesZoneArrayOutputWithContext(ctx context.Context) GetEnhancedNatAvailableZonesZoneArrayOutput

type GetEnhancedNatAvailableZonesZoneInput

type GetEnhancedNatAvailableZonesZoneInput interface {
	pulumi.Input

	ToGetEnhancedNatAvailableZonesZoneOutput() GetEnhancedNatAvailableZonesZoneOutput
	ToGetEnhancedNatAvailableZonesZoneOutputWithContext(context.Context) GetEnhancedNatAvailableZonesZoneOutput
}

GetEnhancedNatAvailableZonesZoneInput is an input type that accepts GetEnhancedNatAvailableZonesZoneArgs and GetEnhancedNatAvailableZonesZoneOutput values. You can construct a concrete instance of `GetEnhancedNatAvailableZonesZoneInput` via:

GetEnhancedNatAvailableZonesZoneArgs{...}

type GetEnhancedNatAvailableZonesZoneOutput

type GetEnhancedNatAvailableZonesZoneOutput struct{ *pulumi.OutputState }

func (GetEnhancedNatAvailableZonesZoneOutput) ElementType

func (GetEnhancedNatAvailableZonesZoneOutput) LocalName

func (GetEnhancedNatAvailableZonesZoneOutput) ToGetEnhancedNatAvailableZonesZoneOutput

func (o GetEnhancedNatAvailableZonesZoneOutput) ToGetEnhancedNatAvailableZonesZoneOutput() GetEnhancedNatAvailableZonesZoneOutput

func (GetEnhancedNatAvailableZonesZoneOutput) ToGetEnhancedNatAvailableZonesZoneOutputWithContext

func (o GetEnhancedNatAvailableZonesZoneOutput) ToGetEnhancedNatAvailableZonesZoneOutputWithContext(ctx context.Context) GetEnhancedNatAvailableZonesZoneOutput

func (GetEnhancedNatAvailableZonesZoneOutput) ZoneId

type GetForwardEntriesArgs

type GetForwardEntriesArgs struct {
	// The public IP address.
	ExternalIp *string `pulumi:"externalIp"`
	// The public port.
	ExternalPort *string `pulumi:"externalPort"`
	// The name of forward entry.
	ForwardEntryName *string `pulumi:"forwardEntryName"`
	// The ID of the Forward table.
	ForwardTableId string `pulumi:"forwardTableId"`
	// A list of Forward Entries IDs.
	Ids []string `pulumi:"ids"`
	// The private IP address.
	InternalIp *string `pulumi:"internalIp"`
	// The internal port.
	InternalPort *string `pulumi:"internalPort"`
	// The ip protocol. Valid values: `any`,`tcp` and `udp`.
	IpProtocol *string `pulumi:"ipProtocol"`
	// A regex string to filter results by forward entry name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of farward entry. Valid value `Available`, `Deleting` and `Pending`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getForwardEntries.

type GetForwardEntriesEntry

type GetForwardEntriesEntry struct {
	// The public IP address.
	ExternalIp string `pulumi:"externalIp"`
	// The public port.
	ExternalPort string `pulumi:"externalPort"`
	// The forward entry ID.
	ForwardEntryId string `pulumi:"forwardEntryId"`
	// The name of forward entry.
	ForwardEntryName string `pulumi:"forwardEntryName"`
	// The ID of the Forward Entry.
	Id string `pulumi:"id"`
	// The private IP address.
	InternalIp string `pulumi:"internalIp"`
	// The internal port.
	InternalPort string `pulumi:"internalPort"`
	// The ip protocol. Valid values: `any`,`tcp` and `udp`.
	IpProtocol string `pulumi:"ipProtocol"`
	// The forward entry name.
	Name string `pulumi:"name"`
	// The status of farward entry. Valid value `Available`, `Deleting` and `Pending`.
	Status string `pulumi:"status"`
}

type GetForwardEntriesEntryArgs

type GetForwardEntriesEntryArgs struct {
	// The public IP address.
	ExternalIp pulumi.StringInput `pulumi:"externalIp"`
	// The public port.
	ExternalPort pulumi.StringInput `pulumi:"externalPort"`
	// The forward entry ID.
	ForwardEntryId pulumi.StringInput `pulumi:"forwardEntryId"`
	// The name of forward entry.
	ForwardEntryName pulumi.StringInput `pulumi:"forwardEntryName"`
	// The ID of the Forward Entry.
	Id pulumi.StringInput `pulumi:"id"`
	// The private IP address.
	InternalIp pulumi.StringInput `pulumi:"internalIp"`
	// The internal port.
	InternalPort pulumi.StringInput `pulumi:"internalPort"`
	// The ip protocol. Valid values: `any`,`tcp` and `udp`.
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// The forward entry name.
	Name pulumi.StringInput `pulumi:"name"`
	// The status of farward entry. Valid value `Available`, `Deleting` and `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetForwardEntriesEntryArgs) ElementType

func (GetForwardEntriesEntryArgs) ElementType() reflect.Type

func (GetForwardEntriesEntryArgs) ToGetForwardEntriesEntryOutput

func (i GetForwardEntriesEntryArgs) ToGetForwardEntriesEntryOutput() GetForwardEntriesEntryOutput

func (GetForwardEntriesEntryArgs) ToGetForwardEntriesEntryOutputWithContext

func (i GetForwardEntriesEntryArgs) ToGetForwardEntriesEntryOutputWithContext(ctx context.Context) GetForwardEntriesEntryOutput

type GetForwardEntriesEntryArray

type GetForwardEntriesEntryArray []GetForwardEntriesEntryInput

func (GetForwardEntriesEntryArray) ElementType

func (GetForwardEntriesEntryArray) ToGetForwardEntriesEntryArrayOutput

func (i GetForwardEntriesEntryArray) ToGetForwardEntriesEntryArrayOutput() GetForwardEntriesEntryArrayOutput

func (GetForwardEntriesEntryArray) ToGetForwardEntriesEntryArrayOutputWithContext

func (i GetForwardEntriesEntryArray) ToGetForwardEntriesEntryArrayOutputWithContext(ctx context.Context) GetForwardEntriesEntryArrayOutput

type GetForwardEntriesEntryArrayInput

type GetForwardEntriesEntryArrayInput interface {
	pulumi.Input

	ToGetForwardEntriesEntryArrayOutput() GetForwardEntriesEntryArrayOutput
	ToGetForwardEntriesEntryArrayOutputWithContext(context.Context) GetForwardEntriesEntryArrayOutput
}

GetForwardEntriesEntryArrayInput is an input type that accepts GetForwardEntriesEntryArray and GetForwardEntriesEntryArrayOutput values. You can construct a concrete instance of `GetForwardEntriesEntryArrayInput` via:

GetForwardEntriesEntryArray{ GetForwardEntriesEntryArgs{...} }

type GetForwardEntriesEntryArrayOutput

type GetForwardEntriesEntryArrayOutput struct{ *pulumi.OutputState }

func (GetForwardEntriesEntryArrayOutput) ElementType

func (GetForwardEntriesEntryArrayOutput) Index

func (GetForwardEntriesEntryArrayOutput) ToGetForwardEntriesEntryArrayOutput

func (o GetForwardEntriesEntryArrayOutput) ToGetForwardEntriesEntryArrayOutput() GetForwardEntriesEntryArrayOutput

func (GetForwardEntriesEntryArrayOutput) ToGetForwardEntriesEntryArrayOutputWithContext

func (o GetForwardEntriesEntryArrayOutput) ToGetForwardEntriesEntryArrayOutputWithContext(ctx context.Context) GetForwardEntriesEntryArrayOutput

type GetForwardEntriesEntryInput

type GetForwardEntriesEntryInput interface {
	pulumi.Input

	ToGetForwardEntriesEntryOutput() GetForwardEntriesEntryOutput
	ToGetForwardEntriesEntryOutputWithContext(context.Context) GetForwardEntriesEntryOutput
}

GetForwardEntriesEntryInput is an input type that accepts GetForwardEntriesEntryArgs and GetForwardEntriesEntryOutput values. You can construct a concrete instance of `GetForwardEntriesEntryInput` via:

GetForwardEntriesEntryArgs{...}

type GetForwardEntriesEntryOutput

type GetForwardEntriesEntryOutput struct{ *pulumi.OutputState }

func (GetForwardEntriesEntryOutput) ElementType

func (GetForwardEntriesEntryOutput) ExternalIp

The public IP address.

func (GetForwardEntriesEntryOutput) ExternalPort

The public port.

func (GetForwardEntriesEntryOutput) ForwardEntryId

The forward entry ID.

func (GetForwardEntriesEntryOutput) ForwardEntryName

func (o GetForwardEntriesEntryOutput) ForwardEntryName() pulumi.StringOutput

The name of forward entry.

func (GetForwardEntriesEntryOutput) Id

The ID of the Forward Entry.

func (GetForwardEntriesEntryOutput) InternalIp

The private IP address.

func (GetForwardEntriesEntryOutput) InternalPort

The internal port.

func (GetForwardEntriesEntryOutput) IpProtocol

The ip protocol. Valid values: `any`,`tcp` and `udp`.

func (GetForwardEntriesEntryOutput) Name

The forward entry name.

func (GetForwardEntriesEntryOutput) Status

The status of farward entry. Valid value `Available`, `Deleting` and `Pending`.

func (GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutput

func (o GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutput() GetForwardEntriesEntryOutput

func (GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutputWithContext

func (o GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutputWithContext(ctx context.Context) GetForwardEntriesEntryOutput

type GetForwardEntriesOutputArgs

type GetForwardEntriesOutputArgs struct {
	// The public IP address.
	ExternalIp pulumi.StringPtrInput `pulumi:"externalIp"`
	// The public port.
	ExternalPort pulumi.StringPtrInput `pulumi:"externalPort"`
	// The name of forward entry.
	ForwardEntryName pulumi.StringPtrInput `pulumi:"forwardEntryName"`
	// The ID of the Forward table.
	ForwardTableId pulumi.StringInput `pulumi:"forwardTableId"`
	// A list of Forward Entries IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The private IP address.
	InternalIp pulumi.StringPtrInput `pulumi:"internalIp"`
	// The internal port.
	InternalPort pulumi.StringPtrInput `pulumi:"internalPort"`
	// The ip protocol. Valid values: `any`,`tcp` and `udp`.
	IpProtocol pulumi.StringPtrInput `pulumi:"ipProtocol"`
	// A regex string to filter results by forward entry name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of farward entry. Valid value `Available`, `Deleting` and `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getForwardEntries.

func (GetForwardEntriesOutputArgs) ElementType

type GetForwardEntriesResult

type GetForwardEntriesResult struct {
	// A list of Forward Entries. Each element contains the following attributes:
	Entries []GetForwardEntriesEntry `pulumi:"entries"`
	// The public IP address.
	ExternalIp *string `pulumi:"externalIp"`
	// The public port.
	ExternalPort *string `pulumi:"externalPort"`
	// The name of forward entry.
	ForwardEntryName *string `pulumi:"forwardEntryName"`
	ForwardTableId   string  `pulumi:"forwardTableId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of Forward Entries IDs.
	Ids []string `pulumi:"ids"`
	// The private IP address.
	InternalIp *string `pulumi:"internalIp"`
	// The private port.
	InternalPort *string `pulumi:"internalPort"`
	// The protocol type.
	IpProtocol *string `pulumi:"ipProtocol"`
	NameRegex  *string `pulumi:"nameRegex"`
	// A list of Forward Entries names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of forward entry.
	Status *string `pulumi:"status"`
}

A collection of values returned by getForwardEntries.

func GetForwardEntries

func GetForwardEntries(ctx *pulumi.Context, args *GetForwardEntriesArgs, opts ...pulumi.InvokeOption) (*GetForwardEntriesResult, error)

This data source provides a list of Forward Entries owned by an Alibaba Cloud account.

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

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "forward-entry-config-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
			VpcName:   pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			VpcId:       defaultNetwork.ID(),
			VswitchName: pulumi.String(name),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "defaultNatGateway", &vpc.NatGatewayArgs{
			Specification: pulumi.String("Small"),
			VpcId:         defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "defaultEipAddress", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "defaultEipAssociation", &ecs.EipAssociationArgs{
			AllocationId: defaultEipAddress.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		defaultForwardEntry, err := vpc.NewForwardEntry(ctx, "defaultForwardEntry", &vpc.ForwardEntryArgs{
			ExternalIp:     defaultEipAddress.IpAddress,
			ExternalPort:   pulumi.String("80"),
			ForwardTableId: defaultNatGateway.ForwardTableIds,
			InternalIp:     pulumi.String("172.16.0.3"),
			InternalPort:   pulumi.String("8080"),
			IpProtocol:     pulumi.String("tcp"),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetForwardEntriesOutput(ctx, vpc.GetForwardEntriesOutputArgs{
			ForwardTableId: defaultForwardEntry.ForwardTableId,
		}, nil)
		return nil
	})
}

```

type GetForwardEntriesResultOutput

type GetForwardEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getForwardEntries.

func (GetForwardEntriesResultOutput) ElementType

func (GetForwardEntriesResultOutput) Entries

A list of Forward Entries. Each element contains the following attributes:

func (GetForwardEntriesResultOutput) ExternalIp

The public IP address.

func (GetForwardEntriesResultOutput) ExternalPort

The public port.

func (GetForwardEntriesResultOutput) ForwardEntryName

The name of forward entry.

func (GetForwardEntriesResultOutput) ForwardTableId

func (GetForwardEntriesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetForwardEntriesResultOutput) Ids

A list of Forward Entries IDs.

func (GetForwardEntriesResultOutput) InternalIp

The private IP address.

func (GetForwardEntriesResultOutput) InternalPort

The private port.

func (GetForwardEntriesResultOutput) IpProtocol

The protocol type.

func (GetForwardEntriesResultOutput) NameRegex

func (GetForwardEntriesResultOutput) Names

A list of Forward Entries names.

func (GetForwardEntriesResultOutput) OutputFile

func (GetForwardEntriesResultOutput) Status

The status of forward entry.

func (GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutput

func (o GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutput() GetForwardEntriesResultOutput

func (GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutputWithContext

func (o GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutputWithContext(ctx context.Context) GetForwardEntriesResultOutput

type GetHavipsArgs

type GetHavipsArgs struct {
	// A list of Ha Vip IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Ha Vip name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getHavips.

type GetHavipsHavip

type GetHavipsHavip struct {
	// EIP bound to HaVip.
	AssociatedEipAddresses []string `pulumi:"associatedEipAddresses"`
	// An ECS instance that is bound to HaVip.
	AssociatedInstances []string `pulumi:"associatedInstances"`
	// Dependence of a HaVip instance.
	Description string `pulumi:"description"`
	// The  ID of the resource.
	HavipId string `pulumi:"havipId"`
	// The name of the HaVip instance.
	HavipName string `pulumi:"havipName"`
	// The ID of the Ha Vip.
	Id string `pulumi:"id"`
	// IP address of private network.
	IpAddress string `pulumi:"ipAddress"`
	// The primary instance ID bound to HaVip.
	MasterInstanceId string `pulumi:"masterInstanceId"`
	// The status.
	Status string `pulumi:"status"`
	// The VPC ID to which the HaVip instance belongs.
	VpcId string `pulumi:"vpcId"`
	// The vswitch id.
	VswitchId string `pulumi:"vswitchId"`
}

type GetHavipsHavipArgs

type GetHavipsHavipArgs struct {
	// EIP bound to HaVip.
	AssociatedEipAddresses pulumi.StringArrayInput `pulumi:"associatedEipAddresses"`
	// An ECS instance that is bound to HaVip.
	AssociatedInstances pulumi.StringArrayInput `pulumi:"associatedInstances"`
	// Dependence of a HaVip instance.
	Description pulumi.StringInput `pulumi:"description"`
	// The  ID of the resource.
	HavipId pulumi.StringInput `pulumi:"havipId"`
	// The name of the HaVip instance.
	HavipName pulumi.StringInput `pulumi:"havipName"`
	// The ID of the Ha Vip.
	Id pulumi.StringInput `pulumi:"id"`
	// IP address of private network.
	IpAddress pulumi.StringInput `pulumi:"ipAddress"`
	// The primary instance ID bound to HaVip.
	MasterInstanceId pulumi.StringInput `pulumi:"masterInstanceId"`
	// The status.
	Status pulumi.StringInput `pulumi:"status"`
	// The VPC ID to which the HaVip instance belongs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The vswitch id.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetHavipsHavipArgs) ElementType

func (GetHavipsHavipArgs) ElementType() reflect.Type

func (GetHavipsHavipArgs) ToGetHavipsHavipOutput

func (i GetHavipsHavipArgs) ToGetHavipsHavipOutput() GetHavipsHavipOutput

func (GetHavipsHavipArgs) ToGetHavipsHavipOutputWithContext

func (i GetHavipsHavipArgs) ToGetHavipsHavipOutputWithContext(ctx context.Context) GetHavipsHavipOutput

type GetHavipsHavipArray

type GetHavipsHavipArray []GetHavipsHavipInput

func (GetHavipsHavipArray) ElementType

func (GetHavipsHavipArray) ElementType() reflect.Type

func (GetHavipsHavipArray) ToGetHavipsHavipArrayOutput

func (i GetHavipsHavipArray) ToGetHavipsHavipArrayOutput() GetHavipsHavipArrayOutput

func (GetHavipsHavipArray) ToGetHavipsHavipArrayOutputWithContext

func (i GetHavipsHavipArray) ToGetHavipsHavipArrayOutputWithContext(ctx context.Context) GetHavipsHavipArrayOutput

type GetHavipsHavipArrayInput

type GetHavipsHavipArrayInput interface {
	pulumi.Input

	ToGetHavipsHavipArrayOutput() GetHavipsHavipArrayOutput
	ToGetHavipsHavipArrayOutputWithContext(context.Context) GetHavipsHavipArrayOutput
}

GetHavipsHavipArrayInput is an input type that accepts GetHavipsHavipArray and GetHavipsHavipArrayOutput values. You can construct a concrete instance of `GetHavipsHavipArrayInput` via:

GetHavipsHavipArray{ GetHavipsHavipArgs{...} }

type GetHavipsHavipArrayOutput

type GetHavipsHavipArrayOutput struct{ *pulumi.OutputState }

func (GetHavipsHavipArrayOutput) ElementType

func (GetHavipsHavipArrayOutput) ElementType() reflect.Type

func (GetHavipsHavipArrayOutput) Index

func (GetHavipsHavipArrayOutput) ToGetHavipsHavipArrayOutput

func (o GetHavipsHavipArrayOutput) ToGetHavipsHavipArrayOutput() GetHavipsHavipArrayOutput

func (GetHavipsHavipArrayOutput) ToGetHavipsHavipArrayOutputWithContext

func (o GetHavipsHavipArrayOutput) ToGetHavipsHavipArrayOutputWithContext(ctx context.Context) GetHavipsHavipArrayOutput

type GetHavipsHavipInput

type GetHavipsHavipInput interface {
	pulumi.Input

	ToGetHavipsHavipOutput() GetHavipsHavipOutput
	ToGetHavipsHavipOutputWithContext(context.Context) GetHavipsHavipOutput
}

GetHavipsHavipInput is an input type that accepts GetHavipsHavipArgs and GetHavipsHavipOutput values. You can construct a concrete instance of `GetHavipsHavipInput` via:

GetHavipsHavipArgs{...}

type GetHavipsHavipOutput

type GetHavipsHavipOutput struct{ *pulumi.OutputState }

func (GetHavipsHavipOutput) AssociatedEipAddresses

func (o GetHavipsHavipOutput) AssociatedEipAddresses() pulumi.StringArrayOutput

EIP bound to HaVip.

func (GetHavipsHavipOutput) AssociatedInstances

func (o GetHavipsHavipOutput) AssociatedInstances() pulumi.StringArrayOutput

An ECS instance that is bound to HaVip.

func (GetHavipsHavipOutput) Description

func (o GetHavipsHavipOutput) Description() pulumi.StringOutput

Dependence of a HaVip instance.

func (GetHavipsHavipOutput) ElementType

func (GetHavipsHavipOutput) ElementType() reflect.Type

func (GetHavipsHavipOutput) HavipId

The ID of the resource.

func (GetHavipsHavipOutput) HavipName

The name of the HaVip instance.

func (GetHavipsHavipOutput) Id

The ID of the Ha Vip.

func (GetHavipsHavipOutput) IpAddress

IP address of private network.

func (GetHavipsHavipOutput) MasterInstanceId

func (o GetHavipsHavipOutput) MasterInstanceId() pulumi.StringOutput

The primary instance ID bound to HaVip.

func (GetHavipsHavipOutput) Status

The status.

func (GetHavipsHavipOutput) ToGetHavipsHavipOutput

func (o GetHavipsHavipOutput) ToGetHavipsHavipOutput() GetHavipsHavipOutput

func (GetHavipsHavipOutput) ToGetHavipsHavipOutputWithContext

func (o GetHavipsHavipOutput) ToGetHavipsHavipOutputWithContext(ctx context.Context) GetHavipsHavipOutput

func (GetHavipsHavipOutput) VpcId

The VPC ID to which the HaVip instance belongs.

func (GetHavipsHavipOutput) VswitchId

The vswitch id.

type GetHavipsOutputArgs

type GetHavipsOutputArgs struct {
	// A list of Ha Vip IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Ha Vip name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getHavips.

func (GetHavipsOutputArgs) ElementType

func (GetHavipsOutputArgs) ElementType() reflect.Type

type GetHavipsResult

type GetHavipsResult struct {
	Havips []GetHavipsHavip `pulumi:"havips"`
	// 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"`
	Status     *string  `pulumi:"status"`
}

A collection of values returned by getHavips.

func GetHavips

func GetHavips(ctx *pulumi.Context, args *GetHavipsArgs, opts ...pulumi.InvokeOption) (*GetHavipsResult, error)

This data source provides the Havips of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := vpc.GetHavips(ctx, &vpc.GetHavipsArgs{
			Ids: []string{
				"example_value",
			},
			NameRegex: pulumi.StringRef("the_resource_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstHavipId", example.Havips[0].Id)
		return nil
	})
}

```

type GetHavipsResultOutput

type GetHavipsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHavips.

func (GetHavipsResultOutput) ElementType

func (GetHavipsResultOutput) ElementType() reflect.Type

func (GetHavipsResultOutput) Havips

func (GetHavipsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetHavipsResultOutput) Ids

func (GetHavipsResultOutput) NameRegex

func (GetHavipsResultOutput) Names

func (GetHavipsResultOutput) OutputFile

func (GetHavipsResultOutput) Status

func (GetHavipsResultOutput) ToGetHavipsResultOutput

func (o GetHavipsResultOutput) ToGetHavipsResultOutput() GetHavipsResultOutput

func (GetHavipsResultOutput) ToGetHavipsResultOutputWithContext

func (o GetHavipsResultOutput) ToGetHavipsResultOutputWithContext(ctx context.Context) GetHavipsResultOutput

type GetIpsecServersArgs

type GetIpsecServersArgs struct {
	// A list of Ipsec Server IDs.
	Ids []string `pulumi:"ids"`
	// The name of the IPsec server.
	IpsecServerName *string `pulumi:"ipsecServerName"`
	// A regex string to filter results by Ipsec Server name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the VPN gateway.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getIpsecServers.

type GetIpsecServersOutputArgs

type GetIpsecServersOutputArgs struct {
	// A list of Ipsec Server IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The name of the IPsec server.
	IpsecServerName pulumi.StringPtrInput `pulumi:"ipsecServerName"`
	// A regex string to filter results by Ipsec Server name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringPtrInput `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getIpsecServers.

func (GetIpsecServersOutputArgs) ElementType

func (GetIpsecServersOutputArgs) ElementType() reflect.Type

type GetIpsecServersResult

type GetIpsecServersResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id              string                  `pulumi:"id"`
	Ids             []string                `pulumi:"ids"`
	IpsecServerName *string                 `pulumi:"ipsecServerName"`
	NameRegex       *string                 `pulumi:"nameRegex"`
	Names           []string                `pulumi:"names"`
	OutputFile      *string                 `pulumi:"outputFile"`
	Servers         []GetIpsecServersServer `pulumi:"servers"`
	VpnGatewayId    *string                 `pulumi:"vpnGatewayId"`
}

A collection of values returned by getIpsecServers.

func GetIpsecServers

func GetIpsecServers(ctx *pulumi.Context, args *GetIpsecServersArgs, opts ...pulumi.InvokeOption) (*GetIpsecServersResult, error)

This data source provides the Vpn Ipsec Servers of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetIpsecServers(ctx, &vpc.GetIpsecServersArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpnIpsecServerId1", ids.Servers[0].Id)
		nameRegex, err := vpc.GetIpsecServers(ctx, &vpc.GetIpsecServersArgs{
			NameRegex: pulumi.StringRef("^my-IpsecServer"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpnIpsecServerId2", nameRegex.Servers[0].Id)
		return nil
	})
}

```

type GetIpsecServersResultOutput

type GetIpsecServersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpsecServers.

func (GetIpsecServersResultOutput) ElementType

func (GetIpsecServersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIpsecServersResultOutput) Ids

func (GetIpsecServersResultOutput) IpsecServerName

func (GetIpsecServersResultOutput) NameRegex

func (GetIpsecServersResultOutput) Names

func (GetIpsecServersResultOutput) OutputFile

func (GetIpsecServersResultOutput) Servers

func (GetIpsecServersResultOutput) ToGetIpsecServersResultOutput

func (o GetIpsecServersResultOutput) ToGetIpsecServersResultOutput() GetIpsecServersResultOutput

func (GetIpsecServersResultOutput) ToGetIpsecServersResultOutputWithContext

func (o GetIpsecServersResultOutput) ToGetIpsecServersResultOutputWithContext(ctx context.Context) GetIpsecServersResultOutput

func (GetIpsecServersResultOutput) VpnGatewayId

type GetIpsecServersServer

type GetIpsecServersServer struct {
	// The CIDR block of the client, which is assigned an access address to the virtual NIC of the client.
	ClientIpPool string `pulumi:"clientIpPool"`
	// The creation time of the IPsec server. T represents the delimiter, and Z represents UTC, which is World Standard Time.
	CreateTime string `pulumi:"createTime"`
	// Indicates whether the current IPsec tunnel is deleted and negotiations are reinitiated.
	EffectImmediately bool `pulumi:"effectImmediately"`
	// The ID of the Ipsec Server.
	Id string `pulumi:"id"`
	// The ID of the Identity as a Service (IDaaS) instance.
	IdaasInstanceId string `pulumi:"idaasInstanceId"`
	// The configurations of Phase 1 negotiations.
	IkeConfigs []GetIpsecServersServerIkeConfig `pulumi:"ikeConfigs"`
	// The public IP address of the VPN gateway.
	InternetIp string `pulumi:"internetIp"`
	// The configuration of Phase 2 negotiations.
	IpsecConfigs []GetIpsecServersServerIpsecConfig `pulumi:"ipsecConfigs"`
	// The ID of the IPsec server.
	IpsecServerId string `pulumi:"ipsecServerId"`
	// The name of the IPsec server.
	IpsecServerName string `pulumi:"ipsecServerName"`
	// Local network segment: the network segment on The VPC side that needs to be interconnected with the client network segment.
	LocalSubnet string `pulumi:"localSubnet"`
	// The number of SSL connections of the VPN gateway. SSL-VPN the number of SSL connections shared with the IPsec server. For example, if the number of SSL connections is 5 and you have three SSL clients connected to the SSL-VPN, you can also use two clients to connect to the IPsec server.
	MaxConnections int `pulumi:"maxConnections"`
	// Whether the two-factor authentication function has been turned on.
	MultiFactorAuthEnabled bool `pulumi:"multiFactorAuthEnabled"`
	// The number of clients that have connected to the IPsec server.
	OnlineClientCount int `pulumi:"onlineClientCount"`
	// The pre-shared key.
	Psk string `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 bool `pulumi:"pskEnabled"`
	// The ID of the VPN gateway.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
}

type GetIpsecServersServerArgs

type GetIpsecServersServerArgs struct {
	// The CIDR block of the client, which is assigned an access address to the virtual NIC of the client.
	ClientIpPool pulumi.StringInput `pulumi:"clientIpPool"`
	// The creation time of the IPsec server. T represents the delimiter, and Z represents UTC, which is World Standard Time.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Indicates whether the current IPsec tunnel is deleted and negotiations are reinitiated.
	EffectImmediately pulumi.BoolInput `pulumi:"effectImmediately"`
	// The ID of the Ipsec Server.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the Identity as a Service (IDaaS) instance.
	IdaasInstanceId pulumi.StringInput `pulumi:"idaasInstanceId"`
	// The configurations of Phase 1 negotiations.
	IkeConfigs GetIpsecServersServerIkeConfigArrayInput `pulumi:"ikeConfigs"`
	// The public IP address of the VPN gateway.
	InternetIp pulumi.StringInput `pulumi:"internetIp"`
	// The configuration of Phase 2 negotiations.
	IpsecConfigs GetIpsecServersServerIpsecConfigArrayInput `pulumi:"ipsecConfigs"`
	// The ID of the IPsec server.
	IpsecServerId pulumi.StringInput `pulumi:"ipsecServerId"`
	// The name of the IPsec server.
	IpsecServerName pulumi.StringInput `pulumi:"ipsecServerName"`
	// Local network segment: the network segment on The VPC side that needs to be interconnected with the client network segment.
	LocalSubnet pulumi.StringInput `pulumi:"localSubnet"`
	// The number of SSL connections of the VPN gateway. SSL-VPN the number of SSL connections shared with the IPsec server. For example, if the number of SSL connections is 5 and you have three SSL clients connected to the SSL-VPN, you can also use two clients to connect to the IPsec server.
	MaxConnections pulumi.IntInput `pulumi:"maxConnections"`
	// Whether the two-factor authentication function has been turned on.
	MultiFactorAuthEnabled pulumi.BoolInput `pulumi:"multiFactorAuthEnabled"`
	// The number of clients that have connected to the IPsec server.
	OnlineClientCount pulumi.IntInput `pulumi:"onlineClientCount"`
	// The pre-shared key.
	Psk pulumi.StringInput `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.BoolInput `pulumi:"pskEnabled"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringInput `pulumi:"vpnGatewayId"`
}

func (GetIpsecServersServerArgs) ElementType

func (GetIpsecServersServerArgs) ElementType() reflect.Type

func (GetIpsecServersServerArgs) ToGetIpsecServersServerOutput

func (i GetIpsecServersServerArgs) ToGetIpsecServersServerOutput() GetIpsecServersServerOutput

func (GetIpsecServersServerArgs) ToGetIpsecServersServerOutputWithContext

func (i GetIpsecServersServerArgs) ToGetIpsecServersServerOutputWithContext(ctx context.Context) GetIpsecServersServerOutput

type GetIpsecServersServerArray

type GetIpsecServersServerArray []GetIpsecServersServerInput

func (GetIpsecServersServerArray) ElementType

func (GetIpsecServersServerArray) ElementType() reflect.Type

func (GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutput

func (i GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutput() GetIpsecServersServerArrayOutput

func (GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutputWithContext

func (i GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutputWithContext(ctx context.Context) GetIpsecServersServerArrayOutput

type GetIpsecServersServerArrayInput

type GetIpsecServersServerArrayInput interface {
	pulumi.Input

	ToGetIpsecServersServerArrayOutput() GetIpsecServersServerArrayOutput
	ToGetIpsecServersServerArrayOutputWithContext(context.Context) GetIpsecServersServerArrayOutput
}

GetIpsecServersServerArrayInput is an input type that accepts GetIpsecServersServerArray and GetIpsecServersServerArrayOutput values. You can construct a concrete instance of `GetIpsecServersServerArrayInput` via:

GetIpsecServersServerArray{ GetIpsecServersServerArgs{...} }

type GetIpsecServersServerArrayOutput

type GetIpsecServersServerArrayOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerArrayOutput) ElementType

func (GetIpsecServersServerArrayOutput) Index

func (GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutput

func (o GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutput() GetIpsecServersServerArrayOutput

func (GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutputWithContext

func (o GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutputWithContext(ctx context.Context) GetIpsecServersServerArrayOutput

type GetIpsecServersServerIkeConfig

type GetIpsecServersServerIkeConfig struct {
	// The IKE authentication algorithm.
	IkeAuthAlg string `pulumi:"ikeAuthAlg"`
	// The IKE encryption algorithm.
	IkeEncAlg string `pulumi:"ikeEncAlg"`
	// The IKE lifetime. Unit: seconds.
	IkeLifetime int `pulumi:"ikeLifetime"`
	// The IKE negotiation mode.
	IkeMode string `pulumi:"ikeMode"`
	// Diffie-Hellman key exchange algorithm.
	IkePfs string `pulumi:"ikePfs"`
	// The IKE version.
	IkeVersion string `pulumi:"ikeVersion"`
	// IPsec server identifier. Supports the format of FQDN and IP address. The public IP address of the VPN gateway is selected by default.
	LocalId string `pulumi:"localId"`
	// The peer identifier. Supports the format of FQDN and IP address, which is empty by default.
	RemoteId string `pulumi:"remoteId"`
}

type GetIpsecServersServerIkeConfigArgs

type GetIpsecServersServerIkeConfigArgs 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.IntInput `pulumi:"ikeLifetime"`
	// The IKE negotiation mode.
	IkeMode pulumi.StringInput `pulumi:"ikeMode"`
	// Diffie-Hellman key exchange algorithm.
	IkePfs pulumi.StringInput `pulumi:"ikePfs"`
	// The IKE version.
	IkeVersion pulumi.StringInput `pulumi:"ikeVersion"`
	// IPsec server identifier. Supports the format of FQDN and IP address. The public IP address of the VPN gateway is selected by default.
	LocalId pulumi.StringInput `pulumi:"localId"`
	// The peer identifier. Supports the format of FQDN and IP address, which is empty by default.
	RemoteId pulumi.StringInput `pulumi:"remoteId"`
}

func (GetIpsecServersServerIkeConfigArgs) ElementType

func (GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutput

func (i GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutput() GetIpsecServersServerIkeConfigOutput

func (GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutputWithContext

func (i GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutputWithContext(ctx context.Context) GetIpsecServersServerIkeConfigOutput

type GetIpsecServersServerIkeConfigArray

type GetIpsecServersServerIkeConfigArray []GetIpsecServersServerIkeConfigInput

func (GetIpsecServersServerIkeConfigArray) ElementType

func (GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutput

func (i GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutput() GetIpsecServersServerIkeConfigArrayOutput

func (GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutputWithContext

func (i GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutputWithContext(ctx context.Context) GetIpsecServersServerIkeConfigArrayOutput

type GetIpsecServersServerIkeConfigArrayInput

type GetIpsecServersServerIkeConfigArrayInput interface {
	pulumi.Input

	ToGetIpsecServersServerIkeConfigArrayOutput() GetIpsecServersServerIkeConfigArrayOutput
	ToGetIpsecServersServerIkeConfigArrayOutputWithContext(context.Context) GetIpsecServersServerIkeConfigArrayOutput
}

GetIpsecServersServerIkeConfigArrayInput is an input type that accepts GetIpsecServersServerIkeConfigArray and GetIpsecServersServerIkeConfigArrayOutput values. You can construct a concrete instance of `GetIpsecServersServerIkeConfigArrayInput` via:

GetIpsecServersServerIkeConfigArray{ GetIpsecServersServerIkeConfigArgs{...} }

type GetIpsecServersServerIkeConfigArrayOutput

type GetIpsecServersServerIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIkeConfigArrayOutput) ElementType

func (GetIpsecServersServerIkeConfigArrayOutput) Index

func (GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutput

func (o GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutput() GetIpsecServersServerIkeConfigArrayOutput

func (GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutputWithContext

func (o GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutputWithContext(ctx context.Context) GetIpsecServersServerIkeConfigArrayOutput

type GetIpsecServersServerIkeConfigInput

type GetIpsecServersServerIkeConfigInput interface {
	pulumi.Input

	ToGetIpsecServersServerIkeConfigOutput() GetIpsecServersServerIkeConfigOutput
	ToGetIpsecServersServerIkeConfigOutputWithContext(context.Context) GetIpsecServersServerIkeConfigOutput
}

GetIpsecServersServerIkeConfigInput is an input type that accepts GetIpsecServersServerIkeConfigArgs and GetIpsecServersServerIkeConfigOutput values. You can construct a concrete instance of `GetIpsecServersServerIkeConfigInput` via:

GetIpsecServersServerIkeConfigArgs{...}

type GetIpsecServersServerIkeConfigOutput

type GetIpsecServersServerIkeConfigOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIkeConfigOutput) ElementType

func (GetIpsecServersServerIkeConfigOutput) IkeAuthAlg

The IKE authentication algorithm.

func (GetIpsecServersServerIkeConfigOutput) IkeEncAlg

The IKE encryption algorithm.

func (GetIpsecServersServerIkeConfigOutput) IkeLifetime

The IKE lifetime. Unit: seconds.

func (GetIpsecServersServerIkeConfigOutput) IkeMode

The IKE negotiation mode.

func (GetIpsecServersServerIkeConfigOutput) IkePfs

Diffie-Hellman key exchange algorithm.

func (GetIpsecServersServerIkeConfigOutput) IkeVersion

The IKE version.

func (GetIpsecServersServerIkeConfigOutput) LocalId

IPsec server identifier. Supports the format of FQDN and IP address. The public IP address of the VPN gateway is selected by default.

func (GetIpsecServersServerIkeConfigOutput) RemoteId

The peer identifier. Supports the format of FQDN and IP address, which is empty by default.

func (GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutput

func (o GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutput() GetIpsecServersServerIkeConfigOutput

func (GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutputWithContext

func (o GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutputWithContext(ctx context.Context) GetIpsecServersServerIkeConfigOutput

type GetIpsecServersServerInput

type GetIpsecServersServerInput interface {
	pulumi.Input

	ToGetIpsecServersServerOutput() GetIpsecServersServerOutput
	ToGetIpsecServersServerOutputWithContext(context.Context) GetIpsecServersServerOutput
}

GetIpsecServersServerInput is an input type that accepts GetIpsecServersServerArgs and GetIpsecServersServerOutput values. You can construct a concrete instance of `GetIpsecServersServerInput` via:

GetIpsecServersServerArgs{...}

type GetIpsecServersServerIpsecConfig

type GetIpsecServersServerIpsecConfig struct {
	// IPsec authentication algorithm.
	IpsecAuthAlg string `pulumi:"ipsecAuthAlg"`
	// IPsec encryption algorithm.
	IpsecEncAlg string `pulumi:"ipsecEncAlg"`
	// IPsec survival time. Unit: seconds.
	IpsecLifetime int `pulumi:"ipsecLifetime"`
	// Diffie-Hellman key exchange algorithm.
	IpsecPfs string `pulumi:"ipsecPfs"`
}

type GetIpsecServersServerIpsecConfigArgs

type GetIpsecServersServerIpsecConfigArgs struct {
	// IPsec authentication algorithm.
	IpsecAuthAlg pulumi.StringInput `pulumi:"ipsecAuthAlg"`
	// IPsec encryption algorithm.
	IpsecEncAlg pulumi.StringInput `pulumi:"ipsecEncAlg"`
	// IPsec survival time. Unit: seconds.
	IpsecLifetime pulumi.IntInput `pulumi:"ipsecLifetime"`
	// Diffie-Hellman key exchange algorithm.
	IpsecPfs pulumi.StringInput `pulumi:"ipsecPfs"`
}

func (GetIpsecServersServerIpsecConfigArgs) ElementType

func (GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutput

func (i GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutput() GetIpsecServersServerIpsecConfigOutput

func (GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutputWithContext

func (i GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutputWithContext(ctx context.Context) GetIpsecServersServerIpsecConfigOutput

type GetIpsecServersServerIpsecConfigArray

type GetIpsecServersServerIpsecConfigArray []GetIpsecServersServerIpsecConfigInput

func (GetIpsecServersServerIpsecConfigArray) ElementType

func (GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutput

func (i GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutput() GetIpsecServersServerIpsecConfigArrayOutput

func (GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutputWithContext

func (i GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutputWithContext(ctx context.Context) GetIpsecServersServerIpsecConfigArrayOutput

type GetIpsecServersServerIpsecConfigArrayInput

type GetIpsecServersServerIpsecConfigArrayInput interface {
	pulumi.Input

	ToGetIpsecServersServerIpsecConfigArrayOutput() GetIpsecServersServerIpsecConfigArrayOutput
	ToGetIpsecServersServerIpsecConfigArrayOutputWithContext(context.Context) GetIpsecServersServerIpsecConfigArrayOutput
}

GetIpsecServersServerIpsecConfigArrayInput is an input type that accepts GetIpsecServersServerIpsecConfigArray and GetIpsecServersServerIpsecConfigArrayOutput values. You can construct a concrete instance of `GetIpsecServersServerIpsecConfigArrayInput` via:

GetIpsecServersServerIpsecConfigArray{ GetIpsecServersServerIpsecConfigArgs{...} }

type GetIpsecServersServerIpsecConfigArrayOutput

type GetIpsecServersServerIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIpsecConfigArrayOutput) ElementType

func (GetIpsecServersServerIpsecConfigArrayOutput) Index

func (GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutput

func (o GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutput() GetIpsecServersServerIpsecConfigArrayOutput

func (GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutputWithContext

func (o GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutputWithContext(ctx context.Context) GetIpsecServersServerIpsecConfigArrayOutput

type GetIpsecServersServerIpsecConfigInput

type GetIpsecServersServerIpsecConfigInput interface {
	pulumi.Input

	ToGetIpsecServersServerIpsecConfigOutput() GetIpsecServersServerIpsecConfigOutput
	ToGetIpsecServersServerIpsecConfigOutputWithContext(context.Context) GetIpsecServersServerIpsecConfigOutput
}

GetIpsecServersServerIpsecConfigInput is an input type that accepts GetIpsecServersServerIpsecConfigArgs and GetIpsecServersServerIpsecConfigOutput values. You can construct a concrete instance of `GetIpsecServersServerIpsecConfigInput` via:

GetIpsecServersServerIpsecConfigArgs{...}

type GetIpsecServersServerIpsecConfigOutput

type GetIpsecServersServerIpsecConfigOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIpsecConfigOutput) ElementType

func (GetIpsecServersServerIpsecConfigOutput) IpsecAuthAlg

IPsec authentication algorithm.

func (GetIpsecServersServerIpsecConfigOutput) IpsecEncAlg

IPsec encryption algorithm.

func (GetIpsecServersServerIpsecConfigOutput) IpsecLifetime

IPsec survival time. Unit: seconds.

func (GetIpsecServersServerIpsecConfigOutput) IpsecPfs

Diffie-Hellman key exchange algorithm.

func (GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutput

func (o GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutput() GetIpsecServersServerIpsecConfigOutput

func (GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutputWithContext

func (o GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutputWithContext(ctx context.Context) GetIpsecServersServerIpsecConfigOutput

type GetIpsecServersServerOutput

type GetIpsecServersServerOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerOutput) ClientIpPool

The CIDR block of the client, which is assigned an access address to the virtual NIC of the client.

func (GetIpsecServersServerOutput) CreateTime

The creation time of the IPsec server. T represents the delimiter, and Z represents UTC, which is World Standard Time.

func (GetIpsecServersServerOutput) EffectImmediately

func (o GetIpsecServersServerOutput) EffectImmediately() pulumi.BoolOutput

Indicates whether the current IPsec tunnel is deleted and negotiations are reinitiated.

func (GetIpsecServersServerOutput) ElementType

func (GetIpsecServersServerOutput) Id

The ID of the Ipsec Server.

func (GetIpsecServersServerOutput) IdaasInstanceId

func (o GetIpsecServersServerOutput) IdaasInstanceId() pulumi.StringOutput

The ID of the Identity as a Service (IDaaS) instance.

func (GetIpsecServersServerOutput) IkeConfigs

The configurations of Phase 1 negotiations.

func (GetIpsecServersServerOutput) InternetIp

The public IP address of the VPN gateway.

func (GetIpsecServersServerOutput) IpsecConfigs

The configuration of Phase 2 negotiations.

func (GetIpsecServersServerOutput) IpsecServerId

The ID of the IPsec server.

func (GetIpsecServersServerOutput) IpsecServerName

func (o GetIpsecServersServerOutput) IpsecServerName() pulumi.StringOutput

The name of the IPsec server.

func (GetIpsecServersServerOutput) LocalSubnet

Local network segment: the network segment on The VPC side that needs to be interconnected with the client network segment.

func (GetIpsecServersServerOutput) MaxConnections

func (o GetIpsecServersServerOutput) MaxConnections() pulumi.IntOutput

The number of SSL connections of the VPN gateway. SSL-VPN the number of SSL connections shared with the IPsec server. For example, if the number of SSL connections is 5 and you have three SSL clients connected to the SSL-VPN, you can also use two clients to connect to the IPsec server.

func (GetIpsecServersServerOutput) MultiFactorAuthEnabled

func (o GetIpsecServersServerOutput) MultiFactorAuthEnabled() pulumi.BoolOutput

Whether the two-factor authentication function has been turned on.

func (GetIpsecServersServerOutput) OnlineClientCount

func (o GetIpsecServersServerOutput) OnlineClientCount() pulumi.IntOutput

The number of clients that have connected to the IPsec server.

func (GetIpsecServersServerOutput) Psk

The pre-shared key.

func (GetIpsecServersServerOutput) PskEnabled

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 (GetIpsecServersServerOutput) ToGetIpsecServersServerOutput

func (o GetIpsecServersServerOutput) ToGetIpsecServersServerOutput() GetIpsecServersServerOutput

func (GetIpsecServersServerOutput) ToGetIpsecServersServerOutputWithContext

func (o GetIpsecServersServerOutput) ToGetIpsecServersServerOutputWithContext(ctx context.Context) GetIpsecServersServerOutput

func (GetIpsecServersServerOutput) VpnGatewayId

The ID of the VPN gateway.

type GetIpv4GatewaysArgs

type GetIpv4GatewaysArgs struct {
	// A list of Ipv4 Gateway IDs.
	Ids []string `pulumi:"ids"`
	// The name of the IPv4 gateway.
	Ipv4GatewayName *string `pulumi:"ipv4GatewayName"`
	// A regex string to filter results by Ipv4 Gateway name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of the resource.
	Status *string `pulumi:"status"`
	// The ID of the VPC associated with the IPv4 Gateway.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getIpv4Gateways.

type GetIpv4GatewaysGateway

type GetIpv4GatewaysGateway struct {
	// The creation time of the resource.
	CreateTime string `pulumi:"createTime"`
	// Indicates whether the IPv4 gateway is activated.
	Enabled bool `pulumi:"enabled"`
	// The ID of the Ipv4 Gateway.
	Id string `pulumi:"id"`
	// The description of the IPv4 gateway.
	Ipv4GatewayDescription string `pulumi:"ipv4GatewayDescription"`
	// The resource attribute field that represents the resource level 1 ID.
	Ipv4GatewayId string `pulumi:"ipv4GatewayId"`
	// The name of the IPv4 gateway.
	Ipv4GatewayName string `pulumi:"ipv4GatewayName"`
	// ID of the route table associated with IPv4 Gateway.
	Ipv4GatewayRouteTableId string `pulumi:"ipv4GatewayRouteTableId"`
	// The status of the resource.
	Status string `pulumi:"status"`
	// The ID of the VPC associated with the IPv4 Gateway.
	VpcId string `pulumi:"vpcId"`
}

type GetIpv4GatewaysGatewayArgs

type GetIpv4GatewaysGatewayArgs struct {
	// The creation time of the resource.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Indicates whether the IPv4 gateway is activated.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// The ID of the Ipv4 Gateway.
	Id pulumi.StringInput `pulumi:"id"`
	// The description of the IPv4 gateway.
	Ipv4GatewayDescription pulumi.StringInput `pulumi:"ipv4GatewayDescription"`
	// The resource attribute field that represents the resource level 1 ID.
	Ipv4GatewayId pulumi.StringInput `pulumi:"ipv4GatewayId"`
	// The name of the IPv4 gateway.
	Ipv4GatewayName pulumi.StringInput `pulumi:"ipv4GatewayName"`
	// ID of the route table associated with IPv4 Gateway.
	Ipv4GatewayRouteTableId pulumi.StringInput `pulumi:"ipv4GatewayRouteTableId"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the VPC associated with the IPv4 Gateway.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetIpv4GatewaysGatewayArgs) ElementType

func (GetIpv4GatewaysGatewayArgs) ElementType() reflect.Type

func (GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutput

func (i GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutput() GetIpv4GatewaysGatewayOutput

func (GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutputWithContext

func (i GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutputWithContext(ctx context.Context) GetIpv4GatewaysGatewayOutput

type GetIpv4GatewaysGatewayArray

type GetIpv4GatewaysGatewayArray []GetIpv4GatewaysGatewayInput

func (GetIpv4GatewaysGatewayArray) ElementType

func (GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutput

func (i GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutput() GetIpv4GatewaysGatewayArrayOutput

func (GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutputWithContext

func (i GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutputWithContext(ctx context.Context) GetIpv4GatewaysGatewayArrayOutput

type GetIpv4GatewaysGatewayArrayInput

type GetIpv4GatewaysGatewayArrayInput interface {
	pulumi.Input

	ToGetIpv4GatewaysGatewayArrayOutput() GetIpv4GatewaysGatewayArrayOutput
	ToGetIpv4GatewaysGatewayArrayOutputWithContext(context.Context) GetIpv4GatewaysGatewayArrayOutput
}

GetIpv4GatewaysGatewayArrayInput is an input type that accepts GetIpv4GatewaysGatewayArray and GetIpv4GatewaysGatewayArrayOutput values. You can construct a concrete instance of `GetIpv4GatewaysGatewayArrayInput` via:

GetIpv4GatewaysGatewayArray{ GetIpv4GatewaysGatewayArgs{...} }

type GetIpv4GatewaysGatewayArrayOutput

type GetIpv4GatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetIpv4GatewaysGatewayArrayOutput) ElementType

func (GetIpv4GatewaysGatewayArrayOutput) Index

func (GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutput

func (o GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutput() GetIpv4GatewaysGatewayArrayOutput

func (GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutputWithContext

func (o GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutputWithContext(ctx context.Context) GetIpv4GatewaysGatewayArrayOutput

type GetIpv4GatewaysGatewayInput

type GetIpv4GatewaysGatewayInput interface {
	pulumi.Input

	ToGetIpv4GatewaysGatewayOutput() GetIpv4GatewaysGatewayOutput
	ToGetIpv4GatewaysGatewayOutputWithContext(context.Context) GetIpv4GatewaysGatewayOutput
}

GetIpv4GatewaysGatewayInput is an input type that accepts GetIpv4GatewaysGatewayArgs and GetIpv4GatewaysGatewayOutput values. You can construct a concrete instance of `GetIpv4GatewaysGatewayInput` via:

GetIpv4GatewaysGatewayArgs{...}

type GetIpv4GatewaysGatewayOutput

type GetIpv4GatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetIpv4GatewaysGatewayOutput) CreateTime

The creation time of the resource.

func (GetIpv4GatewaysGatewayOutput) ElementType

func (GetIpv4GatewaysGatewayOutput) Enabled

Indicates whether the IPv4 gateway is activated.

func (GetIpv4GatewaysGatewayOutput) Id

The ID of the Ipv4 Gateway.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayDescription

func (o GetIpv4GatewaysGatewayOutput) Ipv4GatewayDescription() pulumi.StringOutput

The description of the IPv4 gateway.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayId

The resource attribute field that represents the resource level 1 ID.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayName

func (o GetIpv4GatewaysGatewayOutput) Ipv4GatewayName() pulumi.StringOutput

The name of the IPv4 gateway.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayRouteTableId

func (o GetIpv4GatewaysGatewayOutput) Ipv4GatewayRouteTableId() pulumi.StringOutput

ID of the route table associated with IPv4 Gateway.

func (GetIpv4GatewaysGatewayOutput) Status

The status of the resource.

func (GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutput

func (o GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutput() GetIpv4GatewaysGatewayOutput

func (GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutputWithContext

func (o GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutputWithContext(ctx context.Context) GetIpv4GatewaysGatewayOutput

func (GetIpv4GatewaysGatewayOutput) VpcId

The ID of the VPC associated with the IPv4 Gateway.

type GetIpv4GatewaysOutputArgs

type GetIpv4GatewaysOutputArgs struct {
	// A list of Ipv4 Gateway IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The name of the IPv4 gateway.
	Ipv4GatewayName pulumi.StringPtrInput `pulumi:"ipv4GatewayName"`
	// A regex string to filter results by Ipv4 Gateway name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the resource.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the VPC associated with the IPv4 Gateway.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getIpv4Gateways.

func (GetIpv4GatewaysOutputArgs) ElementType

func (GetIpv4GatewaysOutputArgs) ElementType() reflect.Type

type GetIpv4GatewaysResult

type GetIpv4GatewaysResult struct {
	Gateways []GetIpv4GatewaysGateway `pulumi:"gateways"`
	// The provider-assigned unique ID for this managed resource.
	Id              string   `pulumi:"id"`
	Ids             []string `pulumi:"ids"`
	Ipv4GatewayName *string  `pulumi:"ipv4GatewayName"`
	NameRegex       *string  `pulumi:"nameRegex"`
	Names           []string `pulumi:"names"`
	OutputFile      *string  `pulumi:"outputFile"`
	Status          *string  `pulumi:"status"`
	VpcId           *string  `pulumi:"vpcId"`
}

A collection of values returned by getIpv4Gateways.

func GetIpv4Gateways

func GetIpv4Gateways(ctx *pulumi.Context, args *GetIpv4GatewaysArgs, opts ...pulumi.InvokeOption) (*GetIpv4GatewaysResult, error)

This data source provides the Vpc Ipv4 Gateways 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/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/rhysmdnz/pulumi-alicloud/sdk/go/alicloud/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetIpv4Gateways(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv4GatewayId1", ids.Gateways[0].Id)
		nameRegex, err := vpc.GetIpv4Gateways(ctx, &vpc.GetIpv4GatewaysArgs{
			NameRegex: pulumi.StringRef("^my-Ipv4Gateway"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv4GatewayId2", nameRegex.Gateways[0].Id)
		return nil
	})
}

```

type GetIpv4GatewaysResultOutput

type GetIpv4GatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv4Gateways.

func (GetIpv4GatewaysResultOutput) ElementType

func (GetIpv4GatewaysResultOutput) Gateways

func (GetIpv4GatewaysResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIpv4GatewaysResultOutput) Ids

func (GetIpv4GatewaysResultOutput) Ipv4GatewayName

func (GetIpv4GatewaysResultOutput) NameRegex

func (GetIpv4GatewaysResultOutput) Names

func (GetIpv4GatewaysResultOutput) OutputFile

func (GetIpv4GatewaysResultOutput) Status

func (GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutput

func (o GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutput() GetIpv4GatewaysResultOutput

func (GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutputWithContext

func (o GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutputWithContext(ctx context.Context) GetIpv4GatewaysResultOutput

func (GetIpv4GatewaysResultOutput) VpcId

type GetIpv6AddressesAddress

type GetIpv6AddressesAddress struct {
	// The ID of the instance that is assigned the IPv6 address.
	AssociatedInstanceId string `pulumi:"associatedInstanceId"`
	// The type of the instance that is assigned the IPv6 address.
	AssociatedInstanceType string `pulumi:"associatedInstanceType"`
	// The time when the IPv6 address was created.
	CreateTime string `pulumi:"createTime"`
	// The ID of the Ipv6 Address.
	Id string `pulumi:"id"`
	// The address of the Ipv6 Address.
	Ipv6Address string `pulumi:"ipv6Address"`
	// The ID of the IPv6 address.
	Ipv6AddressId string `pulumi:"ipv6AddressId"`
	// The name of the IPv6 address.
	Ipv6AddressName string `pulumi:"ipv6AddressName"`
	// The ID of the IPv6 gateway to which the IPv6 address belongs.
	Ipv6GatewayId string `pulumi:"ipv6GatewayId"`
	// The type of communication supported by the IPv6 address. Valid values:`Private` or `Public`. `Private`: communication within the private network. `Public`: communication over the public network
	NetworkType string `pulumi:"networkType"`
	// The status of the IPv6 address. Valid values:`Pending` or `Available`.
	Status string `pulumi:"status"`
	// The ID of the VPC to which the IPv6 address belongs.
	VpcId string `pulumi:"vpcId"`
	// The ID of the vSwitch to which the IPv6 address belongs.
	VswitchId string `pulumi:"vswitchId"`
}

type GetIpv6AddressesAddressArgs

type GetIpv6AddressesAddressArgs struct {
	// The ID of the instance that is assigned the IPv6 address.
	AssociatedInstanceId pulumi.StringInput `pulumi:"associatedInstanceId"`
	// The type of the instance that is assigned the IPv6 address.
	AssociatedInstanceType pulumi.StringInput `pulumi:"associatedInstanceType"`
	// The time when the IPv6 address was created.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the Ipv6 Address.
	Id pulumi.StringInput `pulumi:"id"`
	// The address of the Ipv6 Address.
	Ipv6Address pulumi.StringInput `pulumi:"ipv6Address"`
	// The ID of the IPv6 address.
	Ipv6AddressId pulumi.StringInput `pulumi:"ipv6AddressId"`
	// The name of the IPv6 address.
	Ipv6AddressName pulumi.StringInput `pulumi:"ipv6AddressName"`
	// The ID of the IPv6 gateway to which the IPv6 address belongs.
	Ipv6GatewayId pulumi.StringInput `pulumi:"ipv6GatewayId"`
	// The type of communication supported by the IPv6 address. Valid values:`Private` or `Public`. `Private`: communication within the private network. `Public`: communication over the public network
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// The status of the IPv6 address. Valid values:`Pending` or `Available`.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the VPC to which the IPv6 address belongs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The ID of the vSwitch to which the IPv6 address belongs.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetIpv6AddressesAddressArgs) ElementType

func (GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutput

func (i GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutput() GetIpv6AddressesAddressOutput

func (GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutputWithContext

func (i GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutputWithContext(ctx context.Context) GetIpv6AddressesAddressOutput

type GetIpv6AddressesAddressArray

type GetIpv6AddressesAddressArray []GetIpv6AddressesAddressInput

func (GetIpv6AddressesAddressArray) ElementType

func (GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutput

func (i GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutput() GetIpv6AddressesAddressArrayOutput

func (GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutputWithContext

func (i GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutputWithContext(ctx context.Context) GetIpv6AddressesAddressArrayOutput

type GetIpv6AddressesAddressArrayInput

type GetIpv6AddressesAddressArrayInput interface {
	pulumi.Input

	ToGetIpv6AddressesAddressArrayOutput() GetIpv6AddressesAddressArrayOutput
	ToGetIpv6AddressesAddressArrayOutputWithContext(context.Context) GetIpv6AddressesAddressArrayOutput
}

GetIpv6AddressesAddressArrayInput is an input type that accepts GetIpv6AddressesAddressArray and GetIpv6AddressesAddressArrayOutput values. You can construct a concrete instance of `GetIpv6AddressesAddressArrayInput` via:

GetIpv6AddressesAddressArray{ GetIpv6AddressesAddressArgs{...} }

type GetIpv6AddressesAddressArrayOutput

type GetIpv6AddressesAddressArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6AddressesAddressArrayOutput) ElementType

func (GetIpv6AddressesAddressArrayOutput) Index

func (GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutput

func (o GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutput() GetIpv6AddressesAddressArrayOutput

func (GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutputWithContext

func (o GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutputWithContext(ctx context.Context) GetIpv6AddressesAddressArrayOutput

type GetIpv6AddressesAddressInput

type GetIpv6AddressesAddressInput interface {
	pulumi.Input

	ToGetIpv6AddressesAddressOutput() GetIpv6AddressesAddressOutput
	ToGetIpv6AddressesAddressOutputWithContext(context.Context) GetIpv6AddressesAddressOutput
}

GetIpv6AddressesAddressInput is an input type that accepts GetIpv6AddressesAddressArgs and GetIpv6AddressesAddressOutput values. You can construct a concrete instance of `GetIpv6AddressesAddressInput` via:

GetIpv6AddressesAddressArgs{...}

type GetIpv6AddressesAddressOutput

type GetIpv6AddressesAddressOutput struct{ *pulumi.OutputState }

func (GetIpv6AddressesAddressOutput) AssociatedInstanceId

func (o GetIpv6AddressesAddressOutput) AssociatedInstanceId() pulumi.StringOutput

The ID of the instance that is assigned the IPv6 address.

func (GetIpv6AddressesAddressOutput) AssociatedInstanceType

func (o GetIpv6AddressesAddressOutput) AssociatedInstanceType() pulumi.StringOutput

The type of the instance that is assigned the IPv6 address.

func (GetIpv6AddressesAddressOutput) CreateTime

The time when the IPv6 address was created.

func (GetIpv6AddressesAddressOutput) ElementType

func (GetIpv6AddressesAddressOutput) Id

The ID of the Ipv6 Address.

func (GetIpv6AddressesAddressOutput) Ipv6Address

The address of the Ipv6 Address.

func (GetIpv6AddressesAddressOutput) Ipv6AddressId

The ID of the IPv6 address.

func (GetIpv6AddressesAddressOutput) Ipv6AddressName

The name of the IPv6 address.

func (GetIpv6AddressesAddressOutput) Ipv6GatewayId

The ID of the IPv6 gateway to which the IPv6 address belongs.

func (GetIpv6AddressesAddressOutput) NetworkType

The type of communication supported by the IPv6 address. Valid values:`Private` or `Public`. `Private`: communication within the private network. `Public`: communication over the public network

func (GetIpv6AddressesAddressOutput) Status

The status of the IPv6 address. Valid values:`Pending` or `Available`.

func (GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutput

func (o GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutput() GetIpv6AddressesAddressOutput

func (GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutputWithContext

func (o GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutputWithContext(ctx context.Context) GetIpv6AddressesAddressOutput

func (GetIpv6AddressesAddressOutput) VpcId

The ID of the VPC to which the IPv6 address belongs.

func (GetIpv6AddressesAddressOutput) VswitchId

The ID of the vSwitch to which the IPv6 address belongs.

type GetIpv6AddressesArgs

type GetIpv6AddressesArgs struct {
	// The ID of the instance that is assigned the IPv6 address.
	AssociatedInstanceId *string  `pulumi:"associatedInstanceId"`
	Ids                  []string `pulumi:"ids"`
	OutputFile           *string  `pulumi:"outputFile"`
	// The status of the IPv6 address. Valid values:`Pending` or `Available`.
	Status *string `pulumi:"status"`
	// The ID of the VPC to which the IPv6 address belongs.
	VpcId *string `pulumi:"vpcId"`
	// The ID of the vSwitch to which the IPv6 address belongs.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getIpv6Addresses.

type GetIpv6AddressesOutputArgs

type GetIpv6AddressesOutputArgs struct {
	// The ID of the instance that is assigned the IPv6 address.
	AssociatedInstanceId pulumi.StringPtrInput   `pulumi:"associatedInstanceId"`
	Ids                  pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile           pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the IPv6 address. Valid values:`Pending` or `Available`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the VPC to which the IPv6 address belongs.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
	// The ID of the vSwitch to which the IPv6 address belongs.
	VswitchId pulumi.StringPtrInput `pulumi:"vswitchId"`
}

A collection of arguments for invoking getIpv6Addresses.

func (GetIpv6AddressesOutputArgs) ElementType

func (GetIpv6AddressesOutputArgs) ElementType() reflect.Type

type GetIpv6AddressesResult

type GetIpv6AddressesResult struct {
	Addresses            []GetIpv6AddressesAddress `pulumi:"addresses"`
	AssociatedInstanceId *string                   `pulumi:"associatedInstanceId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	Status     *string  `pulumi:"status"`
	VpcId      *string  `pulumi:"vpcId"`
	VswitchId  *string  `pulumi:"vswitchId"`
}

A collection of values returned by getIpv6Addresses.

func GetIpv6Addresses

func GetIpv6Addresses(ctx *pulumi.Context, args *GetIpv6AddressesArgs, opts ...pulumi.InvokeOption) (*GetIpv6AddressesResult, error)

This data source provides the Vpc Ipv6 Addresses of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		associatedInstanceId, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
			AssociatedInstanceId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6AddressId1", associatedInstanceId.Addresses[0].Id)
		vswitchId, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
			VswitchId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6AddressId2", vswitchId.Addresses[0].Id)
		vpcId, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
			VpcId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6AddressId3", vpcId.Addresses[0].Id)
		status, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
			Status: pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6AddressId4", status.Addresses[0].Id)
		return nil
	})
}

```

type GetIpv6AddressesResultOutput

type GetIpv6AddressesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6Addresses.

func (GetIpv6AddressesResultOutput) Addresses

func (GetIpv6AddressesResultOutput) AssociatedInstanceId

func (o GetIpv6AddressesResultOutput) AssociatedInstanceId() pulumi.StringPtrOutput

func (GetIpv6AddressesResultOutput) ElementType

func (GetIpv6AddressesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIpv6AddressesResultOutput) Ids

func (GetIpv6AddressesResultOutput) Names

func (GetIpv6AddressesResultOutput) OutputFile

func (GetIpv6AddressesResultOutput) Status

func (GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutput

func (o GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutput() GetIpv6AddressesResultOutput

func (GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutputWithContext

func (o GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutputWithContext(ctx context.Context) GetIpv6AddressesResultOutput

func (GetIpv6AddressesResultOutput) VpcId

func (GetIpv6AddressesResultOutput) VswitchId

type GetIpv6EgressRulesArgs

type GetIpv6EgressRulesArgs struct {
	// A list of Ipv6 Egress Rule IDs.
	Ids []string `pulumi:"ids"`
	// The ID of the instance to which the egress-only rule is applied.
	InstanceId *string `pulumi:"instanceId"`
	// The name of the resource.
	Ipv6EgressRuleName *string `pulumi:"ipv6EgressRuleName"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId string `pulumi:"ipv6GatewayId"`
	// A regex string to filter results by Ipv6 Egress Rule name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getIpv6EgressRules.

type GetIpv6EgressRulesOutputArgs

type GetIpv6EgressRulesOutputArgs struct {
	// A list of Ipv6 Egress Rule IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The ID of the instance to which the egress-only rule is applied.
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
	// The name of the resource.
	Ipv6EgressRuleName pulumi.StringPtrInput `pulumi:"ipv6EgressRuleName"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringInput `pulumi:"ipv6GatewayId"`
	// A regex string to filter results by Ipv6 Egress Rule name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getIpv6EgressRules.

func (GetIpv6EgressRulesOutputArgs) ElementType

type GetIpv6EgressRulesResult

type GetIpv6EgressRulesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                 string                   `pulumi:"id"`
	Ids                []string                 `pulumi:"ids"`
	InstanceId         *string                  `pulumi:"instanceId"`
	Ipv6EgressRuleName *string                  `pulumi:"ipv6EgressRuleName"`
	Ipv6GatewayId      string                   `pulumi:"ipv6GatewayId"`
	NameRegex          *string                  `pulumi:"nameRegex"`
	Names              []string                 `pulumi:"names"`
	OutputFile         *string                  `pulumi:"outputFile"`
	Rules              []GetIpv6EgressRulesRule `pulumi:"rules"`
	Status             *string                  `pulumi:"status"`
}

A collection of values returned by getIpv6EgressRules.

func GetIpv6EgressRules

func GetIpv6EgressRules(ctx *pulumi.Context, args *GetIpv6EgressRulesArgs, opts ...pulumi.InvokeOption) (*GetIpv6EgressRulesResult, error)

This data source provides the Vpc Ipv6 Egress Rules of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
			Ipv6GatewayId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6EgressRuleId1", ids.Rules[0].Id)
		nameRegex, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
			Ipv6GatewayId: "example_value",
			NameRegex:     pulumi.StringRef("^my-Ipv6EgressRule"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6EgressRuleId2", nameRegex.Rules[0].Id)
		status, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
			Ipv6GatewayId: "example_value",
			Status:        pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6EgressRuleId3", status.Rules[0].Id)
		ipv6EgressRuleName, err := vpc.GetIpv6EgressRules(ctx, &vpc.GetIpv6EgressRulesArgs{
			Ipv6GatewayId:      "example_value",
			Ipv6EgressRuleName: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6EgressRuleId4", ipv6EgressRuleName.Rules[0].Id)
		return nil
	})
}

```

type GetIpv6EgressRulesResultOutput

type GetIpv6EgressRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6EgressRules.

func (GetIpv6EgressRulesResultOutput) ElementType

func (GetIpv6EgressRulesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIpv6EgressRulesResultOutput) Ids

func (GetIpv6EgressRulesResultOutput) InstanceId

func (GetIpv6EgressRulesResultOutput) Ipv6EgressRuleName

func (o GetIpv6EgressRulesResultOutput) Ipv6EgressRuleName() pulumi.StringPtrOutput

func (GetIpv6EgressRulesResultOutput) Ipv6GatewayId

func (GetIpv6EgressRulesResultOutput) NameRegex

func (GetIpv6EgressRulesResultOutput) Names

func (GetIpv6EgressRulesResultOutput) OutputFile

func (GetIpv6EgressRulesResultOutput) Rules

func (GetIpv6EgressRulesResultOutput) Status

func (GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutput

func (o GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutput() GetIpv6EgressRulesResultOutput

func (GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutputWithContext

func (o GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutputWithContext(ctx context.Context) GetIpv6EgressRulesResultOutput

type GetIpv6EgressRulesRule

type GetIpv6EgressRulesRule struct {
	// The description of the egress-only rule.
	Description string `pulumi:"description"`
	// The ID of the Ipv6 Egress Rule. The value formats as `<ipv6_gateway_id>:<ipv6_egress_rule_id>`.
	Id string `pulumi:"id"`
	// The ID of the instance to which the egress-only rule is applied.
	InstanceId string `pulumi:"instanceId"`
	// The type of the instance to which the egress-only rule is applied.
	InstanceType string `pulumi:"instanceType"`
	// The first ID of the resource.
	Ipv6EgressRuleId string `pulumi:"ipv6EgressRuleId"`
	// The name of the resource.
	Ipv6EgressRuleName string `pulumi:"ipv6EgressRuleName"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId string `pulumi:"ipv6GatewayId"`
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status string `pulumi:"status"`
}

type GetIpv6EgressRulesRuleArgs

type GetIpv6EgressRulesRuleArgs struct {
	// The description of the egress-only rule.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the Ipv6 Egress Rule. The value formats as `<ipv6_gateway_id>:<ipv6_egress_rule_id>`.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the instance to which the egress-only rule is applied.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The type of the instance to which the egress-only rule is applied.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// The first ID of the resource.
	Ipv6EgressRuleId pulumi.StringInput `pulumi:"ipv6EgressRuleId"`
	// The name of the resource.
	Ipv6EgressRuleName pulumi.StringInput `pulumi:"ipv6EgressRuleName"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringInput `pulumi:"ipv6GatewayId"`
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetIpv6EgressRulesRuleArgs) ElementType

func (GetIpv6EgressRulesRuleArgs) ElementType() reflect.Type

func (GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutput

func (i GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutput() GetIpv6EgressRulesRuleOutput

func (GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutputWithContext

func (i GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutputWithContext(ctx context.Context) GetIpv6EgressRulesRuleOutput

type GetIpv6EgressRulesRuleArray

type GetIpv6EgressRulesRuleArray []GetIpv6EgressRulesRuleInput

func (GetIpv6EgressRulesRuleArray) ElementType

func (GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutput

func (i GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutput() GetIpv6EgressRulesRuleArrayOutput

func (GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutputWithContext

func (i GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutputWithContext(ctx context.Context) GetIpv6EgressRulesRuleArrayOutput

type GetIpv6EgressRulesRuleArrayInput

type GetIpv6EgressRulesRuleArrayInput interface {
	pulumi.Input

	ToGetIpv6EgressRulesRuleArrayOutput() GetIpv6EgressRulesRuleArrayOutput
	ToGetIpv6EgressRulesRuleArrayOutputWithContext(context.Context) GetIpv6EgressRulesRuleArrayOutput
}

GetIpv6EgressRulesRuleArrayInput is an input type that accepts GetIpv6EgressRulesRuleArray and GetIpv6EgressRulesRuleArrayOutput values. You can construct a concrete instance of `GetIpv6EgressRulesRuleArrayInput` via:

GetIpv6EgressRulesRuleArray{ GetIpv6EgressRulesRuleArgs{...} }

type GetIpv6EgressRulesRuleArrayOutput

type GetIpv6EgressRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6EgressRulesRuleArrayOutput) ElementType

func (GetIpv6EgressRulesRuleArrayOutput) Index

func (GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutput

func (o GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutput() GetIpv6EgressRulesRuleArrayOutput

func (GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutputWithContext

func (o GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutputWithContext(ctx context.Context) GetIpv6EgressRulesRuleArrayOutput

type GetIpv6EgressRulesRuleInput

type GetIpv6EgressRulesRuleInput interface {
	pulumi.Input

	ToGetIpv6EgressRulesRuleOutput() GetIpv6EgressRulesRuleOutput
	ToGetIpv6EgressRulesRuleOutputWithContext(context.Context) GetIpv6EgressRulesRuleOutput
}

GetIpv6EgressRulesRuleInput is an input type that accepts GetIpv6EgressRulesRuleArgs and GetIpv6EgressRulesRuleOutput values. You can construct a concrete instance of `GetIpv6EgressRulesRuleInput` via:

GetIpv6EgressRulesRuleArgs{...}

type GetIpv6EgressRulesRuleOutput

type GetIpv6EgressRulesRuleOutput struct{ *pulumi.OutputState }

func (GetIpv6EgressRulesRuleOutput) Description

The description of the egress-only rule.

func (GetIpv6EgressRulesRuleOutput) ElementType

func (GetIpv6EgressRulesRuleOutput) Id

The ID of the Ipv6 Egress Rule. The value formats as `<ipv6_gateway_id>:<ipv6_egress_rule_id>`.

func (GetIpv6EgressRulesRuleOutput) InstanceId

The ID of the instance to which the egress-only rule is applied.

func (GetIpv6EgressRulesRuleOutput) InstanceType

The type of the instance to which the egress-only rule is applied.

func (GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleId

func (o GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleId() pulumi.StringOutput

The first ID of the resource.

func (GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleName

func (o GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleName() pulumi.StringOutput

The name of the resource.

func (GetIpv6EgressRulesRuleOutput) Ipv6GatewayId

The ID of the IPv6 gateway.

func (GetIpv6EgressRulesRuleOutput) Status

The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.

func (GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutput

func (o GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutput() GetIpv6EgressRulesRuleOutput

func (GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutputWithContext

func (o GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutputWithContext(ctx context.Context) GetIpv6EgressRulesRuleOutput

type GetIpv6GatewaysArgs

type GetIpv6GatewaysArgs struct {
	// A list of Ipv6 Gateway IDs.
	Ids []string `pulumi:"ids"`
	// The name of the IPv6 gateway.
	Ipv6GatewayName *string `pulumi:"ipv6GatewayName"`
	// A regex string to filter results by Ipv6 Gateway name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of the IPv6 gateway. Valid values: `Available`, `Deleting`, `Pending`.
	Status *string `pulumi:"status"`
	// The ID of the virtual private cloud (VPC) to which the IPv6 gateway belongs.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getIpv6Gateways.

type GetIpv6GatewaysGateway

type GetIpv6GatewaysGateway struct {
	// The status of the IPv6 gateway. Valid values:`Normal`, `FinancialLocked` and `SecurityLocked`. `Normal`: working as expected. `FinancialLocked`: locked due to overdue payments. `SecurityLocked`: locked due to security reasons.
	BusinessStatus string `pulumi:"businessStatus"`
	// The creation time of the resource.
	CreateTime string `pulumi:"createTime"`
	// The description of the IPv6 gateway.
	Description string `pulumi:"description"`
	// The time when the IPv6 gateway expires.
	ExpiredTime string `pulumi:"expiredTime"`
	// The ID of the Ipv6 Gateway.
	Id string `pulumi:"id"`
	// The metering method of the IPv6 gateway. Valid values: `PayAsYouGo`.
	InstanceChargeType string `pulumi:"instanceChargeType"`
	// The first ID of the resource.
	Ipv6GatewayId string `pulumi:"ipv6GatewayId"`
	// The name of the IPv6 gateway.
	Ipv6GatewayName string `pulumi:"ipv6GatewayName"`
	// The specification of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).
	Spec string `pulumi:"spec"`
	// The status of the IPv6 gateway. Valid values: `Available`, `Deleting`, `Pending`.
	Status string `pulumi:"status"`
	// The ID of the virtual private cloud (VPC) to which the IPv6 gateway belongs.
	VpcId string `pulumi:"vpcId"`
}

type GetIpv6GatewaysGatewayArgs

type GetIpv6GatewaysGatewayArgs struct {
	// The status of the IPv6 gateway. Valid values:`Normal`, `FinancialLocked` and `SecurityLocked`. `Normal`: working as expected. `FinancialLocked`: locked due to overdue payments. `SecurityLocked`: locked due to security reasons.
	BusinessStatus pulumi.StringInput `pulumi:"businessStatus"`
	// The creation time of the resource.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The description of the IPv6 gateway.
	Description pulumi.StringInput `pulumi:"description"`
	// The time when the IPv6 gateway expires.
	ExpiredTime pulumi.StringInput `pulumi:"expiredTime"`
	// The ID of the Ipv6 Gateway.
	Id pulumi.StringInput `pulumi:"id"`
	// The metering method of the IPv6 gateway. Valid values: `PayAsYouGo`.
	InstanceChargeType pulumi.StringInput `pulumi:"instanceChargeType"`
	// The first ID of the resource.
	Ipv6GatewayId pulumi.StringInput `pulumi:"ipv6GatewayId"`
	// The name of the IPv6 gateway.
	Ipv6GatewayName pulumi.StringInput `pulumi:"ipv6GatewayName"`
	// The specification of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).
	Spec pulumi.StringInput `pulumi:"spec"`
	// The status of the IPv6 gateway. Valid values: `Available`, `Deleting`, `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the virtual private cloud (VPC) to which the IPv6 gateway belongs.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetIpv6GatewaysGatewayArgs) ElementType

func (GetIpv6GatewaysGatewayArgs) ElementType() reflect.Type

func (GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutput

func (i GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutput() GetIpv6GatewaysGatewayOutput

func (GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutputWithContext

func (i GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutputWithContext(ctx context.Context) GetIpv6GatewaysGatewayOutput

type GetIpv6GatewaysGatewayArray

type GetIpv6GatewaysGatewayArray []GetIpv6GatewaysGatewayInput

func (GetIpv6GatewaysGatewayArray) ElementType

func (GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutput

func (i GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutput() GetIpv6GatewaysGatewayArrayOutput

func (GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutputWithContext

func (i GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutputWithContext(ctx context.Context) GetIpv6GatewaysGatewayArrayOutput

type GetIpv6GatewaysGatewayArrayInput

type GetIpv6GatewaysGatewayArrayInput interface {
	pulumi.Input

	ToGetIpv6GatewaysGatewayArrayOutput() GetIpv6GatewaysGatewayArrayOutput
	ToGetIpv6GatewaysGatewayArrayOutputWithContext(context.Context) GetIpv6GatewaysGatewayArrayOutput
}

GetIpv6GatewaysGatewayArrayInput is an input type that accepts GetIpv6GatewaysGatewayArray and GetIpv6GatewaysGatewayArrayOutput values. You can construct a concrete instance of `GetIpv6GatewaysGatewayArrayInput` via:

GetIpv6GatewaysGatewayArray{ GetIpv6GatewaysGatewayArgs{...} }

type GetIpv6GatewaysGatewayArrayOutput

type GetIpv6GatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6GatewaysGatewayArrayOutput) ElementType

func (GetIpv6GatewaysGatewayArrayOutput) Index

func (GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutput

func (o GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutput() GetIpv6GatewaysGatewayArrayOutput

func (GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutputWithContext

func (o GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutputWithContext(ctx context.Context) GetIpv6GatewaysGatewayArrayOutput

type GetIpv6GatewaysGatewayInput

type GetIpv6GatewaysGatewayInput interface {
	pulumi.Input

	ToGetIpv6GatewaysGatewayOutput() GetIpv6GatewaysGatewayOutput
	ToGetIpv6GatewaysGatewayOutputWithContext(context.Context) GetIpv6GatewaysGatewayOutput
}

GetIpv6GatewaysGatewayInput is an input type that accepts GetIpv6GatewaysGatewayArgs and GetIpv6GatewaysGatewayOutput values. You can construct a concrete instance of `GetIpv6GatewaysGatewayInput` via:

GetIpv6GatewaysGatewayArgs{...}

type GetIpv6GatewaysGatewayOutput

type GetIpv6GatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetIpv6GatewaysGatewayOutput) BusinessStatus

The status of the IPv6 gateway. Valid values:`Normal`, `FinancialLocked` and `SecurityLocked`. `Normal`: working as expected. `FinancialLocked`: locked due to overdue payments. `SecurityLocked`: locked due to security reasons.

func (GetIpv6GatewaysGatewayOutput) CreateTime

The creation time of the resource.

func (GetIpv6GatewaysGatewayOutput) Description

The description of the IPv6 gateway.

func (GetIpv6GatewaysGatewayOutput) ElementType

func (GetIpv6GatewaysGatewayOutput) ExpiredTime

The time when the IPv6 gateway expires.

func (GetIpv6GatewaysGatewayOutput) Id

The ID of the Ipv6 Gateway.

func (GetIpv6GatewaysGatewayOutput) InstanceChargeType

func (o GetIpv6GatewaysGatewayOutput) InstanceChargeType() pulumi.StringOutput

The metering method of the IPv6 gateway. Valid values: `PayAsYouGo`.

func (GetIpv6GatewaysGatewayOutput) Ipv6GatewayId

The first ID of the resource.

func (GetIpv6GatewaysGatewayOutput) Ipv6GatewayName

func (o GetIpv6GatewaysGatewayOutput) Ipv6GatewayName() pulumi.StringOutput

The name of the IPv6 gateway.

func (GetIpv6GatewaysGatewayOutput) Spec

The specification of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).

func (GetIpv6GatewaysGatewayOutput) Status

The status of the IPv6 gateway. Valid values: `Available`, `Deleting`, `Pending`.

func (GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutput

func (o GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutput() GetIpv6GatewaysGatewayOutput

func (GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutputWithContext

func (o GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutputWithContext(ctx context.Context) GetIpv6GatewaysGatewayOutput

func (GetIpv6GatewaysGatewayOutput) VpcId

The ID of the virtual private cloud (VPC) to which the IPv6 gateway belongs.

type GetIpv6GatewaysOutputArgs

type GetIpv6GatewaysOutputArgs struct {
	// A list of Ipv6 Gateway IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The name of the IPv6 gateway.
	Ipv6GatewayName pulumi.StringPtrInput `pulumi:"ipv6GatewayName"`
	// A regex string to filter results by Ipv6 Gateway name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the IPv6 gateway. Valid values: `Available`, `Deleting`, `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the virtual private cloud (VPC) to which the IPv6 gateway belongs.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getIpv6Gateways.

func (GetIpv6GatewaysOutputArgs) ElementType

func (GetIpv6GatewaysOutputArgs) ElementType() reflect.Type

type GetIpv6GatewaysResult

type GetIpv6GatewaysResult struct {
	Gateways []GetIpv6GatewaysGateway `pulumi:"gateways"`
	// The provider-assigned unique ID for this managed resource.
	Id              string   `pulumi:"id"`
	Ids             []string `pulumi:"ids"`
	Ipv6GatewayName *string  `pulumi:"ipv6GatewayName"`
	NameRegex       *string  `pulumi:"nameRegex"`
	Names           []string `pulumi:"names"`
	OutputFile      *string  `pulumi:"outputFile"`
	Status          *string  `pulumi:"status"`
	VpcId           *string  `pulumi:"vpcId"`
}

A collection of values returned by getIpv6Gateways.

func GetIpv6Gateways

func GetIpv6Gateways(ctx *pulumi.Context, args *GetIpv6GatewaysArgs, opts ...pulumi.InvokeOption) (*GetIpv6GatewaysResult, error)

This data source provides the Vpc Ipv6 Gateways of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6GatewayId1", ids.Gateways[0].Id)
		nameRegex, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
			NameRegex: pulumi.StringRef("^my-Ipv6Gateway"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6GatewayId2", nameRegex.Gateways[0].Id)
		vpcId, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
			Ids: []string{
				"example_id",
			},
			VpcId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6GatewayId3", vpcId.Gateways[0].Id)
		status, err := vpc.GetIpv6Gateways(ctx, &vpc.GetIpv6GatewaysArgs{
			Ids: []string{
				"example_id",
			},
			Status: pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6GatewayId4", status.Gateways[0].Id)
		return nil
	})
}

```

type GetIpv6GatewaysResultOutput

type GetIpv6GatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6Gateways.

func (GetIpv6GatewaysResultOutput) ElementType

func (GetIpv6GatewaysResultOutput) Gateways

func (GetIpv6GatewaysResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIpv6GatewaysResultOutput) Ids

func (GetIpv6GatewaysResultOutput) Ipv6GatewayName

func (GetIpv6GatewaysResultOutput) NameRegex

func (GetIpv6GatewaysResultOutput) Names

func (GetIpv6GatewaysResultOutput) OutputFile

func (GetIpv6GatewaysResultOutput) Status

func (GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutput

func (o GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutput() GetIpv6GatewaysResultOutput

func (GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutputWithContext

func (o GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutputWithContext(ctx context.Context) GetIpv6GatewaysResultOutput

func (GetIpv6GatewaysResultOutput) VpcId

type GetIpv6InternetBandwidthsArgs

type GetIpv6InternetBandwidthsArgs struct {
	// A list of Ipv6 Internet Bandwidth IDs.
	Ids []string `pulumi:"ids"`
	// The ID of the IPv6 address.
	Ipv6AddressId *string `pulumi:"ipv6AddressId"`
	// The ID of the Ipv6 Internet Bandwidth.
	Ipv6InternetBandwidthId *string `pulumi:"ipv6InternetBandwidthId"`
	OutputFile              *string `pulumi:"outputFile"`
	// The status of the resource. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getIpv6InternetBandwidths.

type GetIpv6InternetBandwidthsBandwidth

type GetIpv6InternetBandwidthsBandwidth struct {
	// The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`.
	Bandwidth int `pulumi:"bandwidth"`
	// The ID of the Ipv6 Internet Bandwidth.
	Id string `pulumi:"id"`
	// The metering method of the Internet bandwidth resources of the IPv6 gateway.
	InternetChargeType string `pulumi:"internetChargeType"`
	// The ID of the IPv6 address.
	Ipv6AddressId string `pulumi:"ipv6AddressId"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId string `pulumi:"ipv6GatewayId"`
	// The ID of the Ipv6 Internet Bandwidth.
	Ipv6InternetBandwidthId string `pulumi:"ipv6InternetBandwidthId"`
	// The payment type of the resource.
	PaymentType string `pulumi:"paymentType"`
	// The status of the resource. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.
	Status string `pulumi:"status"`
}

type GetIpv6InternetBandwidthsBandwidthArgs

type GetIpv6InternetBandwidthsBandwidthArgs struct {
	// The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// The ID of the Ipv6 Internet Bandwidth.
	Id pulumi.StringInput `pulumi:"id"`
	// The metering method of the Internet bandwidth resources of the IPv6 gateway.
	InternetChargeType pulumi.StringInput `pulumi:"internetChargeType"`
	// The ID of the IPv6 address.
	Ipv6AddressId pulumi.StringInput `pulumi:"ipv6AddressId"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringInput `pulumi:"ipv6GatewayId"`
	// The ID of the Ipv6 Internet Bandwidth.
	Ipv6InternetBandwidthId pulumi.StringInput `pulumi:"ipv6InternetBandwidthId"`
	// The payment type of the resource.
	PaymentType pulumi.StringInput `pulumi:"paymentType"`
	// The status of the resource. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetIpv6InternetBandwidthsBandwidthArgs) ElementType

func (GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutput

func (i GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutput() GetIpv6InternetBandwidthsBandwidthOutput

func (GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutputWithContext

func (i GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutputWithContext(ctx context.Context) GetIpv6InternetBandwidthsBandwidthOutput

type GetIpv6InternetBandwidthsBandwidthArray

type GetIpv6InternetBandwidthsBandwidthArray []GetIpv6InternetBandwidthsBandwidthInput

func (GetIpv6InternetBandwidthsBandwidthArray) ElementType

func (GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutput

func (i GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutput() GetIpv6InternetBandwidthsBandwidthArrayOutput

func (GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext

func (i GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext(ctx context.Context) GetIpv6InternetBandwidthsBandwidthArrayOutput

type GetIpv6InternetBandwidthsBandwidthArrayInput

type GetIpv6InternetBandwidthsBandwidthArrayInput interface {
	pulumi.Input

	ToGetIpv6InternetBandwidthsBandwidthArrayOutput() GetIpv6InternetBandwidthsBandwidthArrayOutput
	ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext(context.Context) GetIpv6InternetBandwidthsBandwidthArrayOutput
}

GetIpv6InternetBandwidthsBandwidthArrayInput is an input type that accepts GetIpv6InternetBandwidthsBandwidthArray and GetIpv6InternetBandwidthsBandwidthArrayOutput values. You can construct a concrete instance of `GetIpv6InternetBandwidthsBandwidthArrayInput` via:

GetIpv6InternetBandwidthsBandwidthArray{ GetIpv6InternetBandwidthsBandwidthArgs{...} }

type GetIpv6InternetBandwidthsBandwidthArrayOutput

type GetIpv6InternetBandwidthsBandwidthArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) ElementType

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) Index

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutput

func (o GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutput() GetIpv6InternetBandwidthsBandwidthArrayOutput

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext

func (o GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext(ctx context.Context) GetIpv6InternetBandwidthsBandwidthArrayOutput

type GetIpv6InternetBandwidthsBandwidthInput

type GetIpv6InternetBandwidthsBandwidthInput interface {
	pulumi.Input

	ToGetIpv6InternetBandwidthsBandwidthOutput() GetIpv6InternetBandwidthsBandwidthOutput
	ToGetIpv6InternetBandwidthsBandwidthOutputWithContext(context.Context) GetIpv6InternetBandwidthsBandwidthOutput
}

GetIpv6InternetBandwidthsBandwidthInput is an input type that accepts GetIpv6InternetBandwidthsBandwidthArgs and GetIpv6InternetBandwidthsBandwidthOutput values. You can construct a concrete instance of `GetIpv6InternetBandwidthsBandwidthInput` via:

GetIpv6InternetBandwidthsBandwidthArgs{...}

type GetIpv6InternetBandwidthsBandwidthOutput

type GetIpv6InternetBandwidthsBandwidthOutput struct{ *pulumi.OutputState }

func (GetIpv6InternetBandwidthsBandwidthOutput) Bandwidth

The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`.

func (GetIpv6InternetBandwidthsBandwidthOutput) ElementType

func (GetIpv6InternetBandwidthsBandwidthOutput) Id

The ID of the Ipv6 Internet Bandwidth.

func (GetIpv6InternetBandwidthsBandwidthOutput) InternetChargeType

The metering method of the Internet bandwidth resources of the IPv6 gateway.

func (GetIpv6InternetBandwidthsBandwidthOutput) Ipv6AddressId

The ID of the IPv6 address.

func (GetIpv6InternetBandwidthsBandwidthOutput) Ipv6GatewayId

The ID of the IPv6 gateway.

func (GetIpv6InternetBandwidthsBandwidthOutput) Ipv6InternetBandwidthId

func (o GetIpv6InternetBandwidthsBandwidthOutput) Ipv6InternetBandwidthId() pulumi.StringOutput

The ID of the Ipv6 Internet Bandwidth.

func (GetIpv6InternetBandwidthsBandwidthOutput) PaymentType

The payment type of the resource.

func (GetIpv6InternetBandwidthsBandwidthOutput) Status

The status of the resource. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.

func (GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutput

func (o GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutput() GetIpv6InternetBandwidthsBandwidthOutput

func (GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutputWithContext

func (o GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutputWithContext(ctx context.Context) GetIpv6InternetBandwidthsBandwidthOutput

type GetIpv6InternetBandwidthsOutputArgs

type GetIpv6InternetBandwidthsOutputArgs struct {
	// A list of Ipv6 Internet Bandwidth IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The ID of the IPv6 address.
	Ipv6AddressId pulumi.StringPtrInput `pulumi:"ipv6AddressId"`
	// The ID of the Ipv6 Internet Bandwidth.
	Ipv6InternetBandwidthId pulumi.StringPtrInput `pulumi:"ipv6InternetBandwidthId"`
	OutputFile              pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the resource. Valid values: `Normal`, `FinancialLocked` and `SecurityLocked`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getIpv6InternetBandwidths.

func (GetIpv6InternetBandwidthsOutputArgs) ElementType

type GetIpv6InternetBandwidthsResult

type GetIpv6InternetBandwidthsResult struct {
	Bandwidths []GetIpv6InternetBandwidthsBandwidth `pulumi:"bandwidths"`
	// The provider-assigned unique ID for this managed resource.
	Id                      string   `pulumi:"id"`
	Ids                     []string `pulumi:"ids"`
	Ipv6AddressId           *string  `pulumi:"ipv6AddressId"`
	Ipv6InternetBandwidthId *string  `pulumi:"ipv6InternetBandwidthId"`
	OutputFile              *string  `pulumi:"outputFile"`
	Status                  *string  `pulumi:"status"`
}

A collection of values returned by getIpv6InternetBandwidths.

func GetIpv6InternetBandwidths

func GetIpv6InternetBandwidths(ctx *pulumi.Context, args *GetIpv6InternetBandwidthsArgs, opts ...pulumi.InvokeOption) (*GetIpv6InternetBandwidthsResult, error)

This data source provides the Vpc Ipv6 Internet Bandwidths of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6InternetBandwidthId1", ids.Bandwidths[0].Id)
		ipv6InternetBandwidthId, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
			Ipv6InternetBandwidthId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6InternetBandwidthId2", ipv6InternetBandwidthId.Bandwidths[0].Id)
		ipv6AddressId, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
			Ipv6AddressId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6InternetBandwidthId3", ipv6AddressId.Bandwidths[0].Id)
		status, err := vpc.GetIpv6InternetBandwidths(ctx, &vpc.GetIpv6InternetBandwidthsArgs{
			Status: pulumi.StringRef("Normal"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcIpv6InternetBandwidthId4", status.Bandwidths[0].Id)
		return nil
	})
}

```

type GetIpv6InternetBandwidthsResultOutput

type GetIpv6InternetBandwidthsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6InternetBandwidths.

func (GetIpv6InternetBandwidthsResultOutput) Bandwidths

func (GetIpv6InternetBandwidthsResultOutput) ElementType

func (GetIpv6InternetBandwidthsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIpv6InternetBandwidthsResultOutput) Ids

func (GetIpv6InternetBandwidthsResultOutput) Ipv6AddressId

func (GetIpv6InternetBandwidthsResultOutput) Ipv6InternetBandwidthId

func (o GetIpv6InternetBandwidthsResultOutput) Ipv6InternetBandwidthId() pulumi.StringPtrOutput

func (GetIpv6InternetBandwidthsResultOutput) OutputFile

func (GetIpv6InternetBandwidthsResultOutput) Status

func (GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutput

func (o GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutput() GetIpv6InternetBandwidthsResultOutput

func (GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutputWithContext

func (o GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutputWithContext(ctx context.Context) GetIpv6InternetBandwidthsResultOutput

type GetNatGatewaysArgs

type GetNatGatewaysArgs struct {
	// Specifies whether to only precheck the request.
	DryRun *bool `pulumi:"dryRun"`
	// Default to `false`. Set it to `true` can output more details about resource attributes.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of NAT gateways IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter nat gateways by name.
	NameRegex *string `pulumi:"nameRegex"`
	// The name of NAT gateway.
	NatGatewayName *string `pulumi:"natGatewayName"`
	// The nat type of NAT gateway. Valid values `Enhanced` and `Normal`.
	NatType    *string `pulumi:"natType"`
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The payment type of NAT gateway. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType *string `pulumi:"paymentType"`
	// The resource group id of NAT gateway.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The specification of NAT gateway. Valid values `Middle`, `Large`, `Small` and `XLarge.1`. Default value is `Small`.
	Specification *string `pulumi:"specification"`
	// The status of NAT gateway. Valid values `Available`, `Converting`, `Creating`, `Deleting` and `Modifying`.
	Status *string `pulumi:"status"`
	// The tags of NAT gateway.
	Tags map[string]interface{} `pulumi:"tags"`
	// The ID of the VPC.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getNatGateways.

type GetNatGatewaysGateway

type GetNatGatewaysGateway struct {
	// The state of the NAT gateway.
	BusinessStatus string `pulumi:"businessStatus"`
	// Indicates whether deletion protection is enabled.
	DeletionProtection bool `pulumi:"deletionProtection"`
	// The description of the NAT gateway.
	Description string `pulumi:"description"`
	// Indicates whether the traffic monitoring feature is enabled.
	EcsMetricEnabled bool `pulumi:"ecsMetricEnabled"`
	// The time when the NAT gateway expires.
	ExpiredTime string `pulumi:"expiredTime"`
	// The ID of the DNAT table.
	ForwardTableIds []string `pulumi:"forwardTableIds"`
	// The ID of the NAT gateway.
	Id string `pulumi:"id"`
	// The metering method of the NAT gateway.
	InternetChargeType string `pulumi:"internetChargeType"`
	// The ip address of the bind eip.
	IpLists []string `pulumi:"ipLists"`
	// Name of the NAT gateway.
	Name string `pulumi:"name"`
	// The ID of the NAT gateway.
	NatGatewayId string `pulumi:"natGatewayId"`
	// The name of NAT gateway.
	NatGatewayName string `pulumi:"natGatewayName"`
	// The nat type of NAT gateway. Valid values `Enhanced` and `Normal`.
	NatType string `pulumi:"natType"`
	// (Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`.
	NetworkType string `pulumi:"networkType"`
	// The payment type of NAT gateway. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType string `pulumi:"paymentType"`
	// The resource group id of NAT gateway.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The ID of the SNAT table that is associated with the NAT gateway.
	SnatTableIds []string `pulumi:"snatTableIds"`
	// The specification of the NAT gateway.
	Spec string `pulumi:"spec"`
	// The specification of NAT gateway. Valid values `Middle`, `Large`, `Small` and `XLarge.1`. Default value is `Small`.
	Specification string `pulumi:"specification"`
	// The status of NAT gateway. Valid values `Available`, `Converting`, `Creating`, `Deleting` and `Modifying`.
	Status string `pulumi:"status"`
	// The tags of NAT gateway.
	Tags map[string]interface{} `pulumi:"tags"`
	// The ID of the VPC.
	VpcId string `pulumi:"vpcId"`
	// The ID of the vSwitch to which the NAT gateway belongs.
	VswitchId string `pulumi:"vswitchId"`
}

type GetNatGatewaysGatewayArgs

type GetNatGatewaysGatewayArgs struct {
	// The state of the NAT gateway.
	BusinessStatus pulumi.StringInput `pulumi:"businessStatus"`
	// Indicates whether deletion protection is enabled.
	DeletionProtection pulumi.BoolInput `pulumi:"deletionProtection"`
	// The description of the NAT gateway.
	Description pulumi.StringInput `pulumi:"description"`
	// Indicates whether the traffic monitoring feature is enabled.
	EcsMetricEnabled pulumi.BoolInput `pulumi:"ecsMetricEnabled"`
	// The time when the NAT gateway expires.
	ExpiredTime pulumi.StringInput `pulumi:"expiredTime"`
	// The ID of the DNAT table.
	ForwardTableIds pulumi.StringArrayInput `pulumi:"forwardTableIds"`
	// The ID of the NAT gateway.
	Id pulumi.StringInput `pulumi:"id"`
	// The metering method of the NAT gateway.
	InternetChargeType pulumi.StringInput `pulumi:"internetChargeType"`
	// The ip address of the bind eip.
	IpLists pulumi.StringArrayInput `pulumi:"ipLists"`
	// Name of the NAT gateway.
	Name pulumi.StringInput `pulumi:"name"`
	// The ID of the NAT gateway.
	NatGatewayId pulumi.StringInput `pulumi:"natGatewayId"`
	// The name of NAT gateway.
	NatGatewayName pulumi.StringInput `pulumi:"natGatewayName"`
	// The nat type of NAT gateway. Valid values `Enhanced` and `Normal`.
	NatType pulumi.StringInput `pulumi:"natType"`
	// (Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// The payment type of NAT gateway. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType pulumi.StringInput `pulumi:"paymentType"`
	// The resource group id of NAT gateway.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The ID of the SNAT table that is associated with the NAT gateway.
	SnatTableIds pulumi.StringArrayInput `pulumi:"snatTableIds"`
	// The specification of the NAT gateway.
	Spec pulumi.StringInput `pulumi:"spec"`
	// The specification of NAT gateway. Valid values `Middle`, `Large`, `Small` and `XLarge.1`. Default value is `Small`.
	Specification pulumi.StringInput `pulumi:"specification"`
	// The status of NAT gateway. Valid values `Available`, `Converting`, `Creating`, `Deleting` and `Modifying`.
	Status pulumi.StringInput `pulumi:"status"`
	// The tags of NAT gateway.
	Tags pulumi.MapInput `pulumi:"tags"`
	// The ID of the VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The ID of the vSwitch to which the NAT gateway belongs.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetNatGatewaysGatewayArgs) ElementType

func (GetNatGatewaysGatewayArgs) ElementType() reflect.Type

func (GetNatGatewaysGatewayArgs) ToGetNatGatewaysGatewayOutput

func (i GetNatGatewaysGatewayArgs) ToGetNatGatewaysGatewayOutput() GetNatGatewaysGatewayOutput

func (GetNatGatewaysGatewayArgs) ToGetNatGatewaysGatewayOutputWithContext

func (i GetNatGatewaysGatewayArgs) ToGetNatGatewaysGatewayOutputWithContext(ctx context.Context) GetNatGatewaysGatewayOutput

type GetNatGatewaysGatewayArray

type GetNatGatewaysGatewayArray []GetNatGatewaysGatewayInput

func (GetNatGatewaysGatewayArray) ElementType

func (GetNatGatewaysGatewayArray) ElementType() reflect.Type

func (GetNatGatewaysGatewayArray) ToGetNatGatewaysGatewayArrayOutput

func (i GetNatGatewaysGatewayArray) ToGetNatGatewaysGatewayArrayOutput() GetNatGatewaysGatewayArrayOutput

func (GetNatGatewaysGatewayArray) ToGetNatGatewaysGatewayArrayOutputWithContext

func (i GetNatGatewaysGatewayArray) ToGetNatGatewaysGatewayArrayOutputWithContext(ctx context.Context) GetNatGatewaysGatewayArrayOutput

type GetNatGatewaysGatewayArrayInput

type GetNatGatewaysGatewayArrayInput interface {
	pulumi.Input

	ToGetNatGatewaysGatewayArrayOutput() GetNatGatewaysGatewayArrayOutput
	ToGetNatGatewaysGatewayArrayOutputWithContext(context.Context) GetNatGatewaysGatewayArrayOutput
}

GetNatGatewaysGatewayArrayInput is an input type that accepts GetNatGatewaysGatewayArray and GetNatGatewaysGatewayArrayOutput values. You can construct a concrete instance of `GetNatGatewaysGatewayArrayInput` via:

GetNatGatewaysGatewayArray{ GetNatGatewaysGatewayArgs{...} }

type GetNatGatewaysGatewayArrayOutput

type GetNatGatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetNatGatewaysGatewayArrayOutput) ElementType

func (GetNatGatewaysGatewayArrayOutput) Index

func (GetNatGatewaysGatewayArrayOutput) ToGetNatGatewaysGatewayArrayOutput

func (o GetNatGatewaysGatewayArrayOutput) ToGetNatGatewaysGatewayArrayOutput() GetNatGatewaysGatewayArrayOutput

func (GetNatGatewaysGatewayArrayOutput) ToGetNatGatewaysGatewayArrayOutputWithContext

func (o GetNatGatewaysGatewayArrayOutput) ToGetNatGatewaysGatewayArrayOutputWithContext(ctx context.Context) GetNatGatewaysGatewayArrayOutput

type GetNatGatewaysGatewayInput

type GetNatGatewaysGatewayInput interface {
	pulumi.Input

	ToGetNatGatewaysGatewayOutput() GetNatGatewaysGatewayOutput
	ToGetNatGatewaysGatewayOutputWithContext(context.Context) GetNatGatewaysGatewayOutput
}

GetNatGatewaysGatewayInput is an input type that accepts GetNatGatewaysGatewayArgs and GetNatGatewaysGatewayOutput values. You can construct a concrete instance of `GetNatGatewaysGatewayInput` via:

GetNatGatewaysGatewayArgs{...}

type GetNatGatewaysGatewayOutput

type GetNatGatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetNatGatewaysGatewayOutput) BusinessStatus

func (o GetNatGatewaysGatewayOutput) BusinessStatus() pulumi.StringOutput

The state of the NAT gateway.

func (GetNatGatewaysGatewayOutput) DeletionProtection

func (o GetNatGatewaysGatewayOutput) DeletionProtection() pulumi.BoolOutput

Indicates whether deletion protection is enabled.

func (GetNatGatewaysGatewayOutput) Description

The description of the NAT gateway.

func (GetNatGatewaysGatewayOutput) EcsMetricEnabled

func (o GetNatGatewaysGatewayOutput) EcsMetricEnabled() pulumi.BoolOutput

Indicates whether the traffic monitoring feature is enabled.

func (GetNatGatewaysGatewayOutput) ElementType

func (GetNatGatewaysGatewayOutput) ExpiredTime

The time when the NAT gateway expires.

func (GetNatGatewaysGatewayOutput) ForwardTableIds

The ID of the DNAT table.

func (GetNatGatewaysGatewayOutput) Id

The ID of the NAT gateway.

func (GetNatGatewaysGatewayOutput) InternetChargeType

func (o GetNatGatewaysGatewayOutput) InternetChargeType() pulumi.StringOutput

The metering method of the NAT gateway.

func (GetNatGatewaysGatewayOutput) IpLists

The ip address of the bind eip.

func (GetNatGatewaysGatewayOutput) Name

Name of the NAT gateway.

func (GetNatGatewaysGatewayOutput) NatGatewayId

The ID of the NAT gateway.

func (GetNatGatewaysGatewayOutput) NatGatewayName

func (o GetNatGatewaysGatewayOutput) NatGatewayName() pulumi.StringOutput

The name of NAT gateway.

func (GetNatGatewaysGatewayOutput) NatType

The nat type of NAT gateway. Valid values `Enhanced` and `Normal`.

func (GetNatGatewaysGatewayOutput) NetworkType

(Available in 1.137.0+) Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`.

func (GetNatGatewaysGatewayOutput) PaymentType

The payment type of NAT gateway. Valid values `PayAsYouGo` and `Subscription`.

func (GetNatGatewaysGatewayOutput) ResourceGroupId

func (o GetNatGatewaysGatewayOutput) ResourceGroupId() pulumi.StringOutput

The resource group id of NAT gateway.

func (GetNatGatewaysGatewayOutput) SnatTableIds

The ID of the SNAT table that is associated with the NAT gateway.

func (GetNatGatewaysGatewayOutput) Spec

The specification of the NAT gateway.

func (GetNatGatewaysGatewayOutput) Specification

The specification of NAT gateway. Valid values `Middle`, `Large`, `Small` and `XLarge.1`. Default value is `Small`.

func (GetNatGatewaysGatewayOutput) Status

The status of NAT gateway. Valid values `Available`, `Converting`, `Creating`, `Deleting` and `Modifying`.

func (GetNatGatewaysGatewayOutput) Tags

The tags of NAT gateway.

func (GetNatGatewaysGatewayOutput) ToGetNatGatewaysGatewayOutput

func (o GetNatGatewaysGatewayOutput) ToGetNatGatewaysGatewayOutput() GetNatGatewaysGatewayOutput

func (GetNatGatewaysGatewayOutput) ToGetNatGatewaysGatewayOutputWithContext

func (o GetNatGatewaysGatewayOutput) ToGetNatGatewaysGatewayOutputWithContext(ctx context.Context) GetNatGatewaysGatewayOutput

func (GetNatGatewaysGatewayOutput) VpcId

The ID of the VPC.

func (GetNatGatewaysGatewayOutput) VswitchId

The ID of the vSwitch to which the NAT gateway belongs.

type GetNatGatewaysOutputArgs

type GetNatGatewaysOutputArgs struct {
	// Specifies whether to only precheck the request.
	DryRun pulumi.BoolPtrInput `pulumi:"dryRun"`
	// Default to `false`. Set it to `true` can output more details about resource attributes.
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of NAT gateways IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter nat gateways by name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// The name of NAT gateway.
	NatGatewayName pulumi.StringPtrInput `pulumi:"natGatewayName"`
	// The nat type of NAT gateway. Valid values `Enhanced` and `Normal`.
	NatType    pulumi.StringPtrInput `pulumi:"natType"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The payment type of NAT gateway. Valid values `PayAsYouGo` and `Subscription`.
	PaymentType pulumi.StringPtrInput `pulumi:"paymentType"`
	// The resource group id of NAT gateway.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The specification of NAT gateway. Valid values `Middle`, `Large`, `Small` and `XLarge.1`. Default value is `Small`.
	Specification pulumi.StringPtrInput `pulumi:"specification"`
	// The status of NAT gateway. Valid values `Available`, `Converting`, `Creating`, `Deleting` and `Modifying`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The tags of NAT gateway.
	Tags pulumi.MapInput `pulumi:"tags"`
	// The ID of the VPC.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getNatGateways.

func (GetNatGatewaysOutputArgs) ElementType

func (GetNatGatewaysOutputArgs) ElementType() reflect.Type

type GetNatGatewaysResult

type GetNatGatewaysResult struct {
	DryRun        *bool `pulumi:"dryRun"`
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of Nat gateways. Each element contains the following attributes:
	Gateways []GetNatGatewaysGateway `pulumi:"gateways"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Optional) A list of Nat gateways IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of Nat gateways names.
	Names []string `pulumi:"names"`
	// The name of the NAT gateway.
	NatGatewayName *string `pulumi:"natGatewayName"`
	// The type of the NAT gateway.
	NatType    *string `pulumi:"natType"`
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The billing method of the NAT gateway.
	PaymentType *string `pulumi:"paymentType"`
	// The ID of the resource group.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The specification of the NAT gateway.
	Specification *string `pulumi:"specification"`
	// The status of the NAT gateway.
	Status *string `pulumi:"status"`
	// The tags of NAT gateway.
	Tags       map[string]interface{} `pulumi:"tags"`
	TotalCount int                    `pulumi:"totalCount"`
	// The ID of the VPC.
	VpcId *string `pulumi:"vpcId"`
}

A collection of values returned by getNatGateways.

func GetNatGateways

func GetNatGateways(ctx *pulumi.Context, args *GetNatGatewaysArgs, opts ...pulumi.InvokeOption) (*GetNatGatewaysResult, error)

This data source provides a list of Nat Gateways owned by an Alibaba Cloud account.

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

type GetNatGatewaysResultOutput

type GetNatGatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNatGateways.

func (GetNatGatewaysResultOutput) DryRun

func (GetNatGatewaysResultOutput) ElementType

func (GetNatGatewaysResultOutput) ElementType() reflect.Type

func (GetNatGatewaysResultOutput) EnableDetails

func (GetNatGatewaysResultOutput) Gateways

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

func (GetNatGatewaysResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetNatGatewaysResultOutput) Ids

(Optional) A list of Nat gateways IDs.

func (GetNatGatewaysResultOutput) NameRegex

func (GetNatGatewaysResultOutput) Names

A list of Nat gateways names.

func (GetNatGatewaysResultOutput) NatGatewayName

The name of the NAT gateway.

func (GetNatGatewaysResultOutput) NatType

The type of the NAT gateway.

func (GetNatGatewaysResultOutput) OutputFile

func (GetNatGatewaysResultOutput) PageNumber

func (GetNatGatewaysResultOutput) PageSize

func (GetNatGatewaysResultOutput) PaymentType

The billing method of the NAT gateway.

func (GetNatGatewaysResultOutput) ResourceGroupId

The ID of the resource group.

func (GetNatGatewaysResultOutput) Specification

The specification of the NAT gateway.

func (GetNatGatewaysResultOutput) Status

The status of the NAT gateway.

func (GetNatGatewaysResultOutput) Tags

The tags of NAT gateway.

func (GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutput

func (o GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutput() GetNatGatewaysResultOutput

func (GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutputWithContext

func (o GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutputWithContext(ctx context.Context) GetNatGatewaysResultOutput

func (GetNatGatewaysResultOutput) TotalCount

func (GetNatGatewaysResultOutput) VpcId

The ID of the VPC.

type GetNatIpCidrsArgs

type GetNatIpCidrsArgs struct {
	// A list of Nat Ip Cidr IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Nat Ip Cidr name.
	NameRegex *string `pulumi:"nameRegex"`
	// The ID of the VPC NAT gateway.
	NatGatewayId string `pulumi:"natGatewayId"`
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpCidrNames []string `pulumi:"natIpCidrNames"`
	// The NAT CIDR block to be created. Support up to `20`. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidrs []string `pulumi:"natIpCidrs"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the CIDR block of the NAT gateway. If the value is `Available`, the CIDR block is available.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getNatIpCidrs.

type GetNatIpCidrsCidr

type GetNatIpCidrsCidr struct {
	// The time when the CIDR block was created.
	CreateTime string `pulumi:"createTime"`
	// The ID of the Nat Ip Cidr.
	Id string `pulumi:"id"`
	// Whether it is the default NAT IP ADDRESS. Valid values:`true` or `false`.`true`: is the default NAT IP ADDRESS. `false`: it is not the default NAT IP ADDRESS.
	IsDefault bool `pulumi:"isDefault"`
	// The ID of the VPC NAT gateway.
	NatGatewayId string `pulumi:"natGatewayId"`
	// The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidr string `pulumi:"natIpCidr"`
	// NAT IP ADDRESS range to the description of. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
	NatIpCidrDescription string `pulumi:"natIpCidrDescription"`
	// NAT IP ADDRESS instance ID.
	NatIpCidrId string `pulumi:"natIpCidrId"`
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpCidrName string `pulumi:"natIpCidrName"`
	// The status of the CIDR block of the NAT gateway. If the value is `Available`, the CIDR block is available.
	Status string `pulumi:"status"`
}

type GetNatIpCidrsCidrArgs

type GetNatIpCidrsCidrArgs struct {
	// The time when the CIDR block was created.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the Nat Ip Cidr.
	Id pulumi.StringInput `pulumi:"id"`
	// Whether it is the default NAT IP ADDRESS. Valid values:`true` or `false`.`true`: is the default NAT IP ADDRESS. `false`: it is not the default NAT IP ADDRESS.
	IsDefault pulumi.BoolInput `pulumi:"isDefault"`
	// The ID of the VPC NAT gateway.
	NatGatewayId pulumi.StringInput `pulumi:"natGatewayId"`
	// The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidr pulumi.StringInput `pulumi:"natIpCidr"`
	// NAT IP ADDRESS range to the description of. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
	NatIpCidrDescription pulumi.StringInput `pulumi:"natIpCidrDescription"`
	// NAT IP ADDRESS instance ID.
	NatIpCidrId pulumi.StringInput `pulumi:"natIpCidrId"`
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpCidrName pulumi.StringInput `pulumi:"natIpCidrName"`
	// The status of the CIDR block of the NAT gateway. If the value is `Available`, the CIDR block is available.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetNatIpCidrsCidrArgs) ElementType

func (GetNatIpCidrsCidrArgs) ElementType() reflect.Type

func (GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutput

func (i GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutput() GetNatIpCidrsCidrOutput

func (GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutputWithContext

func (i GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutputWithContext(ctx context.Context) GetNatIpCidrsCidrOutput

type GetNatIpCidrsCidrArray

type GetNatIpCidrsCidrArray []GetNatIpCidrsCidrInput

func (GetNatIpCidrsCidrArray) ElementType

func (GetNatIpCidrsCidrArray) ElementType() reflect.Type

func (GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutput

func (i GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutput() GetNatIpCidrsCidrArrayOutput

func (GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutputWithContext

func (i GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutputWithContext(ctx context.Context) GetNatIpCidrsCidrArrayOutput

type GetNatIpCidrsCidrArrayInput

type GetNatIpCidrsCidrArrayInput interface {
	pulumi.Input

	ToGetNatIpCidrsCidrArrayOutput() GetNatIpCidrsCidrArrayOutput
	ToGetNatIpCidrsCidrArrayOutputWithContext(context.Context) GetNatIpCidrsCidrArrayOutput
}

GetNatIpCidrsCidrArrayInput is an input type that accepts GetNatIpCidrsCidrArray and GetNatIpCidrsCidrArrayOutput values. You can construct a concrete instance of `GetNatIpCidrsCidrArrayInput` via:

GetNatIpCidrsCidrArray{ GetNatIpCidrsCidrArgs{...} }

type GetNatIpCidrsCidrArrayOutput

type GetNatIpCidrsCidrArrayOutput struct{ *pulumi.OutputState }

func (GetNatIpCidrsCidrArrayOutput) ElementType

func (GetNatIpCidrsCidrArrayOutput) Index

func (GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutput

func (o GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutput() GetNatIpCidrsCidrArrayOutput

func (GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutputWithContext

func (o GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutputWithContext(ctx context.Context) GetNatIpCidrsCidrArrayOutput

type GetNatIpCidrsCidrInput

type GetNatIpCidrsCidrInput interface {
	pulumi.Input

	ToGetNatIpCidrsCidrOutput() GetNatIpCidrsCidrOutput
	ToGetNatIpCidrsCidrOutputWithContext(context.Context) GetNatIpCidrsCidrOutput
}

GetNatIpCidrsCidrInput is an input type that accepts GetNatIpCidrsCidrArgs and GetNatIpCidrsCidrOutput values. You can construct a concrete instance of `GetNatIpCidrsCidrInput` via:

GetNatIpCidrsCidrArgs{...}

type GetNatIpCidrsCidrOutput

type GetNatIpCidrsCidrOutput struct{ *pulumi.OutputState }

func (GetNatIpCidrsCidrOutput) CreateTime

The time when the CIDR block was created.

func (GetNatIpCidrsCidrOutput) ElementType

func (GetNatIpCidrsCidrOutput) ElementType() reflect.Type

func (GetNatIpCidrsCidrOutput) Id

The ID of the Nat Ip Cidr.

func (GetNatIpCidrsCidrOutput) IsDefault

Whether it is the default NAT IP ADDRESS. Valid values:`true` or `false`.`true`: is the default NAT IP ADDRESS. `false`: it is not the default NAT IP ADDRESS.

func (GetNatIpCidrsCidrOutput) NatGatewayId

func (o GetNatIpCidrsCidrOutput) NatGatewayId() pulumi.StringOutput

The ID of the VPC NAT gateway.

func (GetNatIpCidrsCidrOutput) NatIpCidr

The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).

func (GetNatIpCidrsCidrOutput) NatIpCidrDescription

func (o GetNatIpCidrsCidrOutput) NatIpCidrDescription() pulumi.StringOutput

NAT IP ADDRESS range to the description of. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the` http:// ` Or `https://` at the beginning.

func (GetNatIpCidrsCidrOutput) NatIpCidrId

NAT IP ADDRESS instance ID.

func (GetNatIpCidrsCidrOutput) NatIpCidrName

func (o GetNatIpCidrsCidrOutput) NatIpCidrName() pulumi.StringOutput

NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.

func (GetNatIpCidrsCidrOutput) Status

The status of the CIDR block of the NAT gateway. If the value is `Available`, the CIDR block is available.

func (GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutput

func (o GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutput() GetNatIpCidrsCidrOutput

func (GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutputWithContext

func (o GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutputWithContext(ctx context.Context) GetNatIpCidrsCidrOutput

type GetNatIpCidrsOutputArgs

type GetNatIpCidrsOutputArgs struct {
	// A list of Nat Ip Cidr IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Nat Ip Cidr name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// The ID of the VPC NAT gateway.
	NatGatewayId pulumi.StringInput `pulumi:"natGatewayId"`
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpCidrNames pulumi.StringArrayInput `pulumi:"natIpCidrNames"`
	// The NAT CIDR block to be created. Support up to `20`. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidrs pulumi.StringArrayInput `pulumi:"natIpCidrs"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the CIDR block of the NAT gateway. If the value is `Available`, the CIDR block is available.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getNatIpCidrs.

func (GetNatIpCidrsOutputArgs) ElementType

func (GetNatIpCidrsOutputArgs) ElementType() reflect.Type

type GetNatIpCidrsResult

type GetNatIpCidrsResult struct {
	Cidrs []GetNatIpCidrsCidr `pulumi:"cidrs"`
	// 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"`
	NatGatewayId   string   `pulumi:"natGatewayId"`
	NatIpCidrNames []string `pulumi:"natIpCidrNames"`
	NatIpCidrs     []string `pulumi:"natIpCidrs"`
	OutputFile     *string  `pulumi:"outputFile"`
	Status         *string  `pulumi:"status"`
}

A collection of values returned by getNatIpCidrs.

func GetNatIpCidrs

func GetNatIpCidrs(ctx *pulumi.Context, args *GetNatIpCidrsArgs, opts ...pulumi.InvokeOption) (*GetNatIpCidrsResult, error)

This data source provides the Vpc Nat Ip Cidrs of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
			NatGatewayId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpCidrId1", ids.Cidrs[0].Id)
		nameRegex, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
			NatGatewayId: "example_value",
			NameRegex:    pulumi.StringRef("^my-NatIpCidr"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpCidrId2", nameRegex.Cidrs[0].Id)
		status, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
			NatGatewayId: "example_value",
			Ids: []string{
				"example_value-1",
			},
			Status: pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpCidrId3", status.Cidrs[0].Id)
		natIpCidr, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
			NatGatewayId: "example_value",
			NatIpCidrs: []string{
				"example_value-1",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpCidrId4", natIpCidr.Cidrs[0].Id)
		atIpCidrName, err := vpc.GetNatIpCidrs(ctx, &vpc.GetNatIpCidrsArgs{
			NatGatewayId: "example_value",
			NatIpCidrNames: []string{
				"example_value-1",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpCidrId5", atIpCidrName.Cidrs[0].Id)
		return nil
	})
}

```

type GetNatIpCidrsResultOutput

type GetNatIpCidrsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNatIpCidrs.

func (GetNatIpCidrsResultOutput) Cidrs

func (GetNatIpCidrsResultOutput) ElementType

func (GetNatIpCidrsResultOutput) ElementType() reflect.Type

func (GetNatIpCidrsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetNatIpCidrsResultOutput) Ids

func (GetNatIpCidrsResultOutput) NameRegex

func (GetNatIpCidrsResultOutput) Names

func (GetNatIpCidrsResultOutput) NatGatewayId

func (GetNatIpCidrsResultOutput) NatIpCidrNames

func (GetNatIpCidrsResultOutput) NatIpCidrs

func (GetNatIpCidrsResultOutput) OutputFile

func (GetNatIpCidrsResultOutput) Status

func (GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutput

func (o GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutput() GetNatIpCidrsResultOutput

func (GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutputWithContext

func (o GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutputWithContext(ctx context.Context) GetNatIpCidrsResultOutput

type GetNatIpsArgs

type GetNatIpsArgs struct {
	// A list of Nat Ip IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Nat Ip name.
	NameRegex *string `pulumi:"nameRegex"`
	// The ID of the Virtual Private Cloud (VPC) NAT gateway to which the NAT IP address belongs.
	NatGatewayId string `pulumi:"natGatewayId"`
	// The CIDR block to which the NAT IP address belongs.
	NatIpCidr *string  `pulumi:"natIpCidr"`
	NatIpIds  []string `pulumi:"natIpIds"`
	// The name of the NAT IP address.
	NatIpNames []string `pulumi:"natIpNames"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the NAT IP address. Valid values: `Available`, `Deleting` and `Creating`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getNatIps.

type GetNatIpsIp

type GetNatIpsIp struct {
	// The ID of the Nat Ip.
	Id string `pulumi:"id"`
	// Indicates whether the BGP Group is the default NAT IP ADDRESS. Valid values: `true`: is the default NAT IP ADDRESS. `false`: it is not the default NAT IP ADDRESS.
	IsDefault bool `pulumi:"isDefault"`
	// The ID of the Virtual Private Cloud (VPC) NAT gateway to which the NAT IP address belongs.
	NatGatewayId string `pulumi:"natGatewayId"`
	// The NAT IP address that is queried.
	NatIp string `pulumi:"natIp"`
	// The CIDR block to which the NAT IP address belongs.
	NatIpCidr string `pulumi:"natIpCidr"`
	// The description of the NAT IP address.
	NatIpDescription string `pulumi:"natIpDescription"`
	// The ID of the NAT IP address.
	NatIpId string `pulumi:"natIpId"`
	// The name of the NAT IP address.
	NatIpName string `pulumi:"natIpName"`
	// The status of the NAT IP address. Valid values: `Available`, `Deleting` and `Creating`.
	Status string `pulumi:"status"`
}

type GetNatIpsIpArgs

type GetNatIpsIpArgs struct {
	// The ID of the Nat Ip.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether the BGP Group is the default NAT IP ADDRESS. Valid values: `true`: is the default NAT IP ADDRESS. `false`: it is not the default NAT IP ADDRESS.
	IsDefault pulumi.BoolInput `pulumi:"isDefault"`
	// The ID of the Virtual Private Cloud (VPC) NAT gateway to which the NAT IP address belongs.
	NatGatewayId pulumi.StringInput `pulumi:"natGatewayId"`
	// The NAT IP address that is queried.
	NatIp pulumi.StringInput `pulumi:"natIp"`
	// The CIDR block to which the NAT IP address belongs.
	NatIpCidr pulumi.StringInput `pulumi:"natIpCidr"`
	// The description of the NAT IP address.
	NatIpDescription pulumi.StringInput `pulumi:"natIpDescription"`
	// The ID of the NAT IP address.
	NatIpId pulumi.StringInput `pulumi:"natIpId"`
	// The name of the NAT IP address.
	NatIpName pulumi.StringInput `pulumi:"natIpName"`
	// The status of the NAT IP address. Valid values: `Available`, `Deleting` and `Creating`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetNatIpsIpArgs) ElementType

func (GetNatIpsIpArgs) ElementType() reflect.Type

func (GetNatIpsIpArgs) ToGetNatIpsIpOutput

func (i GetNatIpsIpArgs) ToGetNatIpsIpOutput() GetNatIpsIpOutput

func (GetNatIpsIpArgs) ToGetNatIpsIpOutputWithContext

func (i GetNatIpsIpArgs) ToGetNatIpsIpOutputWithContext(ctx context.Context) GetNatIpsIpOutput

type GetNatIpsIpArray

type GetNatIpsIpArray []GetNatIpsIpInput

func (GetNatIpsIpArray) ElementType

func (GetNatIpsIpArray) ElementType() reflect.Type

func (GetNatIpsIpArray) ToGetNatIpsIpArrayOutput

func (i GetNatIpsIpArray) ToGetNatIpsIpArrayOutput() GetNatIpsIpArrayOutput

func (GetNatIpsIpArray) ToGetNatIpsIpArrayOutputWithContext

func (i GetNatIpsIpArray) ToGetNatIpsIpArrayOutputWithContext(ctx context.Context) GetNatIpsIpArrayOutput

type GetNatIpsIpArrayInput

type GetNatIpsIpArrayInput interface {
	pulumi.Input

	ToGetNatIpsIpArrayOutput() GetNatIpsIpArrayOutput
	ToGetNatIpsIpArrayOutputWithContext(context.Context) GetNatIpsIpArrayOutput
}

GetNatIpsIpArrayInput is an input type that accepts GetNatIpsIpArray and GetNatIpsIpArrayOutput values. You can construct a concrete instance of `GetNatIpsIpArrayInput` via:

GetNatIpsIpArray{ GetNatIpsIpArgs{...} }

type GetNatIpsIpArrayOutput

type GetNatIpsIpArrayOutput struct{ *pulumi.OutputState }

func (GetNatIpsIpArrayOutput) ElementType

func (GetNatIpsIpArrayOutput) ElementType() reflect.Type

func (GetNatIpsIpArrayOutput) Index

func (GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutput

func (o GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutput() GetNatIpsIpArrayOutput

func (GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutputWithContext

func (o GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutputWithContext(ctx context.Context) GetNatIpsIpArrayOutput

type GetNatIpsIpInput

type GetNatIpsIpInput interface {
	pulumi.Input

	ToGetNatIpsIpOutput() GetNatIpsIpOutput
	ToGetNatIpsIpOutputWithContext(context.Context) GetNatIpsIpOutput
}

GetNatIpsIpInput is an input type that accepts GetNatIpsIpArgs and GetNatIpsIpOutput values. You can construct a concrete instance of `GetNatIpsIpInput` via:

GetNatIpsIpArgs{...}

type GetNatIpsIpOutput

type GetNatIpsIpOutput struct{ *pulumi.OutputState }

func (GetNatIpsIpOutput) ElementType

func (GetNatIpsIpOutput) ElementType() reflect.Type

func (GetNatIpsIpOutput) Id

The ID of the Nat Ip.

func (GetNatIpsIpOutput) IsDefault

func (o GetNatIpsIpOutput) IsDefault() pulumi.BoolOutput

Indicates whether the BGP Group is the default NAT IP ADDRESS. Valid values: `true`: is the default NAT IP ADDRESS. `false`: it is not the default NAT IP ADDRESS.

func (GetNatIpsIpOutput) NatGatewayId

func (o GetNatIpsIpOutput) NatGatewayId() pulumi.StringOutput

The ID of the Virtual Private Cloud (VPC) NAT gateway to which the NAT IP address belongs.

func (GetNatIpsIpOutput) NatIp

The NAT IP address that is queried.

func (GetNatIpsIpOutput) NatIpCidr

func (o GetNatIpsIpOutput) NatIpCidr() pulumi.StringOutput

The CIDR block to which the NAT IP address belongs.

func (GetNatIpsIpOutput) NatIpDescription

func (o GetNatIpsIpOutput) NatIpDescription() pulumi.StringOutput

The description of the NAT IP address.

func (GetNatIpsIpOutput) NatIpId

The ID of the NAT IP address.

func (GetNatIpsIpOutput) NatIpName

func (o GetNatIpsIpOutput) NatIpName() pulumi.StringOutput

The name of the NAT IP address.

func (GetNatIpsIpOutput) Status

The status of the NAT IP address. Valid values: `Available`, `Deleting` and `Creating`.

func (GetNatIpsIpOutput) ToGetNatIpsIpOutput

func (o GetNatIpsIpOutput) ToGetNatIpsIpOutput() GetNatIpsIpOutput

func (GetNatIpsIpOutput) ToGetNatIpsIpOutputWithContext

func (o GetNatIpsIpOutput) ToGetNatIpsIpOutputWithContext(ctx context.Context) GetNatIpsIpOutput

type GetNatIpsOutputArgs

type GetNatIpsOutputArgs struct {
	// A list of Nat Ip IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Nat Ip name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// The ID of the Virtual Private Cloud (VPC) NAT gateway to which the NAT IP address belongs.
	NatGatewayId pulumi.StringInput `pulumi:"natGatewayId"`
	// The CIDR block to which the NAT IP address belongs.
	NatIpCidr pulumi.StringPtrInput   `pulumi:"natIpCidr"`
	NatIpIds  pulumi.StringArrayInput `pulumi:"natIpIds"`
	// The name of the NAT IP address.
	NatIpNames pulumi.StringArrayInput `pulumi:"natIpNames"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the NAT IP address. Valid values: `Available`, `Deleting` and `Creating`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getNatIps.

func (GetNatIpsOutputArgs) ElementType

func (GetNatIpsOutputArgs) ElementType() reflect.Type

type GetNatIpsResult

type GetNatIpsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id           string        `pulumi:"id"`
	Ids          []string      `pulumi:"ids"`
	Ips          []GetNatIpsIp `pulumi:"ips"`
	NameRegex    *string       `pulumi:"nameRegex"`
	Names        []string      `pulumi:"names"`
	NatGatewayId string        `pulumi:"natGatewayId"`
	NatIpCidr    *string       `pulumi:"natIpCidr"`
	NatIpIds     []string      `pulumi:"natIpIds"`
	NatIpNames   []string      `pulumi:"natIpNames"`
	OutputFile   *string       `pulumi:"outputFile"`
	Status       *string       `pulumi:"status"`
}

A collection of values returned by getNatIps.

func GetNatIps

func GetNatIps(ctx *pulumi.Context, args *GetNatIpsArgs, opts ...pulumi.InvokeOption) (*GetNatIpsResult, error)

This data source provides the Vpc Nat Ips of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
			NatGatewayId: "example_value",
			Ids: []string{
				"example_value-1",
				"example_value-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpId1", ids.Ips[0].Id)
		nameRegex, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
			NatGatewayId: "example_value",
			NameRegex:    pulumi.StringRef("^my-NatIp"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpId2", nameRegex.Ips[0].Id)
		natIpCidr, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
			NatGatewayId: "example_value",
			NatIpCidr:    pulumi.StringRef("example_value"),
			NameRegex:    pulumi.StringRef("^my-NatIp"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpId3", natIpCidr.Ips[0].Id)
		natIpName, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
			NatGatewayId: "example_value",
			Ids: []string{
				"example_value",
			},
			NatIpNames: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpId4", natIpName.Ips[0].Id)
		natIpIds, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
			NatGatewayId: "example_value",
			Ids: []string{
				"example_value",
			},
			NatIpIds: []string{
				"example_value",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpId5", natIpIds.Ips[0].Id)
		status, err := vpc.GetNatIps(ctx, &vpc.GetNatIpsArgs{
			NatGatewayId: "example_value",
			Ids: []string{
				"example_value",
			},
			Status: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcNatIpId6", status.Ips[0].Id)
		return nil
	})
}

```

type GetNatIpsResultOutput

type GetNatIpsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNatIps.

func (GetNatIpsResultOutput) ElementType

func (GetNatIpsResultOutput) ElementType() reflect.Type

func (GetNatIpsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetNatIpsResultOutput) Ids

func (GetNatIpsResultOutput) Ips

func (GetNatIpsResultOutput) NameRegex

func (GetNatIpsResultOutput) Names

func (GetNatIpsResultOutput) NatGatewayId

func (o GetNatIpsResultOutput) NatGatewayId() pulumi.StringOutput

func (GetNatIpsResultOutput) NatIpCidr

func (GetNatIpsResultOutput) NatIpIds

func (GetNatIpsResultOutput) NatIpNames

func (GetNatIpsResultOutput) OutputFile

func (GetNatIpsResultOutput) Status

func (GetNatIpsResultOutput) ToGetNatIpsResultOutput

func (o GetNatIpsResultOutput) ToGetNatIpsResultOutput() GetNatIpsResultOutput

func (GetNatIpsResultOutput) ToGetNatIpsResultOutputWithContext

func (o GetNatIpsResultOutput) ToGetNatIpsResultOutputWithContext(ctx context.Context) GetNatIpsResultOutput

type GetNetworkAclsAcl

type GetNetworkAclsAcl struct {
	// Description of the entry direction rule.
	Description string `pulumi:"description"`
	// Output direction rule information.
	EgressAclEntries []GetNetworkAclsAclEgressAclEntry `pulumi:"egressAclEntries"`
	// The ID of the Network Acl.
	Id string `pulumi:"id"`
	// Entry direction rule information.
	IngressAclEntries []GetNetworkAclsAclIngressAclEntry `pulumi:"ingressAclEntries"`
	// The first ID of the resource.
	NetworkAclId string `pulumi:"networkAclId"`
	// The name of the network ACL.
	NetworkAclName string `pulumi:"networkAclName"`
	// The associated resource.
	Resources []GetNetworkAclsAclResource `pulumi:"resources"`
	// The state of the network ACL.
	Status string `pulumi:"status"`
	// The ID of the associated VPC.
	VpcId string `pulumi:"vpcId"`
}

type GetNetworkAclsAclArgs

type GetNetworkAclsAclArgs struct {
	// Description of the entry direction rule.
	Description pulumi.StringInput `pulumi:"description"`
	// Output direction rule information.
	EgressAclEntries GetNetworkAclsAclEgressAclEntryArrayInput `pulumi:"egressAclEntries"`
	// The ID of the Network Acl.
	Id pulumi.StringInput `pulumi:"id"`
	// Entry direction rule information.
	IngressAclEntries GetNetworkAclsAclIngressAclEntryArrayInput `pulumi:"ingressAclEntries"`
	// The first ID of the resource.
	NetworkAclId pulumi.StringInput `pulumi:"networkAclId"`
	// The name of the network ACL.
	NetworkAclName pulumi.StringInput `pulumi:"networkAclName"`
	// The associated resource.
	Resources GetNetworkAclsAclResourceArrayInput `pulumi:"resources"`
	// The state of the network ACL.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the associated VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetNetworkAclsAclArgs) ElementType

func (GetNetworkAclsAclArgs) ElementType() reflect.Type

func (GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutput

func (i GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutput() GetNetworkAclsAclOutput

func (GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutputWithContext

func (i GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutputWithContext(ctx context.Context) GetNetworkAclsAclOutput

type GetNetworkAclsAclArray

type GetNetworkAclsAclArray []GetNetworkAclsAclInput

func (GetNetworkAclsAclArray) ElementType

func (GetNetworkAclsAclArray) ElementType() reflect.Type

func (GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutput

func (i GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutput() GetNetworkAclsAclArrayOutput

func (GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutputWithContext

func (i GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclArrayOutput

type GetNetworkAclsAclArrayInput

type GetNetworkAclsAclArrayInput interface {
	pulumi.Input

	ToGetNetworkAclsAclArrayOutput() GetNetworkAclsAclArrayOutput
	ToGetNetworkAclsAclArrayOutputWithContext(context.Context) GetNetworkAclsAclArrayOutput
}

GetNetworkAclsAclArrayInput is an input type that accepts GetNetworkAclsAclArray and GetNetworkAclsAclArrayOutput values. You can construct a concrete instance of `GetNetworkAclsAclArrayInput` via:

GetNetworkAclsAclArray{ GetNetworkAclsAclArgs{...} }

type GetNetworkAclsAclArrayOutput

type GetNetworkAclsAclArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclArrayOutput) ElementType

func (GetNetworkAclsAclArrayOutput) Index

func (GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutput

func (o GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutput() GetNetworkAclsAclArrayOutput

func (GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutputWithContext

func (o GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclArrayOutput

type GetNetworkAclsAclEgressAclEntry

type GetNetworkAclsAclEgressAclEntry struct {
	// Description of the entry direction rule.
	Description string `pulumi:"description"`
	// The destination address segment.
	DestinationCidrIp string `pulumi:"destinationCidrIp"`
	// The name of the entry direction rule entry.
	NetworkAclEntryName string `pulumi:"networkAclEntryName"`
	// The authorization policy.
	Policy string `pulumi:"policy"`
	// Source port range.
	Port string `pulumi:"port"`
	// Transport layer protocol.
	Protocol string `pulumi:"protocol"`
}

type GetNetworkAclsAclEgressAclEntryArgs

type GetNetworkAclsAclEgressAclEntryArgs struct {
	// Description of the entry direction rule.
	Description pulumi.StringInput `pulumi:"description"`
	// The destination address segment.
	DestinationCidrIp pulumi.StringInput `pulumi:"destinationCidrIp"`
	// The name of the entry direction rule entry.
	NetworkAclEntryName pulumi.StringInput `pulumi:"networkAclEntryName"`
	// The authorization policy.
	Policy pulumi.StringInput `pulumi:"policy"`
	// Source port range.
	Port pulumi.StringInput `pulumi:"port"`
	// Transport layer protocol.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (GetNetworkAclsAclEgressAclEntryArgs) ElementType

func (GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutput

func (i GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutput() GetNetworkAclsAclEgressAclEntryOutput

func (GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutputWithContext

func (i GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutputWithContext(ctx context.Context) GetNetworkAclsAclEgressAclEntryOutput

type GetNetworkAclsAclEgressAclEntryArray

type GetNetworkAclsAclEgressAclEntryArray []GetNetworkAclsAclEgressAclEntryInput

func (GetNetworkAclsAclEgressAclEntryArray) ElementType

func (GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutput

func (i GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutput() GetNetworkAclsAclEgressAclEntryArrayOutput

func (GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext

func (i GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclEgressAclEntryArrayOutput

type GetNetworkAclsAclEgressAclEntryArrayInput

type GetNetworkAclsAclEgressAclEntryArrayInput interface {
	pulumi.Input

	ToGetNetworkAclsAclEgressAclEntryArrayOutput() GetNetworkAclsAclEgressAclEntryArrayOutput
	ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext(context.Context) GetNetworkAclsAclEgressAclEntryArrayOutput
}

GetNetworkAclsAclEgressAclEntryArrayInput is an input type that accepts GetNetworkAclsAclEgressAclEntryArray and GetNetworkAclsAclEgressAclEntryArrayOutput values. You can construct a concrete instance of `GetNetworkAclsAclEgressAclEntryArrayInput` via:

GetNetworkAclsAclEgressAclEntryArray{ GetNetworkAclsAclEgressAclEntryArgs{...} }

type GetNetworkAclsAclEgressAclEntryArrayOutput

type GetNetworkAclsAclEgressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclEgressAclEntryArrayOutput) ElementType

func (GetNetworkAclsAclEgressAclEntryArrayOutput) Index

func (GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutput

func (o GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutput() GetNetworkAclsAclEgressAclEntryArrayOutput

func (GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext

func (o GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclEgressAclEntryArrayOutput

type GetNetworkAclsAclEgressAclEntryInput

type GetNetworkAclsAclEgressAclEntryInput interface {
	pulumi.Input

	ToGetNetworkAclsAclEgressAclEntryOutput() GetNetworkAclsAclEgressAclEntryOutput
	ToGetNetworkAclsAclEgressAclEntryOutputWithContext(context.Context) GetNetworkAclsAclEgressAclEntryOutput
}

GetNetworkAclsAclEgressAclEntryInput is an input type that accepts GetNetworkAclsAclEgressAclEntryArgs and GetNetworkAclsAclEgressAclEntryOutput values. You can construct a concrete instance of `GetNetworkAclsAclEgressAclEntryInput` via:

GetNetworkAclsAclEgressAclEntryArgs{...}

type GetNetworkAclsAclEgressAclEntryOutput

type GetNetworkAclsAclEgressAclEntryOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclEgressAclEntryOutput) Description

Description of the entry direction rule.

func (GetNetworkAclsAclEgressAclEntryOutput) DestinationCidrIp

The destination address segment.

func (GetNetworkAclsAclEgressAclEntryOutput) ElementType

func (GetNetworkAclsAclEgressAclEntryOutput) NetworkAclEntryName

The name of the entry direction rule entry.

func (GetNetworkAclsAclEgressAclEntryOutput) Policy

The authorization policy.

func (GetNetworkAclsAclEgressAclEntryOutput) Port

Source port range.

func (GetNetworkAclsAclEgressAclEntryOutput) Protocol

Transport layer protocol.

func (GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutput

func (o GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutput() GetNetworkAclsAclEgressAclEntryOutput

func (GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutputWithContext

func (o GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutputWithContext(ctx context.Context) GetNetworkAclsAclEgressAclEntryOutput

type GetNetworkAclsAclIngressAclEntry

type GetNetworkAclsAclIngressAclEntry struct {
	// Description of the entry direction rule.
	Description string `pulumi:"description"`
	// The name of the entry direction rule entry.
	NetworkAclEntryName string `pulumi:"networkAclEntryName"`
	// The authorization policy.
	Policy string `pulumi:"policy"`
	// Source port range.
	Port string `pulumi:"port"`
	// Transport layer protocol.
	Protocol string `pulumi:"protocol"`
	// The source address field.
	SourceCidrIp string `pulumi:"sourceCidrIp"`
}

type GetNetworkAclsAclIngressAclEntryArgs

type GetNetworkAclsAclIngressAclEntryArgs struct {
	// Description of the entry direction rule.
	Description pulumi.StringInput `pulumi:"description"`
	// The name of the entry direction rule entry.
	NetworkAclEntryName pulumi.StringInput `pulumi:"networkAclEntryName"`
	// The authorization policy.
	Policy pulumi.StringInput `pulumi:"policy"`
	// Source port range.
	Port pulumi.StringInput `pulumi:"port"`
	// Transport layer protocol.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// The source address field.
	SourceCidrIp pulumi.StringInput `pulumi:"sourceCidrIp"`
}

func (GetNetworkAclsAclIngressAclEntryArgs) ElementType

func (GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutput

func (i GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutput() GetNetworkAclsAclIngressAclEntryOutput

func (GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutputWithContext

func (i GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutputWithContext(ctx context.Context) GetNetworkAclsAclIngressAclEntryOutput

type GetNetworkAclsAclIngressAclEntryArray

type GetNetworkAclsAclIngressAclEntryArray []GetNetworkAclsAclIngressAclEntryInput

func (GetNetworkAclsAclIngressAclEntryArray) ElementType

func (GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutput

func (i GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutput() GetNetworkAclsAclIngressAclEntryArrayOutput

func (GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext

func (i GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclIngressAclEntryArrayOutput

type GetNetworkAclsAclIngressAclEntryArrayInput

type GetNetworkAclsAclIngressAclEntryArrayInput interface {
	pulumi.Input

	ToGetNetworkAclsAclIngressAclEntryArrayOutput() GetNetworkAclsAclIngressAclEntryArrayOutput
	ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext(context.Context) GetNetworkAclsAclIngressAclEntryArrayOutput
}

GetNetworkAclsAclIngressAclEntryArrayInput is an input type that accepts GetNetworkAclsAclIngressAclEntryArray and GetNetworkAclsAclIngressAclEntryArrayOutput values. You can construct a concrete instance of `GetNetworkAclsAclIngressAclEntryArrayInput` via:

GetNetworkAclsAclIngressAclEntryArray{ GetNetworkAclsAclIngressAclEntryArgs{...} }

type GetNetworkAclsAclIngressAclEntryArrayOutput

type GetNetworkAclsAclIngressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclIngressAclEntryArrayOutput) ElementType

func (GetNetworkAclsAclIngressAclEntryArrayOutput) Index

func (GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutput

func (o GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutput() GetNetworkAclsAclIngressAclEntryArrayOutput

func (GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext

func (o GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclIngressAclEntryArrayOutput

type GetNetworkAclsAclIngressAclEntryInput

type GetNetworkAclsAclIngressAclEntryInput interface {
	pulumi.Input

	ToGetNetworkAclsAclIngressAclEntryOutput() GetNetworkAclsAclIngressAclEntryOutput
	ToGetNetworkAclsAclIngressAclEntryOutputWithContext(context.Context) GetNetworkAclsAclIngressAclEntryOutput
}

GetNetworkAclsAclIngressAclEntryInput is an input type that accepts GetNetworkAclsAclIngressAclEntryArgs and GetNetworkAclsAclIngressAclEntryOutput values. You can construct a concrete instance of `GetNetworkAclsAclIngressAclEntryInput` via:

GetNetworkAclsAclIngressAclEntryArgs{...}

type GetNetworkAclsAclIngressAclEntryOutput

type GetNetworkAclsAclIngressAclEntryOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclIngressAclEntryOutput) Description

Description of the entry direction rule.

func (GetNetworkAclsAclIngressAclEntryOutput) ElementType

func (GetNetworkAclsAclIngressAclEntryOutput) NetworkAclEntryName

The name of the entry direction rule entry.

func (GetNetworkAclsAclIngressAclEntryOutput) Policy

The authorization policy.

func (GetNetworkAclsAclIngressAclEntryOutput) Port

Source port range.

func (GetNetworkAclsAclIngressAclEntryOutput) Protocol

Transport layer protocol.

func (GetNetworkAclsAclIngressAclEntryOutput) SourceCidrIp

The source address field.

func (GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutput

func (o GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutput() GetNetworkAclsAclIngressAclEntryOutput

func (GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutputWithContext

func (o GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutputWithContext(ctx context.Context) GetNetworkAclsAclIngressAclEntryOutput

type GetNetworkAclsAclInput

type GetNetworkAclsAclInput interface {
	pulumi.Input

	ToGetNetworkAclsAclOutput() GetNetworkAclsAclOutput
	ToGetNetworkAclsAclOutputWithContext(context.Context) GetNetworkAclsAclOutput
}

GetNetworkAclsAclInput is an input type that accepts GetNetworkAclsAclArgs and GetNetworkAclsAclOutput values. You can construct a concrete instance of `GetNetworkAclsAclInput` via:

GetNetworkAclsAclArgs{...}

type GetNetworkAclsAclOutput

type GetNetworkAclsAclOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclOutput) Description

Description of the entry direction rule.

func (GetNetworkAclsAclOutput) EgressAclEntries

Output direction rule information.

func (GetNetworkAclsAclOutput) ElementType

func (GetNetworkAclsAclOutput) ElementType() reflect.Type

func (GetNetworkAclsAclOutput) Id

The ID of the Network Acl.

func (GetNetworkAclsAclOutput) IngressAclEntries

Entry direction rule information.

func (GetNetworkAclsAclOutput) NetworkAclId

func (o GetNetworkAclsAclOutput) NetworkAclId() pulumi.StringOutput

The first ID of the resource.

func (GetNetworkAclsAclOutput) NetworkAclName

func (o GetNetworkAclsAclOutput) NetworkAclName() pulumi.StringOutput

The name of the network ACL.

func (GetNetworkAclsAclOutput) Resources

The associated resource.

func (GetNetworkAclsAclOutput) Status

The state of the network ACL.

func (GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutput

func (o GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutput() GetNetworkAclsAclOutput

func (GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutputWithContext

func (o GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutputWithContext(ctx context.Context) GetNetworkAclsAclOutput

func (GetNetworkAclsAclOutput) VpcId

The ID of the associated VPC.

type GetNetworkAclsAclResource

type GetNetworkAclsAclResource struct {
	// The ID of the associated resource.
	ResourceId string `pulumi:"resourceId"`
	// The type of the associated resource.
	ResourceType string `pulumi:"resourceType"`
	// The state of the network ACL.
	Status string `pulumi:"status"`
}

type GetNetworkAclsAclResourceArgs

type GetNetworkAclsAclResourceArgs struct {
	// The ID of the associated resource.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
	// The type of the associated resource.
	ResourceType pulumi.StringInput `pulumi:"resourceType"`
	// The state of the network ACL.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetNetworkAclsAclResourceArgs) ElementType

func (GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutput

func (i GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutput() GetNetworkAclsAclResourceOutput

func (GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutputWithContext

func (i GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutputWithContext(ctx context.Context) GetNetworkAclsAclResourceOutput

type GetNetworkAclsAclResourceArray

type GetNetworkAclsAclResourceArray []GetNetworkAclsAclResourceInput

func (GetNetworkAclsAclResourceArray) ElementType

func (GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutput

func (i GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutput() GetNetworkAclsAclResourceArrayOutput

func (GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutputWithContext

func (i GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclResourceArrayOutput

type GetNetworkAclsAclResourceArrayInput

type GetNetworkAclsAclResourceArrayInput interface {
	pulumi.Input

	ToGetNetworkAclsAclResourceArrayOutput() GetNetworkAclsAclResourceArrayOutput
	ToGetNetworkAclsAclResourceArrayOutputWithContext(context.Context) GetNetworkAclsAclResourceArrayOutput
}

GetNetworkAclsAclResourceArrayInput is an input type that accepts GetNetworkAclsAclResourceArray and GetNetworkAclsAclResourceArrayOutput values. You can construct a concrete instance of `GetNetworkAclsAclResourceArrayInput` via:

GetNetworkAclsAclResourceArray{ GetNetworkAclsAclResourceArgs{...} }

type GetNetworkAclsAclResourceArrayOutput

type GetNetworkAclsAclResourceArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclResourceArrayOutput) ElementType

func (GetNetworkAclsAclResourceArrayOutput) Index

func (GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutput

func (o GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutput() GetNetworkAclsAclResourceArrayOutput

func (GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutputWithContext

func (o GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutputWithContext(ctx context.Context) GetNetworkAclsAclResourceArrayOutput

type GetNetworkAclsAclResourceInput

type GetNetworkAclsAclResourceInput interface {
	pulumi.Input

	ToGetNetworkAclsAclResourceOutput() GetNetworkAclsAclResourceOutput
	ToGetNetworkAclsAclResourceOutputWithContext(context.Context) GetNetworkAclsAclResourceOutput
}

GetNetworkAclsAclResourceInput is an input type that accepts GetNetworkAclsAclResourceArgs and GetNetworkAclsAclResourceOutput values. You can construct a concrete instance of `GetNetworkAclsAclResourceInput` via:

GetNetworkAclsAclResourceArgs{...}

type GetNetworkAclsAclResourceOutput

type GetNetworkAclsAclResourceOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclResourceOutput) ElementType

func (GetNetworkAclsAclResourceOutput) ResourceId

The ID of the associated resource.

func (GetNetworkAclsAclResourceOutput) ResourceType

The type of the associated resource.

func (GetNetworkAclsAclResourceOutput) Status

The state of the network ACL.

func (GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutput

func (o GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutput() GetNetworkAclsAclResourceOutput

func (GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutputWithContext

func (o GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutputWithContext(ctx context.Context) GetNetworkAclsAclResourceOutput

type GetNetworkAclsArgs

type GetNetworkAclsArgs struct {
	// A list of Network Acl ID.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Network Acl name.
	NameRegex *string `pulumi:"nameRegex"`
	// The name of the network ACL.
	NetworkAclName *string `pulumi:"networkAclName"`
	OutputFile     *string `pulumi:"outputFile"`
	// The ID of the associated resource.
	ResourceId *string `pulumi:"resourceId"`
	// The type of the associated resource.
	ResourceType *string `pulumi:"resourceType"`
	// The state of the network ACL.
	Status *string `pulumi:"status"`
	// The ID of the associated VPC.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getNetworkAcls.

type GetNetworkAclsOutputArgs

type GetNetworkAclsOutputArgs struct {
	// A list of Network Acl ID.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Network Acl name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// The name of the network ACL.
	NetworkAclName pulumi.StringPtrInput `pulumi:"networkAclName"`
	OutputFile     pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the associated resource.
	ResourceId pulumi.StringPtrInput `pulumi:"resourceId"`
	// The type of the associated resource.
	ResourceType pulumi.StringPtrInput `pulumi:"resourceType"`
	// The state of the network ACL.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the associated VPC.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getNetworkAcls.

func (GetNetworkAclsOutputArgs) ElementType

func (GetNetworkAclsOutputArgs) ElementType() reflect.Type

type GetNetworkAclsResult

type GetNetworkAclsResult struct {
	Acls []GetNetworkAclsAcl `pulumi:"acls"`
	// 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"`
	NetworkAclName *string  `pulumi:"networkAclName"`
	OutputFile     *string  `pulumi:"outputFile"`
	ResourceId     *string  `pulumi:"resourceId"`
	ResourceType   *string  `pulumi:"resourceType"`
	Status         *string  `pulumi:"status"`
	VpcId          *string  `pulumi:"vpcId"`
}

A collection of values returned by getNetworkAcls.

func GetNetworkAcls

func GetNetworkAcls(ctx *pulumi.Context, args *GetNetworkAclsArgs, opts ...pulumi.InvokeOption) (*GetNetworkAclsResult, error)

This data source provides the Network Acls of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := vpc.GetNetworkAcls(ctx, &vpc.GetNetworkAclsArgs{
			Ids: []string{
				"example_value",
			},
			NameRegex: pulumi.StringRef("the_resource_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstNetworkAclId", example.Acls[0].Id)
		return nil
	})
}

```

type GetNetworkAclsResultOutput

type GetNetworkAclsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNetworkAcls.

func (GetNetworkAclsResultOutput) Acls

func (GetNetworkAclsResultOutput) ElementType

func (GetNetworkAclsResultOutput) ElementType() reflect.Type

func (GetNetworkAclsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetNetworkAclsResultOutput) Ids

func (GetNetworkAclsResultOutput) NameRegex

func (GetNetworkAclsResultOutput) Names

func (GetNetworkAclsResultOutput) NetworkAclName

func (GetNetworkAclsResultOutput) OutputFile

func (GetNetworkAclsResultOutput) ResourceId

func (GetNetworkAclsResultOutput) ResourceType

func (GetNetworkAclsResultOutput) Status

func (GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutput

func (o GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutput() GetNetworkAclsResultOutput

func (GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutputWithContext

func (o GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutputWithContext(ctx context.Context) GetNetworkAclsResultOutput

func (GetNetworkAclsResultOutput) VpcId

type GetNetworksArgs

type GetNetworksArgs struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock *string `pulumi:"cidrBlock"`
	// The ID of dhcp options set.
	DhcpOptionsSetId *string `pulumi:"dhcpOptionsSetId"`
	// Indicates whether to check this request only. Valid values: `true` and `false`.
	DryRun *bool `pulumi:"dryRun"`
	// -(Optional, Available in v1.119.0+) Default to `true`. Set it to true can output the `routeTableId`.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of VPC IDs.
	Ids []string `pulumi:"ids"`
	// Indicate whether the VPC is the default one in the specified region.
	IsDefault *bool `pulumi:"isDefault"`
	// A regex string to filter VPCs by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The Id of resource group which VPC belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// Filter results by a specific status. Valid value are `Pending` and `Available`.
	Status *string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// The name of the VPC.
	VpcName *string `pulumi:"vpcName"`
	// The owner ID of VPC.
	VpcOwnerId *int `pulumi:"vpcOwnerId"`
	// Filter results by the specified VSwitch.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getNetworks.

type GetNetworksOutputArgs

type GetNetworksOutputArgs struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"`
	// The ID of dhcp options set.
	DhcpOptionsSetId pulumi.StringPtrInput `pulumi:"dhcpOptionsSetId"`
	// Indicates whether to check this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrInput `pulumi:"dryRun"`
	// -(Optional, Available in v1.119.0+) Default to `true`. Set it to true can output the `routeTableId`.
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of VPC IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Indicate whether the VPC is the default one in the specified region.
	IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"`
	// A regex string to filter VPCs by name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The Id of resource group which VPC belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// Filter results by a specific status. Valid value are `Pending` and `Available`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// The name of the VPC.
	VpcName pulumi.StringPtrInput `pulumi:"vpcName"`
	// The owner ID of VPC.
	VpcOwnerId pulumi.IntPtrInput `pulumi:"vpcOwnerId"`
	// Filter results by the specified VSwitch.
	VswitchId pulumi.StringPtrInput `pulumi:"vswitchId"`
}

A collection of arguments for invoking getNetworks.

func (GetNetworksOutputArgs) ElementType

func (GetNetworksOutputArgs) ElementType() reflect.Type

type GetNetworksResult

type GetNetworksResult struct {
	// CIDR block of the VPC.
	CidrBlock        *string `pulumi:"cidrBlock"`
	DhcpOptionsSetId *string `pulumi:"dhcpOptionsSetId"`
	DryRun           *bool   `pulumi:"dryRun"`
	EnableDetails    *bool   `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of VPC IDs.
	Ids []string `pulumi:"ids"`
	// Whether the VPC is the default VPC in the region.
	IsDefault *bool   `pulumi:"isDefault"`
	NameRegex *string `pulumi:"nameRegex"`
	// A list of VPC names.
	Names           []string `pulumi:"names"`
	OutputFile      *string  `pulumi:"outputFile"`
	PageNumber      *int     `pulumi:"pageNumber"`
	PageSize        *int     `pulumi:"pageSize"`
	ResourceGroupId *string  `pulumi:"resourceGroupId"`
	// Status of the VPC.
	Status *string `pulumi:"status"`
	// A map of tags assigned to the VPC.
	Tags       map[string]interface{} `pulumi:"tags"`
	TotalCount int                    `pulumi:"totalCount"`
	// Name of the VPC.
	VpcName    *string `pulumi:"vpcName"`
	VpcOwnerId *int    `pulumi:"vpcOwnerId"`
	// A list of VPCs. Each element contains the following attributes:
	Vpcs      []GetNetworksVpc `pulumi:"vpcs"`
	VswitchId *string          `pulumi:"vswitchId"`
}

A collection of values returned by getNetworks.

func GetNetworks

func GetNetworks(ctx *pulumi.Context, args *GetNetworksArgs, opts ...pulumi.InvokeOption) (*GetNetworksResult, error)

This data source provides VPCs available to the user.

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpcsDs, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			CidrBlock: pulumi.StringRef("172.16.0.0/12"),
			NameRegex: pulumi.StringRef("^foo"),
			Status:    pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstVpcId", vpcsDs.Vpcs[0].Id)
		return nil
	})
}

```

type GetNetworksResultOutput

type GetNetworksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNetworks.

func (GetNetworksResultOutput) CidrBlock

CIDR block of the VPC.

func (GetNetworksResultOutput) DhcpOptionsSetId

func (o GetNetworksResultOutput) DhcpOptionsSetId() pulumi.StringPtrOutput

func (GetNetworksResultOutput) DryRun

func (GetNetworksResultOutput) ElementType

func (GetNetworksResultOutput) ElementType() reflect.Type

func (GetNetworksResultOutput) EnableDetails

func (o GetNetworksResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetNetworksResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetNetworksResultOutput) Ids

A list of VPC IDs.

func (GetNetworksResultOutput) IsDefault

Whether the VPC is the default VPC in the region.

func (GetNetworksResultOutput) NameRegex

func (GetNetworksResultOutput) Names

A list of VPC names.

func (GetNetworksResultOutput) OutputFile

func (GetNetworksResultOutput) PageNumber

func (GetNetworksResultOutput) PageSize

func (GetNetworksResultOutput) ResourceGroupId

func (o GetNetworksResultOutput) ResourceGroupId() pulumi.StringPtrOutput

func (GetNetworksResultOutput) Status

Status of the VPC.

func (GetNetworksResultOutput) Tags

A map of tags assigned to the VPC.

func (GetNetworksResultOutput) ToGetNetworksResultOutput

func (o GetNetworksResultOutput) ToGetNetworksResultOutput() GetNetworksResultOutput

func (GetNetworksResultOutput) ToGetNetworksResultOutputWithContext

func (o GetNetworksResultOutput) ToGetNetworksResultOutputWithContext(ctx context.Context) GetNetworksResultOutput

func (GetNetworksResultOutput) TotalCount

func (o GetNetworksResultOutput) TotalCount() pulumi.IntOutput

func (GetNetworksResultOutput) VpcName

Name of the VPC.

func (GetNetworksResultOutput) VpcOwnerId

func (GetNetworksResultOutput) Vpcs

A list of VPCs. Each element contains the following attributes:

func (GetNetworksResultOutput) VswitchId

type GetNetworksVpc

type GetNetworksVpc struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock string `pulumi:"cidrBlock"`
	// Time of creation.
	CreationTime string `pulumi:"creationTime"`
	// Description of the VPC
	Description string `pulumi:"description"`
	// ID of the VPC.
	Id string `pulumi:"id"`
	// The IPv6 CIDR block of the VPC.
	Ipv6CidrBlock string `pulumi:"ipv6CidrBlock"`
	// Indicate whether the VPC is the default one in the specified region.
	IsDefault bool `pulumi:"isDefault"`
	// ID of the region where the VPC is located.
	RegionId string `pulumi:"regionId"`
	// The Id of resource group which VPC belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// Route table ID of the VRouter.
	RouteTableId string `pulumi:"routeTableId"`
	// The ID of the VRouter.
	RouterId string `pulumi:"routerId"`
	// A list of secondary IPv4 CIDR blocks of the VPC.
	SecondaryCidrBlocks []string `pulumi:"secondaryCidrBlocks"`
	// Filter results by a specific status. Valid value are `Pending` and `Available`.
	Status string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// A list of user CIDRs.
	UserCidrs []string `pulumi:"userCidrs"`
	// ID of the VPC.
	VpcId string `pulumi:"vpcId"`
	// The name of the VPC.
	VpcName string `pulumi:"vpcName"`
	// ID of the VRouter.
	VrouterId string `pulumi:"vrouterId"`
	// List of VSwitch IDs in the specified VPC
	VswitchIds []string `pulumi:"vswitchIds"`
}

type GetNetworksVpcArgs

type GetNetworksVpcArgs struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock pulumi.StringInput `pulumi:"cidrBlock"`
	// Time of creation.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Description of the VPC
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the VPC.
	Id pulumi.StringInput `pulumi:"id"`
	// The IPv6 CIDR block of the VPC.
	Ipv6CidrBlock pulumi.StringInput `pulumi:"ipv6CidrBlock"`
	// Indicate whether the VPC is the default one in the specified region.
	IsDefault pulumi.BoolInput `pulumi:"isDefault"`
	// ID of the region where the VPC is located.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The Id of resource group which VPC belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// Route table ID of the VRouter.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// The ID of the VRouter.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// A list of secondary IPv4 CIDR blocks of the VPC.
	SecondaryCidrBlocks pulumi.StringArrayInput `pulumi:"secondaryCidrBlocks"`
	// Filter results by a specific status. Valid value are `Pending` and `Available`.
	Status pulumi.StringInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// A list of user CIDRs.
	UserCidrs pulumi.StringArrayInput `pulumi:"userCidrs"`
	// ID of the VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// The name of the VPC.
	VpcName pulumi.StringInput `pulumi:"vpcName"`
	// ID of the VRouter.
	VrouterId pulumi.StringInput `pulumi:"vrouterId"`
	// List of VSwitch IDs in the specified VPC
	VswitchIds pulumi.StringArrayInput `pulumi:"vswitchIds"`
}

func (GetNetworksVpcArgs) ElementType

func (GetNetworksVpcArgs) ElementType() reflect.Type

func (GetNetworksVpcArgs) ToGetNetworksVpcOutput

func (i GetNetworksVpcArgs) ToGetNetworksVpcOutput() GetNetworksVpcOutput

func (GetNetworksVpcArgs) ToGetNetworksVpcOutputWithContext

func (i GetNetworksVpcArgs) ToGetNetworksVpcOutputWithContext(ctx context.Context) GetNetworksVpcOutput

type GetNetworksVpcArray

type GetNetworksVpcArray []GetNetworksVpcInput

func (GetNetworksVpcArray) ElementType

func (GetNetworksVpcArray) ElementType() reflect.Type

func (GetNetworksVpcArray) ToGetNetworksVpcArrayOutput

func (i GetNetworksVpcArray) ToGetNetworksVpcArrayOutput() GetNetworksVpcArrayOutput

func (GetNetworksVpcArray) ToGetNetworksVpcArrayOutputWithContext

func (i GetNetworksVpcArray) ToGetNetworksVpcArrayOutputWithContext(ctx context.Context) GetNetworksVpcArrayOutput

type GetNetworksVpcArrayInput

type GetNetworksVpcArrayInput interface {
	pulumi.Input

	ToGetNetworksVpcArrayOutput() GetNetworksVpcArrayOutput
	ToGetNetworksVpcArrayOutputWithContext(context.Context) GetNetworksVpcArrayOutput
}

GetNetworksVpcArrayInput is an input type that accepts GetNetworksVpcArray and GetNetworksVpcArrayOutput values. You can construct a concrete instance of `GetNetworksVpcArrayInput` via:

GetNetworksVpcArray{ GetNetworksVpcArgs{...} }

type GetNetworksVpcArrayOutput

type GetNetworksVpcArrayOutput struct{ *pulumi.OutputState }

func (GetNetworksVpcArrayOutput) ElementType

func (GetNetworksVpcArrayOutput) ElementType() reflect.Type

func (GetNetworksVpcArrayOutput) Index

func (GetNetworksVpcArrayOutput) ToGetNetworksVpcArrayOutput

func (o GetNetworksVpcArrayOutput) ToGetNetworksVpcArrayOutput() GetNetworksVpcArrayOutput

func (GetNetworksVpcArrayOutput) ToGetNetworksVpcArrayOutputWithContext

func (o GetNetworksVpcArrayOutput) ToGetNetworksVpcArrayOutputWithContext(ctx context.Context) GetNetworksVpcArrayOutput

type GetNetworksVpcInput

type GetNetworksVpcInput interface {
	pulumi.Input

	ToGetNetworksVpcOutput() GetNetworksVpcOutput
	ToGetNetworksVpcOutputWithContext(context.Context) GetNetworksVpcOutput
}

GetNetworksVpcInput is an input type that accepts GetNetworksVpcArgs and GetNetworksVpcOutput values. You can construct a concrete instance of `GetNetworksVpcInput` via:

GetNetworksVpcArgs{...}

type GetNetworksVpcOutput

type GetNetworksVpcOutput struct{ *pulumi.OutputState }

func (GetNetworksVpcOutput) CidrBlock

Filter results by a specific CIDR block. For example: "172.16.0.0/12".

func (GetNetworksVpcOutput) CreationTime

func (o GetNetworksVpcOutput) CreationTime() pulumi.StringOutput

Time of creation.

func (GetNetworksVpcOutput) Description

func (o GetNetworksVpcOutput) Description() pulumi.StringOutput

Description of the VPC

func (GetNetworksVpcOutput) ElementType

func (GetNetworksVpcOutput) ElementType() reflect.Type

func (GetNetworksVpcOutput) Id

ID of the VPC.

func (GetNetworksVpcOutput) Ipv6CidrBlock

func (o GetNetworksVpcOutput) Ipv6CidrBlock() pulumi.StringOutput

The IPv6 CIDR block of the VPC.

func (GetNetworksVpcOutput) IsDefault

func (o GetNetworksVpcOutput) IsDefault() pulumi.BoolOutput

Indicate whether the VPC is the default one in the specified region.

func (GetNetworksVpcOutput) RegionId

ID of the region where the VPC is located.

func (GetNetworksVpcOutput) ResourceGroupId

func (o GetNetworksVpcOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which VPC belongs.

func (GetNetworksVpcOutput) RouteTableId

func (o GetNetworksVpcOutput) RouteTableId() pulumi.StringOutput

Route table ID of the VRouter.

func (GetNetworksVpcOutput) RouterId

The ID of the VRouter.

func (GetNetworksVpcOutput) SecondaryCidrBlocks

func (o GetNetworksVpcOutput) SecondaryCidrBlocks() pulumi.StringArrayOutput

A list of secondary IPv4 CIDR blocks of the VPC.

func (GetNetworksVpcOutput) Status

Filter results by a specific status. Valid value are `Pending` and `Available`.

func (GetNetworksVpcOutput) Tags

A mapping of tags to assign to the resource.

func (GetNetworksVpcOutput) ToGetNetworksVpcOutput

func (o GetNetworksVpcOutput) ToGetNetworksVpcOutput() GetNetworksVpcOutput

func (GetNetworksVpcOutput) ToGetNetworksVpcOutputWithContext

func (o GetNetworksVpcOutput) ToGetNetworksVpcOutputWithContext(ctx context.Context) GetNetworksVpcOutput

func (GetNetworksVpcOutput) UserCidrs

A list of user CIDRs.

func (GetNetworksVpcOutput) VpcId

ID of the VPC.

func (GetNetworksVpcOutput) VpcName

The name of the VPC.

func (GetNetworksVpcOutput) VrouterId

ID of the VRouter.

func (GetNetworksVpcOutput) VswitchIds

List of VSwitch IDs in the specified VPC

type GetPbrRouteEntriesArgs

type GetPbrRouteEntriesArgs struct {
	// A list of VPN Pbr Route Entries IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The ID of the VPN gateway.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getPbrRouteEntries.

type GetPbrRouteEntriesEntry

type GetPbrRouteEntriesEntry struct {
	// The creation time of the VPN Pbr Route Entry.
	CreateTime string `pulumi:"createTime"`
	// The id of the vpn pbr route entry. The value formats as `<vpn_gateway_id>:<next_hop>:<route_source>:<route_dest>`.
	Id string `pulumi:"id"`
	// The next hop of the policy-based route.
	NextHop string `pulumi:"nextHop"`
	// The destination CIDR block of the policy-based route.
	RouteDest string `pulumi:"routeDest"`
	// The source CIDR block of the policy-based route.
	RouteSource string `pulumi:"routeSource"`
	// The status of the VPN Pbr Route Entry.
	Status string `pulumi:"status"`
	// The ID of the VPN gateway.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
	// The weight of the policy-based route. Valid values: 0 and 100.
	Weight int `pulumi:"weight"`
}

type GetPbrRouteEntriesEntryArgs

type GetPbrRouteEntriesEntryArgs struct {
	// The creation time of the VPN Pbr Route Entry.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The id of the vpn pbr route entry. The value formats as `<vpn_gateway_id>:<next_hop>:<route_source>:<route_dest>`.
	Id pulumi.StringInput `pulumi:"id"`
	// The next hop of the policy-based route.
	NextHop pulumi.StringInput `pulumi:"nextHop"`
	// The destination CIDR block of the policy-based route.
	RouteDest pulumi.StringInput `pulumi:"routeDest"`
	// The source CIDR block of the policy-based route.
	RouteSource pulumi.StringInput `pulumi:"routeSource"`
	// The status of the VPN Pbr Route Entry.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringInput `pulumi:"vpnGatewayId"`
	// The weight of the policy-based route. Valid values: 0 and 100.
	Weight pulumi.IntInput `pulumi:"weight"`
}

func (GetPbrRouteEntriesEntryArgs) ElementType

func (GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutput

func (i GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutput() GetPbrRouteEntriesEntryOutput

func (GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutputWithContext

func (i GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutputWithContext(ctx context.Context) GetPbrRouteEntriesEntryOutput

type GetPbrRouteEntriesEntryArray

type GetPbrRouteEntriesEntryArray []GetPbrRouteEntriesEntryInput

func (GetPbrRouteEntriesEntryArray) ElementType

func (GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutput

func (i GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutput() GetPbrRouteEntriesEntryArrayOutput

func (GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutputWithContext

func (i GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutputWithContext(ctx context.Context) GetPbrRouteEntriesEntryArrayOutput

type GetPbrRouteEntriesEntryArrayInput

type GetPbrRouteEntriesEntryArrayInput interface {
	pulumi.Input

	ToGetPbrRouteEntriesEntryArrayOutput() GetPbrRouteEntriesEntryArrayOutput
	ToGetPbrRouteEntriesEntryArrayOutputWithContext(context.Context) GetPbrRouteEntriesEntryArrayOutput
}

GetPbrRouteEntriesEntryArrayInput is an input type that accepts GetPbrRouteEntriesEntryArray and GetPbrRouteEntriesEntryArrayOutput values. You can construct a concrete instance of `GetPbrRouteEntriesEntryArrayInput` via:

GetPbrRouteEntriesEntryArray{ GetPbrRouteEntriesEntryArgs{...} }

type GetPbrRouteEntriesEntryArrayOutput

type GetPbrRouteEntriesEntryArrayOutput struct{ *pulumi.OutputState }

func (GetPbrRouteEntriesEntryArrayOutput) ElementType

func (GetPbrRouteEntriesEntryArrayOutput) Index

func (GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutput

func (o GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutput() GetPbrRouteEntriesEntryArrayOutput

func (GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutputWithContext

func (o GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutputWithContext(ctx context.Context) GetPbrRouteEntriesEntryArrayOutput

type GetPbrRouteEntriesEntryInput

type GetPbrRouteEntriesEntryInput interface {
	pulumi.Input

	ToGetPbrRouteEntriesEntryOutput() GetPbrRouteEntriesEntryOutput
	ToGetPbrRouteEntriesEntryOutputWithContext(context.Context) GetPbrRouteEntriesEntryOutput
}

GetPbrRouteEntriesEntryInput is an input type that accepts GetPbrRouteEntriesEntryArgs and GetPbrRouteEntriesEntryOutput values. You can construct a concrete instance of `GetPbrRouteEntriesEntryInput` via:

GetPbrRouteEntriesEntryArgs{...}

type GetPbrRouteEntriesEntryOutput

type GetPbrRouteEntriesEntryOutput struct{ *pulumi.OutputState }

func (GetPbrRouteEntriesEntryOutput) CreateTime

The creation time of the VPN Pbr Route Entry.

func (GetPbrRouteEntriesEntryOutput) ElementType

func (GetPbrRouteEntriesEntryOutput) Id

The id of the vpn pbr route entry. The value formats as `<vpn_gateway_id>:<next_hop>:<route_source>:<route_dest>`.

func (GetPbrRouteEntriesEntryOutput) NextHop

The next hop of the policy-based route.

func (GetPbrRouteEntriesEntryOutput) RouteDest

The destination CIDR block of the policy-based route.

func (GetPbrRouteEntriesEntryOutput) RouteSource

The source CIDR block of the policy-based route.

func (GetPbrRouteEntriesEntryOutput) Status

The status of the VPN Pbr Route Entry.

func (GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutput

func (o GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutput() GetPbrRouteEntriesEntryOutput

func (GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutputWithContext

func (o GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutputWithContext(ctx context.Context) GetPbrRouteEntriesEntryOutput

func (GetPbrRouteEntriesEntryOutput) VpnGatewayId

The ID of the VPN gateway.

func (GetPbrRouteEntriesEntryOutput) Weight

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

type GetPbrRouteEntriesOutputArgs

type GetPbrRouteEntriesOutputArgs struct {
	// A list of VPN Pbr Route Entries IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The ID of the VPN gateway.
	VpnGatewayId pulumi.StringInput `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getPbrRouteEntries.

func (GetPbrRouteEntriesOutputArgs) ElementType

type GetPbrRouteEntriesResult

type GetPbrRouteEntriesResult struct {
	// A list of VPN Pbr Route Entries. Each element contains the following attributes:
	Entries []GetPbrRouteEntriesEntry `pulumi:"entries"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The ID of the vpn gateway.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
}

A collection of values returned by getPbrRouteEntries.

func GetPbrRouteEntries

func GetPbrRouteEntries(ctx *pulumi.Context, args *GetPbrRouteEntriesArgs, opts ...pulumi.InvokeOption) (*GetPbrRouteEntriesResult, error)

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

The data source lists a number of VPN Pbr Route Entries resource information owned by an Alicloud account.

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetPbrRouteEntries(ctx, &vpc.GetPbrRouteEntriesArgs{
			VpnGatewayId: "example_vpn_gateway_id",
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpnIpsecServerId1", ids.Entries[0].Id)
		return nil
	})
}

```

type GetPbrRouteEntriesResultOutput

type GetPbrRouteEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPbrRouteEntries.

func (GetPbrRouteEntriesResultOutput) ElementType

func (GetPbrRouteEntriesResultOutput) Entries

A list of VPN Pbr Route Entries. Each element contains the following attributes:

func (GetPbrRouteEntriesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetPbrRouteEntriesResultOutput) Ids

func (GetPbrRouteEntriesResultOutput) OutputFile

func (GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutput

func (o GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutput() GetPbrRouteEntriesResultOutput

func (GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutputWithContext

func (o GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutputWithContext(ctx context.Context) GetPbrRouteEntriesResultOutput

func (GetPbrRouteEntriesResultOutput) VpnGatewayId

The ID of the vpn gateway.

type GetPrefixListsArgs

type GetPrefixListsArgs struct {
	// Default to `true`. Set it to `false` can hide the `entrys` to output.
	EnableDetails *bool `pulumi:"enableDetails"`
	// A list of Prefix List IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Prefix List name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The name of the prefix list.
	PrefixListName *string `pulumi:"prefixListName"`
}

A collection of arguments for invoking getPrefixLists.

type GetPrefixListsList

type GetPrefixListsList struct {
	// The time when the prefix list was created.
	CreateTime string `pulumi:"createTime"`
	// The CIDR address block list of the prefix list.
	Entrys []GetPrefixListsListEntry `pulumi:"entrys"`
	// The ID of the Prefix List.
	Id string `pulumi:"id"`
	// The IP version of the prefix list.
	IpVersion string `pulumi:"ipVersion"`
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries int `pulumi:"maxEntries"`
	// The description of the prefix list.
	PrefixListDescription string `pulumi:"prefixListDescription"`
	// The ID of the query Prefix List.
	PrefixListId string `pulumi:"prefixListId"`
	// The name of the prefix list.
	PrefixListName string `pulumi:"prefixListName"`
	// The share type of the prefix list.
	ShareType string `pulumi:"shareType"`
}

type GetPrefixListsListArgs

type GetPrefixListsListArgs struct {
	// The time when the prefix list was created.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The CIDR address block list of the prefix list.
	Entrys GetPrefixListsListEntryArrayInput `pulumi:"entrys"`
	// The ID of the Prefix List.
	Id pulumi.StringInput `pulumi:"id"`
	// The IP version of the prefix list.
	IpVersion pulumi.StringInput `pulumi:"ipVersion"`
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries pulumi.IntInput `pulumi:"maxEntries"`
	// The description of the prefix list.
	PrefixListDescription pulumi.StringInput `pulumi:"prefixListDescription"`
	// The ID of the query Prefix List.
	PrefixListId pulumi.StringInput `pulumi:"prefixListId"`
	// The name of the prefix list.
	PrefixListName pulumi.StringInput `pulumi:"prefixListName"`
	// The share type of the prefix list.
	ShareType pulumi.StringInput `pulumi:"shareType"`
}

func (GetPrefixListsListArgs) ElementType

func (GetPrefixListsListArgs) ElementType() reflect.Type

func (GetPrefixListsListArgs) ToGetPrefixListsListOutput

func (i GetPrefixListsListArgs) ToGetPrefixListsListOutput() GetPrefixListsListOutput

func (GetPrefixListsListArgs) ToGetPrefixListsListOutputWithContext

func (i GetPrefixListsListArgs) ToGetPrefixListsListOutputWithContext(ctx context.Context) GetPrefixListsListOutput

type GetPrefixListsListArray

type GetPrefixListsListArray []GetPrefixListsListInput

func (GetPrefixListsListArray) ElementType

func (GetPrefixListsListArray) ElementType() reflect.Type

func (GetPrefixListsListArray) ToGetPrefixListsListArrayOutput

func (i GetPrefixListsListArray) ToGetPrefixListsListArrayOutput() GetPrefixListsListArrayOutput

func (GetPrefixListsListArray) ToGetPrefixListsListArrayOutputWithContext

func (i GetPrefixListsListArray) ToGetPrefixListsListArrayOutputWithContext(ctx context.Context) GetPrefixListsListArrayOutput

type GetPrefixListsListArrayInput

type GetPrefixListsListArrayInput interface {
	pulumi.Input

	ToGetPrefixListsListArrayOutput() GetPrefixListsListArrayOutput
	ToGetPrefixListsListArrayOutputWithContext(context.Context) GetPrefixListsListArrayOutput
}

GetPrefixListsListArrayInput is an input type that accepts GetPrefixListsListArray and GetPrefixListsListArrayOutput values. You can construct a concrete instance of `GetPrefixListsListArrayInput` via:

GetPrefixListsListArray{ GetPrefixListsListArgs{...} }

type GetPrefixListsListArrayOutput

type GetPrefixListsListArrayOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListArrayOutput) ElementType

func (GetPrefixListsListArrayOutput) Index

func (GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutput

func (o GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutput() GetPrefixListsListArrayOutput

func (GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutputWithContext

func (o GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutputWithContext(ctx context.Context) GetPrefixListsListArrayOutput

type GetPrefixListsListEntry

type GetPrefixListsListEntry struct {
	// The CIDR address block of the prefix list.
	Cidr string `pulumi:"cidr"`
	// The description of the cidr entry.
	Description string `pulumi:"description"`
}

type GetPrefixListsListEntryArgs

type GetPrefixListsListEntryArgs struct {
	// The CIDR address block of the prefix list.
	Cidr pulumi.StringInput `pulumi:"cidr"`
	// The description of the cidr entry.
	Description pulumi.StringInput `pulumi:"description"`
}

func (GetPrefixListsListEntryArgs) ElementType

func (GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutput

func (i GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutput() GetPrefixListsListEntryOutput

func (GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutputWithContext

func (i GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutputWithContext(ctx context.Context) GetPrefixListsListEntryOutput

type GetPrefixListsListEntryArray

type GetPrefixListsListEntryArray []GetPrefixListsListEntryInput

func (GetPrefixListsListEntryArray) ElementType

func (GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutput

func (i GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutput() GetPrefixListsListEntryArrayOutput

func (GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutputWithContext

func (i GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutputWithContext(ctx context.Context) GetPrefixListsListEntryArrayOutput

type GetPrefixListsListEntryArrayInput

type GetPrefixListsListEntryArrayInput interface {
	pulumi.Input

	ToGetPrefixListsListEntryArrayOutput() GetPrefixListsListEntryArrayOutput
	ToGetPrefixListsListEntryArrayOutputWithContext(context.Context) GetPrefixListsListEntryArrayOutput
}

GetPrefixListsListEntryArrayInput is an input type that accepts GetPrefixListsListEntryArray and GetPrefixListsListEntryArrayOutput values. You can construct a concrete instance of `GetPrefixListsListEntryArrayInput` via:

GetPrefixListsListEntryArray{ GetPrefixListsListEntryArgs{...} }

type GetPrefixListsListEntryArrayOutput

type GetPrefixListsListEntryArrayOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListEntryArrayOutput) ElementType

func (GetPrefixListsListEntryArrayOutput) Index

func (GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutput

func (o GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutput() GetPrefixListsListEntryArrayOutput

func (GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutputWithContext

func (o GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutputWithContext(ctx context.Context) GetPrefixListsListEntryArrayOutput

type GetPrefixListsListEntryInput

type GetPrefixListsListEntryInput interface {
	pulumi.Input

	ToGetPrefixListsListEntryOutput() GetPrefixListsListEntryOutput
	ToGetPrefixListsListEntryOutputWithContext(context.Context) GetPrefixListsListEntryOutput
}

GetPrefixListsListEntryInput is an input type that accepts GetPrefixListsListEntryArgs and GetPrefixListsListEntryOutput values. You can construct a concrete instance of `GetPrefixListsListEntryInput` via:

GetPrefixListsListEntryArgs{...}

type GetPrefixListsListEntryOutput

type GetPrefixListsListEntryOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListEntryOutput) Cidr

The CIDR address block of the prefix list.

func (GetPrefixListsListEntryOutput) Description

The description of the cidr entry.

func (GetPrefixListsListEntryOutput) ElementType

func (GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutput

func (o GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutput() GetPrefixListsListEntryOutput

func (GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutputWithContext

func (o GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutputWithContext(ctx context.Context) GetPrefixListsListEntryOutput

type GetPrefixListsListInput

type GetPrefixListsListInput interface {
	pulumi.Input

	ToGetPrefixListsListOutput() GetPrefixListsListOutput
	ToGetPrefixListsListOutputWithContext(context.Context) GetPrefixListsListOutput
}

GetPrefixListsListInput is an input type that accepts GetPrefixListsListArgs and GetPrefixListsListOutput values. You can construct a concrete instance of `GetPrefixListsListInput` via:

GetPrefixListsListArgs{...}

type GetPrefixListsListOutput

type GetPrefixListsListOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListOutput) CreateTime

The time when the prefix list was created.

func (GetPrefixListsListOutput) ElementType

func (GetPrefixListsListOutput) ElementType() reflect.Type

func (GetPrefixListsListOutput) Entrys

The CIDR address block list of the prefix list.

func (GetPrefixListsListOutput) Id

The ID of the Prefix List.

func (GetPrefixListsListOutput) IpVersion

The IP version of the prefix list.

func (GetPrefixListsListOutput) MaxEntries

func (o GetPrefixListsListOutput) MaxEntries() pulumi.IntOutput

The maximum number of entries for CIDR address blocks in the prefix list.

func (GetPrefixListsListOutput) PrefixListDescription

func (o GetPrefixListsListOutput) PrefixListDescription() pulumi.StringOutput

The description of the prefix list.

func (GetPrefixListsListOutput) PrefixListId

func (o GetPrefixListsListOutput) PrefixListId() pulumi.StringOutput

The ID of the query Prefix List.

func (GetPrefixListsListOutput) PrefixListName

func (o GetPrefixListsListOutput) PrefixListName() pulumi.StringOutput

The name of the prefix list.

func (GetPrefixListsListOutput) ShareType

The share type of the prefix list.

func (GetPrefixListsListOutput) ToGetPrefixListsListOutput

func (o GetPrefixListsListOutput) ToGetPrefixListsListOutput() GetPrefixListsListOutput

func (GetPrefixListsListOutput) ToGetPrefixListsListOutputWithContext

func (o GetPrefixListsListOutput) ToGetPrefixListsListOutputWithContext(ctx context.Context) GetPrefixListsListOutput

type GetPrefixListsOutputArgs

type GetPrefixListsOutputArgs struct {
	// Default to `true`. Set it to `false` can hide the `entrys` to output.
	EnableDetails pulumi.BoolPtrInput `pulumi:"enableDetails"`
	// A list of Prefix List IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Prefix List name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The name of the prefix list.
	PrefixListName pulumi.StringPtrInput `pulumi:"prefixListName"`
}

A collection of arguments for invoking getPrefixLists.

func (GetPrefixListsOutputArgs) ElementType

func (GetPrefixListsOutputArgs) ElementType() reflect.Type

type GetPrefixListsResult

type GetPrefixListsResult struct {
	EnableDetails *bool `pulumi:"enableDetails"`
	// The provider-assigned unique ID for this managed resource.
	Id             string               `pulumi:"id"`
	Ids            []string             `pulumi:"ids"`
	Lists          []GetPrefixListsList `pulumi:"lists"`
	NameRegex      *string              `pulumi:"nameRegex"`
	Names          []string             `pulumi:"names"`
	OutputFile     *string              `pulumi:"outputFile"`
	PrefixListName *string              `pulumi:"prefixListName"`
}

A collection of values returned by getPrefixLists.

func GetPrefixLists

func GetPrefixLists(ctx *pulumi.Context, args *GetPrefixListsArgs, opts ...pulumi.InvokeOption) (*GetPrefixListsResult, error)

This data source provides the Vpc Prefix Lists of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetPrefixLists(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPrefixListId1", ids.Lists[0].Id)
		nameRegex, err := vpc.GetPrefixLists(ctx, &vpc.GetPrefixListsArgs{
			NameRegex: pulumi.StringRef("^my-PrefixList"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPrefixListId2", nameRegex.Lists[0].Id)
		return nil
	})
}

```

type GetPrefixListsResultOutput

type GetPrefixListsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPrefixLists.

func (GetPrefixListsResultOutput) ElementType

func (GetPrefixListsResultOutput) ElementType() reflect.Type

func (GetPrefixListsResultOutput) EnableDetails

func (GetPrefixListsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetPrefixListsResultOutput) Ids

func (GetPrefixListsResultOutput) Lists

func (GetPrefixListsResultOutput) NameRegex

func (GetPrefixListsResultOutput) Names

func (GetPrefixListsResultOutput) OutputFile

func (GetPrefixListsResultOutput) PrefixListName

func (GetPrefixListsResultOutput) ToGetPrefixListsResultOutput

func (o GetPrefixListsResultOutput) ToGetPrefixListsResultOutput() GetPrefixListsResultOutput

func (GetPrefixListsResultOutput) ToGetPrefixListsResultOutputWithContext

func (o GetPrefixListsResultOutput) ToGetPrefixListsResultOutputWithContext(ctx context.Context) GetPrefixListsResultOutput

type GetRouteEntriesArgs

type GetRouteEntriesArgs struct {
	// The destination CIDR block of the route entry.
	CidrBlock *string `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId *string `pulumi:"instanceId"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId string `pulumi:"routeTableId"`
	// The type of the route entry.
	Type *string `pulumi:"type"`
}

A collection of arguments for invoking getRouteEntries.

type GetRouteEntriesEntry

type GetRouteEntriesEntry struct {
	// The destination CIDR block of the route entry.
	CidrBlock string `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId string `pulumi:"instanceId"`
	// The type of the next hop.
	NextHopType string `pulumi:"nextHopType"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId string `pulumi:"routeTableId"`
	// The status of the route entry.
	Status string `pulumi:"status"`
	// The type of the route entry.
	Type string `pulumi:"type"`
}

type GetRouteEntriesEntryArgs

type GetRouteEntriesEntryArgs struct {
	// The destination CIDR block of the route entry.
	CidrBlock pulumi.StringInput `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The type of the next hop.
	NextHopType pulumi.StringInput `pulumi:"nextHopType"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// The status of the route entry.
	Status pulumi.StringInput `pulumi:"status"`
	// The type of the route entry.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetRouteEntriesEntryArgs) ElementType

func (GetRouteEntriesEntryArgs) ElementType() reflect.Type

func (GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutput

func (i GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutput() GetRouteEntriesEntryOutput

func (GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutputWithContext

func (i GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutputWithContext(ctx context.Context) GetRouteEntriesEntryOutput

type GetRouteEntriesEntryArray

type GetRouteEntriesEntryArray []GetRouteEntriesEntryInput

func (GetRouteEntriesEntryArray) ElementType

func (GetRouteEntriesEntryArray) ElementType() reflect.Type

func (GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutput

func (i GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutput() GetRouteEntriesEntryArrayOutput

func (GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutputWithContext

func (i GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutputWithContext(ctx context.Context) GetRouteEntriesEntryArrayOutput

type GetRouteEntriesEntryArrayInput

type GetRouteEntriesEntryArrayInput interface {
	pulumi.Input

	ToGetRouteEntriesEntryArrayOutput() GetRouteEntriesEntryArrayOutput
	ToGetRouteEntriesEntryArrayOutputWithContext(context.Context) GetRouteEntriesEntryArrayOutput
}

GetRouteEntriesEntryArrayInput is an input type that accepts GetRouteEntriesEntryArray and GetRouteEntriesEntryArrayOutput values. You can construct a concrete instance of `GetRouteEntriesEntryArrayInput` via:

GetRouteEntriesEntryArray{ GetRouteEntriesEntryArgs{...} }

type GetRouteEntriesEntryArrayOutput

type GetRouteEntriesEntryArrayOutput struct{ *pulumi.OutputState }

func (GetRouteEntriesEntryArrayOutput) ElementType

func (GetRouteEntriesEntryArrayOutput) Index

func (GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutput

func (o GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutput() GetRouteEntriesEntryArrayOutput

func (GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutputWithContext

func (o GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutputWithContext(ctx context.Context) GetRouteEntriesEntryArrayOutput

type GetRouteEntriesEntryInput

type GetRouteEntriesEntryInput interface {
	pulumi.Input

	ToGetRouteEntriesEntryOutput() GetRouteEntriesEntryOutput
	ToGetRouteEntriesEntryOutputWithContext(context.Context) GetRouteEntriesEntryOutput
}

GetRouteEntriesEntryInput is an input type that accepts GetRouteEntriesEntryArgs and GetRouteEntriesEntryOutput values. You can construct a concrete instance of `GetRouteEntriesEntryInput` via:

GetRouteEntriesEntryArgs{...}

type GetRouteEntriesEntryOutput

type GetRouteEntriesEntryOutput struct{ *pulumi.OutputState }

func (GetRouteEntriesEntryOutput) CidrBlock

The destination CIDR block of the route entry.

func (GetRouteEntriesEntryOutput) ElementType

func (GetRouteEntriesEntryOutput) ElementType() reflect.Type

func (GetRouteEntriesEntryOutput) InstanceId

The instance ID of the next hop.

func (GetRouteEntriesEntryOutput) NextHopType

The type of the next hop.

func (GetRouteEntriesEntryOutput) RouteTableId

The ID of the router table to which the route entry belongs.

func (GetRouteEntriesEntryOutput) Status

The status of the route entry.

func (GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutput

func (o GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutput() GetRouteEntriesEntryOutput

func (GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutputWithContext

func (o GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutputWithContext(ctx context.Context) GetRouteEntriesEntryOutput

func (GetRouteEntriesEntryOutput) Type

The type of the route entry.

type GetRouteEntriesOutputArgs

type GetRouteEntriesOutputArgs struct {
	// The destination CIDR block of the route entry.
	CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId pulumi.StringPtrInput `pulumi:"instanceId"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// The type of the route entry.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

A collection of arguments for invoking getRouteEntries.

func (GetRouteEntriesOutputArgs) ElementType

func (GetRouteEntriesOutputArgs) ElementType() reflect.Type

type GetRouteEntriesResult

type GetRouteEntriesResult struct {
	// The destination CIDR block of the route entry.
	CidrBlock *string `pulumi:"cidrBlock"`
	// A list of Route Entries. Each element contains the following attributes:
	Entries []GetRouteEntriesEntry `pulumi:"entries"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The instance ID of the next hop.
	InstanceId *string `pulumi:"instanceId"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId string `pulumi:"routeTableId"`
	// The type of the route entry.
	Type *string `pulumi:"type"`
}

A collection of values returned by getRouteEntries.

func GetRouteEntries

func GetRouteEntries(ctx *pulumi.Context, args *GetRouteEntriesArgs, opts ...pulumi.InvokeOption) (*GetRouteEntriesResult, error)

This data source provides a list of Route Entries owned by an Alibaba Cloud account.

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

## Example Usage

```go package main

import (

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

)

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
		}
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(defaultZones.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(1),
			MemorySize:       pulumi.Float64Ref(2),
		}, nil)
		if err != nil {
			return err
		}
		defaultImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			MostRecent: pulumi.BoolRef(true),
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		name := "tf-testAccRouteEntryConfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("10.1.0.0/21"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			CidrBlock:        pulumi.String("10.1.1.0/24"),
			VpcId:            fooNetwork.ID(),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tfTestFoo", &ecs.SecurityGroupArgs{
			Description: pulumi.String("foo"),
			VpcId:       fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		fooInstance, err := ecs.NewInstance(ctx, "fooInstance", &ecs.InstanceArgs{
			AllocatePublicIp:        pulumi.Bool(true),
			ImageId:                 pulumi.String(defaultImages.Images[0].Id),
			InstanceChargeType:      pulumi.String("PostPaid"),
			InstanceName:            pulumi.String(name),
			InstanceType:            pulumi.String(defaultInstanceTypes.InstanceTypes[0].Id),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SecurityGroups: pulumi.StringArray{
				tfTestFoo.ID(),
			},
			SystemDiskCategory: pulumi.String("cloud_efficiency"),
			VswitchId:          fooSwitch.ID(),
		})
		if err != nil {
			return err
		}
		fooRouteEntry, err := vpc.NewRouteEntry(ctx, "fooRouteEntry", &vpc.RouteEntryArgs{
			DestinationCidrblock: pulumi.String("172.11.1.1/32"),
			NexthopId:            fooInstance.ID(),
			NexthopType:          pulumi.String("Instance"),
			RouteTableId:         fooNetwork.RouteTableId,
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "ingress", &ecs.SecurityGroupRuleArgs{
			CidrIp:          pulumi.String("0.0.0.0/0"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: tfTestFoo.ID(),
			Type:            pulumi.String("ingress"),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetRouteEntriesOutput(ctx, vpc.GetRouteEntriesOutputArgs{
			RouteTableId: fooRouteEntry.RouteTableId,
		}, nil)
		return nil
	})
}

```

type GetRouteEntriesResultOutput

type GetRouteEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouteEntries.

func (GetRouteEntriesResultOutput) CidrBlock

The destination CIDR block of the route entry.

func (GetRouteEntriesResultOutput) ElementType

func (GetRouteEntriesResultOutput) Entries

A list of Route Entries. Each element contains the following attributes:

func (GetRouteEntriesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetRouteEntriesResultOutput) InstanceId

The instance ID of the next hop.

func (GetRouteEntriesResultOutput) OutputFile

func (GetRouteEntriesResultOutput) RouteTableId

The ID of the router table to which the route entry belongs.

func (GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutput

func (o GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutput() GetRouteEntriesResultOutput

func (GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutputWithContext

func (o GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutputWithContext(ctx context.Context) GetRouteEntriesResultOutput

func (GetRouteEntriesResultOutput) Type

The type of the route entry.

type GetRouteTablesArgs

type GetRouteTablesArgs struct {
	// A list of Route Tables IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter route tables by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The route table name.
	RouteTableName *string `pulumi:"routeTableName"`
	// The router ID.
	RouterId *string `pulumi:"routerId"`
	// The route type of route table. Valid values: `VRouter` and `VBR`.
	RouterType *string `pulumi:"routerType"`
	// The status of resource. Valid values: `Available` and `Pending`.
	Status *string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// Vpc id of the route table.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getRouteTables.

type GetRouteTablesOutputArgs

type GetRouteTablesOutputArgs struct {
	// A list of Route Tables IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter route tables by name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The route table name.
	RouteTableName pulumi.StringPtrInput `pulumi:"routeTableName"`
	// The router ID.
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// The route type of route table. Valid values: `VRouter` and `VBR`.
	RouterType pulumi.StringPtrInput `pulumi:"routerType"`
	// The status of resource. Valid values: `Available` and `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// Vpc id of the route table.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getRouteTables.

func (GetRouteTablesOutputArgs) ElementType

func (GetRouteTablesOutputArgs) ElementType() reflect.Type

type GetRouteTablesResult

type GetRouteTablesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Optional) A list of Route Tables IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of Route Tables names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	PageNumber *int     `pulumi:"pageNumber"`
	PageSize   *int     `pulumi:"pageSize"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The route table name.
	RouteTableName *string `pulumi:"routeTableName"`
	// Router Id of the route table.
	RouterId *string `pulumi:"routerId"`
	// The route type.
	RouterType *string `pulumi:"routerType"`
	// The status of route table.
	Status *string `pulumi:"status"`
	// A list of Route Tables. Each element contains the following attributes:
	Tables     []GetRouteTablesTable  `pulumi:"tables"`
	Tags       map[string]interface{} `pulumi:"tags"`
	TotalCount int                    `pulumi:"totalCount"`
	// The VPC ID.
	VpcId *string `pulumi:"vpcId"`
}

A collection of values returned by getRouteTables.

func GetRouteTables

func GetRouteTables(ctx *pulumi.Context, args *GetRouteTablesArgs, opts ...pulumi.InvokeOption) (*GetRouteTablesResult, error)

This data source provides a list of Route Tables owned by an Alibaba Cloud account.

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

type GetRouteTablesResultOutput

type GetRouteTablesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouteTables.

func (GetRouteTablesResultOutput) ElementType

func (GetRouteTablesResultOutput) ElementType() reflect.Type

func (GetRouteTablesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetRouteTablesResultOutput) Ids

(Optional) A list of Route Tables IDs.

func (GetRouteTablesResultOutput) NameRegex

func (GetRouteTablesResultOutput) Names

A list of Route Tables names.

func (GetRouteTablesResultOutput) OutputFile

func (GetRouteTablesResultOutput) PageNumber

func (GetRouteTablesResultOutput) PageSize

func (GetRouteTablesResultOutput) ResourceGroupId

The Id of resource group which route tables belongs.

func (GetRouteTablesResultOutput) RouteTableName

The route table name.

func (GetRouteTablesResultOutput) RouterId

Router Id of the route table.

func (GetRouteTablesResultOutput) RouterType

The route type.

func (GetRouteTablesResultOutput) Status

The status of route table.

func (GetRouteTablesResultOutput) Tables

A list of Route Tables. Each element contains the following attributes:

func (GetRouteTablesResultOutput) Tags

func (GetRouteTablesResultOutput) ToGetRouteTablesResultOutput

func (o GetRouteTablesResultOutput) ToGetRouteTablesResultOutput() GetRouteTablesResultOutput

func (GetRouteTablesResultOutput) ToGetRouteTablesResultOutputWithContext

func (o GetRouteTablesResultOutput) ToGetRouteTablesResultOutputWithContext(ctx context.Context) GetRouteTablesResultOutput

func (GetRouteTablesResultOutput) TotalCount

func (GetRouteTablesResultOutput) VpcId

The VPC ID.

type GetRouteTablesTable

type GetRouteTablesTable struct {
	// The description of the route table instance.
	Description string `pulumi:"description"`
	// ID of the Route Table.
	Id string `pulumi:"id"`
	// Name of the route table.
	Name string `pulumi:"name"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The route table id.
	RouteTableId string `pulumi:"routeTableId"`
	// The route table name.
	RouteTableName string `pulumi:"routeTableName"`
	// The type of route table.
	RouteTableType string `pulumi:"routeTableType"`
	// The router ID.
	RouterId string `pulumi:"routerId"`
	// The route type of route table. Valid values: `VRouter` and `VBR`.
	RouterType string `pulumi:"routerType"`
	// The status of resource. Valid values: `Available` and `Pending`.
	Status string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// Vpc id of the route table.
	VpcId string `pulumi:"vpcId"`
	// A list of vswitch id.
	VswitchIds []string `pulumi:"vswitchIds"`
}

type GetRouteTablesTableArgs

type GetRouteTablesTableArgs struct {
	// The description of the route table instance.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the Route Table.
	Id pulumi.StringInput `pulumi:"id"`
	// Name of the route table.
	Name pulumi.StringInput `pulumi:"name"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The route table id.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// The route table name.
	RouteTableName pulumi.StringInput `pulumi:"routeTableName"`
	// The type of route table.
	RouteTableType pulumi.StringInput `pulumi:"routeTableType"`
	// The router ID.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// The route type of route table. Valid values: `VRouter` and `VBR`.
	RouterType pulumi.StringInput `pulumi:"routerType"`
	// The status of resource. Valid values: `Available` and `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// Vpc id of the route table.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// A list of vswitch id.
	VswitchIds pulumi.StringArrayInput `pulumi:"vswitchIds"`
}

func (GetRouteTablesTableArgs) ElementType

func (GetRouteTablesTableArgs) ElementType() reflect.Type

func (GetRouteTablesTableArgs) ToGetRouteTablesTableOutput

func (i GetRouteTablesTableArgs) ToGetRouteTablesTableOutput() GetRouteTablesTableOutput

func (GetRouteTablesTableArgs) ToGetRouteTablesTableOutputWithContext

func (i GetRouteTablesTableArgs) ToGetRouteTablesTableOutputWithContext(ctx context.Context) GetRouteTablesTableOutput

type GetRouteTablesTableArray

type GetRouteTablesTableArray []GetRouteTablesTableInput

func (GetRouteTablesTableArray) ElementType

func (GetRouteTablesTableArray) ElementType() reflect.Type

func (GetRouteTablesTableArray) ToGetRouteTablesTableArrayOutput

func (i GetRouteTablesTableArray) ToGetRouteTablesTableArrayOutput() GetRouteTablesTableArrayOutput

func (GetRouteTablesTableArray) ToGetRouteTablesTableArrayOutputWithContext

func (i GetRouteTablesTableArray) ToGetRouteTablesTableArrayOutputWithContext(ctx context.Context) GetRouteTablesTableArrayOutput

type GetRouteTablesTableArrayInput

type GetRouteTablesTableArrayInput interface {
	pulumi.Input

	ToGetRouteTablesTableArrayOutput() GetRouteTablesTableArrayOutput
	ToGetRouteTablesTableArrayOutputWithContext(context.Context) GetRouteTablesTableArrayOutput
}

GetRouteTablesTableArrayInput is an input type that accepts GetRouteTablesTableArray and GetRouteTablesTableArrayOutput values. You can construct a concrete instance of `GetRouteTablesTableArrayInput` via:

GetRouteTablesTableArray{ GetRouteTablesTableArgs{...} }

type GetRouteTablesTableArrayOutput

type GetRouteTablesTableArrayOutput struct{ *pulumi.OutputState }

func (GetRouteTablesTableArrayOutput) ElementType

func (GetRouteTablesTableArrayOutput) Index

func (GetRouteTablesTableArrayOutput) ToGetRouteTablesTableArrayOutput

func (o GetRouteTablesTableArrayOutput) ToGetRouteTablesTableArrayOutput() GetRouteTablesTableArrayOutput

func (GetRouteTablesTableArrayOutput) ToGetRouteTablesTableArrayOutputWithContext

func (o GetRouteTablesTableArrayOutput) ToGetRouteTablesTableArrayOutputWithContext(ctx context.Context) GetRouteTablesTableArrayOutput

type GetRouteTablesTableInput

type GetRouteTablesTableInput interface {
	pulumi.Input

	ToGetRouteTablesTableOutput() GetRouteTablesTableOutput
	ToGetRouteTablesTableOutputWithContext(context.Context) GetRouteTablesTableOutput
}

GetRouteTablesTableInput is an input type that accepts GetRouteTablesTableArgs and GetRouteTablesTableOutput values. You can construct a concrete instance of `GetRouteTablesTableInput` via:

GetRouteTablesTableArgs{...}

type GetRouteTablesTableOutput

type GetRouteTablesTableOutput struct{ *pulumi.OutputState }

func (GetRouteTablesTableOutput) Description

The description of the route table instance.

func (GetRouteTablesTableOutput) ElementType

func (GetRouteTablesTableOutput) ElementType() reflect.Type

func (GetRouteTablesTableOutput) Id

ID of the Route Table.

func (GetRouteTablesTableOutput) Name

Name of the route table.

func (GetRouteTablesTableOutput) ResourceGroupId

func (o GetRouteTablesTableOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which route tables belongs.

func (GetRouteTablesTableOutput) RouteTableId

The route table id.

func (GetRouteTablesTableOutput) RouteTableName

func (o GetRouteTablesTableOutput) RouteTableName() pulumi.StringOutput

The route table name.

func (GetRouteTablesTableOutput) RouteTableType

func (o GetRouteTablesTableOutput) RouteTableType() pulumi.StringOutput

The type of route table.

func (GetRouteTablesTableOutput) RouterId

The router ID.

func (GetRouteTablesTableOutput) RouterType

The route type of route table. Valid values: `VRouter` and `VBR`.

func (GetRouteTablesTableOutput) Status

The status of resource. Valid values: `Available` and `Pending`.

func (GetRouteTablesTableOutput) Tags

A mapping of tags to assign to the resource.

func (GetRouteTablesTableOutput) ToGetRouteTablesTableOutput

func (o GetRouteTablesTableOutput) ToGetRouteTablesTableOutput() GetRouteTablesTableOutput

func (GetRouteTablesTableOutput) ToGetRouteTablesTableOutputWithContext

func (o GetRouteTablesTableOutput) ToGetRouteTablesTableOutputWithContext(ctx context.Context) GetRouteTablesTableOutput

func (GetRouteTablesTableOutput) VpcId

Vpc id of the route table.

func (GetRouteTablesTableOutput) VswitchIds

A list of vswitch id.

type GetRouterInterfacesArgs

type GetRouterInterfacesArgs struct {
	// A list of router interface IDs.
	Ids []string `pulumi:"ids"`
	// A regex string used to filter by router interface name.
	NameRegex *string `pulumi:"nameRegex"`
	// ID of the peer router interface.
	OppositeInterfaceId *string `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId *string `pulumi:"oppositeInterfaceOwnerId"`
	OutputFile               *string `pulumi:"outputFile"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role *string `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId *string `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType *string `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification *string `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getRouterInterfaces.

type GetRouterInterfacesInterface

type GetRouterInterfacesInterface struct {
	// ID of the access point used by the VBR.
	AccessPointId string `pulumi:"accessPointId"`
	// Router interface creation time.
	CreationTime string `pulumi:"creationTime"`
	// Router interface description.
	Description string `pulumi:"description"`
	// Source IP address used to perform health check on the physical connection.
	HealthCheckSourceIp string `pulumi:"healthCheckSourceIp"`
	// Destination IP address used to perform health check on the physical connection.
	HealthCheckTargetIp string `pulumi:"healthCheckTargetIp"`
	// Router interface ID.
	Id string `pulumi:"id"`
	// Router interface name.
	Name string `pulumi:"name"`
	// ID of the peer router interface.
	OppositeInterfaceId string `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId string `pulumi:"oppositeInterfaceOwnerId"`
	// Peer router region ID.
	OppositeRegionId string `pulumi:"oppositeRegionId"`
	// Peer router ID.
	OppositeRouterId string `pulumi:"oppositeRouterId"`
	// Router type in the peer region. Possible values: `VRouter` and `VBR`.
	OppositeRouterType string `pulumi:"oppositeRouterType"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role string `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId string `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType string `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification string `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status string `pulumi:"status"`
	// ID of the VPC that owns the router in the local region.
	VpcId string `pulumi:"vpcId"`
}

type GetRouterInterfacesInterfaceArgs

type GetRouterInterfacesInterfaceArgs struct {
	// ID of the access point used by the VBR.
	AccessPointId pulumi.StringInput `pulumi:"accessPointId"`
	// Router interface creation time.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Router interface description.
	Description pulumi.StringInput `pulumi:"description"`
	// Source IP address used to perform health check on the physical connection.
	HealthCheckSourceIp pulumi.StringInput `pulumi:"healthCheckSourceIp"`
	// Destination IP address used to perform health check on the physical connection.
	HealthCheckTargetIp pulumi.StringInput `pulumi:"healthCheckTargetIp"`
	// Router interface ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Router interface name.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of the peer router interface.
	OppositeInterfaceId pulumi.StringInput `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId pulumi.StringInput `pulumi:"oppositeInterfaceOwnerId"`
	// Peer router region ID.
	OppositeRegionId pulumi.StringInput `pulumi:"oppositeRegionId"`
	// Peer router ID.
	OppositeRouterId pulumi.StringInput `pulumi:"oppositeRouterId"`
	// Router type in the peer region. Possible values: `VRouter` and `VBR`.
	OppositeRouterType pulumi.StringInput `pulumi:"oppositeRouterType"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role pulumi.StringInput `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType pulumi.StringInput `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification pulumi.StringInput `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status pulumi.StringInput `pulumi:"status"`
	// ID of the VPC that owns the router in the local region.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetRouterInterfacesInterfaceArgs) ElementType

func (GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutput

func (i GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutput() GetRouterInterfacesInterfaceOutput

func (GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutputWithContext

func (i GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceOutput

type GetRouterInterfacesInterfaceArray

type GetRouterInterfacesInterfaceArray []GetRouterInterfacesInterfaceInput

func (GetRouterInterfacesInterfaceArray) ElementType

func (GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutput

func (i GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutput() GetRouterInterfacesInterfaceArrayOutput

func (GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutputWithContext

func (i GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceArrayOutput

type GetRouterInterfacesInterfaceArrayInput

type GetRouterInterfacesInterfaceArrayInput interface {
	pulumi.Input

	ToGetRouterInterfacesInterfaceArrayOutput() GetRouterInterfacesInterfaceArrayOutput
	ToGetRouterInterfacesInterfaceArrayOutputWithContext(context.Context) GetRouterInterfacesInterfaceArrayOutput
}

GetRouterInterfacesInterfaceArrayInput is an input type that accepts GetRouterInterfacesInterfaceArray and GetRouterInterfacesInterfaceArrayOutput values. You can construct a concrete instance of `GetRouterInterfacesInterfaceArrayInput` via:

GetRouterInterfacesInterfaceArray{ GetRouterInterfacesInterfaceArgs{...} }

type GetRouterInterfacesInterfaceArrayOutput

type GetRouterInterfacesInterfaceArrayOutput struct{ *pulumi.OutputState }

func (GetRouterInterfacesInterfaceArrayOutput) ElementType

func (GetRouterInterfacesInterfaceArrayOutput) Index

func (GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutput

func (o GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutput() GetRouterInterfacesInterfaceArrayOutput

func (GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutputWithContext

func (o GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceArrayOutput

type GetRouterInterfacesInterfaceInput

type GetRouterInterfacesInterfaceInput interface {
	pulumi.Input

	ToGetRouterInterfacesInterfaceOutput() GetRouterInterfacesInterfaceOutput
	ToGetRouterInterfacesInterfaceOutputWithContext(context.Context) GetRouterInterfacesInterfaceOutput
}

GetRouterInterfacesInterfaceInput is an input type that accepts GetRouterInterfacesInterfaceArgs and GetRouterInterfacesInterfaceOutput values. You can construct a concrete instance of `GetRouterInterfacesInterfaceInput` via:

GetRouterInterfacesInterfaceArgs{...}

type GetRouterInterfacesInterfaceOutput

type GetRouterInterfacesInterfaceOutput struct{ *pulumi.OutputState }

func (GetRouterInterfacesInterfaceOutput) AccessPointId

ID of the access point used by the VBR.

func (GetRouterInterfacesInterfaceOutput) CreationTime

Router interface creation time.

func (GetRouterInterfacesInterfaceOutput) Description

Router interface description.

func (GetRouterInterfacesInterfaceOutput) ElementType

func (GetRouterInterfacesInterfaceOutput) HealthCheckSourceIp

func (o GetRouterInterfacesInterfaceOutput) HealthCheckSourceIp() pulumi.StringOutput

Source IP address used to perform health check on the physical connection.

func (GetRouterInterfacesInterfaceOutput) HealthCheckTargetIp

func (o GetRouterInterfacesInterfaceOutput) HealthCheckTargetIp() pulumi.StringOutput

Destination IP address used to perform health check on the physical connection.

func (GetRouterInterfacesInterfaceOutput) Id

Router interface ID.

func (GetRouterInterfacesInterfaceOutput) Name

Router interface name.

func (GetRouterInterfacesInterfaceOutput) OppositeInterfaceId

func (o GetRouterInterfacesInterfaceOutput) OppositeInterfaceId() pulumi.StringOutput

ID of the peer router interface.

func (GetRouterInterfacesInterfaceOutput) OppositeInterfaceOwnerId

func (o GetRouterInterfacesInterfaceOutput) OppositeInterfaceOwnerId() pulumi.StringOutput

Account ID of the owner of the peer router interface.

func (GetRouterInterfacesInterfaceOutput) OppositeRegionId

Peer router region ID.

func (GetRouterInterfacesInterfaceOutput) OppositeRouterId

Peer router ID.

func (GetRouterInterfacesInterfaceOutput) OppositeRouterType

Router type in the peer region. Possible values: `VRouter` and `VBR`.

func (GetRouterInterfacesInterfaceOutput) Role

Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.

func (GetRouterInterfacesInterfaceOutput) RouterId

ID of the VRouter located in the local region.

func (GetRouterInterfacesInterfaceOutput) RouterType

Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).

func (GetRouterInterfacesInterfaceOutput) Specification

Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.

func (GetRouterInterfacesInterfaceOutput) Status

Expected status. Valid values are `Active`, `Inactive` and `Idle`.

func (GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutput

func (o GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutput() GetRouterInterfacesInterfaceOutput

func (GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutputWithContext

func (o GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceOutput

func (GetRouterInterfacesInterfaceOutput) VpcId

ID of the VPC that owns the router in the local region.

type GetRouterInterfacesOutputArgs

type GetRouterInterfacesOutputArgs struct {
	// A list of router interface IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string used to filter by router interface name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// ID of the peer router interface.
	OppositeInterfaceId pulumi.StringPtrInput `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId pulumi.StringPtrInput `pulumi:"oppositeInterfaceOwnerId"`
	OutputFile               pulumi.StringPtrInput `pulumi:"outputFile"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role pulumi.StringPtrInput `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType pulumi.StringPtrInput `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification pulumi.StringPtrInput `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getRouterInterfaces.

func (GetRouterInterfacesOutputArgs) ElementType

type GetRouterInterfacesResult

type GetRouterInterfacesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of router interface IDs.
	Ids []string `pulumi:"ids"`
	// A list of router interfaces. Each element contains the following attributes:
	Interfaces []GetRouterInterfacesInterface `pulumi:"interfaces"`
	NameRegex  *string                        `pulumi:"nameRegex"`
	// A list of router interface names.
	Names []string `pulumi:"names"`
	// Peer router interface ID.
	OppositeInterfaceId *string `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId *string `pulumi:"oppositeInterfaceOwnerId"`
	OutputFile               *string `pulumi:"outputFile"`
	// Router interface role. Possible values: `InitiatingSide` and `AcceptingSide`.
	Role *string `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId *string `pulumi:"routerId"`
	// Router type in the local region. Possible values: `VRouter` and `VBR`.
	RouterType *string `pulumi:"routerType"`
	// Router interface specification. Possible values: `Small.1`, `Middle.1`, `Large.2`, ...etc.
	Specification *string `pulumi:"specification"`
	// Router interface status. Possible values: `Active`, `Inactive` and `Idle`.
	Status *string `pulumi:"status"`
}

A collection of values returned by getRouterInterfaces.

func GetRouterInterfaces

func GetRouterInterfaces(ctx *pulumi.Context, args *GetRouterInterfacesArgs, opts ...pulumi.InvokeOption) (*GetRouterInterfacesResult, error)

This data source provides information about [router interfaces](https://www.alibabacloud.com/help/doc-detail/52412.htm) that connect VPCs together.

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		routerInterfacesDs, err := vpc.GetRouterInterfaces(ctx, &vpc.GetRouterInterfacesArgs{
			NameRegex: pulumi.StringRef("^testenv"),
			Status:    pulumi.StringRef("Active"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstRouterInterfaceId", routerInterfacesDs.Interfaces[0].Id)
		return nil
	})
}

```

type GetRouterInterfacesResultOutput

type GetRouterInterfacesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouterInterfaces.

func (GetRouterInterfacesResultOutput) ElementType

func (GetRouterInterfacesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetRouterInterfacesResultOutput) Ids

A list of router interface IDs.

func (GetRouterInterfacesResultOutput) Interfaces

A list of router interfaces. Each element contains the following attributes:

func (GetRouterInterfacesResultOutput) NameRegex

func (GetRouterInterfacesResultOutput) Names

A list of router interface names.

func (GetRouterInterfacesResultOutput) OppositeInterfaceId

func (o GetRouterInterfacesResultOutput) OppositeInterfaceId() pulumi.StringPtrOutput

Peer router interface ID.

func (GetRouterInterfacesResultOutput) OppositeInterfaceOwnerId

func (o GetRouterInterfacesResultOutput) OppositeInterfaceOwnerId() pulumi.StringPtrOutput

Account ID of the owner of the peer router interface.

func (GetRouterInterfacesResultOutput) OutputFile

func (GetRouterInterfacesResultOutput) Role

Router interface role. Possible values: `InitiatingSide` and `AcceptingSide`.

func (GetRouterInterfacesResultOutput) RouterId

ID of the VRouter located in the local region.

func (GetRouterInterfacesResultOutput) RouterType

Router type in the local region. Possible values: `VRouter` and `VBR`.

func (GetRouterInterfacesResultOutput) Specification

Router interface specification. Possible values: `Small.1`, `Middle.1`, `Large.2`, ...etc.

func (GetRouterInterfacesResultOutput) Status

Router interface status. Possible values: `Active`, `Inactive` and `Idle`.

func (GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutput

func (o GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutput() GetRouterInterfacesResultOutput

func (GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutputWithContext

func (o GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutputWithContext(ctx context.Context) GetRouterInterfacesResultOutput

type GetSnatEntriesArgs

type GetSnatEntriesArgs struct {
	// A list of Snat Entries IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by the resource name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The name of snat entry.
	SnatEntryName *string `pulumi:"snatEntryName"`
	// The public IP of the Snat Entry.
	SnatIp *string `pulumi:"snatIp"`
	// The ID of the Snat table.
	SnatTableId string `pulumi:"snatTableId"`
	// The source CIDR block of the Snat Entry.
	SourceCidr *string `pulumi:"sourceCidr"`
	// The source vswitch ID.
	SourceVswitchId *string `pulumi:"sourceVswitchId"`
	// The status of the Snat Entry. Valid values: `Available`, `Deleting` and `Pending`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getSnatEntries.

type GetSnatEntriesEntry

type GetSnatEntriesEntry struct {
	// The ID of the Snat Entry.
	Id string `pulumi:"id"`
	// The ID of snat entry.
	SnatEntryId string `pulumi:"snatEntryId"`
	// The name of snat entry.
	SnatEntryName string `pulumi:"snatEntryName"`
	// The public IP of the Snat Entry.
	SnatIp string `pulumi:"snatIp"`
	// The source CIDR block of the Snat Entry.
	SourceCidr string `pulumi:"sourceCidr"`
	// The source vswitch ID.
	SourceVswitchId string `pulumi:"sourceVswitchId"`
	// The status of the Snat Entry. Valid values: `Available`, `Deleting` and `Pending`.
	Status string `pulumi:"status"`
}

type GetSnatEntriesEntryArgs

type GetSnatEntriesEntryArgs struct {
	// The ID of the Snat Entry.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of snat entry.
	SnatEntryId pulumi.StringInput `pulumi:"snatEntryId"`
	// The name of snat entry.
	SnatEntryName pulumi.StringInput `pulumi:"snatEntryName"`
	// The public IP of the Snat Entry.
	SnatIp pulumi.StringInput `pulumi:"snatIp"`
	// The source CIDR block of the Snat Entry.
	SourceCidr pulumi.StringInput `pulumi:"sourceCidr"`
	// The source vswitch ID.
	SourceVswitchId pulumi.StringInput `pulumi:"sourceVswitchId"`
	// The status of the Snat Entry. Valid values: `Available`, `Deleting` and `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetSnatEntriesEntryArgs) ElementType

func (GetSnatEntriesEntryArgs) ElementType() reflect.Type

func (GetSnatEntriesEntryArgs) ToGetSnatEntriesEntryOutput

func (i GetSnatEntriesEntryArgs) ToGetSnatEntriesEntryOutput() GetSnatEntriesEntryOutput

func (GetSnatEntriesEntryArgs) ToGetSnatEntriesEntryOutputWithContext

func (i GetSnatEntriesEntryArgs) ToGetSnatEntriesEntryOutputWithContext(ctx context.Context) GetSnatEntriesEntryOutput

type GetSnatEntriesEntryArray

type GetSnatEntriesEntryArray []GetSnatEntriesEntryInput

func (GetSnatEntriesEntryArray) ElementType

func (GetSnatEntriesEntryArray) ElementType() reflect.Type

func (GetSnatEntriesEntryArray) ToGetSnatEntriesEntryArrayOutput

func (i GetSnatEntriesEntryArray) ToGetSnatEntriesEntryArrayOutput() GetSnatEntriesEntryArrayOutput

func (GetSnatEntriesEntryArray) ToGetSnatEntriesEntryArrayOutputWithContext

func (i GetSnatEntriesEntryArray) ToGetSnatEntriesEntryArrayOutputWithContext(ctx context.Context) GetSnatEntriesEntryArrayOutput

type GetSnatEntriesEntryArrayInput

type GetSnatEntriesEntryArrayInput interface {
	pulumi.Input

	ToGetSnatEntriesEntryArrayOutput() GetSnatEntriesEntryArrayOutput
	ToGetSnatEntriesEntryArrayOutputWithContext(context.Context) GetSnatEntriesEntryArrayOutput
}

GetSnatEntriesEntryArrayInput is an input type that accepts GetSnatEntriesEntryArray and GetSnatEntriesEntryArrayOutput values. You can construct a concrete instance of `GetSnatEntriesEntryArrayInput` via:

GetSnatEntriesEntryArray{ GetSnatEntriesEntryArgs{...} }

type GetSnatEntriesEntryArrayOutput

type GetSnatEntriesEntryArrayOutput struct{ *pulumi.OutputState }

func (GetSnatEntriesEntryArrayOutput) ElementType

func (GetSnatEntriesEntryArrayOutput) Index

func (GetSnatEntriesEntryArrayOutput) ToGetSnatEntriesEntryArrayOutput

func (o GetSnatEntriesEntryArrayOutput) ToGetSnatEntriesEntryArrayOutput() GetSnatEntriesEntryArrayOutput

func (GetSnatEntriesEntryArrayOutput) ToGetSnatEntriesEntryArrayOutputWithContext

func (o GetSnatEntriesEntryArrayOutput) ToGetSnatEntriesEntryArrayOutputWithContext(ctx context.Context) GetSnatEntriesEntryArrayOutput

type GetSnatEntriesEntryInput

type GetSnatEntriesEntryInput interface {
	pulumi.Input

	ToGetSnatEntriesEntryOutput() GetSnatEntriesEntryOutput
	ToGetSnatEntriesEntryOutputWithContext(context.Context) GetSnatEntriesEntryOutput
}

GetSnatEntriesEntryInput is an input type that accepts GetSnatEntriesEntryArgs and GetSnatEntriesEntryOutput values. You can construct a concrete instance of `GetSnatEntriesEntryInput` via:

GetSnatEntriesEntryArgs{...}

type GetSnatEntriesEntryOutput

type GetSnatEntriesEntryOutput struct{ *pulumi.OutputState }

func (GetSnatEntriesEntryOutput) ElementType

func (GetSnatEntriesEntryOutput) ElementType() reflect.Type

func (GetSnatEntriesEntryOutput) Id

The ID of the Snat Entry.

func (GetSnatEntriesEntryOutput) SnatEntryId

The ID of snat entry.

func (GetSnatEntriesEntryOutput) SnatEntryName

func (o GetSnatEntriesEntryOutput) SnatEntryName() pulumi.StringOutput

The name of snat entry.

func (GetSnatEntriesEntryOutput) SnatIp

The public IP of the Snat Entry.

func (GetSnatEntriesEntryOutput) SourceCidr

The source CIDR block of the Snat Entry.

func (GetSnatEntriesEntryOutput) SourceVswitchId

func (o GetSnatEntriesEntryOutput) SourceVswitchId() pulumi.StringOutput

The source vswitch ID.

func (GetSnatEntriesEntryOutput) Status

The status of the Snat Entry. Valid values: `Available`, `Deleting` and `Pending`.

func (GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutput

func (o GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutput() GetSnatEntriesEntryOutput

func (GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutputWithContext

func (o GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutputWithContext(ctx context.Context) GetSnatEntriesEntryOutput

type GetSnatEntriesOutputArgs

type GetSnatEntriesOutputArgs struct {
	// A list of Snat Entries IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by the resource name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The name of snat entry.
	SnatEntryName pulumi.StringPtrInput `pulumi:"snatEntryName"`
	// The public IP of the Snat Entry.
	SnatIp pulumi.StringPtrInput `pulumi:"snatIp"`
	// The ID of the Snat table.
	SnatTableId pulumi.StringInput `pulumi:"snatTableId"`
	// The source CIDR block of the Snat Entry.
	SourceCidr pulumi.StringPtrInput `pulumi:"sourceCidr"`
	// The source vswitch ID.
	SourceVswitchId pulumi.StringPtrInput `pulumi:"sourceVswitchId"`
	// The status of the Snat Entry. Valid values: `Available`, `Deleting` and `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getSnatEntries.

func (GetSnatEntriesOutputArgs) ElementType

func (GetSnatEntriesOutputArgs) ElementType() reflect.Type

type GetSnatEntriesResult

type GetSnatEntriesResult struct {
	// A list of Snat Entries. Each element contains the following attributes:
	Entries []GetSnatEntriesEntry `pulumi:"entries"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Optional) A list of Snat Entries IDs.
	Ids        []string `pulumi:"ids"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The name of snat entry.
	SnatEntryName *string `pulumi:"snatEntryName"`
	// The public IP of the Snat Entry.
	SnatIp      *string `pulumi:"snatIp"`
	SnatTableId string  `pulumi:"snatTableId"`
	// The source CIDR block of the Snat Entry.
	SourceCidr *string `pulumi:"sourceCidr"`
	// The source vswitch ID.
	SourceVswitchId *string `pulumi:"sourceVswitchId"`
	// The status of the Snat Entry.
	Status *string `pulumi:"status"`
}

A collection of values returned by getSnatEntries.

func GetSnatEntries

func GetSnatEntries(ctx *pulumi.Context, args *GetSnatEntriesArgs, opts ...pulumi.InvokeOption) (*GetSnatEntriesResult, error)

This data source provides a list of Snat Entries owned by an Alibaba Cloud account.

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

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "snat-entry-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			VpcId:            fooNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			AvailabilityZone: pulumi.String(_default.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		fooNatGateway, err := vpc.NewNatGateway(ctx, "fooNatGateway", &vpc.NatGatewayArgs{
			VpcId:         fooNetwork.ID(),
			Specification: pulumi.String("Small"),
		})
		if err != nil {
			return err
		}
		fooEipAddress, err := ecs.NewEipAddress(ctx, "fooEipAddress", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "fooEipAssociation", &ecs.EipAssociationArgs{
			AllocationId: fooEipAddress.ID(),
			InstanceId:   fooNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		fooSnatEntry, err := vpc.NewSnatEntry(ctx, "fooSnatEntry", &vpc.SnatEntryArgs{
			SnatTableId:     fooNatGateway.SnatTableIds,
			SourceVswitchId: fooSwitch.ID(),
			SnatIp:          fooEipAddress.IpAddress,
		})
		if err != nil {
			return err
		}
		_ = vpc.GetSnatEntriesOutput(ctx, vpc.GetSnatEntriesOutputArgs{
			SnatTableId: fooSnatEntry.SnatTableId,
		}, nil)
		return nil
	})
}

```

type GetSnatEntriesResultOutput

type GetSnatEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnatEntries.

func (GetSnatEntriesResultOutput) ElementType

func (GetSnatEntriesResultOutput) ElementType() reflect.Type

func (GetSnatEntriesResultOutput) Entries

A list of Snat Entries. Each element contains the following attributes:

func (GetSnatEntriesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSnatEntriesResultOutput) Ids

(Optional) A list of Snat Entries IDs.

func (GetSnatEntriesResultOutput) NameRegex

func (GetSnatEntriesResultOutput) Names

func (GetSnatEntriesResultOutput) OutputFile

func (GetSnatEntriesResultOutput) SnatEntryName

The name of snat entry.

func (GetSnatEntriesResultOutput) SnatIp

The public IP of the Snat Entry.

func (GetSnatEntriesResultOutput) SnatTableId

func (GetSnatEntriesResultOutput) SourceCidr

The source CIDR block of the Snat Entry.

func (GetSnatEntriesResultOutput) SourceVswitchId

The source vswitch ID.

func (GetSnatEntriesResultOutput) Status

The status of the Snat Entry.

func (GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutput

func (o GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutput() GetSnatEntriesResultOutput

func (GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutputWithContext

func (o GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutputWithContext(ctx context.Context) GetSnatEntriesResultOutput

type GetSslVpnClientCertsArgs

type GetSslVpnClientCertsArgs struct {
	// IDs of the SSL-VPN client certificates.
	Ids []string `pulumi:"ids"`
	// A regex string of SSL-VPN client certificate name.
	NameRegex *string `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile *string `pulumi:"outputFile"`
	// Use the SSL-VPN server ID as the search key.
	SslVpnServerId *string `pulumi:"sslVpnServerId"`
}

A collection of arguments for invoking getSslVpnClientCerts.

type GetSslVpnClientCertsCert

type GetSslVpnClientCertsCert struct {
	// The time of creation.
	CreateTime string `pulumi:"createTime"`
	// The expiration time of the client certificate.
	EndTime int `pulumi:"endTime"`
	// ID of the SSL-VPN client certificate.
	Id string `pulumi:"id"`
	// The name of the SSL-VPN client certificate.
	Name string `pulumi:"name"`
	// Use the SSL-VPN server ID as the search key.
	SslVpnServerId string `pulumi:"sslVpnServerId"`
	// The status of the client certificate. valid value:expiring-soon, normal, expired.
	Status string `pulumi:"status"`
}

type GetSslVpnClientCertsCertArgs

type GetSslVpnClientCertsCertArgs struct {
	// The time of creation.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The expiration time of the client certificate.
	EndTime pulumi.IntInput `pulumi:"endTime"`
	// ID of the SSL-VPN client certificate.
	Id pulumi.StringInput `pulumi:"id"`
	// The name of the SSL-VPN client certificate.
	Name pulumi.StringInput `pulumi:"name"`
	// Use the SSL-VPN server ID as the search key.
	SslVpnServerId pulumi.StringInput `pulumi:"sslVpnServerId"`
	// The status of the client certificate. valid value:expiring-soon, normal, expired.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetSslVpnClientCertsCertArgs) ElementType

func (GetSslVpnClientCertsCertArgs) ToGetSslVpnClientCertsCertOutput

func (i GetSslVpnClientCertsCertArgs) ToGetSslVpnClientCertsCertOutput() GetSslVpnClientCertsCertOutput

func (GetSslVpnClientCertsCertArgs) ToGetSslVpnClientCertsCertOutputWithContext

func (i GetSslVpnClientCertsCertArgs) ToGetSslVpnClientCertsCertOutputWithContext(ctx context.Context) GetSslVpnClientCertsCertOutput

type GetSslVpnClientCertsCertArray

type GetSslVpnClientCertsCertArray []GetSslVpnClientCertsCertInput

func (GetSslVpnClientCertsCertArray) ElementType

func (GetSslVpnClientCertsCertArray) ToGetSslVpnClientCertsCertArrayOutput

func (i GetSslVpnClientCertsCertArray) ToGetSslVpnClientCertsCertArrayOutput() GetSslVpnClientCertsCertArrayOutput

func (GetSslVpnClientCertsCertArray) ToGetSslVpnClientCertsCertArrayOutputWithContext

func (i GetSslVpnClientCertsCertArray) ToGetSslVpnClientCertsCertArrayOutputWithContext(ctx context.Context) GetSslVpnClientCertsCertArrayOutput

type GetSslVpnClientCertsCertArrayInput

type GetSslVpnClientCertsCertArrayInput interface {
	pulumi.Input

	ToGetSslVpnClientCertsCertArrayOutput() GetSslVpnClientCertsCertArrayOutput
	ToGetSslVpnClientCertsCertArrayOutputWithContext(context.Context) GetSslVpnClientCertsCertArrayOutput
}

GetSslVpnClientCertsCertArrayInput is an input type that accepts GetSslVpnClientCertsCertArray and GetSslVpnClientCertsCertArrayOutput values. You can construct a concrete instance of `GetSslVpnClientCertsCertArrayInput` via:

GetSslVpnClientCertsCertArray{ GetSslVpnClientCertsCertArgs{...} }

type GetSslVpnClientCertsCertArrayOutput

type GetSslVpnClientCertsCertArrayOutput struct{ *pulumi.OutputState }

func (GetSslVpnClientCertsCertArrayOutput) ElementType

func (GetSslVpnClientCertsCertArrayOutput) Index

func (GetSslVpnClientCertsCertArrayOutput) ToGetSslVpnClientCertsCertArrayOutput

func (o GetSslVpnClientCertsCertArrayOutput) ToGetSslVpnClientCertsCertArrayOutput() GetSslVpnClientCertsCertArrayOutput

func (GetSslVpnClientCertsCertArrayOutput) ToGetSslVpnClientCertsCertArrayOutputWithContext

func (o GetSslVpnClientCertsCertArrayOutput) ToGetSslVpnClientCertsCertArrayOutputWithContext(ctx context.Context) GetSslVpnClientCertsCertArrayOutput

type GetSslVpnClientCertsCertInput

type GetSslVpnClientCertsCertInput interface {
	pulumi.Input

	ToGetSslVpnClientCertsCertOutput() GetSslVpnClientCertsCertOutput
	ToGetSslVpnClientCertsCertOutputWithContext(context.Context) GetSslVpnClientCertsCertOutput
}

GetSslVpnClientCertsCertInput is an input type that accepts GetSslVpnClientCertsCertArgs and GetSslVpnClientCertsCertOutput values. You can construct a concrete instance of `GetSslVpnClientCertsCertInput` via:

GetSslVpnClientCertsCertArgs{...}

type GetSslVpnClientCertsCertOutput

type GetSslVpnClientCertsCertOutput struct{ *pulumi.OutputState }

func (GetSslVpnClientCertsCertOutput) CreateTime

The time of creation.

func (GetSslVpnClientCertsCertOutput) ElementType

func (GetSslVpnClientCertsCertOutput) EndTime

The expiration time of the client certificate.

func (GetSslVpnClientCertsCertOutput) Id

ID of the SSL-VPN client certificate.

func (GetSslVpnClientCertsCertOutput) Name

The name of the SSL-VPN client certificate.

func (GetSslVpnClientCertsCertOutput) SslVpnServerId

Use the SSL-VPN server ID as the search key.

func (GetSslVpnClientCertsCertOutput) Status

The status of the client certificate. valid value:expiring-soon, normal, expired.

func (GetSslVpnClientCertsCertOutput) ToGetSslVpnClientCertsCertOutput

func (o GetSslVpnClientCertsCertOutput) ToGetSslVpnClientCertsCertOutput() GetSslVpnClientCertsCertOutput

func (GetSslVpnClientCertsCertOutput) ToGetSslVpnClientCertsCertOutputWithContext

func (o GetSslVpnClientCertsCertOutput) ToGetSslVpnClientCertsCertOutputWithContext(ctx context.Context) GetSslVpnClientCertsCertOutput

type GetSslVpnClientCertsOutputArgs

type GetSslVpnClientCertsOutputArgs struct {
	// IDs of the SSL-VPN client certificates.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string of SSL-VPN client certificate name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// Save the result to the file.
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// Use the SSL-VPN server ID as the search key.
	SslVpnServerId pulumi.StringPtrInput `pulumi:"sslVpnServerId"`
}

A collection of arguments for invoking getSslVpnClientCerts.

func (GetSslVpnClientCertsOutputArgs) ElementType

type GetSslVpnClientCertsResult

type GetSslVpnClientCertsResult struct {
	// A list of SSL-VPN client certificates. Each element contains the following attributes:
	Certs []GetSslVpnClientCertsCert `pulumi:"certs"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SSL-VPN client cert IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of SSL-VPN client cert names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// ID of the SSL-VPN Server.
	SslVpnServerId *string `pulumi:"sslVpnServerId"`
}

A collection of values returned by getSslVpnClientCerts.

func GetSslVpnClientCerts

func GetSslVpnClientCerts(ctx *pulumi.Context, args *GetSslVpnClientCertsArgs, opts ...pulumi.InvokeOption) (*GetSslVpnClientCertsResult, error)

The SSL-VPN client certificates data source lists lots of SSL-VPN client certificates resource information owned by an Alicloud account.

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetSslVpnClientCerts(ctx, &vpc.GetSslVpnClientCertsArgs{
			Ids: []string{
				"fake-cert-id",
			},
			NameRegex:      pulumi.StringRef("^foo"),
			OutputFile:     pulumi.StringRef("/tmp/clientcert"),
			SslVpnServerId: pulumi.StringRef("fake-server-id"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSslVpnClientCertsResultOutput

type GetSslVpnClientCertsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSslVpnClientCerts.

func (GetSslVpnClientCertsResultOutput) Certs

A list of SSL-VPN client certificates. Each element contains the following attributes:

func (GetSslVpnClientCertsResultOutput) ElementType

func (GetSslVpnClientCertsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSslVpnClientCertsResultOutput) Ids

A list of SSL-VPN client cert IDs.

func (GetSslVpnClientCertsResultOutput) NameRegex

func (GetSslVpnClientCertsResultOutput) Names

A list of SSL-VPN client cert names.

func (GetSslVpnClientCertsResultOutput) OutputFile

func (GetSslVpnClientCertsResultOutput) SslVpnServerId

ID of the SSL-VPN Server.

func (GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutput

func (o GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutput() GetSslVpnClientCertsResultOutput

func (GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutputWithContext

func (o GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutputWithContext(ctx context.Context) GetSslVpnClientCertsResultOutput

type GetSslVpnServersArgs

type GetSslVpnServersArgs struct {
	// IDs of the SSL-VPN servers.
	Ids []string `pulumi:"ids"`
	// A regex string of SSL-VPN server 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 getSslVpnServers.

type GetSslVpnServersOutputArgs

type GetSslVpnServersOutputArgs struct {
	// IDs of the SSL-VPN servers.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string of SSL-VPN server 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 getSslVpnServers.

func (GetSslVpnServersOutputArgs) ElementType

func (GetSslVpnServersOutputArgs) ElementType() reflect.Type

type GetSslVpnServersResult

type GetSslVpnServersResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of SSL-VPN server IDs.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// A list of SSL-VPN server names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A list of SSL-VPN servers. Each element contains the following attributes:
	Servers []GetSslVpnServersServer `pulumi:"servers"`
	// The ID of the VPN gateway instance.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of values returned by getSslVpnServers.

func GetSslVpnServers

func GetSslVpnServers(ctx *pulumi.Context, args *GetSslVpnServersArgs, opts ...pulumi.InvokeOption) (*GetSslVpnServersResult, error)

The SSL-VPN servers data source lists lots of SSL-VPN servers resource information owned by an Alicloud account.

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetSslVpnServers(ctx, &vpc.GetSslVpnServersArgs{
			Ids: []string{
				"fake-server-id",
			},
			NameRegex:    pulumi.StringRef("^foo"),
			OutputFile:   pulumi.StringRef("/tmp/sslserver"),
			VpnGatewayId: pulumi.StringRef("fake-vpn-id"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSslVpnServersResultOutput

type GetSslVpnServersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSslVpnServers.

func (GetSslVpnServersResultOutput) ElementType

func (GetSslVpnServersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSslVpnServersResultOutput) Ids

A list of SSL-VPN server IDs.

func (GetSslVpnServersResultOutput) NameRegex

func (GetSslVpnServersResultOutput) Names

A list of SSL-VPN server names.

func (GetSslVpnServersResultOutput) OutputFile

func (GetSslVpnServersResultOutput) Servers

A list of SSL-VPN servers. Each element contains the following attributes:

func (GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutput

func (o GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutput() GetSslVpnServersResultOutput

func (GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutputWithContext

func (o GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutputWithContext(ctx context.Context) GetSslVpnServersResultOutput

func (GetSslVpnServersResultOutput) VpnGatewayId

The ID of the VPN gateway instance.

type GetSslVpnServersServer

type GetSslVpnServersServer struct {
	// The encryption algorithm used.
	Cipher string `pulumi:"cipher"`
	// The IP address pool of the client.
	ClientIpPool string `pulumi:"clientIpPool"`
	// Whether to compress.
	Compress bool `pulumi:"compress"`
	// The number of current connections.
	Connections int `pulumi:"connections"`
	// The time of creation.
	CreateTime string `pulumi:"createTime"`
	// The ID of the SSL-VPN server.
	Id string `pulumi:"id"`
	// The public IP.
	InternetIp string `pulumi:"internetIp"`
	// The local subnet of the VPN connection.
	LocalSubnet string `pulumi:"localSubnet"`
	// The maximum number of connections.
	MaxConnections int `pulumi:"maxConnections"`
	// The name of the SSL-VPN server.
	Name string `pulumi:"name"`
	// The port used by the SSL-VPN server.
	Port int `pulumi:"port"`
	// The protocol used by the SSL-VPN server.
	Proto string `pulumi:"proto"`
	// Use the VPN gateway ID as the search key.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
}

type GetSslVpnServersServerArgs

type GetSslVpnServersServerArgs struct {
	// The encryption algorithm used.
	Cipher pulumi.StringInput `pulumi:"cipher"`
	// The IP address pool of the client.
	ClientIpPool pulumi.StringInput `pulumi:"clientIpPool"`
	// Whether to compress.
	Compress pulumi.BoolInput `pulumi:"compress"`
	// The number of current connections.
	Connections pulumi.IntInput `pulumi:"connections"`
	// The time of creation.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the SSL-VPN server.
	Id pulumi.StringInput `pulumi:"id"`
	// The public IP.
	InternetIp pulumi.StringInput `pulumi:"internetIp"`
	// The local subnet of the VPN connection.
	LocalSubnet pulumi.StringInput `pulumi:"localSubnet"`
	// The maximum number of connections.
	MaxConnections pulumi.IntInput `pulumi:"maxConnections"`
	// The name of the SSL-VPN server.
	Name pulumi.StringInput `pulumi:"name"`
	// The port used by the SSL-VPN server.
	Port pulumi.IntInput `pulumi:"port"`
	// The protocol used by the SSL-VPN server.
	Proto pulumi.StringInput `pulumi:"proto"`
	// Use the VPN gateway ID as the search key.
	VpnGatewayId pulumi.StringInput `pulumi:"vpnGatewayId"`
}

func (GetSslVpnServersServerArgs) ElementType

func (GetSslVpnServersServerArgs) ElementType() reflect.Type

func (GetSslVpnServersServerArgs) ToGetSslVpnServersServerOutput

func (i GetSslVpnServersServerArgs) ToGetSslVpnServersServerOutput() GetSslVpnServersServerOutput

func (GetSslVpnServersServerArgs) ToGetSslVpnServersServerOutputWithContext

func (i GetSslVpnServersServerArgs) ToGetSslVpnServersServerOutputWithContext(ctx context.Context) GetSslVpnServersServerOutput

type GetSslVpnServersServerArray

type GetSslVpnServersServerArray []GetSslVpnServersServerInput

func (GetSslVpnServersServerArray) ElementType

func (GetSslVpnServersServerArray) ToGetSslVpnServersServerArrayOutput

func (i GetSslVpnServersServerArray) ToGetSslVpnServersServerArrayOutput() GetSslVpnServersServerArrayOutput

func (GetSslVpnServersServerArray) ToGetSslVpnServersServerArrayOutputWithContext

func (i GetSslVpnServersServerArray) ToGetSslVpnServersServerArrayOutputWithContext(ctx context.Context) GetSslVpnServersServerArrayOutput

type GetSslVpnServersServerArrayInput

type GetSslVpnServersServerArrayInput interface {
	pulumi.Input

	ToGetSslVpnServersServerArrayOutput() GetSslVpnServersServerArrayOutput
	ToGetSslVpnServersServerArrayOutputWithContext(context.Context) GetSslVpnServersServerArrayOutput
}

GetSslVpnServersServerArrayInput is an input type that accepts GetSslVpnServersServerArray and GetSslVpnServersServerArrayOutput values. You can construct a concrete instance of `GetSslVpnServersServerArrayInput` via:

GetSslVpnServersServerArray{ GetSslVpnServersServerArgs{...} }

type GetSslVpnServersServerArrayOutput

type GetSslVpnServersServerArrayOutput struct{ *pulumi.OutputState }

func (GetSslVpnServersServerArrayOutput) ElementType

func (GetSslVpnServersServerArrayOutput) Index

func (GetSslVpnServersServerArrayOutput) ToGetSslVpnServersServerArrayOutput

func (o GetSslVpnServersServerArrayOutput) ToGetSslVpnServersServerArrayOutput() GetSslVpnServersServerArrayOutput

func (GetSslVpnServersServerArrayOutput) ToGetSslVpnServersServerArrayOutputWithContext

func (o GetSslVpnServersServerArrayOutput) ToGetSslVpnServersServerArrayOutputWithContext(ctx context.Context) GetSslVpnServersServerArrayOutput

type GetSslVpnServersServerInput

type GetSslVpnServersServerInput interface {
	pulumi.Input

	ToGetSslVpnServersServerOutput() GetSslVpnServersServerOutput
	ToGetSslVpnServersServerOutputWithContext(context.Context) GetSslVpnServersServerOutput
}

GetSslVpnServersServerInput is an input type that accepts GetSslVpnServersServerArgs and GetSslVpnServersServerOutput values. You can construct a concrete instance of `GetSslVpnServersServerInput` via:

GetSslVpnServersServerArgs{...}

type GetSslVpnServersServerOutput

type GetSslVpnServersServerOutput struct{ *pulumi.OutputState }

func (GetSslVpnServersServerOutput) Cipher

The encryption algorithm used.

func (GetSslVpnServersServerOutput) ClientIpPool

The IP address pool of the client.

func (GetSslVpnServersServerOutput) Compress

Whether to compress.

func (GetSslVpnServersServerOutput) Connections

The number of current connections.

func (GetSslVpnServersServerOutput) CreateTime

The time of creation.

func (GetSslVpnServersServerOutput) ElementType

func (GetSslVpnServersServerOutput) Id

The ID of the SSL-VPN server.

func (GetSslVpnServersServerOutput) InternetIp

The public IP.

func (GetSslVpnServersServerOutput) LocalSubnet

The local subnet of the VPN connection.

func (GetSslVpnServersServerOutput) MaxConnections

func (o GetSslVpnServersServerOutput) MaxConnections() pulumi.IntOutput

The maximum number of connections.

func (GetSslVpnServersServerOutput) Name

The name of the SSL-VPN server.

func (GetSslVpnServersServerOutput) Port

The port used by the SSL-VPN server.

func (GetSslVpnServersServerOutput) Proto

The protocol used by the SSL-VPN server.

func (GetSslVpnServersServerOutput) ToGetSslVpnServersServerOutput

func (o GetSslVpnServersServerOutput) ToGetSslVpnServersServerOutput() GetSslVpnServersServerOutput

func (GetSslVpnServersServerOutput) ToGetSslVpnServersServerOutputWithContext

func (o GetSslVpnServersServerOutput) ToGetSslVpnServersServerOutputWithContext(ctx context.Context) GetSslVpnServersServerOutput

func (GetSslVpnServersServerOutput) VpnGatewayId

Use the VPN gateway ID as the search key.

type GetSwitchesArgs

type GetSwitchesArgs struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock *string `pulumi:"cidrBlock"`
	// Specifies whether to precheck this request only. Valid values: `true` and `false`.
	DryRun *bool `pulumi:"dryRun"`
	// A list of VSwitch IDs.
	Ids []string `pulumi:"ids"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault *bool `pulumi:"isDefault"`
	// A regex string to filter results by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which VSWitch belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The route table ID of the VSwitch.
	RouteTableId *string `pulumi:"routeTableId"`
	// The status of the VSwitch. Valid values: `Available` and `Pending`.
	Status *string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// ID of the VPC that owns the VSwitch.
	VpcId *string `pulumi:"vpcId"`
	// The name of the VSwitch.
	VswitchName *string `pulumi:"vswitchName"`
	// The VSwitch owner id.
	VswitchOwnerId *int `pulumi:"vswitchOwnerId"`
	// The availability zone of the VSwitch.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getSwitches.

type GetSwitchesOutputArgs

type GetSwitchesOutputArgs struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"`
	// Specifies whether to precheck this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrInput `pulumi:"dryRun"`
	// A list of VSwitch IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault pulumi.BoolPtrInput `pulumi:"isDefault"`
	// A regex string to filter results by name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The Id of resource group which VSWitch belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// The route table ID of the VSwitch.
	RouteTableId pulumi.StringPtrInput `pulumi:"routeTableId"`
	// The status of the VSwitch. Valid values: `Available` and `Pending`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// ID of the VPC that owns the VSwitch.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
	// The name of the VSwitch.
	VswitchName pulumi.StringPtrInput `pulumi:"vswitchName"`
	// The VSwitch owner id.
	VswitchOwnerId pulumi.IntPtrInput `pulumi:"vswitchOwnerId"`
	// The availability zone of the VSwitch.
	ZoneId pulumi.StringPtrInput `pulumi:"zoneId"`
}

A collection of arguments for invoking getSwitches.

func (GetSwitchesOutputArgs) ElementType

func (GetSwitchesOutputArgs) ElementType() reflect.Type

type GetSwitchesResult

type GetSwitchesResult struct {
	// CIDR block of the VSwitch.
	CidrBlock *string `pulumi:"cidrBlock"`
	DryRun    *bool   `pulumi:"dryRun"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of VSwitch IDs.
	Ids []string `pulumi:"ids"`
	// Whether the VSwitch is the default one in the region.
	IsDefault *bool   `pulumi:"isDefault"`
	NameRegex *string `pulumi:"nameRegex"`
	// A list of VSwitch names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// The resource group ID of the VSwitch.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// The route table ID of the VSwitch.
	RouteTableId *string `pulumi:"routeTableId"`
	// The status of the VSwitch.
	Status *string `pulumi:"status"`
	// The Tags of the VSwitch.
	Tags map[string]interface{} `pulumi:"tags"`
	// ID of the VPC that owns the VSwitch.
	VpcId *string `pulumi:"vpcId"`
	// Name of the VSwitch.
	VswitchName    *string `pulumi:"vswitchName"`
	VswitchOwnerId *int    `pulumi:"vswitchOwnerId"`
	// A list of VSwitches. Each element contains the following attributes:
	Vswitches []GetSwitchesVswitch `pulumi:"vswitches"`
	// ID of the availability zone where the VSwitch is located.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of values returned by getSwitches.

func GetSwitches

func GetSwitches(ctx *pulumi.Context, args *GetSwitchesArgs, opts ...pulumi.InvokeOption) (*GetSwitchesResult, error)

This data source provides a list of VSwitches owned by an Alibaba Cloud account.

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "vswitchDatasourceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
			VpcName:   pulumi.String(name),
		})
		if err != nil {
			return err
		}
		vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			CidrBlock:        pulumi.String("172.16.0.0/24"),
			VpcId:            vpc.ID(),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetSwitchesOutput(ctx, vpc.GetSwitchesOutputArgs{
			NameRegex: vswitch.VswitchName,
		}, nil)
		return nil
	})
}

```

type GetSwitchesResultOutput

type GetSwitchesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSwitches.

func (GetSwitchesResultOutput) CidrBlock

CIDR block of the VSwitch.

func (GetSwitchesResultOutput) DryRun

func (GetSwitchesResultOutput) ElementType

func (GetSwitchesResultOutput) ElementType() reflect.Type

func (GetSwitchesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSwitchesResultOutput) Ids

A list of VSwitch IDs.

func (GetSwitchesResultOutput) IsDefault

Whether the VSwitch is the default one in the region.

func (GetSwitchesResultOutput) NameRegex

func (GetSwitchesResultOutput) Names

A list of VSwitch names.

func (GetSwitchesResultOutput) OutputFile

func (GetSwitchesResultOutput) ResourceGroupId

func (o GetSwitchesResultOutput) ResourceGroupId() pulumi.StringPtrOutput

The resource group ID of the VSwitch.

func (GetSwitchesResultOutput) RouteTableId

The route table ID of the VSwitch.

func (GetSwitchesResultOutput) Status

The status of the VSwitch.

func (GetSwitchesResultOutput) Tags

The Tags of the VSwitch.

func (GetSwitchesResultOutput) ToGetSwitchesResultOutput

func (o GetSwitchesResultOutput) ToGetSwitchesResultOutput() GetSwitchesResultOutput

func (GetSwitchesResultOutput) ToGetSwitchesResultOutputWithContext

func (o GetSwitchesResultOutput) ToGetSwitchesResultOutputWithContext(ctx context.Context) GetSwitchesResultOutput

func (GetSwitchesResultOutput) VpcId

ID of the VPC that owns the VSwitch.

func (GetSwitchesResultOutput) VswitchName

Name of the VSwitch.

func (GetSwitchesResultOutput) VswitchOwnerId

func (o GetSwitchesResultOutput) VswitchOwnerId() pulumi.IntPtrOutput

func (GetSwitchesResultOutput) Vswitches

A list of VSwitches. Each element contains the following attributes:

func (GetSwitchesResultOutput) ZoneId

ID of the availability zone where the VSwitch is located.

type GetSwitchesVswitch

type GetSwitchesVswitch struct {
	// The available ip address count of the VSwitch.
	AvailableIpAddressCount int `pulumi:"availableIpAddressCount"`
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock string `pulumi:"cidrBlock"`
	// Time of creation.
	CreationTime string `pulumi:"creationTime"`
	// Description of the VSwitch.
	Description string `pulumi:"description"`
	// ID of the VSwitch.
	Id string `pulumi:"id"`
	// The IPv6 CIDR block of the switch.
	Ipv6CidrBlock string `pulumi:"ipv6CidrBlock"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault bool `pulumi:"isDefault"`
	// Name of the VSwitch.
	Name string `pulumi:"name"`
	// The Id of resource group which VSWitch belongs.
	ResourceGroupId string `pulumi:"resourceGroupId"`
	// The route table ID of the VSwitch.
	RouteTableId string `pulumi:"routeTableId"`
	// The status of the VSwitch. Valid values: `Available` and `Pending`.
	Status string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// ID of the VPC that owns the VSwitch.
	VpcId string `pulumi:"vpcId"`
	// ID of the VSwitch.
	VswitchId string `pulumi:"vswitchId"`
	// The name of the VSwitch.
	VswitchName string `pulumi:"vswitchName"`
	// The availability zone of the VSwitch.
	ZoneId string `pulumi:"zoneId"`
}

type GetSwitchesVswitchArgs

type GetSwitchesVswitchArgs struct {
	// The available ip address count of the VSwitch.
	AvailableIpAddressCount pulumi.IntInput `pulumi:"availableIpAddressCount"`
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock pulumi.StringInput `pulumi:"cidrBlock"`
	// Time of creation.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Description of the VSwitch.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the VSwitch.
	Id pulumi.StringInput `pulumi:"id"`
	// The IPv6 CIDR block of the switch.
	Ipv6CidrBlock pulumi.StringInput `pulumi:"ipv6CidrBlock"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault pulumi.BoolInput `pulumi:"isDefault"`
	// Name of the VSwitch.
	Name pulumi.StringInput `pulumi:"name"`
	// The Id of resource group which VSWitch belongs.
	ResourceGroupId pulumi.StringInput `pulumi:"resourceGroupId"`
	// The route table ID of the VSwitch.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// The status of the VSwitch. Valid values: `Available` and `Pending`.
	Status pulumi.StringInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// ID of the VPC that owns the VSwitch.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// ID of the VSwitch.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// The name of the VSwitch.
	VswitchName pulumi.StringInput `pulumi:"vswitchName"`
	// The availability zone of the VSwitch.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetSwitchesVswitchArgs) ElementType

func (GetSwitchesVswitchArgs) ElementType() reflect.Type

func (GetSwitchesVswitchArgs) ToGetSwitchesVswitchOutput

func (i GetSwitchesVswitchArgs) ToGetSwitchesVswitchOutput() GetSwitchesVswitchOutput

func (GetSwitchesVswitchArgs) ToGetSwitchesVswitchOutputWithContext

func (i GetSwitchesVswitchArgs) ToGetSwitchesVswitchOutputWithContext(ctx context.Context) GetSwitchesVswitchOutput

type GetSwitchesVswitchArray

type GetSwitchesVswitchArray []GetSwitchesVswitchInput

func (GetSwitchesVswitchArray) ElementType

func (GetSwitchesVswitchArray) ElementType() reflect.Type

func (GetSwitchesVswitchArray) ToGetSwitchesVswitchArrayOutput

func (i GetSwitchesVswitchArray) ToGetSwitchesVswitchArrayOutput() GetSwitchesVswitchArrayOutput

func (GetSwitchesVswitchArray) ToGetSwitchesVswitchArrayOutputWithContext

func (i GetSwitchesVswitchArray) ToGetSwitchesVswitchArrayOutputWithContext(ctx context.Context) GetSwitchesVswitchArrayOutput

type GetSwitchesVswitchArrayInput

type GetSwitchesVswitchArrayInput interface {
	pulumi.Input

	ToGetSwitchesVswitchArrayOutput() GetSwitchesVswitchArrayOutput
	ToGetSwitchesVswitchArrayOutputWithContext(context.Context) GetSwitchesVswitchArrayOutput
}

GetSwitchesVswitchArrayInput is an input type that accepts GetSwitchesVswitchArray and GetSwitchesVswitchArrayOutput values. You can construct a concrete instance of `GetSwitchesVswitchArrayInput` via:

GetSwitchesVswitchArray{ GetSwitchesVswitchArgs{...} }

type GetSwitchesVswitchArrayOutput

type GetSwitchesVswitchArrayOutput struct{ *pulumi.OutputState }

func (GetSwitchesVswitchArrayOutput) ElementType

func (GetSwitchesVswitchArrayOutput) Index

func (GetSwitchesVswitchArrayOutput) ToGetSwitchesVswitchArrayOutput

func (o GetSwitchesVswitchArrayOutput) ToGetSwitchesVswitchArrayOutput() GetSwitchesVswitchArrayOutput

func (GetSwitchesVswitchArrayOutput) ToGetSwitchesVswitchArrayOutputWithContext

func (o GetSwitchesVswitchArrayOutput) ToGetSwitchesVswitchArrayOutputWithContext(ctx context.Context) GetSwitchesVswitchArrayOutput

type GetSwitchesVswitchInput

type GetSwitchesVswitchInput interface {
	pulumi.Input

	ToGetSwitchesVswitchOutput() GetSwitchesVswitchOutput
	ToGetSwitchesVswitchOutputWithContext(context.Context) GetSwitchesVswitchOutput
}

GetSwitchesVswitchInput is an input type that accepts GetSwitchesVswitchArgs and GetSwitchesVswitchOutput values. You can construct a concrete instance of `GetSwitchesVswitchInput` via:

GetSwitchesVswitchArgs{...}

type GetSwitchesVswitchOutput

type GetSwitchesVswitchOutput struct{ *pulumi.OutputState }

func (GetSwitchesVswitchOutput) AvailableIpAddressCount

func (o GetSwitchesVswitchOutput) AvailableIpAddressCount() pulumi.IntOutput

The available ip address count of the VSwitch.

func (GetSwitchesVswitchOutput) CidrBlock

Filter results by a specific CIDR block. For example: "172.16.0.0/12".

func (GetSwitchesVswitchOutput) CreationTime

func (o GetSwitchesVswitchOutput) CreationTime() pulumi.StringOutput

Time of creation.

func (GetSwitchesVswitchOutput) Description

Description of the VSwitch.

func (GetSwitchesVswitchOutput) ElementType

func (GetSwitchesVswitchOutput) ElementType() reflect.Type

func (GetSwitchesVswitchOutput) Id

ID of the VSwitch.

func (GetSwitchesVswitchOutput) Ipv6CidrBlock

func (o GetSwitchesVswitchOutput) Ipv6CidrBlock() pulumi.StringOutput

The IPv6 CIDR block of the switch.

func (GetSwitchesVswitchOutput) IsDefault

Indicate whether the VSwitch is created by the system.

func (GetSwitchesVswitchOutput) Name

Name of the VSwitch.

func (GetSwitchesVswitchOutput) ResourceGroupId

func (o GetSwitchesVswitchOutput) ResourceGroupId() pulumi.StringOutput

The Id of resource group which VSWitch belongs.

func (GetSwitchesVswitchOutput) RouteTableId

func (o GetSwitchesVswitchOutput) RouteTableId() pulumi.StringOutput

The route table ID of the VSwitch.

func (GetSwitchesVswitchOutput) Status

The status of the VSwitch. Valid values: `Available` and `Pending`.

func (GetSwitchesVswitchOutput) Tags

A mapping of tags to assign to the resource.

func (GetSwitchesVswitchOutput) ToGetSwitchesVswitchOutput

func (o GetSwitchesVswitchOutput) ToGetSwitchesVswitchOutput() GetSwitchesVswitchOutput

func (GetSwitchesVswitchOutput) ToGetSwitchesVswitchOutputWithContext

func (o GetSwitchesVswitchOutput) ToGetSwitchesVswitchOutputWithContext(ctx context.Context) GetSwitchesVswitchOutput

func (GetSwitchesVswitchOutput) VpcId

ID of the VPC that owns the VSwitch.

func (GetSwitchesVswitchOutput) VswitchId

ID of the VSwitch.

func (GetSwitchesVswitchOutput) VswitchName

The name of the VSwitch.

func (GetSwitchesVswitchOutput) ZoneId

The availability zone of the VSwitch.

type GetTrafficMirrorFilterEgressRulesArgs

type GetTrafficMirrorFilterEgressRulesArgs struct {
	// A list of Traffic Mirror Filter Egress Rule IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status *string `pulumi:"status"`
	// The ID of the filter associated with the outbound rule.
	TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"`
}

A collection of arguments for invoking getTrafficMirrorFilterEgressRules.

type GetTrafficMirrorFilterEgressRulesOutputArgs

type GetTrafficMirrorFilterEgressRulesOutputArgs struct {
	// A list of Traffic Mirror Filter Egress Rule IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the filter associated with the outbound rule.
	TrafficMirrorFilterId pulumi.StringInput `pulumi:"trafficMirrorFilterId"`
}

A collection of arguments for invoking getTrafficMirrorFilterEgressRules.

func (GetTrafficMirrorFilterEgressRulesOutputArgs) ElementType

type GetTrafficMirrorFilterEgressRulesResult

type GetTrafficMirrorFilterEgressRulesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                    string                                  `pulumi:"id"`
	Ids                   []string                                `pulumi:"ids"`
	OutputFile            *string                                 `pulumi:"outputFile"`
	Rules                 []GetTrafficMirrorFilterEgressRulesRule `pulumi:"rules"`
	Status                *string                                 `pulumi:"status"`
	TrafficMirrorFilterId string                                  `pulumi:"trafficMirrorFilterId"`
}

A collection of values returned by getTrafficMirrorFilterEgressRules.

func GetTrafficMirrorFilterEgressRules

This data source provides the Vpc Traffic Mirror Filter Egress Rules of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetTrafficMirrorFilterEgressRules(ctx, &vpc.GetTrafficMirrorFilterEgressRulesArgs{
			TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterEgressRuleId1", ids.Rules[0].Id)
		status, err := vpc.GetTrafficMirrorFilterEgressRules(ctx, &vpc.GetTrafficMirrorFilterEgressRulesArgs{
			TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
			Ids: []string{
				"example_id",
			},
			Status: pulumi.StringRef("Created"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterEgressRuleId2", status.Rules[0].Id)
		return nil
	})
}

```

type GetTrafficMirrorFilterEgressRulesResultOutput

type GetTrafficMirrorFilterEgressRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorFilterEgressRules.

func (GetTrafficMirrorFilterEgressRulesResultOutput) ElementType

func (GetTrafficMirrorFilterEgressRulesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorFilterEgressRulesResultOutput) Ids

func (GetTrafficMirrorFilterEgressRulesResultOutput) OutputFile

func (GetTrafficMirrorFilterEgressRulesResultOutput) Rules

func (GetTrafficMirrorFilterEgressRulesResultOutput) Status

func (GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutput

func (o GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutput() GetTrafficMirrorFilterEgressRulesResultOutput

func (GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutputWithContext

func (o GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesResultOutput

func (GetTrafficMirrorFilterEgressRulesResultOutput) TrafficMirrorFilterId

type GetTrafficMirrorFilterEgressRulesRule

type GetTrafficMirrorFilterEgressRulesRule struct {
	// The destination CIDR block of the outbound traffic.
	DestinationCidrBlock string `pulumi:"destinationCidrBlock"`
	// The destination port range of the outbound traffic.
	DestinationPortRange string `pulumi:"destinationPortRange"`
	// The ID of the Traffic Mirror Filter Egress Rule.
	Id string `pulumi:"id"`
	// The priority of the outbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority int `pulumi:"priority"`
	// The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol string `pulumi:"protocol"`
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction string `pulumi:"ruleAction"`
	// The source CIDR block of the outbound traffic.
	SourceCidrBlock string `pulumi:"sourceCidrBlock"`
	// The source port range of the outbound traffic.
	SourcePortRange string `pulumi:"sourcePortRange"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status string `pulumi:"status"`
	// The ID of the filter associated with the outbound rule.
	TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"`
	// The first ID of the resource.
	TrafficMirrorFilterRuleId string `pulumi:"trafficMirrorFilterRuleId"`
}

type GetTrafficMirrorFilterEgressRulesRuleArgs

type GetTrafficMirrorFilterEgressRulesRuleArgs struct {
	// The destination CIDR block of the outbound traffic.
	DestinationCidrBlock pulumi.StringInput `pulumi:"destinationCidrBlock"`
	// The destination port range of the outbound traffic.
	DestinationPortRange pulumi.StringInput `pulumi:"destinationPortRange"`
	// The ID of the Traffic Mirror Filter Egress Rule.
	Id pulumi.StringInput `pulumi:"id"`
	// The priority of the outbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntInput `pulumi:"priority"`
	// The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringInput `pulumi:"ruleAction"`
	// The source CIDR block of the outbound traffic.
	SourceCidrBlock pulumi.StringInput `pulumi:"sourceCidrBlock"`
	// The source port range of the outbound traffic.
	SourcePortRange pulumi.StringInput `pulumi:"sourcePortRange"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the filter associated with the outbound rule.
	TrafficMirrorFilterId pulumi.StringInput `pulumi:"trafficMirrorFilterId"`
	// The first ID of the resource.
	TrafficMirrorFilterRuleId pulumi.StringInput `pulumi:"trafficMirrorFilterRuleId"`
}

func (GetTrafficMirrorFilterEgressRulesRuleArgs) ElementType

func (GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutput

func (i GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutput() GetTrafficMirrorFilterEgressRulesRuleOutput

func (GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext

func (i GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleOutput

type GetTrafficMirrorFilterEgressRulesRuleArray

type GetTrafficMirrorFilterEgressRulesRuleArray []GetTrafficMirrorFilterEgressRulesRuleInput

func (GetTrafficMirrorFilterEgressRulesRuleArray) ElementType

func (GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput

func (i GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput() GetTrafficMirrorFilterEgressRulesRuleArrayOutput

func (GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext

func (i GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleArrayOutput

type GetTrafficMirrorFilterEgressRulesRuleArrayInput

type GetTrafficMirrorFilterEgressRulesRuleArrayInput interface {
	pulumi.Input

	ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput() GetTrafficMirrorFilterEgressRulesRuleArrayOutput
	ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext(context.Context) GetTrafficMirrorFilterEgressRulesRuleArrayOutput
}

GetTrafficMirrorFilterEgressRulesRuleArrayInput is an input type that accepts GetTrafficMirrorFilterEgressRulesRuleArray and GetTrafficMirrorFilterEgressRulesRuleArrayOutput values. You can construct a concrete instance of `GetTrafficMirrorFilterEgressRulesRuleArrayInput` via:

GetTrafficMirrorFilterEgressRulesRuleArray{ GetTrafficMirrorFilterEgressRulesRuleArgs{...} }

type GetTrafficMirrorFilterEgressRulesRuleArrayOutput

type GetTrafficMirrorFilterEgressRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ElementType

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) Index

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput

func (o GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput() GetTrafficMirrorFilterEgressRulesRuleArrayOutput

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext

func (o GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleArrayOutput

type GetTrafficMirrorFilterEgressRulesRuleInput

type GetTrafficMirrorFilterEgressRulesRuleInput interface {
	pulumi.Input

	ToGetTrafficMirrorFilterEgressRulesRuleOutput() GetTrafficMirrorFilterEgressRulesRuleOutput
	ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext(context.Context) GetTrafficMirrorFilterEgressRulesRuleOutput
}

GetTrafficMirrorFilterEgressRulesRuleInput is an input type that accepts GetTrafficMirrorFilterEgressRulesRuleArgs and GetTrafficMirrorFilterEgressRulesRuleOutput values. You can construct a concrete instance of `GetTrafficMirrorFilterEgressRulesRuleInput` via:

GetTrafficMirrorFilterEgressRulesRuleArgs{...}

type GetTrafficMirrorFilterEgressRulesRuleOutput

type GetTrafficMirrorFilterEgressRulesRuleOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterEgressRulesRuleOutput) DestinationCidrBlock

The destination CIDR block of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) DestinationPortRange

The destination port range of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) ElementType

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Id

The ID of the Traffic Mirror Filter Egress Rule.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Priority

The priority of the outbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Protocol

The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) RuleAction

The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) SourceCidrBlock

The source CIDR block of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) SourcePortRange

The source port range of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Status

The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutput

func (o GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutput() GetTrafficMirrorFilterEgressRulesRuleOutput

func (GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext

func (o GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleOutput

func (GetTrafficMirrorFilterEgressRulesRuleOutput) TrafficMirrorFilterId

The ID of the filter associated with the outbound rule.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) TrafficMirrorFilterRuleId

func (o GetTrafficMirrorFilterEgressRulesRuleOutput) TrafficMirrorFilterRuleId() pulumi.StringOutput

The first ID of the resource.

type GetTrafficMirrorFilterIngressRulesArgs

type GetTrafficMirrorFilterIngressRulesArgs struct {
	// A list of Traffic Mirror Filter Ingress Rule IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status *string `pulumi:"status"`
	// The ID of the filter associated with the inbound rule.
	TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"`
}

A collection of arguments for invoking getTrafficMirrorFilterIngressRules.

type GetTrafficMirrorFilterIngressRulesOutputArgs

type GetTrafficMirrorFilterIngressRulesOutputArgs struct {
	// A list of Traffic Mirror Filter Ingress Rule IDs.
	Ids        pulumi.StringArrayInput `pulumi:"ids"`
	OutputFile pulumi.StringPtrInput   `pulumi:"outputFile"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the filter associated with the inbound rule.
	TrafficMirrorFilterId pulumi.StringInput `pulumi:"trafficMirrorFilterId"`
}

A collection of arguments for invoking getTrafficMirrorFilterIngressRules.

func (GetTrafficMirrorFilterIngressRulesOutputArgs) ElementType

type GetTrafficMirrorFilterIngressRulesResult

type GetTrafficMirrorFilterIngressRulesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                    string                                   `pulumi:"id"`
	Ids                   []string                                 `pulumi:"ids"`
	OutputFile            *string                                  `pulumi:"outputFile"`
	Rules                 []GetTrafficMirrorFilterIngressRulesRule `pulumi:"rules"`
	Status                *string                                  `pulumi:"status"`
	TrafficMirrorFilterId string                                   `pulumi:"trafficMirrorFilterId"`
}

A collection of values returned by getTrafficMirrorFilterIngressRules.

func GetTrafficMirrorFilterIngressRules

This data source provides the Vpc Traffic Mirror Filter Ingress Rules of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetTrafficMirrorFilterIngressRules(ctx, &vpc.GetTrafficMirrorFilterIngressRulesArgs{
			TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterIngressRuleId1", ids.Rules[0].Id)
		status, err := vpc.GetTrafficMirrorFilterIngressRules(ctx, &vpc.GetTrafficMirrorFilterIngressRulesArgs{
			TrafficMirrorFilterId: "example_traffic_mirror_filter_id",
			Ids: []string{
				"example_id",
			},
			Status: pulumi.StringRef("Created"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterIngressRuleId2", status.Rules[0].Id)
		return nil
	})
}

```

type GetTrafficMirrorFilterIngressRulesResultOutput

type GetTrafficMirrorFilterIngressRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorFilterIngressRules.

func (GetTrafficMirrorFilterIngressRulesResultOutput) ElementType

func (GetTrafficMirrorFilterIngressRulesResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorFilterIngressRulesResultOutput) Ids

func (GetTrafficMirrorFilterIngressRulesResultOutput) OutputFile

func (GetTrafficMirrorFilterIngressRulesResultOutput) Rules

func (GetTrafficMirrorFilterIngressRulesResultOutput) Status

func (GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutput

func (o GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutput() GetTrafficMirrorFilterIngressRulesResultOutput

func (GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutputWithContext

func (o GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesResultOutput

func (GetTrafficMirrorFilterIngressRulesResultOutput) TrafficMirrorFilterId

type GetTrafficMirrorFilterIngressRulesRule

type GetTrafficMirrorFilterIngressRulesRule struct {
	// The destination CIDR block of the inbound traffic.
	DestinationCidrBlock string `pulumi:"destinationCidrBlock"`
	// The destination port range of the inbound traffic.
	DestinationPortRange string `pulumi:"destinationPortRange"`
	// The ID of the Traffic Mirror Filter Egress Rule.
	Id string `pulumi:"id"`
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority int `pulumi:"priority"`
	// The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol string `pulumi:"protocol"`
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction string `pulumi:"ruleAction"`
	// The source CIDR block of the inbound traffic.
	SourceCidrBlock string `pulumi:"sourceCidrBlock"`
	// The source port range of the inbound traffic.
	SourcePortRange string `pulumi:"sourcePortRange"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status string `pulumi:"status"`
	// The ID of the filter associated with the inbound rule.
	TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"`
	// The first ID of the resource.
	TrafficMirrorFilterRuleId string `pulumi:"trafficMirrorFilterRuleId"`
}

type GetTrafficMirrorFilterIngressRulesRuleArgs

type GetTrafficMirrorFilterIngressRulesRuleArgs struct {
	// The destination CIDR block of the inbound traffic.
	DestinationCidrBlock pulumi.StringInput `pulumi:"destinationCidrBlock"`
	// The destination port range of the inbound traffic.
	DestinationPortRange pulumi.StringInput `pulumi:"destinationPortRange"`
	// The ID of the Traffic Mirror Filter Egress Rule.
	Id pulumi.StringInput `pulumi:"id"`
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntInput `pulumi:"priority"`
	// The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringInput `pulumi:"ruleAction"`
	// The source CIDR block of the inbound traffic.
	SourceCidrBlock pulumi.StringInput `pulumi:"sourceCidrBlock"`
	// The source port range of the inbound traffic.
	SourcePortRange pulumi.StringInput `pulumi:"sourcePortRange"`
	// The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the filter associated with the inbound rule.
	TrafficMirrorFilterId pulumi.StringInput `pulumi:"trafficMirrorFilterId"`
	// The first ID of the resource.
	TrafficMirrorFilterRuleId pulumi.StringInput `pulumi:"trafficMirrorFilterRuleId"`
}

func (GetTrafficMirrorFilterIngressRulesRuleArgs) ElementType

func (GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutput

func (i GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutput() GetTrafficMirrorFilterIngressRulesRuleOutput

func (GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext

func (i GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleOutput

type GetTrafficMirrorFilterIngressRulesRuleArray

type GetTrafficMirrorFilterIngressRulesRuleArray []GetTrafficMirrorFilterIngressRulesRuleInput

func (GetTrafficMirrorFilterIngressRulesRuleArray) ElementType

func (GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput

func (i GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput() GetTrafficMirrorFilterIngressRulesRuleArrayOutput

func (GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext

func (i GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleArrayOutput

type GetTrafficMirrorFilterIngressRulesRuleArrayInput

type GetTrafficMirrorFilterIngressRulesRuleArrayInput interface {
	pulumi.Input

	ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput() GetTrafficMirrorFilterIngressRulesRuleArrayOutput
	ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext(context.Context) GetTrafficMirrorFilterIngressRulesRuleArrayOutput
}

GetTrafficMirrorFilterIngressRulesRuleArrayInput is an input type that accepts GetTrafficMirrorFilterIngressRulesRuleArray and GetTrafficMirrorFilterIngressRulesRuleArrayOutput values. You can construct a concrete instance of `GetTrafficMirrorFilterIngressRulesRuleArrayInput` via:

GetTrafficMirrorFilterIngressRulesRuleArray{ GetTrafficMirrorFilterIngressRulesRuleArgs{...} }

type GetTrafficMirrorFilterIngressRulesRuleArrayOutput

type GetTrafficMirrorFilterIngressRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ElementType

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) Index

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput

func (o GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput() GetTrafficMirrorFilterIngressRulesRuleArrayOutput

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext

func (o GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleArrayOutput

type GetTrafficMirrorFilterIngressRulesRuleInput

type GetTrafficMirrorFilterIngressRulesRuleInput interface {
	pulumi.Input

	ToGetTrafficMirrorFilterIngressRulesRuleOutput() GetTrafficMirrorFilterIngressRulesRuleOutput
	ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext(context.Context) GetTrafficMirrorFilterIngressRulesRuleOutput
}

GetTrafficMirrorFilterIngressRulesRuleInput is an input type that accepts GetTrafficMirrorFilterIngressRulesRuleArgs and GetTrafficMirrorFilterIngressRulesRuleOutput values. You can construct a concrete instance of `GetTrafficMirrorFilterIngressRulesRuleInput` via:

GetTrafficMirrorFilterIngressRulesRuleArgs{...}

type GetTrafficMirrorFilterIngressRulesRuleOutput

type GetTrafficMirrorFilterIngressRulesRuleOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterIngressRulesRuleOutput) DestinationCidrBlock

The destination CIDR block of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) DestinationPortRange

The destination port range of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) ElementType

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Id

The ID of the Traffic Mirror Filter Egress Rule.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Priority

The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Protocol

The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) RuleAction

The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) SourceCidrBlock

The source CIDR block of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) SourcePortRange

The source port range of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Status

The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutput

func (o GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutput() GetTrafficMirrorFilterIngressRulesRuleOutput

func (GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext

func (o GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleOutput

func (GetTrafficMirrorFilterIngressRulesRuleOutput) TrafficMirrorFilterId

The ID of the filter associated with the inbound rule.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) TrafficMirrorFilterRuleId

The first ID of the resource.

type GetTrafficMirrorFiltersArgs

type GetTrafficMirrorFiltersArgs struct {
	// A list of Traffic Mirror Filter IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Traffic Mirror Filter name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
	Status *string `pulumi:"status"`
	// The name of the filter.
	TrafficMirrorFilterName *string `pulumi:"trafficMirrorFilterName"`
}

A collection of arguments for invoking getTrafficMirrorFilters.

type GetTrafficMirrorFiltersFilter

type GetTrafficMirrorFiltersFilter struct {
	// The ID of the Traffic Mirror Filter.
	Id string `pulumi:"id"`
	// The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
	Status string `pulumi:"status"`
	// The description of the filter.
	TrafficMirrorFilterDescription string `pulumi:"trafficMirrorFilterDescription"`
	// The ID of the filter.
	TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"`
	// The name of the filter.
	TrafficMirrorFilterName string `pulumi:"trafficMirrorFilterName"`
}

type GetTrafficMirrorFiltersFilterArgs

type GetTrafficMirrorFiltersFilterArgs struct {
	// The ID of the Traffic Mirror Filter.
	Id pulumi.StringInput `pulumi:"id"`
	// The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
	Status pulumi.StringInput `pulumi:"status"`
	// The description of the filter.
	TrafficMirrorFilterDescription pulumi.StringInput `pulumi:"trafficMirrorFilterDescription"`
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringInput `pulumi:"trafficMirrorFilterId"`
	// The name of the filter.
	TrafficMirrorFilterName pulumi.StringInput `pulumi:"trafficMirrorFilterName"`
}

func (GetTrafficMirrorFiltersFilterArgs) ElementType

func (GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutput

func (i GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutput() GetTrafficMirrorFiltersFilterOutput

func (GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutputWithContext

func (i GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterOutput

type GetTrafficMirrorFiltersFilterArray

type GetTrafficMirrorFiltersFilterArray []GetTrafficMirrorFiltersFilterInput

func (GetTrafficMirrorFiltersFilterArray) ElementType

func (GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutput

func (i GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutput() GetTrafficMirrorFiltersFilterArrayOutput

func (GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext

func (i GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterArrayOutput

type GetTrafficMirrorFiltersFilterArrayInput

type GetTrafficMirrorFiltersFilterArrayInput interface {
	pulumi.Input

	ToGetTrafficMirrorFiltersFilterArrayOutput() GetTrafficMirrorFiltersFilterArrayOutput
	ToGetTrafficMirrorFiltersFilterArrayOutputWithContext(context.Context) GetTrafficMirrorFiltersFilterArrayOutput
}

GetTrafficMirrorFiltersFilterArrayInput is an input type that accepts GetTrafficMirrorFiltersFilterArray and GetTrafficMirrorFiltersFilterArrayOutput values. You can construct a concrete instance of `GetTrafficMirrorFiltersFilterArrayInput` via:

GetTrafficMirrorFiltersFilterArray{ GetTrafficMirrorFiltersFilterArgs{...} }

type GetTrafficMirrorFiltersFilterArrayOutput

type GetTrafficMirrorFiltersFilterArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFiltersFilterArrayOutput) ElementType

func (GetTrafficMirrorFiltersFilterArrayOutput) Index

func (GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutput

func (o GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutput() GetTrafficMirrorFiltersFilterArrayOutput

func (GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext

func (o GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterArrayOutput

type GetTrafficMirrorFiltersFilterInput

type GetTrafficMirrorFiltersFilterInput interface {
	pulumi.Input

	ToGetTrafficMirrorFiltersFilterOutput() GetTrafficMirrorFiltersFilterOutput
	ToGetTrafficMirrorFiltersFilterOutputWithContext(context.Context) GetTrafficMirrorFiltersFilterOutput
}

GetTrafficMirrorFiltersFilterInput is an input type that accepts GetTrafficMirrorFiltersFilterArgs and GetTrafficMirrorFiltersFilterOutput values. You can construct a concrete instance of `GetTrafficMirrorFiltersFilterInput` via:

GetTrafficMirrorFiltersFilterArgs{...}

type GetTrafficMirrorFiltersFilterOutput

type GetTrafficMirrorFiltersFilterOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFiltersFilterOutput) ElementType

func (GetTrafficMirrorFiltersFilterOutput) Id

The ID of the Traffic Mirror Filter.

func (GetTrafficMirrorFiltersFilterOutput) Status

The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.

func (GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutput

func (o GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutput() GetTrafficMirrorFiltersFilterOutput

func (GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutputWithContext

func (o GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterOutput

func (GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterDescription

func (o GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterDescription() pulumi.StringOutput

The description of the filter.

func (GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterId

func (o GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterName

func (o GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterName() pulumi.StringOutput

The name of the filter.

type GetTrafficMirrorFiltersOutputArgs

type GetTrafficMirrorFiltersOutputArgs struct {
	// A list of Traffic Mirror Filter IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Traffic Mirror Filter name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The name of the filter.
	TrafficMirrorFilterName pulumi.StringPtrInput `pulumi:"trafficMirrorFilterName"`
}

A collection of arguments for invoking getTrafficMirrorFilters.

func (GetTrafficMirrorFiltersOutputArgs) ElementType

type GetTrafficMirrorFiltersResult

type GetTrafficMirrorFiltersResult struct {
	Filters []GetTrafficMirrorFiltersFilter `pulumi:"filters"`
	// 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"`
	Status                  *string  `pulumi:"status"`
	TrafficMirrorFilterName *string  `pulumi:"trafficMirrorFilterName"`
}

A collection of values returned by getTrafficMirrorFilters.

func GetTrafficMirrorFilters

func GetTrafficMirrorFilters(ctx *pulumi.Context, args *GetTrafficMirrorFiltersArgs, opts ...pulumi.InvokeOption) (*GetTrafficMirrorFiltersResult, error)

This data source provides the Vpc Traffic Mirror Filters of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterId1", ids.Filters[0].Id)
		nameRegex, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
			NameRegex: pulumi.StringRef("^my-TrafficMirrorFilter"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterId2", nameRegex.Filters[0].Id)
		filterName, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
			TrafficMirrorFilterName: pulumi.StringRef("example_traffic_mirror_filter_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterId3", filterName.Filters[0].Id)
		status, err := vpc.GetTrafficMirrorFilters(ctx, &vpc.GetTrafficMirrorFiltersArgs{
			Status: pulumi.StringRef("^my-TrafficMirrorFilter"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorFilterId4", status.Filters[0].Id)
		return nil
	})
}

```

type GetTrafficMirrorFiltersResultOutput

type GetTrafficMirrorFiltersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorFilters.

func (GetTrafficMirrorFiltersResultOutput) ElementType

func (GetTrafficMirrorFiltersResultOutput) Filters

func (GetTrafficMirrorFiltersResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorFiltersResultOutput) Ids

func (GetTrafficMirrorFiltersResultOutput) NameRegex

func (GetTrafficMirrorFiltersResultOutput) Names

func (GetTrafficMirrorFiltersResultOutput) OutputFile

func (GetTrafficMirrorFiltersResultOutput) Status

func (GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutput

func (o GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutput() GetTrafficMirrorFiltersResultOutput

func (GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutputWithContext

func (o GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersResultOutput

func (GetTrafficMirrorFiltersResultOutput) TrafficMirrorFilterName

func (o GetTrafficMirrorFiltersResultOutput) TrafficMirrorFilterName() pulumi.StringPtrOutput

type GetTrafficMirrorServiceArgs

type GetTrafficMirrorServiceArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: `On` or `Off`. Default to `Off`.
	Enable *string `pulumi:"enable"`
}

A collection of arguments for invoking getTrafficMirrorService.

type GetTrafficMirrorServiceOutputArgs

type GetTrafficMirrorServiceOutputArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Valid values: `On` or `Off`. Default to `Off`.
	Enable pulumi.StringPtrInput `pulumi:"enable"`
}

A collection of arguments for invoking getTrafficMirrorService.

func (GetTrafficMirrorServiceOutputArgs) ElementType

type GetTrafficMirrorServiceResult

type GetTrafficMirrorServiceResult struct {
	Enable *string `pulumi:"enable"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The current service enable status.
	Status string `pulumi:"status"`
}

A collection of values returned by getTrafficMirrorService.

func GetTrafficMirrorService

func GetTrafficMirrorService(ctx *pulumi.Context, args *GetTrafficMirrorServiceArgs, opts ...pulumi.InvokeOption) (*GetTrafficMirrorServiceResult, error)

Using this data source can open VPC Traffic Mirror service automatically. If the service has been opened, it will return opened.

For information about VPC Traffic Mirror and how to use it, see [What is VPC Traffic Mirror](https://www.alibabacloud.com/help/en/doc-detail/207513.htm).

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

## Example Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetTrafficMirrorService(ctx, &vpc.GetTrafficMirrorServiceArgs{
			Enable: pulumi.StringRef("On"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetTrafficMirrorServiceResultOutput

type GetTrafficMirrorServiceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorService.

func (GetTrafficMirrorServiceResultOutput) ElementType

func (GetTrafficMirrorServiceResultOutput) Enable

func (GetTrafficMirrorServiceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorServiceResultOutput) Status

The current service enable status.

func (GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutput

func (o GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutput() GetTrafficMirrorServiceResultOutput

func (GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutputWithContext

func (o GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutputWithContext(ctx context.Context) GetTrafficMirrorServiceResultOutput

type GetTrafficMirrorSessionsArgs

type GetTrafficMirrorSessionsArgs struct {
	// Indicates whether traffic mirror sessions are enabled. default to `false`.
	Enabled *bool `pulumi:"enabled"`
	// A list of Traffic Mirror Session IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Traffic Mirror Session name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The priority of the traffic mirror session. A smaller value indicates a higher priority.
	Priority *int `pulumi:"priority"`
	// The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
	Status *string `pulumi:"status"`
	// The ID of the filter.
	TrafficMirrorFilterId *string `pulumi:"trafficMirrorFilterId"`
	// The name of the traffic mirror session.
	TrafficMirrorSessionName *string `pulumi:"trafficMirrorSessionName"`
	// The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source.
	TrafficMirrorSourceId *string `pulumi:"trafficMirrorSourceId"`
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId *string `pulumi:"trafficMirrorTargetId"`
}

A collection of arguments for invoking getTrafficMirrorSessions.

type GetTrafficMirrorSessionsOutputArgs

type GetTrafficMirrorSessionsOutputArgs struct {
	// Indicates whether traffic mirror sessions are enabled. default to `false`.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// A list of Traffic Mirror Session IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Traffic Mirror Session name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The priority of the traffic mirror session. A smaller value indicates a higher priority.
	Priority pulumi.IntPtrInput `pulumi:"priority"`
	// The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringPtrInput `pulumi:"trafficMirrorFilterId"`
	// The name of the traffic mirror session.
	TrafficMirrorSessionName pulumi.StringPtrInput `pulumi:"trafficMirrorSessionName"`
	// The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source.
	TrafficMirrorSourceId pulumi.StringPtrInput `pulumi:"trafficMirrorSourceId"`
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId pulumi.StringPtrInput `pulumi:"trafficMirrorTargetId"`
}

A collection of arguments for invoking getTrafficMirrorSessions.

func (GetTrafficMirrorSessionsOutputArgs) ElementType

type GetTrafficMirrorSessionsResult

type GetTrafficMirrorSessionsResult struct {
	Enabled *bool `pulumi:"enabled"`
	// 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"`
	Priority                 *int                              `pulumi:"priority"`
	Sessions                 []GetTrafficMirrorSessionsSession `pulumi:"sessions"`
	Status                   *string                           `pulumi:"status"`
	TrafficMirrorFilterId    *string                           `pulumi:"trafficMirrorFilterId"`
	TrafficMirrorSessionName *string                           `pulumi:"trafficMirrorSessionName"`
	TrafficMirrorSourceId    *string                           `pulumi:"trafficMirrorSourceId"`
	TrafficMirrorTargetId    *string                           `pulumi:"trafficMirrorTargetId"`
}

A collection of values returned by getTrafficMirrorSessions.

func GetTrafficMirrorSessions

func GetTrafficMirrorSessions(ctx *pulumi.Context, args *GetTrafficMirrorSessionsArgs, opts ...pulumi.InvokeOption) (*GetTrafficMirrorSessionsResult, error)

This data source provides the Vpc Traffic Mirror Sessions of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId1", ids.Sessions[0].Id)
		nameRegex, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			NameRegex: pulumi.StringRef("^my-TrafficMirrorSession"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId2", nameRegex.Sessions[0].Id)
		enabled, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			Enabled: pulumi.BoolRef(false),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId3", enabled.Sessions[0].Id)
		priority, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			Priority: pulumi.IntRef(1),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId4", priority.Sessions[0].Id)
		filterId, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			TrafficMirrorFilterId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId5", filterId.Sessions[0].Id)
		sessionName, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			TrafficMirrorSessionName: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId6", sessionName.Sessions[0].Id)
		sourceId, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			TrafficMirrorSourceId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId7", sourceId.Sessions[0].Id)
		targetId, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			TrafficMirrorTargetId: pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId8", targetId.Sessions[0].Id)
		status, err := vpc.GetTrafficMirrorSessions(ctx, &vpc.GetTrafficMirrorSessionsArgs{
			Ids: []string{
				"example_id",
			},
			Status: pulumi.StringRef("Created"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcTrafficMirrorSessionId9", status.Sessions[0].Id)
		return nil
	})
}

```

type GetTrafficMirrorSessionsResultOutput

type GetTrafficMirrorSessionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorSessions.

func (GetTrafficMirrorSessionsResultOutput) ElementType

func (GetTrafficMirrorSessionsResultOutput) Enabled

func (GetTrafficMirrorSessionsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorSessionsResultOutput) Ids

func (GetTrafficMirrorSessionsResultOutput) NameRegex

func (GetTrafficMirrorSessionsResultOutput) Names

func (GetTrafficMirrorSessionsResultOutput) OutputFile

func (GetTrafficMirrorSessionsResultOutput) Priority

func (GetTrafficMirrorSessionsResultOutput) Sessions

func (GetTrafficMirrorSessionsResultOutput) Status

func (GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutput

func (o GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutput() GetTrafficMirrorSessionsResultOutput

func (GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutputWithContext

func (o GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsResultOutput

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorFilterId

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorSessionName

func (o GetTrafficMirrorSessionsResultOutput) TrafficMirrorSessionName() pulumi.StringPtrOutput

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorSourceId

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorTargetId

type GetTrafficMirrorSessionsSession

type GetTrafficMirrorSessionsSession struct {
	// Indicates whether traffic mirror sessions are enabled. default to `false`.
	Enabled bool `pulumi:"enabled"`
	// The ID of the Traffic Mirror Session.
	Id string `pulumi:"id"`
	// The maximum transmission unit (MTU).
	PacketLength int `pulumi:"packetLength"`
	// The priority of the traffic mirror session. A smaller value indicates a higher priority.
	Priority int `pulumi:"priority"`
	// The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
	Status string `pulumi:"status"`
	// The ID of the filter.
	TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"`
	// The state of the traffic mirror session. Valid values: `Normal` or `FinancialLocked`. `Normal`: working as expected. `FinancialLocked`: locked due to overdue payments.
	TrafficMirrorSessionBusinessStatus string `pulumi:"trafficMirrorSessionBusinessStatus"`
	// The description of the traffic mirror session.
	TrafficMirrorSessionDescription string `pulumi:"trafficMirrorSessionDescription"`
	// The first ID of the resource.
	TrafficMirrorSessionId string `pulumi:"trafficMirrorSessionId"`
	// The name of the traffic mirror session.
	TrafficMirrorSessionName string `pulumi:"trafficMirrorSessionName"`
	// The ID of the mirror source.
	TrafficMirrorSourceIds []string `pulumi:"trafficMirrorSourceIds"`
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId string `pulumi:"trafficMirrorTargetId"`
	// The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance
	TrafficMirrorTargetType string `pulumi:"trafficMirrorTargetType"`
	// You can specify VNIs to distinguish different mirrored traffic.
	VirtualNetworkId int `pulumi:"virtualNetworkId"`
}

type GetTrafficMirrorSessionsSessionArgs

type GetTrafficMirrorSessionsSessionArgs struct {
	// Indicates whether traffic mirror sessions are enabled. default to `false`.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// The ID of the Traffic Mirror Session.
	Id pulumi.StringInput `pulumi:"id"`
	// The maximum transmission unit (MTU).
	PacketLength pulumi.IntInput `pulumi:"packetLength"`
	// The priority of the traffic mirror session. A smaller value indicates a higher priority.
	Priority pulumi.IntInput `pulumi:"priority"`
	// The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringInput `pulumi:"trafficMirrorFilterId"`
	// The state of the traffic mirror session. Valid values: `Normal` or `FinancialLocked`. `Normal`: working as expected. `FinancialLocked`: locked due to overdue payments.
	TrafficMirrorSessionBusinessStatus pulumi.StringInput `pulumi:"trafficMirrorSessionBusinessStatus"`
	// The description of the traffic mirror session.
	TrafficMirrorSessionDescription pulumi.StringInput `pulumi:"trafficMirrorSessionDescription"`
	// The first ID of the resource.
	TrafficMirrorSessionId pulumi.StringInput `pulumi:"trafficMirrorSessionId"`
	// The name of the traffic mirror session.
	TrafficMirrorSessionName pulumi.StringInput `pulumi:"trafficMirrorSessionName"`
	// The ID of the mirror source.
	TrafficMirrorSourceIds pulumi.StringArrayInput `pulumi:"trafficMirrorSourceIds"`
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId pulumi.StringInput `pulumi:"trafficMirrorTargetId"`
	// The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance
	TrafficMirrorTargetType pulumi.StringInput `pulumi:"trafficMirrorTargetType"`
	// You can specify VNIs to distinguish different mirrored traffic.
	VirtualNetworkId pulumi.IntInput `pulumi:"virtualNetworkId"`
}

func (GetTrafficMirrorSessionsSessionArgs) ElementType

func (GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutput

func (i GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutput() GetTrafficMirrorSessionsSessionOutput

func (GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutputWithContext

func (i GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionOutput

type GetTrafficMirrorSessionsSessionArray

type GetTrafficMirrorSessionsSessionArray []GetTrafficMirrorSessionsSessionInput

func (GetTrafficMirrorSessionsSessionArray) ElementType

func (GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutput

func (i GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutput() GetTrafficMirrorSessionsSessionArrayOutput

func (GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext

func (i GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionArrayOutput

type GetTrafficMirrorSessionsSessionArrayInput

type GetTrafficMirrorSessionsSessionArrayInput interface {
	pulumi.Input

	ToGetTrafficMirrorSessionsSessionArrayOutput() GetTrafficMirrorSessionsSessionArrayOutput
	ToGetTrafficMirrorSessionsSessionArrayOutputWithContext(context.Context) GetTrafficMirrorSessionsSessionArrayOutput
}

GetTrafficMirrorSessionsSessionArrayInput is an input type that accepts GetTrafficMirrorSessionsSessionArray and GetTrafficMirrorSessionsSessionArrayOutput values. You can construct a concrete instance of `GetTrafficMirrorSessionsSessionArrayInput` via:

GetTrafficMirrorSessionsSessionArray{ GetTrafficMirrorSessionsSessionArgs{...} }

type GetTrafficMirrorSessionsSessionArrayOutput

type GetTrafficMirrorSessionsSessionArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorSessionsSessionArrayOutput) ElementType

func (GetTrafficMirrorSessionsSessionArrayOutput) Index

func (GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutput

func (o GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutput() GetTrafficMirrorSessionsSessionArrayOutput

func (GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext

func (o GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionArrayOutput

type GetTrafficMirrorSessionsSessionInput

type GetTrafficMirrorSessionsSessionInput interface {
	pulumi.Input

	ToGetTrafficMirrorSessionsSessionOutput() GetTrafficMirrorSessionsSessionOutput
	ToGetTrafficMirrorSessionsSessionOutputWithContext(context.Context) GetTrafficMirrorSessionsSessionOutput
}

GetTrafficMirrorSessionsSessionInput is an input type that accepts GetTrafficMirrorSessionsSessionArgs and GetTrafficMirrorSessionsSessionOutput values. You can construct a concrete instance of `GetTrafficMirrorSessionsSessionInput` via:

GetTrafficMirrorSessionsSessionArgs{...}

type GetTrafficMirrorSessionsSessionOutput

type GetTrafficMirrorSessionsSessionOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorSessionsSessionOutput) ElementType

func (GetTrafficMirrorSessionsSessionOutput) Enabled

Indicates whether traffic mirror sessions are enabled. default to `false`.

func (GetTrafficMirrorSessionsSessionOutput) Id

The ID of the Traffic Mirror Session.

func (GetTrafficMirrorSessionsSessionOutput) PacketLength

The maximum transmission unit (MTU).

func (GetTrafficMirrorSessionsSessionOutput) Priority

The priority of the traffic mirror session. A smaller value indicates a higher priority.

func (GetTrafficMirrorSessionsSessionOutput) Status

The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.

func (GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutput

func (o GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutput() GetTrafficMirrorSessionsSessionOutput

func (GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutputWithContext

func (o GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionOutput

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorFilterId

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionBusinessStatus

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionBusinessStatus() pulumi.StringOutput

The state of the traffic mirror session. Valid values: `Normal` or `FinancialLocked`. `Normal`: working as expected. `FinancialLocked`: locked due to overdue payments.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionDescription

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionDescription() pulumi.StringOutput

The description of the traffic mirror session.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionId

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionId() pulumi.StringOutput

The first ID of the resource.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionName

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionName() pulumi.StringOutput

The name of the traffic mirror session.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSourceIds

The ID of the mirror source.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorTargetId

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorTargetId() pulumi.StringOutput

The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorTargetType

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorTargetType() pulumi.StringOutput

The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance

func (GetTrafficMirrorSessionsSessionOutput) VirtualNetworkId

You can specify VNIs to distinguish different mirrored traffic.

type GetVpcFlowLogsArgs

type GetVpcFlowLogsArgs struct {
	// The Description of flow log.
	Description *string `pulumi:"description"`
	// The flow log name.
	FlowLogName *string `pulumi:"flowLogName"`
	// A list of Flow Log IDs.
	Ids []string `pulumi:"ids"`
	// The log store name.
	LogStoreName *string `pulumi:"logStoreName"`
	// A regex string to filter results by Flow Log name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The project name.
	ProjectName *string `pulumi:"projectName"`
	// The resource id.
	ResourceId *string `pulumi:"resourceId"`
	// The resource type.
	ResourceType *string `pulumi:"resourceType"`
	// The status of flow log.
	Status *string `pulumi:"status"`
	// The traffic type.
	TrafficType *string `pulumi:"trafficType"`
}

A collection of arguments for invoking getVpcFlowLogs.

type GetVpcFlowLogsLog

type GetVpcFlowLogsLog struct {
	// The Description of flow log.
	Description string `pulumi:"description"`
	// The flow log ID.
	FlowLogId string `pulumi:"flowLogId"`
	// The flow log name.
	FlowLogName string `pulumi:"flowLogName"`
	// The ID of the Flow Log.
	Id string `pulumi:"id"`
	// The log store name.
	LogStoreName string `pulumi:"logStoreName"`
	// The project name.
	ProjectName string `pulumi:"projectName"`
	// The resource id.
	ResourceId string `pulumi:"resourceId"`
	// The resource type.
	ResourceType string `pulumi:"resourceType"`
	// The status of flow log.
	Status string `pulumi:"status"`
	// The traffic type.
	TrafficType string `pulumi:"trafficType"`
}

type GetVpcFlowLogsLogArgs

type GetVpcFlowLogsLogArgs struct {
	// The Description of flow log.
	Description pulumi.StringInput `pulumi:"description"`
	// The flow log ID.
	FlowLogId pulumi.StringInput `pulumi:"flowLogId"`
	// The flow log name.
	FlowLogName pulumi.StringInput `pulumi:"flowLogName"`
	// The ID of the Flow Log.
	Id pulumi.StringInput `pulumi:"id"`
	// The log store name.
	LogStoreName pulumi.StringInput `pulumi:"logStoreName"`
	// The project name.
	ProjectName pulumi.StringInput `pulumi:"projectName"`
	// The resource id.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
	// The resource type.
	ResourceType pulumi.StringInput `pulumi:"resourceType"`
	// The status of flow log.
	Status pulumi.StringInput `pulumi:"status"`
	// The traffic type.
	TrafficType pulumi.StringInput `pulumi:"trafficType"`
}

func (GetVpcFlowLogsLogArgs) ElementType

func (GetVpcFlowLogsLogArgs) ElementType() reflect.Type

func (GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutput

func (i GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutput() GetVpcFlowLogsLogOutput

func (GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutputWithContext

func (i GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutputWithContext(ctx context.Context) GetVpcFlowLogsLogOutput

type GetVpcFlowLogsLogArray

type GetVpcFlowLogsLogArray []GetVpcFlowLogsLogInput

func (GetVpcFlowLogsLogArray) ElementType

func (GetVpcFlowLogsLogArray) ElementType() reflect.Type

func (GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutput

func (i GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutput() GetVpcFlowLogsLogArrayOutput

func (GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutputWithContext

func (i GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutputWithContext(ctx context.Context) GetVpcFlowLogsLogArrayOutput

type GetVpcFlowLogsLogArrayInput

type GetVpcFlowLogsLogArrayInput interface {
	pulumi.Input

	ToGetVpcFlowLogsLogArrayOutput() GetVpcFlowLogsLogArrayOutput
	ToGetVpcFlowLogsLogArrayOutputWithContext(context.Context) GetVpcFlowLogsLogArrayOutput
}

GetVpcFlowLogsLogArrayInput is an input type that accepts GetVpcFlowLogsLogArray and GetVpcFlowLogsLogArrayOutput values. You can construct a concrete instance of `GetVpcFlowLogsLogArrayInput` via:

GetVpcFlowLogsLogArray{ GetVpcFlowLogsLogArgs{...} }

type GetVpcFlowLogsLogArrayOutput

type GetVpcFlowLogsLogArrayOutput struct{ *pulumi.OutputState }

func (GetVpcFlowLogsLogArrayOutput) ElementType

func (GetVpcFlowLogsLogArrayOutput) Index

func (GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutput

func (o GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutput() GetVpcFlowLogsLogArrayOutput

func (GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutputWithContext

func (o GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutputWithContext(ctx context.Context) GetVpcFlowLogsLogArrayOutput

type GetVpcFlowLogsLogInput

type GetVpcFlowLogsLogInput interface {
	pulumi.Input

	ToGetVpcFlowLogsLogOutput() GetVpcFlowLogsLogOutput
	ToGetVpcFlowLogsLogOutputWithContext(context.Context) GetVpcFlowLogsLogOutput
}

GetVpcFlowLogsLogInput is an input type that accepts GetVpcFlowLogsLogArgs and GetVpcFlowLogsLogOutput values. You can construct a concrete instance of `GetVpcFlowLogsLogInput` via:

GetVpcFlowLogsLogArgs{...}

type GetVpcFlowLogsLogOutput

type GetVpcFlowLogsLogOutput struct{ *pulumi.OutputState }

func (GetVpcFlowLogsLogOutput) Description

The Description of flow log.

func (GetVpcFlowLogsLogOutput) ElementType

func (GetVpcFlowLogsLogOutput) ElementType() reflect.Type

func (GetVpcFlowLogsLogOutput) FlowLogId

The flow log ID.

func (GetVpcFlowLogsLogOutput) FlowLogName

The flow log name.

func (GetVpcFlowLogsLogOutput) Id

The ID of the Flow Log.

func (GetVpcFlowLogsLogOutput) LogStoreName

func (o GetVpcFlowLogsLogOutput) LogStoreName() pulumi.StringOutput

The log store name.

func (GetVpcFlowLogsLogOutput) ProjectName

The project name.

func (GetVpcFlowLogsLogOutput) ResourceId

The resource id.

func (GetVpcFlowLogsLogOutput) ResourceType

func (o GetVpcFlowLogsLogOutput) ResourceType() pulumi.StringOutput

The resource type.

func (GetVpcFlowLogsLogOutput) Status

The status of flow log.

func (GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutput

func (o GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutput() GetVpcFlowLogsLogOutput

func (GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutputWithContext

func (o GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutputWithContext(ctx context.Context) GetVpcFlowLogsLogOutput

func (GetVpcFlowLogsLogOutput) TrafficType

The traffic type.

type GetVpcFlowLogsOutputArgs

type GetVpcFlowLogsOutputArgs struct {
	// The Description of flow log.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The flow log name.
	FlowLogName pulumi.StringPtrInput `pulumi:"flowLogName"`
	// A list of Flow Log IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The log store name.
	LogStoreName pulumi.StringPtrInput `pulumi:"logStoreName"`
	// A regex string to filter results by Flow Log name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The project name.
	ProjectName pulumi.StringPtrInput `pulumi:"projectName"`
	// The resource id.
	ResourceId pulumi.StringPtrInput `pulumi:"resourceId"`
	// The resource type.
	ResourceType pulumi.StringPtrInput `pulumi:"resourceType"`
	// The status of flow log.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The traffic type.
	TrafficType pulumi.StringPtrInput `pulumi:"trafficType"`
}

A collection of arguments for invoking getVpcFlowLogs.

func (GetVpcFlowLogsOutputArgs) ElementType

func (GetVpcFlowLogsOutputArgs) ElementType() reflect.Type

type GetVpcFlowLogsResult

type GetVpcFlowLogsResult struct {
	Description *string `pulumi:"description"`
	FlowLogName *string `pulumi:"flowLogName"`
	// The provider-assigned unique ID for this managed resource.
	Id           string              `pulumi:"id"`
	Ids          []string            `pulumi:"ids"`
	LogStoreName *string             `pulumi:"logStoreName"`
	Logs         []GetVpcFlowLogsLog `pulumi:"logs"`
	NameRegex    *string             `pulumi:"nameRegex"`
	Names        []string            `pulumi:"names"`
	OutputFile   *string             `pulumi:"outputFile"`
	ProjectName  *string             `pulumi:"projectName"`
	ResourceId   *string             `pulumi:"resourceId"`
	ResourceType *string             `pulumi:"resourceType"`
	Status       *string             `pulumi:"status"`
	TrafficType  *string             `pulumi:"trafficType"`
}

A collection of values returned by getVpcFlowLogs.

func GetVpcFlowLogs

func GetVpcFlowLogs(ctx *pulumi.Context, args *GetVpcFlowLogsArgs, opts ...pulumi.InvokeOption) (*GetVpcFlowLogsResult, error)

This data source provides the Vpc Flow Logs of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := vpc.GetVpcFlowLogs(ctx, &vpc.GetVpcFlowLogsArgs{
			Ids: []string{
				"example_value",
			},
			NameRegex: pulumi.StringRef("the_resource_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstVpcFlowLogId", example.Logs[0].Id)
		return nil
	})
}

```

type GetVpcFlowLogsResultOutput

type GetVpcFlowLogsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVpcFlowLogs.

func (GetVpcFlowLogsResultOutput) Description

func (GetVpcFlowLogsResultOutput) ElementType

func (GetVpcFlowLogsResultOutput) ElementType() reflect.Type

func (GetVpcFlowLogsResultOutput) FlowLogName

func (GetVpcFlowLogsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetVpcFlowLogsResultOutput) Ids

func (GetVpcFlowLogsResultOutput) LogStoreName

func (GetVpcFlowLogsResultOutput) Logs

func (GetVpcFlowLogsResultOutput) NameRegex

func (GetVpcFlowLogsResultOutput) Names

func (GetVpcFlowLogsResultOutput) OutputFile

func (GetVpcFlowLogsResultOutput) ProjectName

func (GetVpcFlowLogsResultOutput) ResourceId

func (GetVpcFlowLogsResultOutput) ResourceType

func (GetVpcFlowLogsResultOutput) Status

func (GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutput

func (o GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutput() GetVpcFlowLogsResultOutput

func (GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutputWithContext

func (o GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutputWithContext(ctx context.Context) GetVpcFlowLogsResultOutput

func (GetVpcFlowLogsResultOutput) TrafficType

type HAVip

type HAVip struct {
	pulumi.CustomResourceState

	// The description of the HaVip instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the HaVip instance.
	HavipName pulumi.StringPtrOutput `pulumi:"havipName"`
	// The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// (Available in v1.120.0+) The status of the HaVip instance.
	Status pulumi.StringOutput `pulumi:"status"`
	// The vswitchId of the HaVip, the field can't be changed.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewHAVip(ctx, "foo", &vpc.HAVipArgs{
			Description: pulumi.String("test_havip"),
			VswitchId:   pulumi.String("vsw-fakeid"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The havip can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/hAVip:HAVip foo havip-abc123456

```

func GetHAVip

func GetHAVip(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HAVipState, opts ...pulumi.ResourceOption) (*HAVip, error)

GetHAVip gets an existing HAVip 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 NewHAVip

func NewHAVip(ctx *pulumi.Context,
	name string, args *HAVipArgs, opts ...pulumi.ResourceOption) (*HAVip, error)

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

func (*HAVip) ElementType

func (*HAVip) ElementType() reflect.Type

func (*HAVip) ToHAVipOutput

func (i *HAVip) ToHAVipOutput() HAVipOutput

func (*HAVip) ToHAVipOutputWithContext

func (i *HAVip) ToHAVipOutputWithContext(ctx context.Context) HAVipOutput

type HAVipArgs

type HAVipArgs struct {
	// The description of the HaVip instance.
	Description pulumi.StringPtrInput
	// The name of the HaVip instance.
	HavipName pulumi.StringPtrInput
	// The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.
	IpAddress pulumi.StringPtrInput
	// The vswitchId of the HaVip, the field can't be changed.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a HAVip resource.

func (HAVipArgs) ElementType

func (HAVipArgs) ElementType() reflect.Type

type HAVipArray

type HAVipArray []HAVipInput

func (HAVipArray) ElementType

func (HAVipArray) ElementType() reflect.Type

func (HAVipArray) ToHAVipArrayOutput

func (i HAVipArray) ToHAVipArrayOutput() HAVipArrayOutput

func (HAVipArray) ToHAVipArrayOutputWithContext

func (i HAVipArray) ToHAVipArrayOutputWithContext(ctx context.Context) HAVipArrayOutput

type HAVipArrayInput

type HAVipArrayInput interface {
	pulumi.Input

	ToHAVipArrayOutput() HAVipArrayOutput
	ToHAVipArrayOutputWithContext(context.Context) HAVipArrayOutput
}

HAVipArrayInput is an input type that accepts HAVipArray and HAVipArrayOutput values. You can construct a concrete instance of `HAVipArrayInput` via:

HAVipArray{ HAVipArgs{...} }

type HAVipArrayOutput

type HAVipArrayOutput struct{ *pulumi.OutputState }

func (HAVipArrayOutput) ElementType

func (HAVipArrayOutput) ElementType() reflect.Type

func (HAVipArrayOutput) Index

func (HAVipArrayOutput) ToHAVipArrayOutput

func (o HAVipArrayOutput) ToHAVipArrayOutput() HAVipArrayOutput

func (HAVipArrayOutput) ToHAVipArrayOutputWithContext

func (o HAVipArrayOutput) ToHAVipArrayOutputWithContext(ctx context.Context) HAVipArrayOutput

type HAVipAttachment

type HAVipAttachment struct {
	pulumi.CustomResourceState

	// The havipId of the havip attachment, the field can't be changed.
	HavipId pulumi.StringOutput `pulumi:"havipId"`
	// The instanceId of the havip attachment, the field can't be changed.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

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
		}
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(defaultZones.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(1),
			MemorySize:       pulumi.Float64Ref(2),
		}, nil)
		if err != nil {
			return err
		}
		defaultImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_18.*64"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		name := "test_havip_attachment"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			VpcId:     fooNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/21"),
			ZoneId:    pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		fooHAVip, err := vpc.NewHAVip(ctx, "fooHAVip", &vpc.HAVipArgs{
			VswitchId:   fooSwitch.ID(),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tfTestFoo", &ecs.SecurityGroupArgs{
			Description: pulumi.String("foo"),
			VpcId:       fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		fooInstance, err := ecs.NewInstance(ctx, "fooInstance", &ecs.InstanceArgs{
			AvailabilityZone:        pulumi.String(defaultZones.Zones[0].Id),
			VswitchId:               fooSwitch.ID(),
			ImageId:                 pulumi.String(defaultImages.Images[0].Id),
			InstanceType:            pulumi.String(defaultInstanceTypes.InstanceTypes[0].Id),
			SystemDiskCategory:      pulumi.String("cloud_efficiency"),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SecurityGroups: pulumi.StringArray{
				tfTestFoo.ID(),
			},
			InstanceName: pulumi.String(name),
			UserData:     pulumi.String("echo 'net.ipv4.ip_forward=1'>> /etc/sysctl.conf"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewHAVipAttachment(ctx, "fooHAVipAttachment", &vpc.HAVipAttachmentArgs{
			HavipId:    fooHAVip.ID(),
			InstanceId: fooInstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The havip attachment can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/hAVipAttachment:HAVipAttachment foo havip-abc123456:i-abc123456

```

func GetHAVipAttachment

func GetHAVipAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HAVipAttachmentState, opts ...pulumi.ResourceOption) (*HAVipAttachment, error)

GetHAVipAttachment gets an existing HAVipAttachment 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 NewHAVipAttachment

func NewHAVipAttachment(ctx *pulumi.Context,
	name string, args *HAVipAttachmentArgs, opts ...pulumi.ResourceOption) (*HAVipAttachment, error)

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

func (*HAVipAttachment) ElementType

func (*HAVipAttachment) ElementType() reflect.Type

func (*HAVipAttachment) ToHAVipAttachmentOutput

func (i *HAVipAttachment) ToHAVipAttachmentOutput() HAVipAttachmentOutput

func (*HAVipAttachment) ToHAVipAttachmentOutputWithContext

func (i *HAVipAttachment) ToHAVipAttachmentOutputWithContext(ctx context.Context) HAVipAttachmentOutput

type HAVipAttachmentArgs

type HAVipAttachmentArgs struct {
	// The havipId of the havip attachment, the field can't be changed.
	HavipId pulumi.StringInput
	// The instanceId of the havip attachment, the field can't be changed.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a HAVipAttachment resource.

func (HAVipAttachmentArgs) ElementType

func (HAVipAttachmentArgs) ElementType() reflect.Type

type HAVipAttachmentArray

type HAVipAttachmentArray []HAVipAttachmentInput

func (HAVipAttachmentArray) ElementType

func (HAVipAttachmentArray) ElementType() reflect.Type

func (HAVipAttachmentArray) ToHAVipAttachmentArrayOutput

func (i HAVipAttachmentArray) ToHAVipAttachmentArrayOutput() HAVipAttachmentArrayOutput

func (HAVipAttachmentArray) ToHAVipAttachmentArrayOutputWithContext

func (i HAVipAttachmentArray) ToHAVipAttachmentArrayOutputWithContext(ctx context.Context) HAVipAttachmentArrayOutput

type HAVipAttachmentArrayInput

type HAVipAttachmentArrayInput interface {
	pulumi.Input

	ToHAVipAttachmentArrayOutput() HAVipAttachmentArrayOutput
	ToHAVipAttachmentArrayOutputWithContext(context.Context) HAVipAttachmentArrayOutput
}

HAVipAttachmentArrayInput is an input type that accepts HAVipAttachmentArray and HAVipAttachmentArrayOutput values. You can construct a concrete instance of `HAVipAttachmentArrayInput` via:

HAVipAttachmentArray{ HAVipAttachmentArgs{...} }

type HAVipAttachmentArrayOutput

type HAVipAttachmentArrayOutput struct{ *pulumi.OutputState }

func (HAVipAttachmentArrayOutput) ElementType

func (HAVipAttachmentArrayOutput) ElementType() reflect.Type

func (HAVipAttachmentArrayOutput) Index

func (HAVipAttachmentArrayOutput) ToHAVipAttachmentArrayOutput

func (o HAVipAttachmentArrayOutput) ToHAVipAttachmentArrayOutput() HAVipAttachmentArrayOutput

func (HAVipAttachmentArrayOutput) ToHAVipAttachmentArrayOutputWithContext

func (o HAVipAttachmentArrayOutput) ToHAVipAttachmentArrayOutputWithContext(ctx context.Context) HAVipAttachmentArrayOutput

type HAVipAttachmentInput

type HAVipAttachmentInput interface {
	pulumi.Input

	ToHAVipAttachmentOutput() HAVipAttachmentOutput
	ToHAVipAttachmentOutputWithContext(ctx context.Context) HAVipAttachmentOutput
}

type HAVipAttachmentMap

type HAVipAttachmentMap map[string]HAVipAttachmentInput

func (HAVipAttachmentMap) ElementType

func (HAVipAttachmentMap) ElementType() reflect.Type

func (HAVipAttachmentMap) ToHAVipAttachmentMapOutput

func (i HAVipAttachmentMap) ToHAVipAttachmentMapOutput() HAVipAttachmentMapOutput

func (HAVipAttachmentMap) ToHAVipAttachmentMapOutputWithContext

func (i HAVipAttachmentMap) ToHAVipAttachmentMapOutputWithContext(ctx context.Context) HAVipAttachmentMapOutput

type HAVipAttachmentMapInput

type HAVipAttachmentMapInput interface {
	pulumi.Input

	ToHAVipAttachmentMapOutput() HAVipAttachmentMapOutput
	ToHAVipAttachmentMapOutputWithContext(context.Context) HAVipAttachmentMapOutput
}

HAVipAttachmentMapInput is an input type that accepts HAVipAttachmentMap and HAVipAttachmentMapOutput values. You can construct a concrete instance of `HAVipAttachmentMapInput` via:

HAVipAttachmentMap{ "key": HAVipAttachmentArgs{...} }

type HAVipAttachmentMapOutput

type HAVipAttachmentMapOutput struct{ *pulumi.OutputState }

func (HAVipAttachmentMapOutput) ElementType

func (HAVipAttachmentMapOutput) ElementType() reflect.Type

func (HAVipAttachmentMapOutput) MapIndex

func (HAVipAttachmentMapOutput) ToHAVipAttachmentMapOutput

func (o HAVipAttachmentMapOutput) ToHAVipAttachmentMapOutput() HAVipAttachmentMapOutput

func (HAVipAttachmentMapOutput) ToHAVipAttachmentMapOutputWithContext

func (o HAVipAttachmentMapOutput) ToHAVipAttachmentMapOutputWithContext(ctx context.Context) HAVipAttachmentMapOutput

type HAVipAttachmentOutput

type HAVipAttachmentOutput struct{ *pulumi.OutputState }

func (HAVipAttachmentOutput) ElementType

func (HAVipAttachmentOutput) ElementType() reflect.Type

func (HAVipAttachmentOutput) HavipId

The havipId of the havip attachment, the field can't be changed.

func (HAVipAttachmentOutput) InstanceId

func (o HAVipAttachmentOutput) InstanceId() pulumi.StringOutput

The instanceId of the havip attachment, the field can't be changed.

func (HAVipAttachmentOutput) ToHAVipAttachmentOutput

func (o HAVipAttachmentOutput) ToHAVipAttachmentOutput() HAVipAttachmentOutput

func (HAVipAttachmentOutput) ToHAVipAttachmentOutputWithContext

func (o HAVipAttachmentOutput) ToHAVipAttachmentOutputWithContext(ctx context.Context) HAVipAttachmentOutput

type HAVipAttachmentState

type HAVipAttachmentState struct {
	// The havipId of the havip attachment, the field can't be changed.
	HavipId pulumi.StringPtrInput
	// The instanceId of the havip attachment, the field can't be changed.
	InstanceId pulumi.StringPtrInput
}

func (HAVipAttachmentState) ElementType

func (HAVipAttachmentState) ElementType() reflect.Type

type HAVipInput

type HAVipInput interface {
	pulumi.Input

	ToHAVipOutput() HAVipOutput
	ToHAVipOutputWithContext(ctx context.Context) HAVipOutput
}

type HAVipMap

type HAVipMap map[string]HAVipInput

func (HAVipMap) ElementType

func (HAVipMap) ElementType() reflect.Type

func (HAVipMap) ToHAVipMapOutput

func (i HAVipMap) ToHAVipMapOutput() HAVipMapOutput

func (HAVipMap) ToHAVipMapOutputWithContext

func (i HAVipMap) ToHAVipMapOutputWithContext(ctx context.Context) HAVipMapOutput

type HAVipMapInput

type HAVipMapInput interface {
	pulumi.Input

	ToHAVipMapOutput() HAVipMapOutput
	ToHAVipMapOutputWithContext(context.Context) HAVipMapOutput
}

HAVipMapInput is an input type that accepts HAVipMap and HAVipMapOutput values. You can construct a concrete instance of `HAVipMapInput` via:

HAVipMap{ "key": HAVipArgs{...} }

type HAVipMapOutput

type HAVipMapOutput struct{ *pulumi.OutputState }

func (HAVipMapOutput) ElementType

func (HAVipMapOutput) ElementType() reflect.Type

func (HAVipMapOutput) MapIndex

func (HAVipMapOutput) ToHAVipMapOutput

func (o HAVipMapOutput) ToHAVipMapOutput() HAVipMapOutput

func (HAVipMapOutput) ToHAVipMapOutputWithContext

func (o HAVipMapOutput) ToHAVipMapOutputWithContext(ctx context.Context) HAVipMapOutput

type HAVipOutput

type HAVipOutput struct{ *pulumi.OutputState }

func (HAVipOutput) Description

func (o HAVipOutput) Description() pulumi.StringPtrOutput

The description of the HaVip instance.

func (HAVipOutput) ElementType

func (HAVipOutput) ElementType() reflect.Type

func (HAVipOutput) HavipName

func (o HAVipOutput) HavipName() pulumi.StringPtrOutput

The name of the HaVip instance.

func (HAVipOutput) IpAddress

func (o HAVipOutput) IpAddress() pulumi.StringOutput

The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.

func (HAVipOutput) Status

func (o HAVipOutput) Status() pulumi.StringOutput

(Available in v1.120.0+) The status of the HaVip instance.

func (HAVipOutput) ToHAVipOutput

func (o HAVipOutput) ToHAVipOutput() HAVipOutput

func (HAVipOutput) ToHAVipOutputWithContext

func (o HAVipOutput) ToHAVipOutputWithContext(ctx context.Context) HAVipOutput

func (HAVipOutput) VswitchId

func (o HAVipOutput) VswitchId() pulumi.StringOutput

The vswitchId of the HaVip, the field can't be changed.

type HAVipState

type HAVipState struct {
	// The description of the HaVip instance.
	Description pulumi.StringPtrInput
	// The name of the HaVip instance.
	HavipName pulumi.StringPtrInput
	// The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.
	IpAddress pulumi.StringPtrInput
	// (Available in v1.120.0+) The status of the HaVip instance.
	Status pulumi.StringPtrInput
	// The vswitchId of the HaVip, the field can't be changed.
	VswitchId pulumi.StringPtrInput
}

func (HAVipState) ElementType

func (HAVipState) ElementType() reflect.Type

type Ipv4Gateway

type Ipv4Gateway struct {
	pulumi.CustomResourceState

	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Whether the IPv4 gateway is active or not. Valid values are `true` and `false`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The description of the IPv4 gateway. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	Ipv4GatewayDescription pulumi.StringPtrOutput `pulumi:"ipv4GatewayDescription"`
	// The name of the IPv4 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). It must start with a letter.
	Ipv4GatewayName pulumi.StringPtrOutput `pulumi:"ipv4GatewayName"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the virtual private cloud (VPC) where you want to create the IPv4 gateway. You can create only one IPv4 gateway in a VPC.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Ipv4 Gateway resource.

For information about VPC Ipv4 Gateway and how to use it, see [What is Ipv4 Gateway](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createipv4gateway).

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NoDeleting"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv4Gateway(ctx, "example", &vpc.Ipv4GatewayArgs{
			Ipv4GatewayName: pulumi.String("example_value"),
			VpcId:           pulumi.String(_default.Ids[0]),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ipv4 Gateway can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/ipv4Gateway:Ipv4Gateway example <id>

```

func GetIpv4Gateway

func GetIpv4Gateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ipv4GatewayState, opts ...pulumi.ResourceOption) (*Ipv4Gateway, error)

GetIpv4Gateway gets an existing Ipv4Gateway 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 NewIpv4Gateway

func NewIpv4Gateway(ctx *pulumi.Context,
	name string, args *Ipv4GatewayArgs, opts ...pulumi.ResourceOption) (*Ipv4Gateway, error)

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

func (*Ipv4Gateway) ElementType

func (*Ipv4Gateway) ElementType() reflect.Type

func (*Ipv4Gateway) ToIpv4GatewayOutput

func (i *Ipv4Gateway) ToIpv4GatewayOutput() Ipv4GatewayOutput

func (*Ipv4Gateway) ToIpv4GatewayOutputWithContext

func (i *Ipv4Gateway) ToIpv4GatewayOutputWithContext(ctx context.Context) Ipv4GatewayOutput

type Ipv4GatewayArgs

type Ipv4GatewayArgs struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// Whether the IPv4 gateway is active or not. Valid values are `true` and `false`.
	Enabled pulumi.BoolPtrInput
	// The description of the IPv4 gateway. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	Ipv4GatewayDescription pulumi.StringPtrInput
	// The name of the IPv4 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). It must start with a letter.
	Ipv4GatewayName pulumi.StringPtrInput
	// The ID of the virtual private cloud (VPC) where you want to create the IPv4 gateway. You can create only one IPv4 gateway in a VPC.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Ipv4Gateway resource.

func (Ipv4GatewayArgs) ElementType

func (Ipv4GatewayArgs) ElementType() reflect.Type

type Ipv4GatewayArray

type Ipv4GatewayArray []Ipv4GatewayInput

func (Ipv4GatewayArray) ElementType

func (Ipv4GatewayArray) ElementType() reflect.Type

func (Ipv4GatewayArray) ToIpv4GatewayArrayOutput

func (i Ipv4GatewayArray) ToIpv4GatewayArrayOutput() Ipv4GatewayArrayOutput

func (Ipv4GatewayArray) ToIpv4GatewayArrayOutputWithContext

func (i Ipv4GatewayArray) ToIpv4GatewayArrayOutputWithContext(ctx context.Context) Ipv4GatewayArrayOutput

type Ipv4GatewayArrayInput

type Ipv4GatewayArrayInput interface {
	pulumi.Input

	ToIpv4GatewayArrayOutput() Ipv4GatewayArrayOutput
	ToIpv4GatewayArrayOutputWithContext(context.Context) Ipv4GatewayArrayOutput
}

Ipv4GatewayArrayInput is an input type that accepts Ipv4GatewayArray and Ipv4GatewayArrayOutput values. You can construct a concrete instance of `Ipv4GatewayArrayInput` via:

Ipv4GatewayArray{ Ipv4GatewayArgs{...} }

type Ipv4GatewayArrayOutput

type Ipv4GatewayArrayOutput struct{ *pulumi.OutputState }

func (Ipv4GatewayArrayOutput) ElementType

func (Ipv4GatewayArrayOutput) ElementType() reflect.Type

func (Ipv4GatewayArrayOutput) Index

func (Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutput

func (o Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutput() Ipv4GatewayArrayOutput

func (Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutputWithContext

func (o Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutputWithContext(ctx context.Context) Ipv4GatewayArrayOutput

type Ipv4GatewayInput

type Ipv4GatewayInput interface {
	pulumi.Input

	ToIpv4GatewayOutput() Ipv4GatewayOutput
	ToIpv4GatewayOutputWithContext(ctx context.Context) Ipv4GatewayOutput
}

type Ipv4GatewayMap

type Ipv4GatewayMap map[string]Ipv4GatewayInput

func (Ipv4GatewayMap) ElementType

func (Ipv4GatewayMap) ElementType() reflect.Type

func (Ipv4GatewayMap) ToIpv4GatewayMapOutput

func (i Ipv4GatewayMap) ToIpv4GatewayMapOutput() Ipv4GatewayMapOutput

func (Ipv4GatewayMap) ToIpv4GatewayMapOutputWithContext

func (i Ipv4GatewayMap) ToIpv4GatewayMapOutputWithContext(ctx context.Context) Ipv4GatewayMapOutput

type Ipv4GatewayMapInput

type Ipv4GatewayMapInput interface {
	pulumi.Input

	ToIpv4GatewayMapOutput() Ipv4GatewayMapOutput
	ToIpv4GatewayMapOutputWithContext(context.Context) Ipv4GatewayMapOutput
}

Ipv4GatewayMapInput is an input type that accepts Ipv4GatewayMap and Ipv4GatewayMapOutput values. You can construct a concrete instance of `Ipv4GatewayMapInput` via:

Ipv4GatewayMap{ "key": Ipv4GatewayArgs{...} }

type Ipv4GatewayMapOutput

type Ipv4GatewayMapOutput struct{ *pulumi.OutputState }

func (Ipv4GatewayMapOutput) ElementType

func (Ipv4GatewayMapOutput) ElementType() reflect.Type

func (Ipv4GatewayMapOutput) MapIndex

func (Ipv4GatewayMapOutput) ToIpv4GatewayMapOutput

func (o Ipv4GatewayMapOutput) ToIpv4GatewayMapOutput() Ipv4GatewayMapOutput

func (Ipv4GatewayMapOutput) ToIpv4GatewayMapOutputWithContext

func (o Ipv4GatewayMapOutput) ToIpv4GatewayMapOutputWithContext(ctx context.Context) Ipv4GatewayMapOutput

type Ipv4GatewayOutput

type Ipv4GatewayOutput struct{ *pulumi.OutputState }

func (Ipv4GatewayOutput) DryRun

The dry run.

func (Ipv4GatewayOutput) ElementType

func (Ipv4GatewayOutput) ElementType() reflect.Type

func (Ipv4GatewayOutput) Enabled

Whether the IPv4 gateway is active or not. Valid values are `true` and `false`.

func (Ipv4GatewayOutput) Ipv4GatewayDescription

func (o Ipv4GatewayOutput) Ipv4GatewayDescription() pulumi.StringPtrOutput

The description of the IPv4 gateway. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.

func (Ipv4GatewayOutput) Ipv4GatewayName

func (o Ipv4GatewayOutput) Ipv4GatewayName() pulumi.StringPtrOutput

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

func (Ipv4GatewayOutput) Status

The status of the resource.

func (Ipv4GatewayOutput) ToIpv4GatewayOutput

func (o Ipv4GatewayOutput) ToIpv4GatewayOutput() Ipv4GatewayOutput

func (Ipv4GatewayOutput) ToIpv4GatewayOutputWithContext

func (o Ipv4GatewayOutput) ToIpv4GatewayOutputWithContext(ctx context.Context) Ipv4GatewayOutput

func (Ipv4GatewayOutput) VpcId

The ID of the virtual private cloud (VPC) where you want to create the IPv4 gateway. You can create only one IPv4 gateway in a VPC.

type Ipv4GatewayState

type Ipv4GatewayState struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// Whether the IPv4 gateway is active or not. Valid values are `true` and `false`.
	Enabled pulumi.BoolPtrInput
	// The description of the IPv4 gateway. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	Ipv4GatewayDescription pulumi.StringPtrInput
	// The name of the IPv4 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). It must start with a letter.
	Ipv4GatewayName pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The ID of the virtual private cloud (VPC) where you want to create the IPv4 gateway. You can create only one IPv4 gateway in a VPC.
	VpcId pulumi.StringPtrInput
}

func (Ipv4GatewayState) ElementType

func (Ipv4GatewayState) ElementType() reflect.Type

type Ipv6EgressRule

type Ipv6EgressRule struct {
	pulumi.CustomResourceState

	// The description of the egress-only rule. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the IPv6 address to which you want to apply the egress-only rule.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The type of instance to which you want to apply the egress-only rule. Valid values: `Ipv6Address`. `Ipv6Address` (default): an IPv6 address.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// The name of the egress-only rule. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	Ipv6EgressRuleName pulumi.StringPtrOutput `pulumi:"ipv6EgressRuleName"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringOutput `pulumi:"ipv6GatewayId"`
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Ipv6 Egress Rule resource.

For information about VPC Ipv6 Egress Rule and how to use it, see [What is Ipv6 Egress Rule](https://www.alibabacloud.com/help/doc-detail/102200.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:    pulumi.String("example_value"),
			EnableIpv6: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleIpv6Gateway, err := vpc.NewIpv6Gateway(ctx, "exampleIpv6Gateway", &vpc.Ipv6GatewayArgs{
			Ipv6GatewayName: pulumi.String("example_value"),
			VpcId:           defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultInstances, err := ecs.GetInstances(ctx, &ecs.GetInstancesArgs{
			NameRegex: pulumi.StringRef("ecs_with_ipv6_address"),
			Status:    pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		defaultIpv6Addresses, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
			AssociatedInstanceId: pulumi.StringRef(defaultInstances.Instances[0].Id),
			Status:               pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv6EgressRule(ctx, "exampleIpv6EgressRule", &vpc.Ipv6EgressRuleArgs{
			InstanceId:         pulumi.String(defaultIpv6Addresses.Ids[0]),
			Ipv6EgressRuleName: pulumi.String("example_value"),
			Description:        pulumi.String("example_value"),
			Ipv6GatewayId:      exampleIpv6Gateway.ID(),
			InstanceType:       pulumi.String("Ipv6Address"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ipv6 Egress Rule can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/ipv6EgressRule:Ipv6EgressRule example <ipv6_gateway_id>:<ipv6_egress_rule_id>

```

func GetIpv6EgressRule

func GetIpv6EgressRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ipv6EgressRuleState, opts ...pulumi.ResourceOption) (*Ipv6EgressRule, error)

GetIpv6EgressRule gets an existing Ipv6EgressRule 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 NewIpv6EgressRule

func NewIpv6EgressRule(ctx *pulumi.Context,
	name string, args *Ipv6EgressRuleArgs, opts ...pulumi.ResourceOption) (*Ipv6EgressRule, error)

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

func (*Ipv6EgressRule) ElementType

func (*Ipv6EgressRule) ElementType() reflect.Type

func (*Ipv6EgressRule) ToIpv6EgressRuleOutput

func (i *Ipv6EgressRule) ToIpv6EgressRuleOutput() Ipv6EgressRuleOutput

func (*Ipv6EgressRule) ToIpv6EgressRuleOutputWithContext

func (i *Ipv6EgressRule) ToIpv6EgressRuleOutputWithContext(ctx context.Context) Ipv6EgressRuleOutput

type Ipv6EgressRuleArgs

type Ipv6EgressRuleArgs struct {
	// The description of the egress-only rule. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput
	// The ID of the IPv6 address to which you want to apply the egress-only rule.
	InstanceId pulumi.StringInput
	// The type of instance to which you want to apply the egress-only rule. Valid values: `Ipv6Address`. `Ipv6Address` (default): an IPv6 address.
	InstanceType pulumi.StringPtrInput
	// The name of the egress-only rule. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	Ipv6EgressRuleName pulumi.StringPtrInput
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringInput
}

The set of arguments for constructing a Ipv6EgressRule resource.

func (Ipv6EgressRuleArgs) ElementType

func (Ipv6EgressRuleArgs) ElementType() reflect.Type

type Ipv6EgressRuleArray

type Ipv6EgressRuleArray []Ipv6EgressRuleInput

func (Ipv6EgressRuleArray) ElementType

func (Ipv6EgressRuleArray) ElementType() reflect.Type

func (Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutput

func (i Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutput() Ipv6EgressRuleArrayOutput

func (Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutputWithContext

func (i Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutputWithContext(ctx context.Context) Ipv6EgressRuleArrayOutput

type Ipv6EgressRuleArrayInput

type Ipv6EgressRuleArrayInput interface {
	pulumi.Input

	ToIpv6EgressRuleArrayOutput() Ipv6EgressRuleArrayOutput
	ToIpv6EgressRuleArrayOutputWithContext(context.Context) Ipv6EgressRuleArrayOutput
}

Ipv6EgressRuleArrayInput is an input type that accepts Ipv6EgressRuleArray and Ipv6EgressRuleArrayOutput values. You can construct a concrete instance of `Ipv6EgressRuleArrayInput` via:

Ipv6EgressRuleArray{ Ipv6EgressRuleArgs{...} }

type Ipv6EgressRuleArrayOutput

type Ipv6EgressRuleArrayOutput struct{ *pulumi.OutputState }

func (Ipv6EgressRuleArrayOutput) ElementType

func (Ipv6EgressRuleArrayOutput) ElementType() reflect.Type

func (Ipv6EgressRuleArrayOutput) Index

func (Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutput

func (o Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutput() Ipv6EgressRuleArrayOutput

func (Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutputWithContext

func (o Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutputWithContext(ctx context.Context) Ipv6EgressRuleArrayOutput

type Ipv6EgressRuleInput

type Ipv6EgressRuleInput interface {
	pulumi.Input

	ToIpv6EgressRuleOutput() Ipv6EgressRuleOutput
	ToIpv6EgressRuleOutputWithContext(ctx context.Context) Ipv6EgressRuleOutput
}

type Ipv6EgressRuleMap

type Ipv6EgressRuleMap map[string]Ipv6EgressRuleInput

func (Ipv6EgressRuleMap) ElementType

func (Ipv6EgressRuleMap) ElementType() reflect.Type

func (Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutput

func (i Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutput() Ipv6EgressRuleMapOutput

func (Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutputWithContext

func (i Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutputWithContext(ctx context.Context) Ipv6EgressRuleMapOutput

type Ipv6EgressRuleMapInput

type Ipv6EgressRuleMapInput interface {
	pulumi.Input

	ToIpv6EgressRuleMapOutput() Ipv6EgressRuleMapOutput
	ToIpv6EgressRuleMapOutputWithContext(context.Context) Ipv6EgressRuleMapOutput
}

Ipv6EgressRuleMapInput is an input type that accepts Ipv6EgressRuleMap and Ipv6EgressRuleMapOutput values. You can construct a concrete instance of `Ipv6EgressRuleMapInput` via:

Ipv6EgressRuleMap{ "key": Ipv6EgressRuleArgs{...} }

type Ipv6EgressRuleMapOutput

type Ipv6EgressRuleMapOutput struct{ *pulumi.OutputState }

func (Ipv6EgressRuleMapOutput) ElementType

func (Ipv6EgressRuleMapOutput) ElementType() reflect.Type

func (Ipv6EgressRuleMapOutput) MapIndex

func (Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutput

func (o Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutput() Ipv6EgressRuleMapOutput

func (Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutputWithContext

func (o Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutputWithContext(ctx context.Context) Ipv6EgressRuleMapOutput

type Ipv6EgressRuleOutput

type Ipv6EgressRuleOutput struct{ *pulumi.OutputState }

func (Ipv6EgressRuleOutput) Description

The description of the egress-only rule. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.

func (Ipv6EgressRuleOutput) ElementType

func (Ipv6EgressRuleOutput) ElementType() reflect.Type

func (Ipv6EgressRuleOutput) InstanceId

func (o Ipv6EgressRuleOutput) InstanceId() pulumi.StringOutput

The ID of the IPv6 address to which you want to apply the egress-only rule.

func (Ipv6EgressRuleOutput) InstanceType

func (o Ipv6EgressRuleOutput) InstanceType() pulumi.StringOutput

The type of instance to which you want to apply the egress-only rule. Valid values: `Ipv6Address`. `Ipv6Address` (default): an IPv6 address.

func (Ipv6EgressRuleOutput) Ipv6EgressRuleName

func (o Ipv6EgressRuleOutput) Ipv6EgressRuleName() pulumi.StringPtrOutput

The name of the egress-only rule. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.

func (Ipv6EgressRuleOutput) Ipv6GatewayId

func (o Ipv6EgressRuleOutput) Ipv6GatewayId() pulumi.StringOutput

The ID of the IPv6 gateway.

func (Ipv6EgressRuleOutput) Status

The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.

func (Ipv6EgressRuleOutput) ToIpv6EgressRuleOutput

func (o Ipv6EgressRuleOutput) ToIpv6EgressRuleOutput() Ipv6EgressRuleOutput

func (Ipv6EgressRuleOutput) ToIpv6EgressRuleOutputWithContext

func (o Ipv6EgressRuleOutput) ToIpv6EgressRuleOutputWithContext(ctx context.Context) Ipv6EgressRuleOutput

type Ipv6EgressRuleState

type Ipv6EgressRuleState struct {
	// The description of the egress-only rule. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput
	// The ID of the IPv6 address to which you want to apply the egress-only rule.
	InstanceId pulumi.StringPtrInput
	// The type of instance to which you want to apply the egress-only rule. Valid values: `Ipv6Address`. `Ipv6Address` (default): an IPv6 address.
	InstanceType pulumi.StringPtrInput
	// The name of the egress-only rule. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	Ipv6EgressRuleName pulumi.StringPtrInput
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringPtrInput
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status pulumi.StringPtrInput
}

func (Ipv6EgressRuleState) ElementType

func (Ipv6EgressRuleState) ElementType() reflect.Type

type Ipv6Gateway

type Ipv6Gateway struct {
	pulumi.CustomResourceState

	// The description of the IPv6 gateway. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the IPv6 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	Ipv6GatewayName pulumi.StringPtrOutput `pulumi:"ipv6GatewayName"`
	// The edition of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).
	Spec pulumi.StringOutput `pulumi:"spec"`
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the virtual private cloud (VPC) for which you want to create the IPv6 gateway.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Ipv6 Gateway resource.

For information about VPC Ipv6 Gateway and how to use it, see [What is Ipv6 Gateway](https://www.alibabacloud.com/help/doc-detail/102214.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:    pulumi.String("example_value"),
			EnableIpv6: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv6Gateway(ctx, "example", &vpc.Ipv6GatewayArgs{
			Ipv6GatewayName: pulumi.String("example_value"),
			VpcId:           _default.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ipv6 Gateway can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/ipv6Gateway:Ipv6Gateway example <id>

```

func GetIpv6Gateway

func GetIpv6Gateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ipv6GatewayState, opts ...pulumi.ResourceOption) (*Ipv6Gateway, error)

GetIpv6Gateway gets an existing Ipv6Gateway 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 NewIpv6Gateway

func NewIpv6Gateway(ctx *pulumi.Context,
	name string, args *Ipv6GatewayArgs, opts ...pulumi.ResourceOption) (*Ipv6Gateway, error)

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

func (*Ipv6Gateway) ElementType

func (*Ipv6Gateway) ElementType() reflect.Type

func (*Ipv6Gateway) ToIpv6GatewayOutput

func (i *Ipv6Gateway) ToIpv6GatewayOutput() Ipv6GatewayOutput

func (*Ipv6Gateway) ToIpv6GatewayOutputWithContext

func (i *Ipv6Gateway) ToIpv6GatewayOutputWithContext(ctx context.Context) Ipv6GatewayOutput

type Ipv6GatewayArgs

type Ipv6GatewayArgs struct {
	// The description of the IPv6 gateway. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput
	// The name of the IPv6 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	Ipv6GatewayName pulumi.StringPtrInput
	// The edition of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).
	Spec pulumi.StringPtrInput
	// The ID of the virtual private cloud (VPC) for which you want to create the IPv6 gateway.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Ipv6Gateway resource.

func (Ipv6GatewayArgs) ElementType

func (Ipv6GatewayArgs) ElementType() reflect.Type

type Ipv6GatewayArray

type Ipv6GatewayArray []Ipv6GatewayInput

func (Ipv6GatewayArray) ElementType

func (Ipv6GatewayArray) ElementType() reflect.Type

func (Ipv6GatewayArray) ToIpv6GatewayArrayOutput

func (i Ipv6GatewayArray) ToIpv6GatewayArrayOutput() Ipv6GatewayArrayOutput

func (Ipv6GatewayArray) ToIpv6GatewayArrayOutputWithContext

func (i Ipv6GatewayArray) ToIpv6GatewayArrayOutputWithContext(ctx context.Context) Ipv6GatewayArrayOutput

type Ipv6GatewayArrayInput

type Ipv6GatewayArrayInput interface {
	pulumi.Input

	ToIpv6GatewayArrayOutput() Ipv6GatewayArrayOutput
	ToIpv6GatewayArrayOutputWithContext(context.Context) Ipv6GatewayArrayOutput
}

Ipv6GatewayArrayInput is an input type that accepts Ipv6GatewayArray and Ipv6GatewayArrayOutput values. You can construct a concrete instance of `Ipv6GatewayArrayInput` via:

Ipv6GatewayArray{ Ipv6GatewayArgs{...} }

type Ipv6GatewayArrayOutput

type Ipv6GatewayArrayOutput struct{ *pulumi.OutputState }

func (Ipv6GatewayArrayOutput) ElementType

func (Ipv6GatewayArrayOutput) ElementType() reflect.Type

func (Ipv6GatewayArrayOutput) Index

func (Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutput

func (o Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutput() Ipv6GatewayArrayOutput

func (Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutputWithContext

func (o Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutputWithContext(ctx context.Context) Ipv6GatewayArrayOutput

type Ipv6GatewayInput

type Ipv6GatewayInput interface {
	pulumi.Input

	ToIpv6GatewayOutput() Ipv6GatewayOutput
	ToIpv6GatewayOutputWithContext(ctx context.Context) Ipv6GatewayOutput
}

type Ipv6GatewayMap

type Ipv6GatewayMap map[string]Ipv6GatewayInput

func (Ipv6GatewayMap) ElementType

func (Ipv6GatewayMap) ElementType() reflect.Type

func (Ipv6GatewayMap) ToIpv6GatewayMapOutput

func (i Ipv6GatewayMap) ToIpv6GatewayMapOutput() Ipv6GatewayMapOutput

func (Ipv6GatewayMap) ToIpv6GatewayMapOutputWithContext

func (i Ipv6GatewayMap) ToIpv6GatewayMapOutputWithContext(ctx context.Context) Ipv6GatewayMapOutput

type Ipv6GatewayMapInput

type Ipv6GatewayMapInput interface {
	pulumi.Input

	ToIpv6GatewayMapOutput() Ipv6GatewayMapOutput
	ToIpv6GatewayMapOutputWithContext(context.Context) Ipv6GatewayMapOutput
}

Ipv6GatewayMapInput is an input type that accepts Ipv6GatewayMap and Ipv6GatewayMapOutput values. You can construct a concrete instance of `Ipv6GatewayMapInput` via:

Ipv6GatewayMap{ "key": Ipv6GatewayArgs{...} }

type Ipv6GatewayMapOutput

type Ipv6GatewayMapOutput struct{ *pulumi.OutputState }

func (Ipv6GatewayMapOutput) ElementType

func (Ipv6GatewayMapOutput) ElementType() reflect.Type

func (Ipv6GatewayMapOutput) MapIndex

func (Ipv6GatewayMapOutput) ToIpv6GatewayMapOutput

func (o Ipv6GatewayMapOutput) ToIpv6GatewayMapOutput() Ipv6GatewayMapOutput

func (Ipv6GatewayMapOutput) ToIpv6GatewayMapOutputWithContext

func (o Ipv6GatewayMapOutput) ToIpv6GatewayMapOutputWithContext(ctx context.Context) Ipv6GatewayMapOutput

type Ipv6GatewayOutput

type Ipv6GatewayOutput struct{ *pulumi.OutputState }

func (Ipv6GatewayOutput) Description

func (o Ipv6GatewayOutput) Description() pulumi.StringPtrOutput

The description of the IPv6 gateway. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.

func (Ipv6GatewayOutput) ElementType

func (Ipv6GatewayOutput) ElementType() reflect.Type

func (Ipv6GatewayOutput) Ipv6GatewayName

func (o Ipv6GatewayOutput) Ipv6GatewayName() pulumi.StringPtrOutput

The name of the IPv6 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.

func (Ipv6GatewayOutput) Spec

The edition of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).

func (Ipv6GatewayOutput) Status

The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.

func (Ipv6GatewayOutput) ToIpv6GatewayOutput

func (o Ipv6GatewayOutput) ToIpv6GatewayOutput() Ipv6GatewayOutput

func (Ipv6GatewayOutput) ToIpv6GatewayOutputWithContext

func (o Ipv6GatewayOutput) ToIpv6GatewayOutputWithContext(ctx context.Context) Ipv6GatewayOutput

func (Ipv6GatewayOutput) VpcId

The ID of the virtual private cloud (VPC) for which you want to create the IPv6 gateway.

type Ipv6GatewayState

type Ipv6GatewayState struct {
	// The description of the IPv6 gateway. The description must be `2` to `256` characters in length. It cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput
	// The name of the IPv6 gateway. The name must be `2` to `128` characters in length, and can contain letters, digits, underscores (_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
	Ipv6GatewayName pulumi.StringPtrInput
	// The edition of the IPv6 gateway. Valid values: `Large`, `Medium` and `Small`. `Small` (default): Free Edition. `Medium`: Enterprise Edition . `Large`: Enhanced Enterprise Edition. The throughput capacity of an IPv6 gateway varies based on the edition. For more information, see [Editions of IPv6 gateways](https://www.alibabacloud.com/help/doc-detail/98926.htm).
	Spec pulumi.StringPtrInput
	// The status of the resource. Valid values: `Available`, `Pending` and `Deleting`.
	Status pulumi.StringPtrInput
	// The ID of the virtual private cloud (VPC) for which you want to create the IPv6 gateway.
	VpcId pulumi.StringPtrInput
}

func (Ipv6GatewayState) ElementType

func (Ipv6GatewayState) ElementType() reflect.Type

type Ipv6InternetBandwidth

type Ipv6InternetBandwidth struct {
	pulumi.CustomResourceState

	// The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`. Valid values: `1` to `5000`. **NOTE:** If `internetChargeType` is set to `PayByTraffic`, the amount of Internet bandwidth resources of the IPv6 address is limited by the specification of the IPv6 gateway. `Small` (default): specifies the Free edition and the Internet bandwidth is from `1` to `500` Mbit/s. `Medium`: specifies the Medium edition and the Internet bandwidth is from `1` to `1000` Mbit/s. `Large`: specifies the Large edition and the Internet bandwidth is from `1` to `2000` Mbit/s.
	Bandwidth pulumi.IntOutput `pulumi:"bandwidth"`
	// The metering method of the Internet bandwidth resources of the IPv6 gateway. Valid values: `PayByBandwidth`, `PayByTraffic`.
	InternetChargeType pulumi.StringOutput `pulumi:"internetChargeType"`
	// The ID of the IPv6 address.
	Ipv6AddressId pulumi.StringOutput `pulumi:"ipv6AddressId"`
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringOutput `pulumi:"ipv6GatewayId"`
	// The status of the resource.Valid values:`Normal`, `FinancialLocked` and `SecurityLocked`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Ipv6 Internet Bandwidth resource.

For information about VPC Ipv6 Internet Bandwidth and how to use it, see [What is Ipv6 Internet Bandwidth](https://www.alibabacloud.com/help/doc-detail/102213.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleInstances, err := ecs.GetInstances(ctx, &ecs.GetInstancesArgs{
			NameRegex: pulumi.StringRef("ecs_with_ipv6_address"),
			Status:    pulumi.StringRef("Running"),
		}, nil)
		if err != nil {
			return err
		}
		exampleIpv6Addresses, err := vpc.GetIpv6Addresses(ctx, &vpc.GetIpv6AddressesArgs{
			AssociatedInstanceId: pulumi.StringRef(exampleInstances.Instances[0].Id),
			Status:               pulumi.StringRef("Available"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv6InternetBandwidth(ctx, "exampleIpv6InternetBandwidth", &vpc.Ipv6InternetBandwidthArgs{
			Ipv6AddressId:      pulumi.String(exampleIpv6Addresses.Addresses[0].Id),
			Ipv6GatewayId:      pulumi.String(exampleIpv6Addresses.Addresses[0].Ipv6GatewayId),
			InternetChargeType: pulumi.String("PayByBandwidth"),
			Bandwidth:          pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ipv6 Internet Bandwidth can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/ipv6InternetBandwidth:Ipv6InternetBandwidth example <id>

```

func GetIpv6InternetBandwidth

func GetIpv6InternetBandwidth(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ipv6InternetBandwidthState, opts ...pulumi.ResourceOption) (*Ipv6InternetBandwidth, error)

GetIpv6InternetBandwidth gets an existing Ipv6InternetBandwidth 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 NewIpv6InternetBandwidth

func NewIpv6InternetBandwidth(ctx *pulumi.Context,
	name string, args *Ipv6InternetBandwidthArgs, opts ...pulumi.ResourceOption) (*Ipv6InternetBandwidth, error)

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

func (*Ipv6InternetBandwidth) ElementType

func (*Ipv6InternetBandwidth) ElementType() reflect.Type

func (*Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutput

func (i *Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutput() Ipv6InternetBandwidthOutput

func (*Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutputWithContext

func (i *Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutputWithContext(ctx context.Context) Ipv6InternetBandwidthOutput

type Ipv6InternetBandwidthArgs

type Ipv6InternetBandwidthArgs struct {
	// The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`. Valid values: `1` to `5000`. **NOTE:** If `internetChargeType` is set to `PayByTraffic`, the amount of Internet bandwidth resources of the IPv6 address is limited by the specification of the IPv6 gateway. `Small` (default): specifies the Free edition and the Internet bandwidth is from `1` to `500` Mbit/s. `Medium`: specifies the Medium edition and the Internet bandwidth is from `1` to `1000` Mbit/s. `Large`: specifies the Large edition and the Internet bandwidth is from `1` to `2000` Mbit/s.
	Bandwidth pulumi.IntInput
	// The metering method of the Internet bandwidth resources of the IPv6 gateway. Valid values: `PayByBandwidth`, `PayByTraffic`.
	InternetChargeType pulumi.StringPtrInput
	// The ID of the IPv6 address.
	Ipv6AddressId pulumi.StringInput
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringInput
}

The set of arguments for constructing a Ipv6InternetBandwidth resource.

func (Ipv6InternetBandwidthArgs) ElementType

func (Ipv6InternetBandwidthArgs) ElementType() reflect.Type

type Ipv6InternetBandwidthArray

type Ipv6InternetBandwidthArray []Ipv6InternetBandwidthInput

func (Ipv6InternetBandwidthArray) ElementType

func (Ipv6InternetBandwidthArray) ElementType() reflect.Type

func (Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutput

func (i Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutput() Ipv6InternetBandwidthArrayOutput

func (Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutputWithContext

func (i Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutputWithContext(ctx context.Context) Ipv6InternetBandwidthArrayOutput

type Ipv6InternetBandwidthArrayInput

type Ipv6InternetBandwidthArrayInput interface {
	pulumi.Input

	ToIpv6InternetBandwidthArrayOutput() Ipv6InternetBandwidthArrayOutput
	ToIpv6InternetBandwidthArrayOutputWithContext(context.Context) Ipv6InternetBandwidthArrayOutput
}

Ipv6InternetBandwidthArrayInput is an input type that accepts Ipv6InternetBandwidthArray and Ipv6InternetBandwidthArrayOutput values. You can construct a concrete instance of `Ipv6InternetBandwidthArrayInput` via:

Ipv6InternetBandwidthArray{ Ipv6InternetBandwidthArgs{...} }

type Ipv6InternetBandwidthArrayOutput

type Ipv6InternetBandwidthArrayOutput struct{ *pulumi.OutputState }

func (Ipv6InternetBandwidthArrayOutput) ElementType

func (Ipv6InternetBandwidthArrayOutput) Index

func (Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutput

func (o Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutput() Ipv6InternetBandwidthArrayOutput

func (Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutputWithContext

func (o Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutputWithContext(ctx context.Context) Ipv6InternetBandwidthArrayOutput

type Ipv6InternetBandwidthInput

type Ipv6InternetBandwidthInput interface {
	pulumi.Input

	ToIpv6InternetBandwidthOutput() Ipv6InternetBandwidthOutput
	ToIpv6InternetBandwidthOutputWithContext(ctx context.Context) Ipv6InternetBandwidthOutput
}

type Ipv6InternetBandwidthMap

type Ipv6InternetBandwidthMap map[string]Ipv6InternetBandwidthInput

func (Ipv6InternetBandwidthMap) ElementType

func (Ipv6InternetBandwidthMap) ElementType() reflect.Type

func (Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutput

func (i Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutput() Ipv6InternetBandwidthMapOutput

func (Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutputWithContext

func (i Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutputWithContext(ctx context.Context) Ipv6InternetBandwidthMapOutput

type Ipv6InternetBandwidthMapInput

type Ipv6InternetBandwidthMapInput interface {
	pulumi.Input

	ToIpv6InternetBandwidthMapOutput() Ipv6InternetBandwidthMapOutput
	ToIpv6InternetBandwidthMapOutputWithContext(context.Context) Ipv6InternetBandwidthMapOutput
}

Ipv6InternetBandwidthMapInput is an input type that accepts Ipv6InternetBandwidthMap and Ipv6InternetBandwidthMapOutput values. You can construct a concrete instance of `Ipv6InternetBandwidthMapInput` via:

Ipv6InternetBandwidthMap{ "key": Ipv6InternetBandwidthArgs{...} }

type Ipv6InternetBandwidthMapOutput

type Ipv6InternetBandwidthMapOutput struct{ *pulumi.OutputState }

func (Ipv6InternetBandwidthMapOutput) ElementType

func (Ipv6InternetBandwidthMapOutput) MapIndex

func (Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutput

func (o Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutput() Ipv6InternetBandwidthMapOutput

func (Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutputWithContext

func (o Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutputWithContext(ctx context.Context) Ipv6InternetBandwidthMapOutput

type Ipv6InternetBandwidthOutput

type Ipv6InternetBandwidthOutput struct{ *pulumi.OutputState }

func (Ipv6InternetBandwidthOutput) Bandwidth

The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`. Valid values: `1` to `5000`. **NOTE:** If `internetChargeType` is set to `PayByTraffic`, the amount of Internet bandwidth resources of the IPv6 address is limited by the specification of the IPv6 gateway. `Small` (default): specifies the Free edition and the Internet bandwidth is from `1` to `500` Mbit/s. `Medium`: specifies the Medium edition and the Internet bandwidth is from `1` to `1000` Mbit/s. `Large`: specifies the Large edition and the Internet bandwidth is from `1` to `2000` Mbit/s.

func (Ipv6InternetBandwidthOutput) ElementType

func (Ipv6InternetBandwidthOutput) InternetChargeType

func (o Ipv6InternetBandwidthOutput) InternetChargeType() pulumi.StringOutput

The metering method of the Internet bandwidth resources of the IPv6 gateway. Valid values: `PayByBandwidth`, `PayByTraffic`.

func (Ipv6InternetBandwidthOutput) Ipv6AddressId

The ID of the IPv6 address.

func (Ipv6InternetBandwidthOutput) Ipv6GatewayId

The ID of the IPv6 gateway.

func (Ipv6InternetBandwidthOutput) Status

The status of the resource.Valid values:`Normal`, `FinancialLocked` and `SecurityLocked`.

func (Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutput

func (o Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutput() Ipv6InternetBandwidthOutput

func (Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutputWithContext

func (o Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutputWithContext(ctx context.Context) Ipv6InternetBandwidthOutput

type Ipv6InternetBandwidthState

type Ipv6InternetBandwidthState struct {
	// The amount of Internet bandwidth resources of the IPv6 address, Unit: `Mbit/s`. Valid values: `1` to `5000`. **NOTE:** If `internetChargeType` is set to `PayByTraffic`, the amount of Internet bandwidth resources of the IPv6 address is limited by the specification of the IPv6 gateway. `Small` (default): specifies the Free edition and the Internet bandwidth is from `1` to `500` Mbit/s. `Medium`: specifies the Medium edition and the Internet bandwidth is from `1` to `1000` Mbit/s. `Large`: specifies the Large edition and the Internet bandwidth is from `1` to `2000` Mbit/s.
	Bandwidth pulumi.IntPtrInput
	// The metering method of the Internet bandwidth resources of the IPv6 gateway. Valid values: `PayByBandwidth`, `PayByTraffic`.
	InternetChargeType pulumi.StringPtrInput
	// The ID of the IPv6 address.
	Ipv6AddressId pulumi.StringPtrInput
	// The ID of the IPv6 gateway.
	Ipv6GatewayId pulumi.StringPtrInput
	// The status of the resource.Valid values:`Normal`, `FinancialLocked` and `SecurityLocked`.
	Status pulumi.StringPtrInput
}

func (Ipv6InternetBandwidthState) ElementType

func (Ipv6InternetBandwidthState) ElementType() reflect.Type

type NatGateway

type NatGateway struct {
	pulumi.CustomResourceState

	// Whether enable the deletion protection or not. Default value: `false`.
	// - true: Enable deletion protection.
	// - false: Disable deletion protection.
	DeletionProtection pulumi.BoolOutput `pulumi:"deletionProtection"`
	// Description of the nat gateway, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Defaults to null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies whether to only precheck this request. Default value: `false`.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The EIP binding mode of the NAT gateway. Default value: `MULTI_BINDED`. Valid values:
	// - `MULTI_BINDED`: Multi EIP network card visible mode.
	// - `NAT`: EIP normal mode, compatible with IPv4 gateway.
	EipBindMode pulumi.StringOutput `pulumi:"eipBindMode"`
	// Specifies whether to forcefully delete the NAT gateway.
	Force pulumi.BoolPtrOutput `pulumi:"force"`
	// The nat gateway will auto create a forward item.
	ForwardTableIds pulumi.StringOutput `pulumi:"forwardTableIds"`
	// Field `instanceChargeType` has been deprecated from provider version 1.121.0. New field `paymentType` instead.
	InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"`
	// The internet charge type. Valid values `PayByLcu` and `PayBySpec`. The `PayByLcu` is only support enhanced NAT. **NOTE:** From 1.137.0+, The `PayBySpec` has been deprecated.
	InternetChargeType pulumi.StringOutput `pulumi:"internetChargeType"`
	// Field `name` has been deprecated from provider version 1.121.0. New field `natGatewayName` instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
	NatGatewayName pulumi.StringOutput `pulumi:"natGatewayName"`
	// The type of NAT gateway. Valid values: `Normal` and `Enhanced`. **NOTE:** From 1.137.0+,  The `Normal` has been deprecated.
	NatType pulumi.StringOutput `pulumi:"natType"`
	// Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringOutput `pulumi:"paymentType"`
	Period      pulumi.IntPtrOutput `pulumi:"period"`
	// The nat gateway will auto create a snat item.
	SnatTableIds pulumi.StringOutput `pulumi:"snatTableIds"`
	// The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Effective when `internetChargeType` is `PayBySpec` and `networkType` is `internet`. Details refer to [Nat Gateway Specification](https://help.aliyun.com/document_detail/203500.html).
	Specification pulumi.StringOutput `pulumi:"specification"`
	// (Available in 1.121.0+) The status of NAT gateway.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of NAT gateway.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VPC ID.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The id of VSwitch.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
}

## Import

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

```sh

$ pulumi import alicloud:vpc/natGateway:NatGateway example <id>

```

func GetNatGateway

func GetNatGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NatGatewayState, opts ...pulumi.ResourceOption) (*NatGateway, error)

GetNatGateway gets an existing NatGateway 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 NewNatGateway

func NewNatGateway(ctx *pulumi.Context,
	name string, args *NatGatewayArgs, opts ...pulumi.ResourceOption) (*NatGateway, error)

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

func (*NatGateway) ElementType

func (*NatGateway) ElementType() reflect.Type

func (*NatGateway) ToNatGatewayOutput

func (i *NatGateway) ToNatGatewayOutput() NatGatewayOutput

func (*NatGateway) ToNatGatewayOutputWithContext

func (i *NatGateway) ToNatGatewayOutputWithContext(ctx context.Context) NatGatewayOutput

type NatGatewayArgs

type NatGatewayArgs struct {
	// Whether enable the deletion protection or not. Default value: `false`.
	// - true: Enable deletion protection.
	// - false: Disable deletion protection.
	DeletionProtection pulumi.BoolPtrInput
	// Description of the nat gateway, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Defaults to null.
	Description pulumi.StringPtrInput
	// Specifies whether to only precheck this request. Default value: `false`.
	DryRun pulumi.BoolPtrInput
	// The EIP binding mode of the NAT gateway. Default value: `MULTI_BINDED`. Valid values:
	// - `MULTI_BINDED`: Multi EIP network card visible mode.
	// - `NAT`: EIP normal mode, compatible with IPv4 gateway.
	EipBindMode pulumi.StringPtrInput
	// Specifies whether to forcefully delete the NAT gateway.
	Force pulumi.BoolPtrInput
	// Field `instanceChargeType` has been deprecated from provider version 1.121.0. New field `paymentType` instead.
	InstanceChargeType pulumi.StringPtrInput
	// The internet charge type. Valid values `PayByLcu` and `PayBySpec`. The `PayByLcu` is only support enhanced NAT. **NOTE:** From 1.137.0+, The `PayBySpec` has been deprecated.
	InternetChargeType pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.121.0. New field `natGatewayName` instead.
	Name pulumi.StringPtrInput
	// Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
	NatGatewayName pulumi.StringPtrInput
	// The type of NAT gateway. Valid values: `Normal` and `Enhanced`. **NOTE:** From 1.137.0+,  The `Normal` has been deprecated.
	NatType pulumi.StringPtrInput
	// Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
	NetworkType pulumi.StringPtrInput
	// The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringPtrInput
	Period      pulumi.IntPtrInput
	// The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Effective when `internetChargeType` is `PayBySpec` and `networkType` is `internet`. Details refer to [Nat Gateway Specification](https://help.aliyun.com/document_detail/203500.html).
	Specification pulumi.StringPtrInput
	// The tags of NAT gateway.
	Tags pulumi.MapInput
	// The VPC ID.
	VpcId pulumi.StringInput
	// The id of VSwitch.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a NatGateway resource.

func (NatGatewayArgs) ElementType

func (NatGatewayArgs) ElementType() reflect.Type

type NatGatewayArray

type NatGatewayArray []NatGatewayInput

func (NatGatewayArray) ElementType

func (NatGatewayArray) ElementType() reflect.Type

func (NatGatewayArray) ToNatGatewayArrayOutput

func (i NatGatewayArray) ToNatGatewayArrayOutput() NatGatewayArrayOutput

func (NatGatewayArray) ToNatGatewayArrayOutputWithContext

func (i NatGatewayArray) ToNatGatewayArrayOutputWithContext(ctx context.Context) NatGatewayArrayOutput

type NatGatewayArrayInput

type NatGatewayArrayInput interface {
	pulumi.Input

	ToNatGatewayArrayOutput() NatGatewayArrayOutput
	ToNatGatewayArrayOutputWithContext(context.Context) NatGatewayArrayOutput
}

NatGatewayArrayInput is an input type that accepts NatGatewayArray and NatGatewayArrayOutput values. You can construct a concrete instance of `NatGatewayArrayInput` via:

NatGatewayArray{ NatGatewayArgs{...} }

type NatGatewayArrayOutput

type NatGatewayArrayOutput struct{ *pulumi.OutputState }

func (NatGatewayArrayOutput) ElementType

func (NatGatewayArrayOutput) ElementType() reflect.Type

func (NatGatewayArrayOutput) Index

func (NatGatewayArrayOutput) ToNatGatewayArrayOutput

func (o NatGatewayArrayOutput) ToNatGatewayArrayOutput() NatGatewayArrayOutput

func (NatGatewayArrayOutput) ToNatGatewayArrayOutputWithContext

func (o NatGatewayArrayOutput) ToNatGatewayArrayOutputWithContext(ctx context.Context) NatGatewayArrayOutput

type NatGatewayInput

type NatGatewayInput interface {
	pulumi.Input

	ToNatGatewayOutput() NatGatewayOutput
	ToNatGatewayOutputWithContext(ctx context.Context) NatGatewayOutput
}

type NatGatewayMap

type NatGatewayMap map[string]NatGatewayInput

func (NatGatewayMap) ElementType

func (NatGatewayMap) ElementType() reflect.Type

func (NatGatewayMap) ToNatGatewayMapOutput

func (i NatGatewayMap) ToNatGatewayMapOutput() NatGatewayMapOutput

func (NatGatewayMap) ToNatGatewayMapOutputWithContext

func (i NatGatewayMap) ToNatGatewayMapOutputWithContext(ctx context.Context) NatGatewayMapOutput

type NatGatewayMapInput

type NatGatewayMapInput interface {
	pulumi.Input

	ToNatGatewayMapOutput() NatGatewayMapOutput
	ToNatGatewayMapOutputWithContext(context.Context) NatGatewayMapOutput
}

NatGatewayMapInput is an input type that accepts NatGatewayMap and NatGatewayMapOutput values. You can construct a concrete instance of `NatGatewayMapInput` via:

NatGatewayMap{ "key": NatGatewayArgs{...} }

type NatGatewayMapOutput

type NatGatewayMapOutput struct{ *pulumi.OutputState }

func (NatGatewayMapOutput) ElementType

func (NatGatewayMapOutput) ElementType() reflect.Type

func (NatGatewayMapOutput) MapIndex

func (NatGatewayMapOutput) ToNatGatewayMapOutput

func (o NatGatewayMapOutput) ToNatGatewayMapOutput() NatGatewayMapOutput

func (NatGatewayMapOutput) ToNatGatewayMapOutputWithContext

func (o NatGatewayMapOutput) ToNatGatewayMapOutputWithContext(ctx context.Context) NatGatewayMapOutput

type NatGatewayOutput

type NatGatewayOutput struct{ *pulumi.OutputState }

func (NatGatewayOutput) DeletionProtection

func (o NatGatewayOutput) DeletionProtection() pulumi.BoolOutput

Whether enable the deletion protection or not. Default value: `false`. - true: Enable deletion protection. - false: Disable deletion protection.

func (NatGatewayOutput) Description

func (o NatGatewayOutput) Description() pulumi.StringPtrOutput

Description of the nat gateway, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Defaults to null.

func (NatGatewayOutput) DryRun

Specifies whether to only precheck this request. Default value: `false`.

func (NatGatewayOutput) EipBindMode

func (o NatGatewayOutput) EipBindMode() pulumi.StringOutput

The EIP binding mode of the NAT gateway. Default value: `MULTI_BINDED`. Valid values: - `MULTI_BINDED`: Multi EIP network card visible mode. - `NAT`: EIP normal mode, compatible with IPv4 gateway.

func (NatGatewayOutput) ElementType

func (NatGatewayOutput) ElementType() reflect.Type

func (NatGatewayOutput) Force

Specifies whether to forcefully delete the NAT gateway.

func (NatGatewayOutput) ForwardTableIds

func (o NatGatewayOutput) ForwardTableIds() pulumi.StringOutput

The nat gateway will auto create a forward item.

func (NatGatewayOutput) InstanceChargeType

func (o NatGatewayOutput) InstanceChargeType() pulumi.StringOutput

Field `instanceChargeType` has been deprecated from provider version 1.121.0. New field `paymentType` instead.

func (NatGatewayOutput) InternetChargeType

func (o NatGatewayOutput) InternetChargeType() pulumi.StringOutput

The internet charge type. Valid values `PayByLcu` and `PayBySpec`. The `PayByLcu` is only support enhanced NAT. **NOTE:** From 1.137.0+, The `PayBySpec` has been deprecated.

func (NatGatewayOutput) Name

Field `name` has been deprecated from provider version 1.121.0. New field `natGatewayName` instead.

func (NatGatewayOutput) NatGatewayName

func (o NatGatewayOutput) NatGatewayName() pulumi.StringOutput

Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.

func (NatGatewayOutput) NatType

func (o NatGatewayOutput) NatType() pulumi.StringOutput

The type of NAT gateway. Valid values: `Normal` and `Enhanced`. **NOTE:** From 1.137.0+, The `Normal` has been deprecated.

func (NatGatewayOutput) NetworkType

func (o NatGatewayOutput) NetworkType() pulumi.StringOutput

Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.

func (NatGatewayOutput) PaymentType

func (o NatGatewayOutput) PaymentType() pulumi.StringOutput

The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.

func (NatGatewayOutput) Period

func (NatGatewayOutput) SnatTableIds

func (o NatGatewayOutput) SnatTableIds() pulumi.StringOutput

The nat gateway will auto create a snat item.

func (NatGatewayOutput) Specification

func (o NatGatewayOutput) Specification() pulumi.StringOutput

The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Effective when `internetChargeType` is `PayBySpec` and `networkType` is `internet`. Details refer to [Nat Gateway Specification](https://help.aliyun.com/document_detail/203500.html).

func (NatGatewayOutput) Status

(Available in 1.121.0+) The status of NAT gateway.

func (NatGatewayOutput) Tags

The tags of NAT gateway.

func (NatGatewayOutput) ToNatGatewayOutput

func (o NatGatewayOutput) ToNatGatewayOutput() NatGatewayOutput

func (NatGatewayOutput) ToNatGatewayOutputWithContext

func (o NatGatewayOutput) ToNatGatewayOutputWithContext(ctx context.Context) NatGatewayOutput

func (NatGatewayOutput) VpcId

The VPC ID.

func (NatGatewayOutput) VswitchId

func (o NatGatewayOutput) VswitchId() pulumi.StringPtrOutput

The id of VSwitch.

type NatGatewayState

type NatGatewayState struct {
	// Whether enable the deletion protection or not. Default value: `false`.
	// - true: Enable deletion protection.
	// - false: Disable deletion protection.
	DeletionProtection pulumi.BoolPtrInput
	// Description of the nat gateway, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Defaults to null.
	Description pulumi.StringPtrInput
	// Specifies whether to only precheck this request. Default value: `false`.
	DryRun pulumi.BoolPtrInput
	// The EIP binding mode of the NAT gateway. Default value: `MULTI_BINDED`. Valid values:
	// - `MULTI_BINDED`: Multi EIP network card visible mode.
	// - `NAT`: EIP normal mode, compatible with IPv4 gateway.
	EipBindMode pulumi.StringPtrInput
	// Specifies whether to forcefully delete the NAT gateway.
	Force pulumi.BoolPtrInput
	// The nat gateway will auto create a forward item.
	ForwardTableIds pulumi.StringPtrInput
	// Field `instanceChargeType` has been deprecated from provider version 1.121.0. New field `paymentType` instead.
	InstanceChargeType pulumi.StringPtrInput
	// The internet charge type. Valid values `PayByLcu` and `PayBySpec`. The `PayByLcu` is only support enhanced NAT. **NOTE:** From 1.137.0+, The `PayBySpec` has been deprecated.
	InternetChargeType pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.121.0. New field `natGatewayName` instead.
	Name pulumi.StringPtrInput
	// Name of the nat gateway. The value can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Defaults to null.
	NatGatewayName pulumi.StringPtrInput
	// The type of NAT gateway. Valid values: `Normal` and `Enhanced`. **NOTE:** From 1.137.0+,  The `Normal` has been deprecated.
	NatType pulumi.StringPtrInput
	// Indicates the type of the created NAT gateway. Valid values `internet` and `intranet`. `internet`: Internet NAT Gateway. `intranet`: VPC NAT Gateway.
	NetworkType pulumi.StringPtrInput
	// The billing method of the NAT gateway. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringPtrInput
	Period      pulumi.IntPtrInput
	// The nat gateway will auto create a snat item.
	SnatTableIds pulumi.StringPtrInput
	// The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Effective when `internetChargeType` is `PayBySpec` and `networkType` is `internet`. Details refer to [Nat Gateway Specification](https://help.aliyun.com/document_detail/203500.html).
	Specification pulumi.StringPtrInput
	// (Available in 1.121.0+) The status of NAT gateway.
	Status pulumi.StringPtrInput
	// The tags of NAT gateway.
	Tags pulumi.MapInput
	// The VPC ID.
	VpcId pulumi.StringPtrInput
	// The id of VSwitch.
	VswitchId pulumi.StringPtrInput
}

func (NatGatewayState) ElementType

func (NatGatewayState) ElementType() reflect.Type

type NatIp

type NatIp struct {
	pulumi.CustomResourceState

	// Specifies whether to check the validity of the request without actually making the request.
	DryRun pulumi.BoolOutput `pulumi:"dryRun"`
	// The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
	NatGatewayId pulumi.StringOutput `pulumi:"natGatewayId"`
	// The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
	NatIp pulumi.StringOutput `pulumi:"natIp"`
	// NAT IP ADDRESS of the address segment.
	NatIpCidr pulumi.StringPtrOutput `pulumi:"natIpCidr"`
	// The ID of the CIDR block to which the NAT IP address belongs.
	NatIpCidrId pulumi.StringPtrOutput `pulumi:"natIpCidrId"`
	// NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
	NatIpDescription pulumi.StringPtrOutput `pulumi:"natIpDescription"`
	// Ihe ID of the Nat Ip.
	NatIpId pulumi.StringOutput `pulumi:"natIpId"`
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpName pulumi.StringPtrOutput `pulumi:"natIpName"`
	// The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Nat Ip resource.

For information about VPC Nat Ip and how to use it, see [What is Nat Ip](https://www.alibabacloud.com/help/doc-detail/281976.htm).

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

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		exampleNetwork, err := vpc.NewNetwork(ctx, "exampleNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String("example_value"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "exampleSwitch", &vpc.SwitchArgs{
			VpcId:       pulumi.Any(alicloud_vpc.Default.Id),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(exampleZones.Zones[0].Id),
			VswitchName: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		exampleNatGateway, err := vpc.NewNatGateway(ctx, "exampleNatGateway", &vpc.NatGatewayArgs{
			VpcId:              exampleNetwork.ID(),
			InternetChargeType: pulumi.String("PayByLcu"),
			NatGatewayName:     pulumi.String("example_value"),
			Description:        pulumi.String("example_value"),
			NatType:            pulumi.String("Enhanced"),
			VswitchId:          exampleSwitch.ID(),
			NetworkType:        pulumi.String("intranet"),
		})
		if err != nil {
			return err
		}
		exampleNatIpCidr, err := vpc.NewNatIpCidr(ctx, "exampleNatIpCidr", &vpc.NatIpCidrArgs{
			NatIpCidr:            pulumi.String("192.168.0.0/16"),
			NatGatewayId:         exampleNatGateway.ID(),
			NatIpCidrDescription: pulumi.String("example_value"),
			NatIpCidrName:        pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNatIp(ctx, "exampleNatIp", &vpc.NatIpArgs{
			NatIp:            pulumi.String("192.168.0.37"),
			NatGatewayId:     exampleNatGateway.ID(),
			NatIpDescription: pulumi.String("example_value"),
			NatIpName:        pulumi.String("example_value"),
			NatIpCidr:        exampleNatIpCidr.NatIpCidr,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Nat Ip can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/natIp:NatIp example <nat_gateway_id>:<nat_ip_id>

```

func GetNatIp

func GetNatIp(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NatIpState, opts ...pulumi.ResourceOption) (*NatIp, error)

GetNatIp gets an existing NatIp 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 NewNatIp

func NewNatIp(ctx *pulumi.Context,
	name string, args *NatIpArgs, opts ...pulumi.ResourceOption) (*NatIp, error)

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

func (*NatIp) ElementType

func (*NatIp) ElementType() reflect.Type

func (*NatIp) ToNatIpOutput

func (i *NatIp) ToNatIpOutput() NatIpOutput

func (*NatIp) ToNatIpOutputWithContext

func (i *NatIp) ToNatIpOutputWithContext(ctx context.Context) NatIpOutput

type NatIpArgs

type NatIpArgs struct {
	// Specifies whether to check the validity of the request without actually making the request.
	DryRun pulumi.BoolPtrInput
	// The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
	NatGatewayId pulumi.StringInput
	// The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
	NatIp pulumi.StringPtrInput
	// NAT IP ADDRESS of the address segment.
	NatIpCidr pulumi.StringPtrInput
	// The ID of the CIDR block to which the NAT IP address belongs.
	NatIpCidrId pulumi.StringPtrInput
	// NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
	NatIpDescription pulumi.StringPtrInput
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpName pulumi.StringPtrInput
}

The set of arguments for constructing a NatIp resource.

func (NatIpArgs) ElementType

func (NatIpArgs) ElementType() reflect.Type

type NatIpArray

type NatIpArray []NatIpInput

func (NatIpArray) ElementType

func (NatIpArray) ElementType() reflect.Type

func (NatIpArray) ToNatIpArrayOutput

func (i NatIpArray) ToNatIpArrayOutput() NatIpArrayOutput

func (NatIpArray) ToNatIpArrayOutputWithContext

func (i NatIpArray) ToNatIpArrayOutputWithContext(ctx context.Context) NatIpArrayOutput

type NatIpArrayInput

type NatIpArrayInput interface {
	pulumi.Input

	ToNatIpArrayOutput() NatIpArrayOutput
	ToNatIpArrayOutputWithContext(context.Context) NatIpArrayOutput
}

NatIpArrayInput is an input type that accepts NatIpArray and NatIpArrayOutput values. You can construct a concrete instance of `NatIpArrayInput` via:

NatIpArray{ NatIpArgs{...} }

type NatIpArrayOutput

type NatIpArrayOutput struct{ *pulumi.OutputState }

func (NatIpArrayOutput) ElementType

func (NatIpArrayOutput) ElementType() reflect.Type

func (NatIpArrayOutput) Index

func (NatIpArrayOutput) ToNatIpArrayOutput

func (o NatIpArrayOutput) ToNatIpArrayOutput() NatIpArrayOutput

func (NatIpArrayOutput) ToNatIpArrayOutputWithContext

func (o NatIpArrayOutput) ToNatIpArrayOutputWithContext(ctx context.Context) NatIpArrayOutput

type NatIpCidr

type NatIpCidr struct {
	pulumi.CustomResourceState

	// Specifies whether to precheck this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolOutput `pulumi:"dryRun"`
	// The ID of the Virtual Private Cloud (VPC) NAT gateway where you want to create the NAT CIDR block.
	NatGatewayId pulumi.StringOutput `pulumi:"natGatewayId"`
	// - The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidr pulumi.StringPtrOutput `pulumi:"natIpCidr"`
	// The description of the NAT CIDR block. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	NatIpCidrDescription pulumi.StringPtrOutput `pulumi:"natIpCidrDescription"`
	// The name of the NAT CIDR block. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter. It must start with a letter but cannot start with `http://` or `https://`.
	NatIpCidrName pulumi.StringPtrOutput `pulumi:"natIpCidrName"`
	// The status of the CIDR block of the NAT gateway. Valid values: `Available`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Nat Ip Cidr resource.

For information about VPC Nat Ip Cidr and how to use it, see [What is Nat Ip Cidr](https://www.alibabacloud.com/help/doc-detail/281972.htm).

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

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.NewNetwork(ctx, "exampleNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String("example_value"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "exampleSwitch", &vpc.SwitchArgs{
			VpcId:       pulumi.Any(alicloud_vpc.Default.Id),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(exampleZones.Zones[0].Id),
			VswitchName: pulumi.Any(_var.Name),
		})
		if err != nil {
			return err
		}
		exampleNatGateway, err := vpc.NewNatGateway(ctx, "exampleNatGateway", &vpc.NatGatewayArgs{
			VpcId:              pulumi.Any(alicloud_vpc.Default.Id),
			InternetChargeType: pulumi.String("PayByLcu"),
			NatGatewayName:     pulumi.String("example_value"),
			Description:        pulumi.String("example_value"),
			NatType:            pulumi.String("Enhanced"),
			VswitchId:          exampleSwitch.ID(),
			NetworkType:        pulumi.String("intranet"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNatIpCidr(ctx, "exampleNatIpCidr", &vpc.NatIpCidrArgs{
			NatGatewayId:  exampleNatGateway.ID(),
			NatIpCidrName: pulumi.String("example_value"),
			NatIpCidr:     pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Nat Ip Cidr can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/natIpCidr:NatIpCidr example <nat_gateway_id>:<nat_ip_cidr>

```

func GetNatIpCidr

func GetNatIpCidr(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NatIpCidrState, opts ...pulumi.ResourceOption) (*NatIpCidr, error)

GetNatIpCidr gets an existing NatIpCidr 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 NewNatIpCidr

func NewNatIpCidr(ctx *pulumi.Context,
	name string, args *NatIpCidrArgs, opts ...pulumi.ResourceOption) (*NatIpCidr, error)

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

func (*NatIpCidr) ElementType

func (*NatIpCidr) ElementType() reflect.Type

func (*NatIpCidr) ToNatIpCidrOutput

func (i *NatIpCidr) ToNatIpCidrOutput() NatIpCidrOutput

func (*NatIpCidr) ToNatIpCidrOutputWithContext

func (i *NatIpCidr) ToNatIpCidrOutputWithContext(ctx context.Context) NatIpCidrOutput

type NatIpCidrArgs

type NatIpCidrArgs struct {
	// Specifies whether to precheck this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrInput
	// The ID of the Virtual Private Cloud (VPC) NAT gateway where you want to create the NAT CIDR block.
	NatGatewayId pulumi.StringInput
	// - The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidr pulumi.StringPtrInput
	// The description of the NAT CIDR block. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	NatIpCidrDescription pulumi.StringPtrInput
	// The name of the NAT CIDR block. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter. It must start with a letter but cannot start with `http://` or `https://`.
	NatIpCidrName pulumi.StringPtrInput
}

The set of arguments for constructing a NatIpCidr resource.

func (NatIpCidrArgs) ElementType

func (NatIpCidrArgs) ElementType() reflect.Type

type NatIpCidrArray

type NatIpCidrArray []NatIpCidrInput

func (NatIpCidrArray) ElementType

func (NatIpCidrArray) ElementType() reflect.Type

func (NatIpCidrArray) ToNatIpCidrArrayOutput

func (i NatIpCidrArray) ToNatIpCidrArrayOutput() NatIpCidrArrayOutput

func (NatIpCidrArray) ToNatIpCidrArrayOutputWithContext

func (i NatIpCidrArray) ToNatIpCidrArrayOutputWithContext(ctx context.Context) NatIpCidrArrayOutput

type NatIpCidrArrayInput

type NatIpCidrArrayInput interface {
	pulumi.Input

	ToNatIpCidrArrayOutput() NatIpCidrArrayOutput
	ToNatIpCidrArrayOutputWithContext(context.Context) NatIpCidrArrayOutput
}

NatIpCidrArrayInput is an input type that accepts NatIpCidrArray and NatIpCidrArrayOutput values. You can construct a concrete instance of `NatIpCidrArrayInput` via:

NatIpCidrArray{ NatIpCidrArgs{...} }

type NatIpCidrArrayOutput

type NatIpCidrArrayOutput struct{ *pulumi.OutputState }

func (NatIpCidrArrayOutput) ElementType

func (NatIpCidrArrayOutput) ElementType() reflect.Type

func (NatIpCidrArrayOutput) Index

func (NatIpCidrArrayOutput) ToNatIpCidrArrayOutput

func (o NatIpCidrArrayOutput) ToNatIpCidrArrayOutput() NatIpCidrArrayOutput

func (NatIpCidrArrayOutput) ToNatIpCidrArrayOutputWithContext

func (o NatIpCidrArrayOutput) ToNatIpCidrArrayOutputWithContext(ctx context.Context) NatIpCidrArrayOutput

type NatIpCidrInput

type NatIpCidrInput interface {
	pulumi.Input

	ToNatIpCidrOutput() NatIpCidrOutput
	ToNatIpCidrOutputWithContext(ctx context.Context) NatIpCidrOutput
}

type NatIpCidrMap

type NatIpCidrMap map[string]NatIpCidrInput

func (NatIpCidrMap) ElementType

func (NatIpCidrMap) ElementType() reflect.Type

func (NatIpCidrMap) ToNatIpCidrMapOutput

func (i NatIpCidrMap) ToNatIpCidrMapOutput() NatIpCidrMapOutput

func (NatIpCidrMap) ToNatIpCidrMapOutputWithContext

func (i NatIpCidrMap) ToNatIpCidrMapOutputWithContext(ctx context.Context) NatIpCidrMapOutput

type NatIpCidrMapInput

type NatIpCidrMapInput interface {
	pulumi.Input

	ToNatIpCidrMapOutput() NatIpCidrMapOutput
	ToNatIpCidrMapOutputWithContext(context.Context) NatIpCidrMapOutput
}

NatIpCidrMapInput is an input type that accepts NatIpCidrMap and NatIpCidrMapOutput values. You can construct a concrete instance of `NatIpCidrMapInput` via:

NatIpCidrMap{ "key": NatIpCidrArgs{...} }

type NatIpCidrMapOutput

type NatIpCidrMapOutput struct{ *pulumi.OutputState }

func (NatIpCidrMapOutput) ElementType

func (NatIpCidrMapOutput) ElementType() reflect.Type

func (NatIpCidrMapOutput) MapIndex

func (NatIpCidrMapOutput) ToNatIpCidrMapOutput

func (o NatIpCidrMapOutput) ToNatIpCidrMapOutput() NatIpCidrMapOutput

func (NatIpCidrMapOutput) ToNatIpCidrMapOutputWithContext

func (o NatIpCidrMapOutput) ToNatIpCidrMapOutputWithContext(ctx context.Context) NatIpCidrMapOutput

type NatIpCidrOutput

type NatIpCidrOutput struct{ *pulumi.OutputState }

func (NatIpCidrOutput) DryRun

func (o NatIpCidrOutput) DryRun() pulumi.BoolOutput

Specifies whether to precheck this request only. Valid values: `true` and `false`.

func (NatIpCidrOutput) ElementType

func (NatIpCidrOutput) ElementType() reflect.Type

func (NatIpCidrOutput) NatGatewayId

func (o NatIpCidrOutput) NatGatewayId() pulumi.StringOutput

The ID of the Virtual Private Cloud (VPC) NAT gateway where you want to create the NAT CIDR block.

func (NatIpCidrOutput) NatIpCidr

func (o NatIpCidrOutput) NatIpCidr() pulumi.StringPtrOutput

- The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).

func (NatIpCidrOutput) NatIpCidrDescription

func (o NatIpCidrOutput) NatIpCidrDescription() pulumi.StringPtrOutput

The description of the NAT CIDR block. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.

func (NatIpCidrOutput) NatIpCidrName

func (o NatIpCidrOutput) NatIpCidrName() pulumi.StringPtrOutput

The name of the NAT CIDR block. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter. It must start with a letter but cannot start with `http://` or `https://`.

func (NatIpCidrOutput) Status

func (o NatIpCidrOutput) Status() pulumi.StringOutput

The status of the CIDR block of the NAT gateway. Valid values: `Available`.

func (NatIpCidrOutput) ToNatIpCidrOutput

func (o NatIpCidrOutput) ToNatIpCidrOutput() NatIpCidrOutput

func (NatIpCidrOutput) ToNatIpCidrOutputWithContext

func (o NatIpCidrOutput) ToNatIpCidrOutputWithContext(ctx context.Context) NatIpCidrOutput

type NatIpCidrState

type NatIpCidrState struct {
	// Specifies whether to precheck this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrInput
	// The ID of the Virtual Private Cloud (VPC) NAT gateway where you want to create the NAT CIDR block.
	NatGatewayId pulumi.StringPtrInput
	// - The NAT CIDR block to be created. The CIDR block must meet the following conditions: It must be `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, or one of their subnets. The subnet mask must be `16` to `32` bits in lengths. To use a public CIDR block as the NAT CIDR block, the VPC to which the VPC NAT gateway belongs must be authorized to use public CIDR blocks. For more information, see [Create a VPC NAT gateway](https://www.alibabacloud.com/help/doc-detail/268230.htm).
	NatIpCidr pulumi.StringPtrInput
	// The description of the NAT CIDR block. The description must be `2` to `256` characters in length. It must start with a letter but cannot start with `http://` or `https://`.
	NatIpCidrDescription pulumi.StringPtrInput
	// The name of the NAT CIDR block. The name must be `2` to `128` characters in length and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter. It must start with a letter but cannot start with `http://` or `https://`.
	NatIpCidrName pulumi.StringPtrInput
	// The status of the CIDR block of the NAT gateway. Valid values: `Available`.
	Status pulumi.StringPtrInput
}

func (NatIpCidrState) ElementType

func (NatIpCidrState) ElementType() reflect.Type

type NatIpInput

type NatIpInput interface {
	pulumi.Input

	ToNatIpOutput() NatIpOutput
	ToNatIpOutputWithContext(ctx context.Context) NatIpOutput
}

type NatIpMap

type NatIpMap map[string]NatIpInput

func (NatIpMap) ElementType

func (NatIpMap) ElementType() reflect.Type

func (NatIpMap) ToNatIpMapOutput

func (i NatIpMap) ToNatIpMapOutput() NatIpMapOutput

func (NatIpMap) ToNatIpMapOutputWithContext

func (i NatIpMap) ToNatIpMapOutputWithContext(ctx context.Context) NatIpMapOutput

type NatIpMapInput

type NatIpMapInput interface {
	pulumi.Input

	ToNatIpMapOutput() NatIpMapOutput
	ToNatIpMapOutputWithContext(context.Context) NatIpMapOutput
}

NatIpMapInput is an input type that accepts NatIpMap and NatIpMapOutput values. You can construct a concrete instance of `NatIpMapInput` via:

NatIpMap{ "key": NatIpArgs{...} }

type NatIpMapOutput

type NatIpMapOutput struct{ *pulumi.OutputState }

func (NatIpMapOutput) ElementType

func (NatIpMapOutput) ElementType() reflect.Type

func (NatIpMapOutput) MapIndex

func (NatIpMapOutput) ToNatIpMapOutput

func (o NatIpMapOutput) ToNatIpMapOutput() NatIpMapOutput

func (NatIpMapOutput) ToNatIpMapOutputWithContext

func (o NatIpMapOutput) ToNatIpMapOutputWithContext(ctx context.Context) NatIpMapOutput

type NatIpOutput

type NatIpOutput struct{ *pulumi.OutputState }

func (NatIpOutput) DryRun

func (o NatIpOutput) DryRun() pulumi.BoolOutput

Specifies whether to check the validity of the request without actually making the request.

func (NatIpOutput) ElementType

func (NatIpOutput) ElementType() reflect.Type

func (NatIpOutput) NatGatewayId

func (o NatIpOutput) NatGatewayId() pulumi.StringOutput

The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.

func (NatIpOutput) NatIp

func (o NatIpOutput) NatIp() pulumi.StringOutput

The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.

func (NatIpOutput) NatIpCidr

func (o NatIpOutput) NatIpCidr() pulumi.StringPtrOutput

NAT IP ADDRESS of the address segment.

func (NatIpOutput) NatIpCidrId

func (o NatIpOutput) NatIpCidrId() pulumi.StringPtrOutput

The ID of the CIDR block to which the NAT IP address belongs.

func (NatIpOutput) NatIpDescription

func (o NatIpOutput) NatIpDescription() pulumi.StringPtrOutput

NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the` http:// ` Or `https://` at the beginning.

func (NatIpOutput) NatIpId

func (o NatIpOutput) NatIpId() pulumi.StringOutput

Ihe ID of the Nat Ip.

func (NatIpOutput) NatIpName

func (o NatIpOutput) NatIpName() pulumi.StringPtrOutput

NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.

func (NatIpOutput) Status

func (o NatIpOutput) Status() pulumi.StringOutput

The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.

func (NatIpOutput) ToNatIpOutput

func (o NatIpOutput) ToNatIpOutput() NatIpOutput

func (NatIpOutput) ToNatIpOutputWithContext

func (o NatIpOutput) ToNatIpOutputWithContext(ctx context.Context) NatIpOutput

type NatIpState

type NatIpState struct {
	// Specifies whether to check the validity of the request without actually making the request.
	DryRun pulumi.BoolPtrInput
	// The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
	NatGatewayId pulumi.StringPtrInput
	// The NAT IP address that you want to create. If you do not specify an IP address, the system selects a random IP address from the specified CIDR block.
	NatIp pulumi.StringPtrInput
	// NAT IP ADDRESS of the address segment.
	NatIpCidr pulumi.StringPtrInput
	// The ID of the CIDR block to which the NAT IP address belongs.
	NatIpCidrId pulumi.StringPtrInput
	// NAT IP ADDRESS description of information. Length is from `2` to `256` characters, must start with a letter or the Chinese at the beginning, but not at the`  http:// ` Or `https://` at the beginning.
	NatIpDescription pulumi.StringPtrInput
	// Ihe ID of the Nat Ip.
	NatIpId pulumi.StringPtrInput
	// NAT IP ADDRESS the name of the root directory. Length is from `2` to `128` characters, must start with a letter or the Chinese at the beginning can contain numbers, half a period (.), underscore (_) and dash (-). But do not start with `http://` or `https://` at the beginning.
	NatIpName pulumi.StringPtrInput
	// The status of the NAT IP address. Valid values: `Available`, `Deleting`, `Creating` and `Deleted`.
	Status pulumi.StringPtrInput
}

func (NatIpState) ElementType

func (NatIpState) ElementType() reflect.Type

type Network

type Network struct {
	pulumi.CustomResourceState

	// The CIDR block for the VPC. The `cidrBlock` is Optional and default value is `172.16.0.0/12` after v1.119.0+.
	CidrBlock pulumi.StringPtrOutput `pulumi:"cidrBlock"`
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies whether to pre-check this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Specifies whether to enable the IPv6 CIDR block. Valid values: `false` (Default): disables IPv6 CIDR blocks. `true`: enables IPv6 CIDR blocks. If the `enableIpv6` is `true`, the system will automatically create a free version of an IPv6 gateway for your private network and assign an IPv6 network segment assigned as /56.
	EnableIpv6 pulumi.BoolPtrOutput `pulumi:"enableIpv6"`
	// (Available in v1.119.0+) ) The ipv6 cidr block of VPC.
	Ipv6CidrBlock pulumi.StringOutput `pulumi:"ipv6CidrBlock"`
	// Field `name` has been deprecated from provider version 1.119.0. New field `vpcName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of resource group which the VPC belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The route table ID of the router created by default on VPC creation.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The ID of the router created by default on VPC creation.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
	// (Deprecated) It has been deprecated and replaced with `routeTableId`.
	//
	// Deprecated: Attribute router_table_id has been deprecated and replaced with route_table_id.
	RouterTableId pulumi.StringOutput `pulumi:"routerTableId"`
	// Field `secondaryCidrBlocks` has been deprecated from provider version 1.185.0, and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondaryCidrBlocks` attributes and `alicloudVpcIpv4CidrBlock` resource cannot be used at the same time.
	//
	// Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondary_cidr_blocks` attributes and `alicloud_vpc_ipv4_cidr_block` resource cannot be used at the same time.
	SecondaryCidrBlocks pulumi.StringArrayOutput `pulumi:"secondaryCidrBlocks"`
	// The status of the VPC.
	Status pulumi.StringOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The user cidr blocks of the VPC.
	UserCidrs pulumi.StringArrayOutput `pulumi:"userCidrs"`
	// The name of the VPC. Defaults to null.
	VpcName pulumi.StringOutput `pulumi:"vpcName"`
}

## Import

VPC can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/network:Network example vpc-abc123456

```

func GetNetwork

func GetNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkState, opts ...pulumi.ResourceOption) (*Network, error)

GetNetwork gets an existing Network 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 NewNetwork

func NewNetwork(ctx *pulumi.Context,
	name string, args *NetworkArgs, opts ...pulumi.ResourceOption) (*Network, error)

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

func (*Network) ElementType

func (*Network) ElementType() reflect.Type

func (*Network) ToNetworkOutput

func (i *Network) ToNetworkOutput() NetworkOutput

func (*Network) ToNetworkOutputWithContext

func (i *Network) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

type NetworkAcl

type NetworkAcl struct {
	pulumi.CustomResourceState

	// The description of egress entries.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block `egressAclEntries`.
	EgressAclEntries NetworkAclEgressAclEntryArrayOutput `pulumi:"egressAclEntries"`
	// List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block `ingressAclEntries`.
	IngressAclEntries NetworkAclIngressAclEntryArrayOutput `pulumi:"ingressAclEntries"`
	// Field `name` has been deprecated from provider version 1.122.0. New field `networkAclName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the network acl.
	NetworkAclName pulumi.StringOutput `pulumi:"networkAclName"`
	// The associated resources. See the following `Block resources`. **NOTE:** "Field `resources` has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource `alicloudVpcNetworkAclAttachment`."
	//
	// Deprecated: Field 'resources' has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_network_acl_attachment'.
	Resources NetworkAclResourceArrayOutput `pulumi:"resources"`
	// (Available in 1.122.0+) The status of the network acl.
	Status pulumi.StringOutput `pulumi:"status"`
	// The vpcId of the network acl, the field can't be changed.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a network acl resource to add network acls.

> **NOTE:** Available in 1.43.0+. Currently, the resource are only available in Hongkong(cn-hongkong), India(ap-south-1), and Indonesia(ap-southeast-1) regions.

## Import

The network acl can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/networkAcl:NetworkAcl default nacl-abc123456

```

func GetNetworkAcl

func GetNetworkAcl(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkAclState, opts ...pulumi.ResourceOption) (*NetworkAcl, error)

GetNetworkAcl gets an existing NetworkAcl 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 NewNetworkAcl

func NewNetworkAcl(ctx *pulumi.Context,
	name string, args *NetworkAclArgs, opts ...pulumi.ResourceOption) (*NetworkAcl, error)

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

func (*NetworkAcl) ElementType

func (*NetworkAcl) ElementType() reflect.Type

func (*NetworkAcl) ToNetworkAclOutput

func (i *NetworkAcl) ToNetworkAclOutput() NetworkAclOutput

func (*NetworkAcl) ToNetworkAclOutputWithContext

func (i *NetworkAcl) ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput

type NetworkAclArgs

type NetworkAclArgs struct {
	// The description of egress entries.
	Description pulumi.StringPtrInput
	// List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block `egressAclEntries`.
	EgressAclEntries NetworkAclEgressAclEntryArrayInput
	// List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block `ingressAclEntries`.
	IngressAclEntries NetworkAclIngressAclEntryArrayInput
	// Field `name` has been deprecated from provider version 1.122.0. New field `networkAclName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead
	Name pulumi.StringPtrInput
	// The name of the network acl.
	NetworkAclName pulumi.StringPtrInput
	// The associated resources. See the following `Block resources`. **NOTE:** "Field `resources` has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource `alicloudVpcNetworkAclAttachment`."
	//
	// Deprecated: Field 'resources' has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_network_acl_attachment'.
	Resources NetworkAclResourceArrayInput
	// The vpcId of the network acl, the field can't be changed.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a NetworkAcl resource.

func (NetworkAclArgs) ElementType

func (NetworkAclArgs) ElementType() reflect.Type

type NetworkAclArray

type NetworkAclArray []NetworkAclInput

func (NetworkAclArray) ElementType

func (NetworkAclArray) ElementType() reflect.Type

func (NetworkAclArray) ToNetworkAclArrayOutput

func (i NetworkAclArray) ToNetworkAclArrayOutput() NetworkAclArrayOutput

func (NetworkAclArray) ToNetworkAclArrayOutputWithContext

func (i NetworkAclArray) ToNetworkAclArrayOutputWithContext(ctx context.Context) NetworkAclArrayOutput

type NetworkAclArrayInput

type NetworkAclArrayInput interface {
	pulumi.Input

	ToNetworkAclArrayOutput() NetworkAclArrayOutput
	ToNetworkAclArrayOutputWithContext(context.Context) NetworkAclArrayOutput
}

NetworkAclArrayInput is an input type that accepts NetworkAclArray and NetworkAclArrayOutput values. You can construct a concrete instance of `NetworkAclArrayInput` via:

NetworkAclArray{ NetworkAclArgs{...} }

type NetworkAclArrayOutput

type NetworkAclArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclArrayOutput) ElementType

func (NetworkAclArrayOutput) ElementType() reflect.Type

func (NetworkAclArrayOutput) Index

func (NetworkAclArrayOutput) ToNetworkAclArrayOutput

func (o NetworkAclArrayOutput) ToNetworkAclArrayOutput() NetworkAclArrayOutput

func (NetworkAclArrayOutput) ToNetworkAclArrayOutputWithContext

func (o NetworkAclArrayOutput) ToNetworkAclArrayOutputWithContext(ctx context.Context) NetworkAclArrayOutput

type NetworkAclAttachment

type NetworkAclAttachment struct {
	pulumi.CustomResourceState

	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringOutput `pulumi:"networkAclId"`
	// List of the resources associated with the network acl. The details see Block Resources.
	Resources NetworkAclAttachmentResourceArrayOutput `pulumi:"resources"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "NatGatewayConfigSpec"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, "defaultNetworkAcl", &vpc.NetworkAclArgs{
			VpcId:          defaultNetwork.ID(),
			NetworkAclName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclAttachment(ctx, "defaultNetworkAclAttachment", &vpc.NetworkAclAttachmentArgs{
			NetworkAclId: defaultNetworkAcl.ID(),
			Resources: vpc.NetworkAclAttachmentResourceArray{
				&vpc.NetworkAclAttachmentResourceArgs{
					ResourceId:   defaultSwitch.ID(),
					ResourceType: pulumi.String("VSwitch"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetNetworkAclAttachment

func GetNetworkAclAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkAclAttachmentState, opts ...pulumi.ResourceOption) (*NetworkAclAttachment, error)

GetNetworkAclAttachment gets an existing NetworkAclAttachment 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 NewNetworkAclAttachment

func NewNetworkAclAttachment(ctx *pulumi.Context,
	name string, args *NetworkAclAttachmentArgs, opts ...pulumi.ResourceOption) (*NetworkAclAttachment, error)

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

func (*NetworkAclAttachment) ElementType

func (*NetworkAclAttachment) ElementType() reflect.Type

func (*NetworkAclAttachment) ToNetworkAclAttachmentOutput

func (i *NetworkAclAttachment) ToNetworkAclAttachmentOutput() NetworkAclAttachmentOutput

func (*NetworkAclAttachment) ToNetworkAclAttachmentOutputWithContext

func (i *NetworkAclAttachment) ToNetworkAclAttachmentOutputWithContext(ctx context.Context) NetworkAclAttachmentOutput

type NetworkAclAttachmentArgs

type NetworkAclAttachmentArgs struct {
	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringInput
	// List of the resources associated with the network acl. The details see Block Resources.
	Resources NetworkAclAttachmentResourceArrayInput
}

The set of arguments for constructing a NetworkAclAttachment resource.

func (NetworkAclAttachmentArgs) ElementType

func (NetworkAclAttachmentArgs) ElementType() reflect.Type

type NetworkAclAttachmentArray

type NetworkAclAttachmentArray []NetworkAclAttachmentInput

func (NetworkAclAttachmentArray) ElementType

func (NetworkAclAttachmentArray) ElementType() reflect.Type

func (NetworkAclAttachmentArray) ToNetworkAclAttachmentArrayOutput

func (i NetworkAclAttachmentArray) ToNetworkAclAttachmentArrayOutput() NetworkAclAttachmentArrayOutput

func (NetworkAclAttachmentArray) ToNetworkAclAttachmentArrayOutputWithContext

func (i NetworkAclAttachmentArray) ToNetworkAclAttachmentArrayOutputWithContext(ctx context.Context) NetworkAclAttachmentArrayOutput

type NetworkAclAttachmentArrayInput

type NetworkAclAttachmentArrayInput interface {
	pulumi.Input

	ToNetworkAclAttachmentArrayOutput() NetworkAclAttachmentArrayOutput
	ToNetworkAclAttachmentArrayOutputWithContext(context.Context) NetworkAclAttachmentArrayOutput
}

NetworkAclAttachmentArrayInput is an input type that accepts NetworkAclAttachmentArray and NetworkAclAttachmentArrayOutput values. You can construct a concrete instance of `NetworkAclAttachmentArrayInput` via:

NetworkAclAttachmentArray{ NetworkAclAttachmentArgs{...} }

type NetworkAclAttachmentArrayOutput

type NetworkAclAttachmentArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentArrayOutput) ElementType

func (NetworkAclAttachmentArrayOutput) Index

func (NetworkAclAttachmentArrayOutput) ToNetworkAclAttachmentArrayOutput

func (o NetworkAclAttachmentArrayOutput) ToNetworkAclAttachmentArrayOutput() NetworkAclAttachmentArrayOutput

func (NetworkAclAttachmentArrayOutput) ToNetworkAclAttachmentArrayOutputWithContext

func (o NetworkAclAttachmentArrayOutput) ToNetworkAclAttachmentArrayOutputWithContext(ctx context.Context) NetworkAclAttachmentArrayOutput

type NetworkAclAttachmentInput

type NetworkAclAttachmentInput interface {
	pulumi.Input

	ToNetworkAclAttachmentOutput() NetworkAclAttachmentOutput
	ToNetworkAclAttachmentOutputWithContext(ctx context.Context) NetworkAclAttachmentOutput
}

type NetworkAclAttachmentMap

type NetworkAclAttachmentMap map[string]NetworkAclAttachmentInput

func (NetworkAclAttachmentMap) ElementType

func (NetworkAclAttachmentMap) ElementType() reflect.Type

func (NetworkAclAttachmentMap) ToNetworkAclAttachmentMapOutput

func (i NetworkAclAttachmentMap) ToNetworkAclAttachmentMapOutput() NetworkAclAttachmentMapOutput

func (NetworkAclAttachmentMap) ToNetworkAclAttachmentMapOutputWithContext

func (i NetworkAclAttachmentMap) ToNetworkAclAttachmentMapOutputWithContext(ctx context.Context) NetworkAclAttachmentMapOutput

type NetworkAclAttachmentMapInput

type NetworkAclAttachmentMapInput interface {
	pulumi.Input

	ToNetworkAclAttachmentMapOutput() NetworkAclAttachmentMapOutput
	ToNetworkAclAttachmentMapOutputWithContext(context.Context) NetworkAclAttachmentMapOutput
}

NetworkAclAttachmentMapInput is an input type that accepts NetworkAclAttachmentMap and NetworkAclAttachmentMapOutput values. You can construct a concrete instance of `NetworkAclAttachmentMapInput` via:

NetworkAclAttachmentMap{ "key": NetworkAclAttachmentArgs{...} }

type NetworkAclAttachmentMapOutput

type NetworkAclAttachmentMapOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentMapOutput) ElementType

func (NetworkAclAttachmentMapOutput) MapIndex

func (NetworkAclAttachmentMapOutput) ToNetworkAclAttachmentMapOutput

func (o NetworkAclAttachmentMapOutput) ToNetworkAclAttachmentMapOutput() NetworkAclAttachmentMapOutput

func (NetworkAclAttachmentMapOutput) ToNetworkAclAttachmentMapOutputWithContext

func (o NetworkAclAttachmentMapOutput) ToNetworkAclAttachmentMapOutputWithContext(ctx context.Context) NetworkAclAttachmentMapOutput

type NetworkAclAttachmentOutput

type NetworkAclAttachmentOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentOutput) ElementType

func (NetworkAclAttachmentOutput) ElementType() reflect.Type

func (NetworkAclAttachmentOutput) NetworkAclId

The id of the network acl, the field can't be changed.

func (NetworkAclAttachmentOutput) Resources

List of the resources associated with the network acl. The details see Block Resources.

func (NetworkAclAttachmentOutput) ToNetworkAclAttachmentOutput

func (o NetworkAclAttachmentOutput) ToNetworkAclAttachmentOutput() NetworkAclAttachmentOutput

func (NetworkAclAttachmentOutput) ToNetworkAclAttachmentOutputWithContext

func (o NetworkAclAttachmentOutput) ToNetworkAclAttachmentOutputWithContext(ctx context.Context) NetworkAclAttachmentOutput

type NetworkAclAttachmentResource

type NetworkAclAttachmentResource struct {
	// The resource id that the network acl will associate with.
	ResourceId string `pulumi:"resourceId"`
	// The resource id that the network acl will associate with. Only support `VSwitch` now.
	ResourceType string `pulumi:"resourceType"`
}

type NetworkAclAttachmentResourceArgs

type NetworkAclAttachmentResourceArgs struct {
	// The resource id that the network acl will associate with.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
	// The resource id that the network acl will associate with. Only support `VSwitch` now.
	ResourceType pulumi.StringInput `pulumi:"resourceType"`
}

func (NetworkAclAttachmentResourceArgs) ElementType

func (NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutput

func (i NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutput() NetworkAclAttachmentResourceOutput

func (NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutputWithContext

func (i NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceOutput

type NetworkAclAttachmentResourceArray

type NetworkAclAttachmentResourceArray []NetworkAclAttachmentResourceInput

func (NetworkAclAttachmentResourceArray) ElementType

func (NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutput

func (i NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutput() NetworkAclAttachmentResourceArrayOutput

func (NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutputWithContext

func (i NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceArrayOutput

type NetworkAclAttachmentResourceArrayInput

type NetworkAclAttachmentResourceArrayInput interface {
	pulumi.Input

	ToNetworkAclAttachmentResourceArrayOutput() NetworkAclAttachmentResourceArrayOutput
	ToNetworkAclAttachmentResourceArrayOutputWithContext(context.Context) NetworkAclAttachmentResourceArrayOutput
}

NetworkAclAttachmentResourceArrayInput is an input type that accepts NetworkAclAttachmentResourceArray and NetworkAclAttachmentResourceArrayOutput values. You can construct a concrete instance of `NetworkAclAttachmentResourceArrayInput` via:

NetworkAclAttachmentResourceArray{ NetworkAclAttachmentResourceArgs{...} }

type NetworkAclAttachmentResourceArrayOutput

type NetworkAclAttachmentResourceArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentResourceArrayOutput) ElementType

func (NetworkAclAttachmentResourceArrayOutput) Index

func (NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutput

func (o NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutput() NetworkAclAttachmentResourceArrayOutput

func (NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutputWithContext

func (o NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceArrayOutput

type NetworkAclAttachmentResourceInput

type NetworkAclAttachmentResourceInput interface {
	pulumi.Input

	ToNetworkAclAttachmentResourceOutput() NetworkAclAttachmentResourceOutput
	ToNetworkAclAttachmentResourceOutputWithContext(context.Context) NetworkAclAttachmentResourceOutput
}

NetworkAclAttachmentResourceInput is an input type that accepts NetworkAclAttachmentResourceArgs and NetworkAclAttachmentResourceOutput values. You can construct a concrete instance of `NetworkAclAttachmentResourceInput` via:

NetworkAclAttachmentResourceArgs{...}

type NetworkAclAttachmentResourceOutput

type NetworkAclAttachmentResourceOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentResourceOutput) ElementType

func (NetworkAclAttachmentResourceOutput) ResourceId

The resource id that the network acl will associate with.

func (NetworkAclAttachmentResourceOutput) ResourceType

The resource id that the network acl will associate with. Only support `VSwitch` now.

func (NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutput

func (o NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutput() NetworkAclAttachmentResourceOutput

func (NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutputWithContext

func (o NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceOutput

type NetworkAclAttachmentState

type NetworkAclAttachmentState struct {
	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringPtrInput
	// List of the resources associated with the network acl. The details see Block Resources.
	Resources NetworkAclAttachmentResourceArrayInput
}

func (NetworkAclAttachmentState) ElementType

func (NetworkAclAttachmentState) ElementType() reflect.Type

type NetworkAclEgressAclEntry

type NetworkAclEgressAclEntry struct {
	// The description of egress entries.
	Description *string `pulumi:"description"`
	// The destination cidr ip of egress entries.
	DestinationCidrIp *string `pulumi:"destinationCidrIp"`
	// The entry name of egress entries.
	NetworkAclEntryName *string `pulumi:"networkAclEntryName"`
	// The policy of egress entries. Valid values `accept` and `drop`.
	Policy *string `pulumi:"policy"`
	// The port of egress entries.
	Port *string `pulumi:"port"`
	// The protocol of egress entries. Valid values `icmp`,`gre`,`tcp`,`udp`, and `all`.
	Protocol *string `pulumi:"protocol"`
}

type NetworkAclEgressAclEntryArgs

type NetworkAclEgressAclEntryArgs struct {
	// The description of egress entries.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The destination cidr ip of egress entries.
	DestinationCidrIp pulumi.StringPtrInput `pulumi:"destinationCidrIp"`
	// The entry name of egress entries.
	NetworkAclEntryName pulumi.StringPtrInput `pulumi:"networkAclEntryName"`
	// The policy of egress entries. Valid values `accept` and `drop`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The port of egress entries.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol of egress entries. Valid values `icmp`,`gre`,`tcp`,`udp`, and `all`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (NetworkAclEgressAclEntryArgs) ElementType

func (NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutput

func (i NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutput() NetworkAclEgressAclEntryOutput

func (NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutputWithContext

func (i NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryOutput

type NetworkAclEgressAclEntryArray

type NetworkAclEgressAclEntryArray []NetworkAclEgressAclEntryInput

func (NetworkAclEgressAclEntryArray) ElementType

func (NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutput

func (i NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutput() NetworkAclEgressAclEntryArrayOutput

func (NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutputWithContext

func (i NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryArrayOutput

type NetworkAclEgressAclEntryArrayInput

type NetworkAclEgressAclEntryArrayInput interface {
	pulumi.Input

	ToNetworkAclEgressAclEntryArrayOutput() NetworkAclEgressAclEntryArrayOutput
	ToNetworkAclEgressAclEntryArrayOutputWithContext(context.Context) NetworkAclEgressAclEntryArrayOutput
}

NetworkAclEgressAclEntryArrayInput is an input type that accepts NetworkAclEgressAclEntryArray and NetworkAclEgressAclEntryArrayOutput values. You can construct a concrete instance of `NetworkAclEgressAclEntryArrayInput` via:

NetworkAclEgressAclEntryArray{ NetworkAclEgressAclEntryArgs{...} }

type NetworkAclEgressAclEntryArrayOutput

type NetworkAclEgressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEgressAclEntryArrayOutput) ElementType

func (NetworkAclEgressAclEntryArrayOutput) Index

func (NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutput

func (o NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutput() NetworkAclEgressAclEntryArrayOutput

func (NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutputWithContext

func (o NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryArrayOutput

type NetworkAclEgressAclEntryInput

type NetworkAclEgressAclEntryInput interface {
	pulumi.Input

	ToNetworkAclEgressAclEntryOutput() NetworkAclEgressAclEntryOutput
	ToNetworkAclEgressAclEntryOutputWithContext(context.Context) NetworkAclEgressAclEntryOutput
}

NetworkAclEgressAclEntryInput is an input type that accepts NetworkAclEgressAclEntryArgs and NetworkAclEgressAclEntryOutput values. You can construct a concrete instance of `NetworkAclEgressAclEntryInput` via:

NetworkAclEgressAclEntryArgs{...}

type NetworkAclEgressAclEntryOutput

type NetworkAclEgressAclEntryOutput struct{ *pulumi.OutputState }

func (NetworkAclEgressAclEntryOutput) Description

The description of egress entries.

func (NetworkAclEgressAclEntryOutput) DestinationCidrIp

The destination cidr ip of egress entries.

func (NetworkAclEgressAclEntryOutput) ElementType

func (NetworkAclEgressAclEntryOutput) NetworkAclEntryName

func (o NetworkAclEgressAclEntryOutput) NetworkAclEntryName() pulumi.StringPtrOutput

The entry name of egress entries.

func (NetworkAclEgressAclEntryOutput) Policy

The policy of egress entries. Valid values `accept` and `drop`.

func (NetworkAclEgressAclEntryOutput) Port

The port of egress entries.

func (NetworkAclEgressAclEntryOutput) Protocol

The protocol of egress entries. Valid values `icmp`,`gre`,`tcp`,`udp`, and `all`.

func (NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutput

func (o NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutput() NetworkAclEgressAclEntryOutput

func (NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutputWithContext

func (o NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryOutput

type NetworkAclEntries

type NetworkAclEntries struct {
	pulumi.CustomResourceState

	// List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block Egress.
	Egresses NetworkAclEntriesEgressArrayOutput `pulumi:"egresses"`
	// List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block Ingress.
	Ingresses NetworkAclEntriesIngressArrayOutput `pulumi:"ingresses"`
	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringOutput `pulumi:"networkAclId"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "NetworkAclEntries"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, "defaultNetworkAcl", &vpc.NetworkAclArgs{
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:     defaultNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/21"),
			ZoneId:    pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclAttachment(ctx, "defaultNetworkAclAttachment", &vpc.NetworkAclAttachmentArgs{
			NetworkAclId: defaultNetworkAcl.ID(),
			Resources: vpc.NetworkAclAttachmentResourceArray{
				&vpc.NetworkAclAttachmentResourceArgs{
					ResourceId:   defaultSwitch.ID(),
					ResourceType: pulumi.String("VSwitch"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclEntries(ctx, "defaultNetworkAclEntries", &vpc.NetworkAclEntriesArgs{
			NetworkAclId: defaultNetworkAcl.ID(),
			Ingresses: vpc.NetworkAclEntriesIngressArray{
				&vpc.NetworkAclEntriesIngressArgs{
					Protocol:     pulumi.String("all"),
					Port:         pulumi.String("-1/-1"),
					SourceCidrIp: pulumi.String("0.0.0.0/32"),
					Name:         pulumi.String(name),
					EntryType:    pulumi.String("custom"),
					Policy:       pulumi.String("accept"),
					Description:  pulumi.String(name),
				},
			},
			Egresses: vpc.NetworkAclEntriesEgressArray{
				&vpc.NetworkAclEntriesEgressArgs{
					Protocol:          pulumi.String("all"),
					Port:              pulumi.String("-1/-1"),
					DestinationCidrIp: pulumi.String("0.0.0.0/32"),
					Name:              pulumi.String(name),
					EntryType:         pulumi.String("custom"),
					Policy:            pulumi.String("accept"),
					Description:       pulumi.String(name),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetNetworkAclEntries

func GetNetworkAclEntries(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkAclEntriesState, opts ...pulumi.ResourceOption) (*NetworkAclEntries, error)

GetNetworkAclEntries gets an existing NetworkAclEntries 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 NewNetworkAclEntries

func NewNetworkAclEntries(ctx *pulumi.Context,
	name string, args *NetworkAclEntriesArgs, opts ...pulumi.ResourceOption) (*NetworkAclEntries, error)

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

func (*NetworkAclEntries) ElementType

func (*NetworkAclEntries) ElementType() reflect.Type

func (*NetworkAclEntries) ToNetworkAclEntriesOutput

func (i *NetworkAclEntries) ToNetworkAclEntriesOutput() NetworkAclEntriesOutput

func (*NetworkAclEntries) ToNetworkAclEntriesOutputWithContext

func (i *NetworkAclEntries) ToNetworkAclEntriesOutputWithContext(ctx context.Context) NetworkAclEntriesOutput

type NetworkAclEntriesArgs

type NetworkAclEntriesArgs struct {
	// List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block Egress.
	Egresses NetworkAclEntriesEgressArrayInput
	// List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block Ingress.
	Ingresses NetworkAclEntriesIngressArrayInput
	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringInput
}

The set of arguments for constructing a NetworkAclEntries resource.

func (NetworkAclEntriesArgs) ElementType

func (NetworkAclEntriesArgs) ElementType() reflect.Type

type NetworkAclEntriesArray

type NetworkAclEntriesArray []NetworkAclEntriesInput

func (NetworkAclEntriesArray) ElementType

func (NetworkAclEntriesArray) ElementType() reflect.Type

func (NetworkAclEntriesArray) ToNetworkAclEntriesArrayOutput

func (i NetworkAclEntriesArray) ToNetworkAclEntriesArrayOutput() NetworkAclEntriesArrayOutput

func (NetworkAclEntriesArray) ToNetworkAclEntriesArrayOutputWithContext

func (i NetworkAclEntriesArray) ToNetworkAclEntriesArrayOutputWithContext(ctx context.Context) NetworkAclEntriesArrayOutput

type NetworkAclEntriesArrayInput

type NetworkAclEntriesArrayInput interface {
	pulumi.Input

	ToNetworkAclEntriesArrayOutput() NetworkAclEntriesArrayOutput
	ToNetworkAclEntriesArrayOutputWithContext(context.Context) NetworkAclEntriesArrayOutput
}

NetworkAclEntriesArrayInput is an input type that accepts NetworkAclEntriesArray and NetworkAclEntriesArrayOutput values. You can construct a concrete instance of `NetworkAclEntriesArrayInput` via:

NetworkAclEntriesArray{ NetworkAclEntriesArgs{...} }

type NetworkAclEntriesArrayOutput

type NetworkAclEntriesArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesArrayOutput) ElementType

func (NetworkAclEntriesArrayOutput) Index

func (NetworkAclEntriesArrayOutput) ToNetworkAclEntriesArrayOutput

func (o NetworkAclEntriesArrayOutput) ToNetworkAclEntriesArrayOutput() NetworkAclEntriesArrayOutput

func (NetworkAclEntriesArrayOutput) ToNetworkAclEntriesArrayOutputWithContext

func (o NetworkAclEntriesArrayOutput) ToNetworkAclEntriesArrayOutputWithContext(ctx context.Context) NetworkAclEntriesArrayOutput

type NetworkAclEntriesEgress

type NetworkAclEntriesEgress struct {
	// The description of the egress entry.
	Description *string `pulumi:"description"`
	// The destination ip of the egress entry.
	DestinationCidrIp *string `pulumi:"destinationCidrIp"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType *string `pulumi:"entryType"`
	// The name of the egress entry.
	Name *string `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy *string `pulumi:"policy"`
	// The port of the egress entry.
	Port *string `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol *string `pulumi:"protocol"`
}

type NetworkAclEntriesEgressArgs

type NetworkAclEntriesEgressArgs struct {
	// The description of the egress entry.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The destination ip of the egress entry.
	DestinationCidrIp pulumi.StringPtrInput `pulumi:"destinationCidrIp"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType pulumi.StringPtrInput `pulumi:"entryType"`
	// The name of the egress entry.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The port of the egress entry.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (NetworkAclEntriesEgressArgs) ElementType

func (NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutput

func (i NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput

func (NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutputWithContext

func (i NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutputWithContext(ctx context.Context) NetworkAclEntriesEgressOutput

type NetworkAclEntriesEgressArray

type NetworkAclEntriesEgressArray []NetworkAclEntriesEgressInput

func (NetworkAclEntriesEgressArray) ElementType

func (NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutput

func (i NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutput() NetworkAclEntriesEgressArrayOutput

func (NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutputWithContext

func (i NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesEgressArrayOutput

type NetworkAclEntriesEgressArrayInput

type NetworkAclEntriesEgressArrayInput interface {
	pulumi.Input

	ToNetworkAclEntriesEgressArrayOutput() NetworkAclEntriesEgressArrayOutput
	ToNetworkAclEntriesEgressArrayOutputWithContext(context.Context) NetworkAclEntriesEgressArrayOutput
}

NetworkAclEntriesEgressArrayInput is an input type that accepts NetworkAclEntriesEgressArray and NetworkAclEntriesEgressArrayOutput values. You can construct a concrete instance of `NetworkAclEntriesEgressArrayInput` via:

NetworkAclEntriesEgressArray{ NetworkAclEntriesEgressArgs{...} }

type NetworkAclEntriesEgressArrayOutput

type NetworkAclEntriesEgressArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesEgressArrayOutput) ElementType

func (NetworkAclEntriesEgressArrayOutput) Index

func (NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutput

func (o NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutput() NetworkAclEntriesEgressArrayOutput

func (NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutputWithContext

func (o NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesEgressArrayOutput

type NetworkAclEntriesEgressInput

type NetworkAclEntriesEgressInput interface {
	pulumi.Input

	ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput
	ToNetworkAclEntriesEgressOutputWithContext(context.Context) NetworkAclEntriesEgressOutput
}

NetworkAclEntriesEgressInput is an input type that accepts NetworkAclEntriesEgressArgs and NetworkAclEntriesEgressOutput values. You can construct a concrete instance of `NetworkAclEntriesEgressInput` via:

NetworkAclEntriesEgressArgs{...}

type NetworkAclEntriesEgressOutput

type NetworkAclEntriesEgressOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesEgressOutput) Description

The description of the egress entry.

func (NetworkAclEntriesEgressOutput) DestinationCidrIp

The destination ip of the egress entry.

func (NetworkAclEntriesEgressOutput) ElementType

func (NetworkAclEntriesEgressOutput) EntryType

The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.

func (NetworkAclEntriesEgressOutput) Name

The name of the egress entry.

func (NetworkAclEntriesEgressOutput) Policy

The policy of the egress entry. It must be `accept` or `drop`.

func (NetworkAclEntriesEgressOutput) Port

The port of the egress entry.

func (NetworkAclEntriesEgressOutput) Protocol

The protocol of the egress entry.

func (NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutput

func (o NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput

func (NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutputWithContext

func (o NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutputWithContext(ctx context.Context) NetworkAclEntriesEgressOutput

type NetworkAclEntriesIngress

type NetworkAclEntriesIngress struct {
	// The description of the egress entry.
	Description *string `pulumi:"description"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType *string `pulumi:"entryType"`
	// The name of the egress entry.
	Name *string `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy *string `pulumi:"policy"`
	// The port of the egress entry.
	Port *string `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol *string `pulumi:"protocol"`
	// The source ip of the ingress entry.
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
}

type NetworkAclEntriesIngressArgs

type NetworkAclEntriesIngressArgs struct {
	// The description of the egress entry.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType pulumi.StringPtrInput `pulumi:"entryType"`
	// The name of the egress entry.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The port of the egress entry.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// The source ip of the ingress entry.
	SourceCidrIp pulumi.StringPtrInput `pulumi:"sourceCidrIp"`
}

func (NetworkAclEntriesIngressArgs) ElementType

func (NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutput

func (i NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutput() NetworkAclEntriesIngressOutput

func (NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutputWithContext

func (i NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutputWithContext(ctx context.Context) NetworkAclEntriesIngressOutput

type NetworkAclEntriesIngressArray

type NetworkAclEntriesIngressArray []NetworkAclEntriesIngressInput

func (NetworkAclEntriesIngressArray) ElementType

func (NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutput

func (i NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutput() NetworkAclEntriesIngressArrayOutput

func (NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutputWithContext

func (i NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesIngressArrayOutput

type NetworkAclEntriesIngressArrayInput

type NetworkAclEntriesIngressArrayInput interface {
	pulumi.Input

	ToNetworkAclEntriesIngressArrayOutput() NetworkAclEntriesIngressArrayOutput
	ToNetworkAclEntriesIngressArrayOutputWithContext(context.Context) NetworkAclEntriesIngressArrayOutput
}

NetworkAclEntriesIngressArrayInput is an input type that accepts NetworkAclEntriesIngressArray and NetworkAclEntriesIngressArrayOutput values. You can construct a concrete instance of `NetworkAclEntriesIngressArrayInput` via:

NetworkAclEntriesIngressArray{ NetworkAclEntriesIngressArgs{...} }

type NetworkAclEntriesIngressArrayOutput

type NetworkAclEntriesIngressArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesIngressArrayOutput) ElementType

func (NetworkAclEntriesIngressArrayOutput) Index

func (NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutput

func (o NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutput() NetworkAclEntriesIngressArrayOutput

func (NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutputWithContext

func (o NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesIngressArrayOutput

type NetworkAclEntriesIngressInput

type NetworkAclEntriesIngressInput interface {
	pulumi.Input

	ToNetworkAclEntriesIngressOutput() NetworkAclEntriesIngressOutput
	ToNetworkAclEntriesIngressOutputWithContext(context.Context) NetworkAclEntriesIngressOutput
}

NetworkAclEntriesIngressInput is an input type that accepts NetworkAclEntriesIngressArgs and NetworkAclEntriesIngressOutput values. You can construct a concrete instance of `NetworkAclEntriesIngressInput` via:

NetworkAclEntriesIngressArgs{...}

type NetworkAclEntriesIngressOutput

type NetworkAclEntriesIngressOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesIngressOutput) Description

The description of the egress entry.

func (NetworkAclEntriesIngressOutput) ElementType

func (NetworkAclEntriesIngressOutput) EntryType

The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.

func (NetworkAclEntriesIngressOutput) Name

The name of the egress entry.

func (NetworkAclEntriesIngressOutput) Policy

The policy of the egress entry. It must be `accept` or `drop`.

func (NetworkAclEntriesIngressOutput) Port

The port of the egress entry.

func (NetworkAclEntriesIngressOutput) Protocol

The protocol of the egress entry.

func (NetworkAclEntriesIngressOutput) SourceCidrIp

The source ip of the ingress entry.

func (NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutput

func (o NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutput() NetworkAclEntriesIngressOutput

func (NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutputWithContext

func (o NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutputWithContext(ctx context.Context) NetworkAclEntriesIngressOutput

type NetworkAclEntriesInput

type NetworkAclEntriesInput interface {
	pulumi.Input

	ToNetworkAclEntriesOutput() NetworkAclEntriesOutput
	ToNetworkAclEntriesOutputWithContext(ctx context.Context) NetworkAclEntriesOutput
}

type NetworkAclEntriesMap

type NetworkAclEntriesMap map[string]NetworkAclEntriesInput

func (NetworkAclEntriesMap) ElementType

func (NetworkAclEntriesMap) ElementType() reflect.Type

func (NetworkAclEntriesMap) ToNetworkAclEntriesMapOutput

func (i NetworkAclEntriesMap) ToNetworkAclEntriesMapOutput() NetworkAclEntriesMapOutput

func (NetworkAclEntriesMap) ToNetworkAclEntriesMapOutputWithContext

func (i NetworkAclEntriesMap) ToNetworkAclEntriesMapOutputWithContext(ctx context.Context) NetworkAclEntriesMapOutput

type NetworkAclEntriesMapInput

type NetworkAclEntriesMapInput interface {
	pulumi.Input

	ToNetworkAclEntriesMapOutput() NetworkAclEntriesMapOutput
	ToNetworkAclEntriesMapOutputWithContext(context.Context) NetworkAclEntriesMapOutput
}

NetworkAclEntriesMapInput is an input type that accepts NetworkAclEntriesMap and NetworkAclEntriesMapOutput values. You can construct a concrete instance of `NetworkAclEntriesMapInput` via:

NetworkAclEntriesMap{ "key": NetworkAclEntriesArgs{...} }

type NetworkAclEntriesMapOutput

type NetworkAclEntriesMapOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesMapOutput) ElementType

func (NetworkAclEntriesMapOutput) ElementType() reflect.Type

func (NetworkAclEntriesMapOutput) MapIndex

func (NetworkAclEntriesMapOutput) ToNetworkAclEntriesMapOutput

func (o NetworkAclEntriesMapOutput) ToNetworkAclEntriesMapOutput() NetworkAclEntriesMapOutput

func (NetworkAclEntriesMapOutput) ToNetworkAclEntriesMapOutputWithContext

func (o NetworkAclEntriesMapOutput) ToNetworkAclEntriesMapOutputWithContext(ctx context.Context) NetworkAclEntriesMapOutput

type NetworkAclEntriesOutput

type NetworkAclEntriesOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesOutput) Egresses

List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block Egress.

func (NetworkAclEntriesOutput) ElementType

func (NetworkAclEntriesOutput) ElementType() reflect.Type

func (NetworkAclEntriesOutput) Ingresses

List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block Ingress.

func (NetworkAclEntriesOutput) NetworkAclId

func (o NetworkAclEntriesOutput) NetworkAclId() pulumi.StringOutput

The id of the network acl, the field can't be changed.

func (NetworkAclEntriesOutput) ToNetworkAclEntriesOutput

func (o NetworkAclEntriesOutput) ToNetworkAclEntriesOutput() NetworkAclEntriesOutput

func (NetworkAclEntriesOutput) ToNetworkAclEntriesOutputWithContext

func (o NetworkAclEntriesOutput) ToNetworkAclEntriesOutputWithContext(ctx context.Context) NetworkAclEntriesOutput

type NetworkAclEntriesState

type NetworkAclEntriesState struct {
	// List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block Egress.
	Egresses NetworkAclEntriesEgressArrayInput
	// List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block Ingress.
	Ingresses NetworkAclEntriesIngressArrayInput
	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringPtrInput
}

func (NetworkAclEntriesState) ElementType

func (NetworkAclEntriesState) ElementType() reflect.Type

type NetworkAclIngressAclEntry

type NetworkAclIngressAclEntry struct {
	// The description of egress entries.
	Description *string `pulumi:"description"`
	// The entry name of egress entries.
	NetworkAclEntryName *string `pulumi:"networkAclEntryName"`
	// The policy of egress entries. Valid values `accept` and `drop`.
	Policy *string `pulumi:"policy"`
	// The port of egress entries.
	Port *string `pulumi:"port"`
	// The protocol of egress entries. Valid values `icmp`,`gre`,`tcp`,`udp`, and `all`.
	Protocol *string `pulumi:"protocol"`
	// The source cidr ip of ingress entries.
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
}

type NetworkAclIngressAclEntryArgs

type NetworkAclIngressAclEntryArgs struct {
	// The description of egress entries.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The entry name of egress entries.
	NetworkAclEntryName pulumi.StringPtrInput `pulumi:"networkAclEntryName"`
	// The policy of egress entries. Valid values `accept` and `drop`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The port of egress entries.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol of egress entries. Valid values `icmp`,`gre`,`tcp`,`udp`, and `all`.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// The source cidr ip of ingress entries.
	SourceCidrIp pulumi.StringPtrInput `pulumi:"sourceCidrIp"`
}

func (NetworkAclIngressAclEntryArgs) ElementType

func (NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutput

func (i NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutput() NetworkAclIngressAclEntryOutput

func (NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutputWithContext

func (i NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryOutput

type NetworkAclIngressAclEntryArray

type NetworkAclIngressAclEntryArray []NetworkAclIngressAclEntryInput

func (NetworkAclIngressAclEntryArray) ElementType

func (NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutput

func (i NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutput() NetworkAclIngressAclEntryArrayOutput

func (NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutputWithContext

func (i NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryArrayOutput

type NetworkAclIngressAclEntryArrayInput

type NetworkAclIngressAclEntryArrayInput interface {
	pulumi.Input

	ToNetworkAclIngressAclEntryArrayOutput() NetworkAclIngressAclEntryArrayOutput
	ToNetworkAclIngressAclEntryArrayOutputWithContext(context.Context) NetworkAclIngressAclEntryArrayOutput
}

NetworkAclIngressAclEntryArrayInput is an input type that accepts NetworkAclIngressAclEntryArray and NetworkAclIngressAclEntryArrayOutput values. You can construct a concrete instance of `NetworkAclIngressAclEntryArrayInput` via:

NetworkAclIngressAclEntryArray{ NetworkAclIngressAclEntryArgs{...} }

type NetworkAclIngressAclEntryArrayOutput

type NetworkAclIngressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclIngressAclEntryArrayOutput) ElementType

func (NetworkAclIngressAclEntryArrayOutput) Index

func (NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutput

func (o NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutput() NetworkAclIngressAclEntryArrayOutput

func (NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutputWithContext

func (o NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryArrayOutput

type NetworkAclIngressAclEntryInput

type NetworkAclIngressAclEntryInput interface {
	pulumi.Input

	ToNetworkAclIngressAclEntryOutput() NetworkAclIngressAclEntryOutput
	ToNetworkAclIngressAclEntryOutputWithContext(context.Context) NetworkAclIngressAclEntryOutput
}

NetworkAclIngressAclEntryInput is an input type that accepts NetworkAclIngressAclEntryArgs and NetworkAclIngressAclEntryOutput values. You can construct a concrete instance of `NetworkAclIngressAclEntryInput` via:

NetworkAclIngressAclEntryArgs{...}

type NetworkAclIngressAclEntryOutput

type NetworkAclIngressAclEntryOutput struct{ *pulumi.OutputState }

func (NetworkAclIngressAclEntryOutput) Description

The description of egress entries.

func (NetworkAclIngressAclEntryOutput) ElementType

func (NetworkAclIngressAclEntryOutput) NetworkAclEntryName

func (o NetworkAclIngressAclEntryOutput) NetworkAclEntryName() pulumi.StringPtrOutput

The entry name of egress entries.

func (NetworkAclIngressAclEntryOutput) Policy

The policy of egress entries. Valid values `accept` and `drop`.

func (NetworkAclIngressAclEntryOutput) Port

The port of egress entries.

func (NetworkAclIngressAclEntryOutput) Protocol

The protocol of egress entries. Valid values `icmp`,`gre`,`tcp`,`udp`, and `all`.

func (NetworkAclIngressAclEntryOutput) SourceCidrIp

The source cidr ip of ingress entries.

func (NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutput

func (o NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutput() NetworkAclIngressAclEntryOutput

func (NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutputWithContext

func (o NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryOutput

type NetworkAclInput

type NetworkAclInput interface {
	pulumi.Input

	ToNetworkAclOutput() NetworkAclOutput
	ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput
}

type NetworkAclMap

type NetworkAclMap map[string]NetworkAclInput

func (NetworkAclMap) ElementType

func (NetworkAclMap) ElementType() reflect.Type

func (NetworkAclMap) ToNetworkAclMapOutput

func (i NetworkAclMap) ToNetworkAclMapOutput() NetworkAclMapOutput

func (NetworkAclMap) ToNetworkAclMapOutputWithContext

func (i NetworkAclMap) ToNetworkAclMapOutputWithContext(ctx context.Context) NetworkAclMapOutput

type NetworkAclMapInput

type NetworkAclMapInput interface {
	pulumi.Input

	ToNetworkAclMapOutput() NetworkAclMapOutput
	ToNetworkAclMapOutputWithContext(context.Context) NetworkAclMapOutput
}

NetworkAclMapInput is an input type that accepts NetworkAclMap and NetworkAclMapOutput values. You can construct a concrete instance of `NetworkAclMapInput` via:

NetworkAclMap{ "key": NetworkAclArgs{...} }

type NetworkAclMapOutput

type NetworkAclMapOutput struct{ *pulumi.OutputState }

func (NetworkAclMapOutput) ElementType

func (NetworkAclMapOutput) ElementType() reflect.Type

func (NetworkAclMapOutput) MapIndex

func (NetworkAclMapOutput) ToNetworkAclMapOutput

func (o NetworkAclMapOutput) ToNetworkAclMapOutput() NetworkAclMapOutput

func (NetworkAclMapOutput) ToNetworkAclMapOutputWithContext

func (o NetworkAclMapOutput) ToNetworkAclMapOutputWithContext(ctx context.Context) NetworkAclMapOutput

type NetworkAclOutput

type NetworkAclOutput struct{ *pulumi.OutputState }

func (NetworkAclOutput) Description

func (o NetworkAclOutput) Description() pulumi.StringPtrOutput

The description of egress entries.

func (NetworkAclOutput) EgressAclEntries

List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block `egressAclEntries`.

func (NetworkAclOutput) ElementType

func (NetworkAclOutput) ElementType() reflect.Type

func (NetworkAclOutput) IngressAclEntries

List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block `ingressAclEntries`.

func (NetworkAclOutput) Name deprecated

Field `name` has been deprecated from provider version 1.122.0. New field `networkAclName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead

func (NetworkAclOutput) NetworkAclName

func (o NetworkAclOutput) NetworkAclName() pulumi.StringOutput

The name of the network acl.

func (NetworkAclOutput) Resources deprecated

The associated resources. See the following `Block resources`. **NOTE:** "Field `resources` has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource `alicloudVpcNetworkAclAttachment`."

Deprecated: Field 'resources' has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_network_acl_attachment'.

func (NetworkAclOutput) Status

(Available in 1.122.0+) The status of the network acl.

func (NetworkAclOutput) ToNetworkAclOutput

func (o NetworkAclOutput) ToNetworkAclOutput() NetworkAclOutput

func (NetworkAclOutput) ToNetworkAclOutputWithContext

func (o NetworkAclOutput) ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput

func (NetworkAclOutput) VpcId

The vpcId of the network acl, the field can't be changed.

type NetworkAclResource

type NetworkAclResource struct {
	// The ID of the associated resource.
	ResourceId *string `pulumi:"resourceId"`
	// The type of the associated resource. Valid values `VSwitch`.
	ResourceType *string `pulumi:"resourceType"`
}

type NetworkAclResourceArgs

type NetworkAclResourceArgs struct {
	// The ID of the associated resource.
	ResourceId pulumi.StringPtrInput `pulumi:"resourceId"`
	// The type of the associated resource. Valid values `VSwitch`.
	ResourceType pulumi.StringPtrInput `pulumi:"resourceType"`
}

func (NetworkAclResourceArgs) ElementType

func (NetworkAclResourceArgs) ElementType() reflect.Type

func (NetworkAclResourceArgs) ToNetworkAclResourceOutput

func (i NetworkAclResourceArgs) ToNetworkAclResourceOutput() NetworkAclResourceOutput

func (NetworkAclResourceArgs) ToNetworkAclResourceOutputWithContext

func (i NetworkAclResourceArgs) ToNetworkAclResourceOutputWithContext(ctx context.Context) NetworkAclResourceOutput

type NetworkAclResourceArray

type NetworkAclResourceArray []NetworkAclResourceInput

func (NetworkAclResourceArray) ElementType

func (NetworkAclResourceArray) ElementType() reflect.Type

func (NetworkAclResourceArray) ToNetworkAclResourceArrayOutput

func (i NetworkAclResourceArray) ToNetworkAclResourceArrayOutput() NetworkAclResourceArrayOutput

func (NetworkAclResourceArray) ToNetworkAclResourceArrayOutputWithContext

func (i NetworkAclResourceArray) ToNetworkAclResourceArrayOutputWithContext(ctx context.Context) NetworkAclResourceArrayOutput

type NetworkAclResourceArrayInput

type NetworkAclResourceArrayInput interface {
	pulumi.Input

	ToNetworkAclResourceArrayOutput() NetworkAclResourceArrayOutput
	ToNetworkAclResourceArrayOutputWithContext(context.Context) NetworkAclResourceArrayOutput
}

NetworkAclResourceArrayInput is an input type that accepts NetworkAclResourceArray and NetworkAclResourceArrayOutput values. You can construct a concrete instance of `NetworkAclResourceArrayInput` via:

NetworkAclResourceArray{ NetworkAclResourceArgs{...} }

type NetworkAclResourceArrayOutput

type NetworkAclResourceArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclResourceArrayOutput) ElementType

func (NetworkAclResourceArrayOutput) Index

func (NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutput

func (o NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutput() NetworkAclResourceArrayOutput

func (NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutputWithContext

func (o NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutputWithContext(ctx context.Context) NetworkAclResourceArrayOutput

type NetworkAclResourceInput

type NetworkAclResourceInput interface {
	pulumi.Input

	ToNetworkAclResourceOutput() NetworkAclResourceOutput
	ToNetworkAclResourceOutputWithContext(context.Context) NetworkAclResourceOutput
}

NetworkAclResourceInput is an input type that accepts NetworkAclResourceArgs and NetworkAclResourceOutput values. You can construct a concrete instance of `NetworkAclResourceInput` via:

NetworkAclResourceArgs{...}

type NetworkAclResourceOutput

type NetworkAclResourceOutput struct{ *pulumi.OutputState }

func (NetworkAclResourceOutput) ElementType

func (NetworkAclResourceOutput) ElementType() reflect.Type

func (NetworkAclResourceOutput) ResourceId

The ID of the associated resource.

func (NetworkAclResourceOutput) ResourceType

The type of the associated resource. Valid values `VSwitch`.

func (NetworkAclResourceOutput) ToNetworkAclResourceOutput

func (o NetworkAclResourceOutput) ToNetworkAclResourceOutput() NetworkAclResourceOutput

func (NetworkAclResourceOutput) ToNetworkAclResourceOutputWithContext

func (o NetworkAclResourceOutput) ToNetworkAclResourceOutputWithContext(ctx context.Context) NetworkAclResourceOutput

type NetworkAclState

type NetworkAclState struct {
	// The description of egress entries.
	Description pulumi.StringPtrInput
	// List of the egress entries of the network acl. The order of the egress entries determines the priority. The details see Block `egressAclEntries`.
	EgressAclEntries NetworkAclEgressAclEntryArrayInput
	// List of the ingress entries of the network acl. The order of the ingress entries determines the priority. The details see Block `ingressAclEntries`.
	IngressAclEntries NetworkAclIngressAclEntryArrayInput
	// Field `name` has been deprecated from provider version 1.122.0. New field `networkAclName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead
	Name pulumi.StringPtrInput
	// The name of the network acl.
	NetworkAclName pulumi.StringPtrInput
	// The associated resources. See the following `Block resources`. **NOTE:** "Field `resources` has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource `alicloudVpcNetworkAclAttachment`."
	//
	// Deprecated: Field 'resources' has been deprecated from provider version 1.193.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_network_acl_attachment'.
	Resources NetworkAclResourceArrayInput
	// (Available in 1.122.0+) The status of the network acl.
	Status pulumi.StringPtrInput
	// The vpcId of the network acl, the field can't be changed.
	VpcId pulumi.StringPtrInput
}

func (NetworkAclState) ElementType

func (NetworkAclState) ElementType() reflect.Type

type NetworkArgs

type NetworkArgs struct {
	// The CIDR block for the VPC. The `cidrBlock` is Optional and default value is `172.16.0.0/12` after v1.119.0+.
	CidrBlock pulumi.StringPtrInput
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrInput
	// Specifies whether to pre-check this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrInput
	// Specifies whether to enable the IPv6 CIDR block. Valid values: `false` (Default): disables IPv6 CIDR blocks. `true`: enables IPv6 CIDR blocks. If the `enableIpv6` is `true`, the system will automatically create a free version of an IPv6 gateway for your private network and assign an IPv6 network segment assigned as /56.
	EnableIpv6 pulumi.BoolPtrInput
	// Field `name` has been deprecated from provider version 1.119.0. New field `vpcName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.
	Name pulumi.StringPtrInput
	// The ID of resource group which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// Field `secondaryCidrBlocks` has been deprecated from provider version 1.185.0, and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondaryCidrBlocks` attributes and `alicloudVpcIpv4CidrBlock` resource cannot be used at the same time.
	//
	// Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondary_cidr_blocks` attributes and `alicloud_vpc_ipv4_cidr_block` resource cannot be used at the same time.
	SecondaryCidrBlocks pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The user cidr blocks of the VPC.
	UserCidrs pulumi.StringArrayInput
	// The name of the VPC. Defaults to null.
	VpcName pulumi.StringPtrInput
}

The set of arguments for constructing a Network resource.

func (NetworkArgs) ElementType

func (NetworkArgs) ElementType() reflect.Type

type NetworkArray

type NetworkArray []NetworkInput

func (NetworkArray) ElementType

func (NetworkArray) ElementType() reflect.Type

func (NetworkArray) ToNetworkArrayOutput

func (i NetworkArray) ToNetworkArrayOutput() NetworkArrayOutput

func (NetworkArray) ToNetworkArrayOutputWithContext

func (i NetworkArray) ToNetworkArrayOutputWithContext(ctx context.Context) NetworkArrayOutput

type NetworkArrayInput

type NetworkArrayInput interface {
	pulumi.Input

	ToNetworkArrayOutput() NetworkArrayOutput
	ToNetworkArrayOutputWithContext(context.Context) NetworkArrayOutput
}

NetworkArrayInput is an input type that accepts NetworkArray and NetworkArrayOutput values. You can construct a concrete instance of `NetworkArrayInput` via:

NetworkArray{ NetworkArgs{...} }

type NetworkArrayOutput

type NetworkArrayOutput struct{ *pulumi.OutputState }

func (NetworkArrayOutput) ElementType

func (NetworkArrayOutput) ElementType() reflect.Type

func (NetworkArrayOutput) Index

func (NetworkArrayOutput) ToNetworkArrayOutput

func (o NetworkArrayOutput) ToNetworkArrayOutput() NetworkArrayOutput

func (NetworkArrayOutput) ToNetworkArrayOutputWithContext

func (o NetworkArrayOutput) ToNetworkArrayOutputWithContext(ctx context.Context) NetworkArrayOutput

type NetworkInput

type NetworkInput interface {
	pulumi.Input

	ToNetworkOutput() NetworkOutput
	ToNetworkOutputWithContext(ctx context.Context) NetworkOutput
}

type NetworkInterface

type NetworkInterface struct {
	pulumi.CustomResourceState

	// Description of the ENI. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
	Description      pulumi.StringPtrOutput   `pulumi:"description"`
	Ipv6AddressCount pulumi.IntOutput         `pulumi:"ipv6AddressCount"`
	Ipv6Addresses    pulumi.StringArrayOutput `pulumi:"ipv6Addresses"`
	// (Available in 1.54.0+) The MAC address of an ENI.
	Mac pulumi.StringOutput `pulumi:"mac"`
	// Name of the ENI. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-", ".", "_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'network_interface_name' instead
	Name                 pulumi.StringOutput `pulumi:"name"`
	NetworkInterfaceName pulumi.StringOutput `pulumi:"networkInterfaceName"`
	PrimaryIpAddress     pulumi.StringOutput `pulumi:"primaryIpAddress"`
	// The primary private IP of the ENI.
	//
	// Deprecated: Field 'private_ip' has been deprecated from provider version 1.123.1. New field 'primary_ip_address' instead
	PrivateIp          pulumi.StringOutput      `pulumi:"privateIp"`
	PrivateIpAddresses pulumi.StringArrayOutput `pulumi:"privateIpAddresses"`
	// List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	//
	// Deprecated: Field 'private_ips' has been deprecated from provider version 1.123.1. New field 'private_ip_addresses' instead
	PrivateIps pulumi.StringArrayOutput `pulumi:"privateIps"`
	// Number of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	//
	// Deprecated: Field 'private_ips_count' has been deprecated from provider version 1.123.1. New field 'secondary_private_ip_address_count' instead
	PrivateIpsCount pulumi.IntOutput `pulumi:"privateIpsCount"`
	QueueNumber     pulumi.IntOutput `pulumi:"queueNumber"`
	// The Id of resource group which the network interface belongs.
	ResourceGroupId                pulumi.StringPtrOutput   `pulumi:"resourceGroupId"`
	SecondaryPrivateIpAddressCount pulumi.IntOutput         `pulumi:"secondaryPrivateIpAddressCount"`
	SecurityGroupIds               pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// A list of security group ids to associate with.
	//
	// Deprecated: Field 'security_groups' has been deprecated from provider version 1.123.1. New field 'security_group_ids' instead
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	Status         pulumi.StringOutput      `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VSwitch to create the ENI in.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "networkInterfaceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("192.168.0.0/24"),
		})
		if err != nil {
			return err
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
			CidrBlock: pulumi.String("192.168.0.0/24"),
			ZoneId:    pulumi.String(defaultZones.Zones[0].Id),
			VpcId:     vpc.ID(),
		})
		if err != nil {
			return err
		}
		group, err := ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
			VpcId: vpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkInterface(ctx, "defaultNetworkInterface", &vpc.NetworkInterfaceArgs{
			NetworkInterfaceName: pulumi.String(name),
			VswitchId:            vswitch.ID(),
			SecurityGroupIds: pulumi.StringArray{
				group.ID(),
			},
			PrivateIp:       pulumi.String("192.168.0.2"),
			PrivateIpsCount: pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ENI can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/networkInterface:NetworkInterface eni eni-abc1234567890000

```

func GetNetworkInterface

func GetNetworkInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkInterfaceState, opts ...pulumi.ResourceOption) (*NetworkInterface, error)

GetNetworkInterface gets an existing NetworkInterface 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 NewNetworkInterface

func NewNetworkInterface(ctx *pulumi.Context,
	name string, args *NetworkInterfaceArgs, opts ...pulumi.ResourceOption) (*NetworkInterface, error)

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

func (*NetworkInterface) ElementType

func (*NetworkInterface) ElementType() reflect.Type

func (*NetworkInterface) ToNetworkInterfaceOutput

func (i *NetworkInterface) ToNetworkInterfaceOutput() NetworkInterfaceOutput

func (*NetworkInterface) ToNetworkInterfaceOutputWithContext

func (i *NetworkInterface) ToNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInterfaceOutput

type NetworkInterfaceArgs

type NetworkInterfaceArgs struct {
	// Description of the ENI. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
	Description      pulumi.StringPtrInput
	Ipv6AddressCount pulumi.IntPtrInput
	Ipv6Addresses    pulumi.StringArrayInput
	// Name of the ENI. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-", ".", "_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'network_interface_name' instead
	Name                 pulumi.StringPtrInput
	NetworkInterfaceName pulumi.StringPtrInput
	PrimaryIpAddress     pulumi.StringPtrInput
	// The primary private IP of the ENI.
	//
	// Deprecated: Field 'private_ip' has been deprecated from provider version 1.123.1. New field 'primary_ip_address' instead
	PrivateIp          pulumi.StringPtrInput
	PrivateIpAddresses pulumi.StringArrayInput
	// List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	//
	// Deprecated: Field 'private_ips' has been deprecated from provider version 1.123.1. New field 'private_ip_addresses' instead
	PrivateIps pulumi.StringArrayInput
	// Number of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	//
	// Deprecated: Field 'private_ips_count' has been deprecated from provider version 1.123.1. New field 'secondary_private_ip_address_count' instead
	PrivateIpsCount pulumi.IntPtrInput
	QueueNumber     pulumi.IntPtrInput
	// The Id of resource group which the network interface belongs.
	ResourceGroupId                pulumi.StringPtrInput
	SecondaryPrivateIpAddressCount pulumi.IntPtrInput
	SecurityGroupIds               pulumi.StringArrayInput
	// A list of security group ids to associate with.
	//
	// Deprecated: Field 'security_groups' has been deprecated from provider version 1.123.1. New field 'security_group_ids' instead
	SecurityGroups pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The VSwitch to create the ENI in.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a NetworkInterface resource.

func (NetworkInterfaceArgs) ElementType

func (NetworkInterfaceArgs) ElementType() reflect.Type

type NetworkInterfaceArray

type NetworkInterfaceArray []NetworkInterfaceInput

func (NetworkInterfaceArray) ElementType

func (NetworkInterfaceArray) ElementType() reflect.Type

func (NetworkInterfaceArray) ToNetworkInterfaceArrayOutput

func (i NetworkInterfaceArray) ToNetworkInterfaceArrayOutput() NetworkInterfaceArrayOutput

func (NetworkInterfaceArray) ToNetworkInterfaceArrayOutputWithContext

func (i NetworkInterfaceArray) ToNetworkInterfaceArrayOutputWithContext(ctx context.Context) NetworkInterfaceArrayOutput

type NetworkInterfaceArrayInput

type NetworkInterfaceArrayInput interface {
	pulumi.Input

	ToNetworkInterfaceArrayOutput() NetworkInterfaceArrayOutput
	ToNetworkInterfaceArrayOutputWithContext(context.Context) NetworkInterfaceArrayOutput
}

NetworkInterfaceArrayInput is an input type that accepts NetworkInterfaceArray and NetworkInterfaceArrayOutput values. You can construct a concrete instance of `NetworkInterfaceArrayInput` via:

NetworkInterfaceArray{ NetworkInterfaceArgs{...} }

type NetworkInterfaceArrayOutput

type NetworkInterfaceArrayOutput struct{ *pulumi.OutputState }

func (NetworkInterfaceArrayOutput) ElementType

func (NetworkInterfaceArrayOutput) Index

func (NetworkInterfaceArrayOutput) ToNetworkInterfaceArrayOutput

func (o NetworkInterfaceArrayOutput) ToNetworkInterfaceArrayOutput() NetworkInterfaceArrayOutput

func (NetworkInterfaceArrayOutput) ToNetworkInterfaceArrayOutputWithContext

func (o NetworkInterfaceArrayOutput) ToNetworkInterfaceArrayOutputWithContext(ctx context.Context) NetworkInterfaceArrayOutput

type NetworkInterfaceAttachment

type NetworkInterfaceAttachment struct {
	pulumi.CustomResourceState

	// The instance ID to attach.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ENI ID to attach.
	NetworkInterfaceId               pulumi.StringOutput    `pulumi:"networkInterfaceId"`
	TrunkNetworkInstanceId           pulumi.StringPtrOutput `pulumi:"trunkNetworkInstanceId"`
	WaitForNetworkConfigurationReady pulumi.BoolPtrOutput   `pulumi:"waitForNetworkConfigurationReady"`
}

## Import

Network Interfaces Attachment resource can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/networkInterfaceAttachment:NetworkInterfaceAttachment eni eni-abc123456789000:i-abc123456789000

```

func GetNetworkInterfaceAttachment

func GetNetworkInterfaceAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkInterfaceAttachmentState, opts ...pulumi.ResourceOption) (*NetworkInterfaceAttachment, error)

GetNetworkInterfaceAttachment gets an existing NetworkInterfaceAttachment 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 NewNetworkInterfaceAttachment

func NewNetworkInterfaceAttachment(ctx *pulumi.Context,
	name string, args *NetworkInterfaceAttachmentArgs, opts ...pulumi.ResourceOption) (*NetworkInterfaceAttachment, error)

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

func (*NetworkInterfaceAttachment) ElementType

func (*NetworkInterfaceAttachment) ElementType() reflect.Type

func (*NetworkInterfaceAttachment) ToNetworkInterfaceAttachmentOutput

func (i *NetworkInterfaceAttachment) ToNetworkInterfaceAttachmentOutput() NetworkInterfaceAttachmentOutput

func (*NetworkInterfaceAttachment) ToNetworkInterfaceAttachmentOutputWithContext

func (i *NetworkInterfaceAttachment) ToNetworkInterfaceAttachmentOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentOutput

type NetworkInterfaceAttachmentArgs

type NetworkInterfaceAttachmentArgs struct {
	// The instance ID to attach.
	InstanceId pulumi.StringInput
	// The ENI ID to attach.
	NetworkInterfaceId               pulumi.StringInput
	TrunkNetworkInstanceId           pulumi.StringPtrInput
	WaitForNetworkConfigurationReady pulumi.BoolPtrInput
}

The set of arguments for constructing a NetworkInterfaceAttachment resource.

func (NetworkInterfaceAttachmentArgs) ElementType

type NetworkInterfaceAttachmentArray

type NetworkInterfaceAttachmentArray []NetworkInterfaceAttachmentInput

func (NetworkInterfaceAttachmentArray) ElementType

func (NetworkInterfaceAttachmentArray) ToNetworkInterfaceAttachmentArrayOutput

func (i NetworkInterfaceAttachmentArray) ToNetworkInterfaceAttachmentArrayOutput() NetworkInterfaceAttachmentArrayOutput

func (NetworkInterfaceAttachmentArray) ToNetworkInterfaceAttachmentArrayOutputWithContext

func (i NetworkInterfaceAttachmentArray) ToNetworkInterfaceAttachmentArrayOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentArrayOutput

type NetworkInterfaceAttachmentArrayInput

type NetworkInterfaceAttachmentArrayInput interface {
	pulumi.Input

	ToNetworkInterfaceAttachmentArrayOutput() NetworkInterfaceAttachmentArrayOutput
	ToNetworkInterfaceAttachmentArrayOutputWithContext(context.Context) NetworkInterfaceAttachmentArrayOutput
}

NetworkInterfaceAttachmentArrayInput is an input type that accepts NetworkInterfaceAttachmentArray and NetworkInterfaceAttachmentArrayOutput values. You can construct a concrete instance of `NetworkInterfaceAttachmentArrayInput` via:

NetworkInterfaceAttachmentArray{ NetworkInterfaceAttachmentArgs{...} }

type NetworkInterfaceAttachmentArrayOutput

type NetworkInterfaceAttachmentArrayOutput struct{ *pulumi.OutputState }

func (NetworkInterfaceAttachmentArrayOutput) ElementType

func (NetworkInterfaceAttachmentArrayOutput) Index

func (NetworkInterfaceAttachmentArrayOutput) ToNetworkInterfaceAttachmentArrayOutput

func (o NetworkInterfaceAttachmentArrayOutput) ToNetworkInterfaceAttachmentArrayOutput() NetworkInterfaceAttachmentArrayOutput

func (NetworkInterfaceAttachmentArrayOutput) ToNetworkInterfaceAttachmentArrayOutputWithContext

func (o NetworkInterfaceAttachmentArrayOutput) ToNetworkInterfaceAttachmentArrayOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentArrayOutput

type NetworkInterfaceAttachmentInput

type NetworkInterfaceAttachmentInput interface {
	pulumi.Input

	ToNetworkInterfaceAttachmentOutput() NetworkInterfaceAttachmentOutput
	ToNetworkInterfaceAttachmentOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentOutput
}

type NetworkInterfaceAttachmentMap

type NetworkInterfaceAttachmentMap map[string]NetworkInterfaceAttachmentInput

func (NetworkInterfaceAttachmentMap) ElementType

func (NetworkInterfaceAttachmentMap) ToNetworkInterfaceAttachmentMapOutput

func (i NetworkInterfaceAttachmentMap) ToNetworkInterfaceAttachmentMapOutput() NetworkInterfaceAttachmentMapOutput

func (NetworkInterfaceAttachmentMap) ToNetworkInterfaceAttachmentMapOutputWithContext

func (i NetworkInterfaceAttachmentMap) ToNetworkInterfaceAttachmentMapOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentMapOutput

type NetworkInterfaceAttachmentMapInput

type NetworkInterfaceAttachmentMapInput interface {
	pulumi.Input

	ToNetworkInterfaceAttachmentMapOutput() NetworkInterfaceAttachmentMapOutput
	ToNetworkInterfaceAttachmentMapOutputWithContext(context.Context) NetworkInterfaceAttachmentMapOutput
}

NetworkInterfaceAttachmentMapInput is an input type that accepts NetworkInterfaceAttachmentMap and NetworkInterfaceAttachmentMapOutput values. You can construct a concrete instance of `NetworkInterfaceAttachmentMapInput` via:

NetworkInterfaceAttachmentMap{ "key": NetworkInterfaceAttachmentArgs{...} }

type NetworkInterfaceAttachmentMapOutput

type NetworkInterfaceAttachmentMapOutput struct{ *pulumi.OutputState }

func (NetworkInterfaceAttachmentMapOutput) ElementType

func (NetworkInterfaceAttachmentMapOutput) MapIndex

func (NetworkInterfaceAttachmentMapOutput) ToNetworkInterfaceAttachmentMapOutput

func (o NetworkInterfaceAttachmentMapOutput) ToNetworkInterfaceAttachmentMapOutput() NetworkInterfaceAttachmentMapOutput

func (NetworkInterfaceAttachmentMapOutput) ToNetworkInterfaceAttachmentMapOutputWithContext

func (o NetworkInterfaceAttachmentMapOutput) ToNetworkInterfaceAttachmentMapOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentMapOutput

type NetworkInterfaceAttachmentOutput

type NetworkInterfaceAttachmentOutput struct{ *pulumi.OutputState }

func (NetworkInterfaceAttachmentOutput) ElementType

func (NetworkInterfaceAttachmentOutput) InstanceId

The instance ID to attach.

func (NetworkInterfaceAttachmentOutput) NetworkInterfaceId

func (o NetworkInterfaceAttachmentOutput) NetworkInterfaceId() pulumi.StringOutput

The ENI ID to attach.

func (NetworkInterfaceAttachmentOutput) ToNetworkInterfaceAttachmentOutput

func (o NetworkInterfaceAttachmentOutput) ToNetworkInterfaceAttachmentOutput() NetworkInterfaceAttachmentOutput

func (NetworkInterfaceAttachmentOutput) ToNetworkInterfaceAttachmentOutputWithContext

func (o NetworkInterfaceAttachmentOutput) ToNetworkInterfaceAttachmentOutputWithContext(ctx context.Context) NetworkInterfaceAttachmentOutput

func (NetworkInterfaceAttachmentOutput) TrunkNetworkInstanceId

func (o NetworkInterfaceAttachmentOutput) TrunkNetworkInstanceId() pulumi.StringPtrOutput

func (NetworkInterfaceAttachmentOutput) WaitForNetworkConfigurationReady

func (o NetworkInterfaceAttachmentOutput) WaitForNetworkConfigurationReady() pulumi.BoolPtrOutput

type NetworkInterfaceAttachmentState

type NetworkInterfaceAttachmentState struct {
	// The instance ID to attach.
	InstanceId pulumi.StringPtrInput
	// The ENI ID to attach.
	NetworkInterfaceId               pulumi.StringPtrInput
	TrunkNetworkInstanceId           pulumi.StringPtrInput
	WaitForNetworkConfigurationReady pulumi.BoolPtrInput
}

func (NetworkInterfaceAttachmentState) ElementType

type NetworkInterfaceInput

type NetworkInterfaceInput interface {
	pulumi.Input

	ToNetworkInterfaceOutput() NetworkInterfaceOutput
	ToNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInterfaceOutput
}

type NetworkInterfaceMap

type NetworkInterfaceMap map[string]NetworkInterfaceInput

func (NetworkInterfaceMap) ElementType

func (NetworkInterfaceMap) ElementType() reflect.Type

func (NetworkInterfaceMap) ToNetworkInterfaceMapOutput

func (i NetworkInterfaceMap) ToNetworkInterfaceMapOutput() NetworkInterfaceMapOutput

func (NetworkInterfaceMap) ToNetworkInterfaceMapOutputWithContext

func (i NetworkInterfaceMap) ToNetworkInterfaceMapOutputWithContext(ctx context.Context) NetworkInterfaceMapOutput

type NetworkInterfaceMapInput

type NetworkInterfaceMapInput interface {
	pulumi.Input

	ToNetworkInterfaceMapOutput() NetworkInterfaceMapOutput
	ToNetworkInterfaceMapOutputWithContext(context.Context) NetworkInterfaceMapOutput
}

NetworkInterfaceMapInput is an input type that accepts NetworkInterfaceMap and NetworkInterfaceMapOutput values. You can construct a concrete instance of `NetworkInterfaceMapInput` via:

NetworkInterfaceMap{ "key": NetworkInterfaceArgs{...} }

type NetworkInterfaceMapOutput

type NetworkInterfaceMapOutput struct{ *pulumi.OutputState }

func (NetworkInterfaceMapOutput) ElementType

func (NetworkInterfaceMapOutput) ElementType() reflect.Type

func (NetworkInterfaceMapOutput) MapIndex

func (NetworkInterfaceMapOutput) ToNetworkInterfaceMapOutput

func (o NetworkInterfaceMapOutput) ToNetworkInterfaceMapOutput() NetworkInterfaceMapOutput

func (NetworkInterfaceMapOutput) ToNetworkInterfaceMapOutputWithContext

func (o NetworkInterfaceMapOutput) ToNetworkInterfaceMapOutputWithContext(ctx context.Context) NetworkInterfaceMapOutput

type NetworkInterfaceOutput

type NetworkInterfaceOutput struct{ *pulumi.OutputState }

func (NetworkInterfaceOutput) Description

Description of the ENI. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

func (NetworkInterfaceOutput) ElementType

func (NetworkInterfaceOutput) ElementType() reflect.Type

func (NetworkInterfaceOutput) Ipv6AddressCount

func (o NetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntOutput

func (NetworkInterfaceOutput) Ipv6Addresses

func (NetworkInterfaceOutput) Mac

(Available in 1.54.0+) The MAC address of an ENI.

func (NetworkInterfaceOutput) Name deprecated

Name of the ENI. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-", ".", "_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'network_interface_name' instead

func (NetworkInterfaceOutput) NetworkInterfaceName

func (o NetworkInterfaceOutput) NetworkInterfaceName() pulumi.StringOutput

func (NetworkInterfaceOutput) PrimaryIpAddress

func (o NetworkInterfaceOutput) PrimaryIpAddress() pulumi.StringOutput

func (NetworkInterfaceOutput) PrivateIp deprecated

The primary private IP of the ENI.

Deprecated: Field 'private_ip' has been deprecated from provider version 1.123.1. New field 'primary_ip_address' instead

func (NetworkInterfaceOutput) PrivateIpAddresses

func (o NetworkInterfaceOutput) PrivateIpAddresses() pulumi.StringArrayOutput

func (NetworkInterfaceOutput) PrivateIps deprecated

List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.

Deprecated: Field 'private_ips' has been deprecated from provider version 1.123.1. New field 'private_ip_addresses' instead

func (NetworkInterfaceOutput) PrivateIpsCount deprecated

func (o NetworkInterfaceOutput) PrivateIpsCount() pulumi.IntOutput

Number of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.

Deprecated: Field 'private_ips_count' has been deprecated from provider version 1.123.1. New field 'secondary_private_ip_address_count' instead

func (NetworkInterfaceOutput) QueueNumber

func (o NetworkInterfaceOutput) QueueNumber() pulumi.IntOutput

func (NetworkInterfaceOutput) ResourceGroupId

func (o NetworkInterfaceOutput) ResourceGroupId() pulumi.StringPtrOutput

The Id of resource group which the network interface belongs.

func (NetworkInterfaceOutput) SecondaryPrivateIpAddressCount

func (o NetworkInterfaceOutput) SecondaryPrivateIpAddressCount() pulumi.IntOutput

func (NetworkInterfaceOutput) SecurityGroupIds

func (o NetworkInterfaceOutput) SecurityGroupIds() pulumi.StringArrayOutput

func (NetworkInterfaceOutput) SecurityGroups deprecated

func (o NetworkInterfaceOutput) SecurityGroups() pulumi.StringArrayOutput

A list of security group ids to associate with.

Deprecated: Field 'security_groups' has been deprecated from provider version 1.123.1. New field 'security_group_ids' instead

func (NetworkInterfaceOutput) Status

func (NetworkInterfaceOutput) Tags

A mapping of tags to assign to the resource.

func (NetworkInterfaceOutput) ToNetworkInterfaceOutput

func (o NetworkInterfaceOutput) ToNetworkInterfaceOutput() NetworkInterfaceOutput

func (NetworkInterfaceOutput) ToNetworkInterfaceOutputWithContext

func (o NetworkInterfaceOutput) ToNetworkInterfaceOutputWithContext(ctx context.Context) NetworkInterfaceOutput

func (NetworkInterfaceOutput) VswitchId

The VSwitch to create the ENI in.

type NetworkInterfaceState

type NetworkInterfaceState struct {
	// Description of the ENI. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.
	Description      pulumi.StringPtrInput
	Ipv6AddressCount pulumi.IntPtrInput
	Ipv6Addresses    pulumi.StringArrayInput
	// (Available in 1.54.0+) The MAC address of an ENI.
	Mac pulumi.StringPtrInput
	// Name of the ENI. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-", ".", "_", and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.123.1. New field 'network_interface_name' instead
	Name                 pulumi.StringPtrInput
	NetworkInterfaceName pulumi.StringPtrInput
	PrimaryIpAddress     pulumi.StringPtrInput
	// The primary private IP of the ENI.
	//
	// Deprecated: Field 'private_ip' has been deprecated from provider version 1.123.1. New field 'primary_ip_address' instead
	PrivateIp          pulumi.StringPtrInput
	PrivateIpAddresses pulumi.StringArrayInput
	// List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	//
	// Deprecated: Field 'private_ips' has been deprecated from provider version 1.123.1. New field 'private_ip_addresses' instead
	PrivateIps pulumi.StringArrayInput
	// Number of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	//
	// Deprecated: Field 'private_ips_count' has been deprecated from provider version 1.123.1. New field 'secondary_private_ip_address_count' instead
	PrivateIpsCount pulumi.IntPtrInput
	QueueNumber     pulumi.IntPtrInput
	// The Id of resource group which the network interface belongs.
	ResourceGroupId                pulumi.StringPtrInput
	SecondaryPrivateIpAddressCount pulumi.IntPtrInput
	SecurityGroupIds               pulumi.StringArrayInput
	// A list of security group ids to associate with.
	//
	// Deprecated: Field 'security_groups' has been deprecated from provider version 1.123.1. New field 'security_group_ids' instead
	SecurityGroups pulumi.StringArrayInput
	Status         pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The VSwitch to create the ENI in.
	VswitchId pulumi.StringPtrInput
}

func (NetworkInterfaceState) ElementType

func (NetworkInterfaceState) ElementType() reflect.Type

type NetworkMap

type NetworkMap map[string]NetworkInput

func (NetworkMap) ElementType

func (NetworkMap) ElementType() reflect.Type

func (NetworkMap) ToNetworkMapOutput

func (i NetworkMap) ToNetworkMapOutput() NetworkMapOutput

func (NetworkMap) ToNetworkMapOutputWithContext

func (i NetworkMap) ToNetworkMapOutputWithContext(ctx context.Context) NetworkMapOutput

type NetworkMapInput

type NetworkMapInput interface {
	pulumi.Input

	ToNetworkMapOutput() NetworkMapOutput
	ToNetworkMapOutputWithContext(context.Context) NetworkMapOutput
}

NetworkMapInput is an input type that accepts NetworkMap and NetworkMapOutput values. You can construct a concrete instance of `NetworkMapInput` via:

NetworkMap{ "key": NetworkArgs{...} }

type NetworkMapOutput

type NetworkMapOutput struct{ *pulumi.OutputState }

func (NetworkMapOutput) ElementType

func (NetworkMapOutput) ElementType() reflect.Type

func (NetworkMapOutput) MapIndex

func (NetworkMapOutput) ToNetworkMapOutput

func (o NetworkMapOutput) ToNetworkMapOutput() NetworkMapOutput

func (NetworkMapOutput) ToNetworkMapOutputWithContext

func (o NetworkMapOutput) ToNetworkMapOutputWithContext(ctx context.Context) NetworkMapOutput

type NetworkOutput

type NetworkOutput struct{ *pulumi.OutputState }

func (NetworkOutput) CidrBlock

func (o NetworkOutput) CidrBlock() pulumi.StringPtrOutput

The CIDR block for the VPC. The `cidrBlock` is Optional and default value is `172.16.0.0/12` after v1.119.0+.

func (NetworkOutput) Description

func (o NetworkOutput) Description() pulumi.StringPtrOutput

The VPC description. Defaults to null.

func (NetworkOutput) DryRun

func (o NetworkOutput) DryRun() pulumi.BoolPtrOutput

Specifies whether to pre-check this request only. Valid values: `true` and `false`.

func (NetworkOutput) ElementType

func (NetworkOutput) ElementType() reflect.Type

func (NetworkOutput) EnableIpv6

func (o NetworkOutput) EnableIpv6() pulumi.BoolPtrOutput

Specifies whether to enable the IPv6 CIDR block. Valid values: `false` (Default): disables IPv6 CIDR blocks. `true`: enables IPv6 CIDR blocks. If the `enableIpv6` is `true`, the system will automatically create a free version of an IPv6 gateway for your private network and assign an IPv6 network segment assigned as /56.

func (NetworkOutput) Ipv6CidrBlock

func (o NetworkOutput) Ipv6CidrBlock() pulumi.StringOutput

(Available in v1.119.0+) ) The ipv6 cidr block of VPC.

func (NetworkOutput) Name deprecated

Field `name` has been deprecated from provider version 1.119.0. New field `vpcName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.

func (NetworkOutput) ResourceGroupId

func (o NetworkOutput) ResourceGroupId() pulumi.StringOutput

The ID of resource group which the VPC belongs.

func (NetworkOutput) RouteTableId

func (o NetworkOutput) RouteTableId() pulumi.StringOutput

The route table ID of the router created by default on VPC creation.

func (NetworkOutput) RouterId

func (o NetworkOutput) RouterId() pulumi.StringOutput

The ID of the router created by default on VPC creation.

func (NetworkOutput) RouterTableId deprecated

func (o NetworkOutput) RouterTableId() pulumi.StringOutput

(Deprecated) It has been deprecated and replaced with `routeTableId`.

Deprecated: Attribute router_table_id has been deprecated and replaced with route_table_id.

func (NetworkOutput) SecondaryCidrBlocks deprecated

func (o NetworkOutput) SecondaryCidrBlocks() pulumi.StringArrayOutput

Field `secondaryCidrBlocks` has been deprecated from provider version 1.185.0, and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondaryCidrBlocks` attributes and `alicloudVpcIpv4CidrBlock` resource cannot be used at the same time.

Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondary_cidr_blocks` attributes and `alicloud_vpc_ipv4_cidr_block` resource cannot be used at the same time.

func (NetworkOutput) Status

func (o NetworkOutput) Status() pulumi.StringOutput

The status of the VPC.

func (NetworkOutput) Tags

func (o NetworkOutput) Tags() pulumi.MapOutput

A mapping of tags to assign to the resource.

func (NetworkOutput) ToNetworkOutput

func (o NetworkOutput) ToNetworkOutput() NetworkOutput

func (NetworkOutput) ToNetworkOutputWithContext

func (o NetworkOutput) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

func (NetworkOutput) UserCidrs

func (o NetworkOutput) UserCidrs() pulumi.StringArrayOutput

The user cidr blocks of the VPC.

func (NetworkOutput) VpcName

func (o NetworkOutput) VpcName() pulumi.StringOutput

The name of the VPC. Defaults to null.

type NetworkState

type NetworkState struct {
	// The CIDR block for the VPC. The `cidrBlock` is Optional and default value is `172.16.0.0/12` after v1.119.0+.
	CidrBlock pulumi.StringPtrInput
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrInput
	// Specifies whether to pre-check this request only. Valid values: `true` and `false`.
	DryRun pulumi.BoolPtrInput
	// Specifies whether to enable the IPv6 CIDR block. Valid values: `false` (Default): disables IPv6 CIDR blocks. `true`: enables IPv6 CIDR blocks. If the `enableIpv6` is `true`, the system will automatically create a free version of an IPv6 gateway for your private network and assign an IPv6 network segment assigned as /56.
	EnableIpv6 pulumi.BoolPtrInput
	// (Available in v1.119.0+) ) The ipv6 cidr block of VPC.
	Ipv6CidrBlock pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.119.0. New field `vpcName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.
	Name pulumi.StringPtrInput
	// The ID of resource group which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The route table ID of the router created by default on VPC creation.
	RouteTableId pulumi.StringPtrInput
	// The ID of the router created by default on VPC creation.
	RouterId pulumi.StringPtrInput
	// (Deprecated) It has been deprecated and replaced with `routeTableId`.
	//
	// Deprecated: Attribute router_table_id has been deprecated and replaced with route_table_id.
	RouterTableId pulumi.StringPtrInput
	// Field `secondaryCidrBlocks` has been deprecated from provider version 1.185.0, and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondaryCidrBlocks` attributes and `alicloudVpcIpv4CidrBlock` resource cannot be used at the same time.
	//
	// Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0 and it will be removed in the future version. Please use the new resource 'alicloud_vpc_ipv4_cidr_block'. `secondary_cidr_blocks` attributes and `alicloud_vpc_ipv4_cidr_block` resource cannot be used at the same time.
	SecondaryCidrBlocks pulumi.StringArrayInput
	// The status of the VPC.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The user cidr blocks of the VPC.
	UserCidrs pulumi.StringArrayInput
	// The name of the VPC. Defaults to null.
	VpcName pulumi.StringPtrInput
}

func (NetworkState) ElementType

func (NetworkState) ElementType() reflect.Type

type PrefixList

type PrefixList struct {
	pulumi.CustomResourceState

	// The CIDR address block list of the prefix list. See the following `Block entrys`.
	Entrys PrefixListEntryArrayOutput `pulumi:"entrys"`
	// The IP version of the prefix list. Valid values: `IPV4`, `IPV6`.
	IpVersion pulumi.StringOutput `pulumi:"ipVersion"`
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries pulumi.IntOutput `pulumi:"maxEntries"`
	// The description of the prefix list. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.
	PrefixListDescription pulumi.StringPtrOutput `pulumi:"prefixListDescription"`
	// The name of the prefix list. The name must be 2 to 128 characters in length and must start with a letter. It can contain digits, periods (.), underscores (_), and hyphens (-).
	PrefixListName pulumi.StringPtrOutput `pulumi:"prefixListName"`
}

Provides a VPC Prefix List resource.

For information about VPC Prefix List and how to use it, see [What is Prefix List](https://www.alibabacloud.com/help/zh/virtual-private-cloud/latest/creatvpcprefixlist).

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

## Example Usage

Basic Usage

```go package main

import (

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewPrefixList(ctx, "default", &vpc.PrefixListArgs{
			Entrys: vpc.PrefixListEntryArray{
				&vpc.PrefixListEntryArgs{
					Cidr:        pulumi.String("192.168.0.0/16"),
					Description: pulumi.String("description"),
				},
			},
			IpVersion:             pulumi.String("IPV4"),
			MaxEntries:            pulumi.Int(50),
			PrefixListName:        pulumi.Any(_var.Name),
			PrefixListDescription: pulumi.String("description"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Prefix List can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/prefixList:PrefixList example <id>

```

func GetPrefixList

func GetPrefixList(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PrefixListState, opts ...pulumi.ResourceOption) (*PrefixList, error)

GetPrefixList gets an existing PrefixList 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 NewPrefixList

func NewPrefixList(ctx *pulumi.Context,
	name string, args *PrefixListArgs, opts ...pulumi.ResourceOption) (*PrefixList, error)

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

func (*PrefixList) ElementType

func (*PrefixList) ElementType() reflect.Type

func (*PrefixList) ToPrefixListOutput

func (i *PrefixList) ToPrefixListOutput() PrefixListOutput

func (*PrefixList) ToPrefixListOutputWithContext

func (i *PrefixList) ToPrefixListOutputWithContext(ctx context.Context) PrefixListOutput

type PrefixListArgs

type PrefixListArgs struct {
	// The CIDR address block list of the prefix list. See the following `Block entrys`.
	Entrys PrefixListEntryArrayInput
	// The IP version of the prefix list. Valid values: `IPV4`, `IPV6`.
	IpVersion pulumi.StringPtrInput
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries pulumi.IntPtrInput
	// The description of the prefix list. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.
	PrefixListDescription pulumi.StringPtrInput
	// The name of the prefix list. The name must be 2 to 128 characters in length and must start with a letter. It can contain digits, periods (.), underscores (_), and hyphens (-).
	PrefixListName pulumi.StringPtrInput
}

The set of arguments for constructing a PrefixList resource.

func (PrefixListArgs) ElementType

func (PrefixListArgs) ElementType() reflect.Type

type PrefixListArray

type PrefixListArray []PrefixListInput

func (PrefixListArray) ElementType

func (PrefixListArray) ElementType() reflect.Type

func (PrefixListArray) ToPrefixListArrayOutput

func (i PrefixListArray) ToPrefixListArrayOutput() PrefixListArrayOutput

func (PrefixListArray) ToPrefixListArrayOutputWithContext

func (i PrefixListArray) ToPrefixListArrayOutputWithContext(ctx context.Context) PrefixListArrayOutput

type PrefixListArrayInput

type PrefixListArrayInput interface {
	pulumi.Input

	ToPrefixListArrayOutput() PrefixListArrayOutput
	ToPrefixListArrayOutputWithContext(context.Context) PrefixListArrayOutput
}

PrefixListArrayInput is an input type that accepts PrefixListArray and PrefixListArrayOutput values. You can construct a concrete instance of `PrefixListArrayInput` via:

PrefixListArray{ PrefixListArgs{...} }

type PrefixListArrayOutput

type PrefixListArrayOutput struct{ *pulumi.OutputState }

func (PrefixListArrayOutput) ElementType

func (PrefixListArrayOutput) ElementType() reflect.Type

func (PrefixListArrayOutput) Index

func (PrefixListArrayOutput) ToPrefixListArrayOutput

func (o PrefixListArrayOutput) ToPrefixListArrayOutput() PrefixListArrayOutput

func (PrefixListArrayOutput) ToPrefixListArrayOutputWithContext

func (o PrefixListArrayOutput) ToPrefixListArrayOutputWithContext(ctx context.Context) PrefixListArrayOutput

type PrefixListEntry

type PrefixListEntry struct {
	// The CIDR address block of the prefix list.
	Cidr *string `pulumi:"cidr"`
	// The description of the cidr entry. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.
	Description *string `pulumi:"description"`
}

type PrefixListEntryArgs

type PrefixListEntryArgs struct {
	// The CIDR address block of the prefix list.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// The description of the cidr entry. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.
	Description pulumi.StringPtrInput `pulumi:"description"`
}

func (PrefixListEntryArgs) ElementType

func (PrefixListEntryArgs) ElementType() reflect.Type

func (PrefixListEntryArgs) ToPrefixListEntryOutput

func (i PrefixListEntryArgs) ToPrefixListEntryOutput() PrefixListEntryOutput

func (PrefixListEntryArgs) ToPrefixListEntryOutputWithContext

func (i PrefixListEntryArgs) ToPrefixListEntryOutputWithContext(ctx context.Context) PrefixListEntryOutput

type PrefixListEntryArray

type PrefixListEntryArray []PrefixListEntryInput

func (PrefixListEntryArray) ElementType

func (PrefixListEntryArray) ElementType() reflect.Type

func (PrefixListEntryArray) ToPrefixListEntryArrayOutput

func (i PrefixListEntryArray) ToPrefixListEntryArrayOutput() PrefixListEntryArrayOutput

func (PrefixListEntryArray) ToPrefixListEntryArrayOutputWithContext

func (i PrefixListEntryArray) ToPrefixListEntryArrayOutputWithContext(ctx context.Context) PrefixListEntryArrayOutput

type PrefixListEntryArrayInput

type PrefixListEntryArrayInput interface {
	pulumi.Input

	ToPrefixListEntryArrayOutput() PrefixListEntryArrayOutput
	ToPrefixListEntryArrayOutputWithContext(context.Context) PrefixListEntryArrayOutput
}

PrefixListEntryArrayInput is an input type that accepts PrefixListEntryArray and PrefixListEntryArrayOutput values. You can construct a concrete instance of `PrefixListEntryArrayInput` via:

PrefixListEntryArray{ PrefixListEntryArgs{...} }

type PrefixListEntryArrayOutput

type PrefixListEntryArrayOutput struct{ *pulumi.OutputState }

func (PrefixListEntryArrayOutput) ElementType

func (PrefixListEntryArrayOutput) ElementType() reflect.Type

func (PrefixListEntryArrayOutput) Index

func (PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutput

func (o PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutput() PrefixListEntryArrayOutput

func (PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutputWithContext

func (o PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutputWithContext(ctx context.Context) PrefixListEntryArrayOutput

type PrefixListEntryInput

type PrefixListEntryInput interface {
	pulumi.Input

	ToPrefixListEntryOutput() PrefixListEntryOutput
	ToPrefixListEntryOutputWithContext(context.Context) PrefixListEntryOutput
}

PrefixListEntryInput is an input type that accepts PrefixListEntryArgs and PrefixListEntryOutput values. You can construct a concrete instance of `PrefixListEntryInput` via:

PrefixListEntryArgs{...}

type PrefixListEntryOutput

type PrefixListEntryOutput struct{ *pulumi.OutputState }

func (PrefixListEntryOutput) Cidr

The CIDR address block of the prefix list.

func (PrefixListEntryOutput) Description

The description of the cidr entry. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.

func (PrefixListEntryOutput) ElementType

func (PrefixListEntryOutput) ElementType() reflect.Type

func (PrefixListEntryOutput) ToPrefixListEntryOutput

func (o PrefixListEntryOutput) ToPrefixListEntryOutput() PrefixListEntryOutput

func (PrefixListEntryOutput) ToPrefixListEntryOutputWithContext

func (o PrefixListEntryOutput) ToPrefixListEntryOutputWithContext(ctx context.Context) PrefixListEntryOutput

type PrefixListInput

type PrefixListInput interface {
	pulumi.Input

	ToPrefixListOutput() PrefixListOutput
	ToPrefixListOutputWithContext(ctx context.Context) PrefixListOutput
}

type PrefixListMap

type PrefixListMap map[string]PrefixListInput

func (PrefixListMap) ElementType

func (PrefixListMap) ElementType() reflect.Type

func (PrefixListMap) ToPrefixListMapOutput

func (i PrefixListMap) ToPrefixListMapOutput() PrefixListMapOutput

func (PrefixListMap) ToPrefixListMapOutputWithContext

func (i PrefixListMap) ToPrefixListMapOutputWithContext(ctx context.Context) PrefixListMapOutput

type PrefixListMapInput

type PrefixListMapInput interface {
	pulumi.Input

	ToPrefixListMapOutput() PrefixListMapOutput
	ToPrefixListMapOutputWithContext(context.Context) PrefixListMapOutput
}

PrefixListMapInput is an input type that accepts PrefixListMap and PrefixListMapOutput values. You can construct a concrete instance of `PrefixListMapInput` via:

PrefixListMap{ "key": PrefixListArgs{...} }

type PrefixListMapOutput

type PrefixListMapOutput struct{ *pulumi.OutputState }

func (PrefixListMapOutput) ElementType

func (PrefixListMapOutput) ElementType() reflect.Type

func (PrefixListMapOutput) MapIndex

func (PrefixListMapOutput) ToPrefixListMapOutput

func (o PrefixListMapOutput) ToPrefixListMapOutput() PrefixListMapOutput

func (PrefixListMapOutput) ToPrefixListMapOutputWithContext

func (o PrefixListMapOutput) ToPrefixListMapOutputWithContext(ctx context.Context) PrefixListMapOutput

type PrefixListOutput

type PrefixListOutput struct{ *pulumi.OutputState }

func (PrefixListOutput) ElementType

func (PrefixListOutput) ElementType() reflect.Type

func (PrefixListOutput) Entrys

The CIDR address block list of the prefix list. See the following `Block entrys`.

func (PrefixListOutput) IpVersion

func (o PrefixListOutput) IpVersion() pulumi.StringOutput

The IP version of the prefix list. Valid values: `IPV4`, `IPV6`.

func (PrefixListOutput) MaxEntries

func (o PrefixListOutput) MaxEntries() pulumi.IntOutput

The maximum number of entries for CIDR address blocks in the prefix list.

func (PrefixListOutput) PrefixListDescription

func (o PrefixListOutput) PrefixListDescription() pulumi.StringPtrOutput

The description of the prefix list. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.

func (PrefixListOutput) PrefixListName

func (o PrefixListOutput) PrefixListName() pulumi.StringPtrOutput

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

func (PrefixListOutput) ToPrefixListOutput

func (o PrefixListOutput) ToPrefixListOutput() PrefixListOutput

func (PrefixListOutput) ToPrefixListOutputWithContext

func (o PrefixListOutput) ToPrefixListOutputWithContext(ctx context.Context) PrefixListOutput

type PrefixListState

type PrefixListState struct {
	// The CIDR address block list of the prefix list. See the following `Block entrys`.
	Entrys PrefixListEntryArrayInput
	// The IP version of the prefix list. Valid values: `IPV4`, `IPV6`.
	IpVersion pulumi.StringPtrInput
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries pulumi.IntPtrInput
	// The description of the prefix list. It must be 2 to 256 characters in length and must start with a letter or Chinese, but cannot start with `http://` or `https://`.
	PrefixListDescription pulumi.StringPtrInput
	// The name of the prefix list. The name must be 2 to 128 characters in length and must start with a letter. It can contain digits, periods (.), underscores (_), and hyphens (-).
	PrefixListName pulumi.StringPtrInput
}

func (PrefixListState) ElementType

func (PrefixListState) ElementType() reflect.Type

type RouteEntry

type RouteEntry struct {
	pulumi.CustomResourceState

	// The RouteEntry's target network segment.
	DestinationCidrblock pulumi.StringPtrOutput `pulumi:"destinationCidrblock"`
	// The name of the route entry. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://.
	Name pulumi.StringOutput `pulumi:"name"`
	// The route entry's next hop. ECS instance ID or VPC router interface ID.
	NexthopId pulumi.StringPtrOutput `pulumi:"nexthopId"`
	// The next hop type. Available values:
	NexthopType pulumi.StringPtrOutput `pulumi:"nexthopType"`
	// The ID of the route table.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// This argument has been deprecated. Please use other arguments to launch a custom route entry.
	//
	// Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
}

## Import

Router entry can be imported using the id, e.g (formatted as<route_table_id:router_id:destination_cidrblock:nexthop_type:nexthop_id>).

```sh

$ pulumi import alicloud:vpc/routeEntry:RouteEntry example vtb-123456:vrt-123456:0.0.0.0/0:NatGateway:ngw-123456

```

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 RouteEntry's target network segment.
	DestinationCidrblock pulumi.StringPtrInput
	// The name of the route entry. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://.
	Name pulumi.StringPtrInput
	// The route entry's next hop. ECS instance ID or VPC router interface ID.
	NexthopId pulumi.StringPtrInput
	// The next hop type. Available values:
	NexthopType pulumi.StringPtrInput
	// The ID of the route table.
	RouteTableId pulumi.StringInput
	// This argument has been deprecated. Please use other arguments to launch a custom route entry.
	//
	// Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringPtrInput
}

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

func (o RouteEntryOutput) DestinationCidrblock() pulumi.StringPtrOutput

The RouteEntry's target network segment.

func (RouteEntryOutput) ElementType

func (RouteEntryOutput) ElementType() reflect.Type

func (RouteEntryOutput) Name

The name of the route entry. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://.

func (RouteEntryOutput) NexthopId

func (o RouteEntryOutput) NexthopId() pulumi.StringPtrOutput

The route entry's next hop. ECS instance ID or VPC router interface ID.

func (RouteEntryOutput) NexthopType

func (o RouteEntryOutput) NexthopType() pulumi.StringPtrOutput

The next hop type. Available values:

func (RouteEntryOutput) RouteTableId

func (o RouteEntryOutput) RouteTableId() pulumi.StringOutput

The ID of the route table.

func (RouteEntryOutput) RouterId deprecated

func (o RouteEntryOutput) RouterId() pulumi.StringOutput

This argument has been deprecated. Please use other arguments to launch a custom route entry.

Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.

func (RouteEntryOutput) ToRouteEntryOutput

func (o RouteEntryOutput) ToRouteEntryOutput() RouteEntryOutput

func (RouteEntryOutput) ToRouteEntryOutputWithContext

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

type RouteEntryState

type RouteEntryState struct {
	// The RouteEntry's target network segment.
	DestinationCidrblock pulumi.StringPtrInput
	// The name of the route entry. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as "-",".","_", and must not begin or end with a hyphen, and must not begin with http:// or https://.
	Name pulumi.StringPtrInput
	// The route entry's next hop. ECS instance ID or VPC router interface ID.
	NexthopId pulumi.StringPtrInput
	// The next hop type. Available values:
	NexthopType pulumi.StringPtrInput
	// The ID of the route table.
	RouteTableId pulumi.StringPtrInput
	// This argument has been deprecated. Please use other arguments to launch a custom route entry.
	//
	// Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringPtrInput
}

func (RouteEntryState) ElementType

func (RouteEntryState) ElementType() reflect.Type

type RouteTable

type RouteTable struct {
	pulumi.CustomResourceState

	// The type of routing table created. Valid values are `VSwitch` and `Gateway`
	AssociateType pulumi.StringOutput `pulumi:"associateType"`
	// The description of the route table instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Field `name` has been deprecated from provider version 1.119.1. New field `routeTableName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the route table.
	RouteTableName pulumi.StringOutput `pulumi:"routeTableName"`
	// (Available in v1.119.1+) The status of the route table.
	Status pulumi.StringOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The vpcId of the route table, the field can't be changed.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
			VpcName:   pulumi.String("vpc-example-name"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewRouteTable(ctx, "fooRouteTable", &vpc.RouteTableArgs{
			VpcId:          fooNetwork.ID(),
			RouteTableName: pulumi.String("route-table-example-name"),
			Description:    pulumi.String("route-table-example-description"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The route table can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/routeTable:RouteTable foo vtb-abc123456

```

func GetRouteTable

func GetRouteTable(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteTableState, opts ...pulumi.ResourceOption) (*RouteTable, error)

GetRouteTable gets an existing RouteTable 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 NewRouteTable

func NewRouteTable(ctx *pulumi.Context,
	name string, args *RouteTableArgs, opts ...pulumi.ResourceOption) (*RouteTable, error)

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

func (*RouteTable) ElementType

func (*RouteTable) ElementType() reflect.Type

func (*RouteTable) ToRouteTableOutput

func (i *RouteTable) ToRouteTableOutput() RouteTableOutput

func (*RouteTable) ToRouteTableOutputWithContext

func (i *RouteTable) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput

type RouteTableArgs

type RouteTableArgs struct {
	// The type of routing table created. Valid values are `VSwitch` and `Gateway`
	AssociateType pulumi.StringPtrInput
	// The description of the route table instance.
	Description pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.119.1. New field `routeTableName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	Name pulumi.StringPtrInput
	// The name of the route table.
	RouteTableName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The vpcId of the route table, the field can't be changed.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a RouteTable resource.

func (RouteTableArgs) ElementType

func (RouteTableArgs) ElementType() reflect.Type

type RouteTableArray

type RouteTableArray []RouteTableInput

func (RouteTableArray) ElementType

func (RouteTableArray) ElementType() reflect.Type

func (RouteTableArray) ToRouteTableArrayOutput

func (i RouteTableArray) ToRouteTableArrayOutput() RouteTableArrayOutput

func (RouteTableArray) ToRouteTableArrayOutputWithContext

func (i RouteTableArray) ToRouteTableArrayOutputWithContext(ctx context.Context) RouteTableArrayOutput

type RouteTableArrayInput

type RouteTableArrayInput interface {
	pulumi.Input

	ToRouteTableArrayOutput() RouteTableArrayOutput
	ToRouteTableArrayOutputWithContext(context.Context) RouteTableArrayOutput
}

RouteTableArrayInput is an input type that accepts RouteTableArray and RouteTableArrayOutput values. You can construct a concrete instance of `RouteTableArrayInput` via:

RouteTableArray{ RouteTableArgs{...} }

type RouteTableArrayOutput

type RouteTableArrayOutput struct{ *pulumi.OutputState }

func (RouteTableArrayOutput) ElementType

func (RouteTableArrayOutput) ElementType() reflect.Type

func (RouteTableArrayOutput) Index

func (RouteTableArrayOutput) ToRouteTableArrayOutput

func (o RouteTableArrayOutput) ToRouteTableArrayOutput() RouteTableArrayOutput

func (RouteTableArrayOutput) ToRouteTableArrayOutputWithContext

func (o RouteTableArrayOutput) ToRouteTableArrayOutputWithContext(ctx context.Context) RouteTableArrayOutput

type RouteTableAttachment

type RouteTableAttachment struct {
	pulumi.CustomResourceState

	// The routeTableId of the route table attachment, the field can't be changed.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The vswitchId of the route table attachment, the field can't be changed.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "route-table-attachment-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_default, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			VpcId:     fooNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/21"),
			ZoneId:    pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		fooRouteTable, err := vpc.NewRouteTable(ctx, "fooRouteTable", &vpc.RouteTableArgs{
			VpcId:          fooNetwork.ID(),
			RouteTableName: pulumi.String(name),
			Description:    pulumi.String("route_table_attachment"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewRouteTableAttachment(ctx, "fooRouteTableAttachment", &vpc.RouteTableAttachmentArgs{
			VswitchId:    fooSwitch.ID(),
			RouteTableId: fooRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The route table attachment can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/routeTableAttachment:RouteTableAttachment foo vtb-abc123456:vsw-abc123456

```

func GetRouteTableAttachment

func GetRouteTableAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteTableAttachmentState, opts ...pulumi.ResourceOption) (*RouteTableAttachment, error)

GetRouteTableAttachment gets an existing RouteTableAttachment 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 NewRouteTableAttachment

func NewRouteTableAttachment(ctx *pulumi.Context,
	name string, args *RouteTableAttachmentArgs, opts ...pulumi.ResourceOption) (*RouteTableAttachment, error)

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

func (*RouteTableAttachment) ElementType

func (*RouteTableAttachment) ElementType() reflect.Type

func (*RouteTableAttachment) ToRouteTableAttachmentOutput

func (i *RouteTableAttachment) ToRouteTableAttachmentOutput() RouteTableAttachmentOutput

func (*RouteTableAttachment) ToRouteTableAttachmentOutputWithContext

func (i *RouteTableAttachment) ToRouteTableAttachmentOutputWithContext(ctx context.Context) RouteTableAttachmentOutput

type RouteTableAttachmentArgs

type RouteTableAttachmentArgs struct {
	// The routeTableId of the route table attachment, the field can't be changed.
	RouteTableId pulumi.StringInput
	// The vswitchId of the route table attachment, the field can't be changed.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a RouteTableAttachment resource.

func (RouteTableAttachmentArgs) ElementType

func (RouteTableAttachmentArgs) ElementType() reflect.Type

type RouteTableAttachmentArray

type RouteTableAttachmentArray []RouteTableAttachmentInput

func (RouteTableAttachmentArray) ElementType

func (RouteTableAttachmentArray) ElementType() reflect.Type

func (RouteTableAttachmentArray) ToRouteTableAttachmentArrayOutput

func (i RouteTableAttachmentArray) ToRouteTableAttachmentArrayOutput() RouteTableAttachmentArrayOutput

func (RouteTableAttachmentArray) ToRouteTableAttachmentArrayOutputWithContext

func (i RouteTableAttachmentArray) ToRouteTableAttachmentArrayOutputWithContext(ctx context.Context) RouteTableAttachmentArrayOutput

type RouteTableAttachmentArrayInput

type RouteTableAttachmentArrayInput interface {
	pulumi.Input

	ToRouteTableAttachmentArrayOutput() RouteTableAttachmentArrayOutput
	ToRouteTableAttachmentArrayOutputWithContext(context.Context) RouteTableAttachmentArrayOutput
}

RouteTableAttachmentArrayInput is an input type that accepts RouteTableAttachmentArray and RouteTableAttachmentArrayOutput values. You can construct a concrete instance of `RouteTableAttachmentArrayInput` via:

RouteTableAttachmentArray{ RouteTableAttachmentArgs{...} }

type RouteTableAttachmentArrayOutput

type RouteTableAttachmentArrayOutput struct{ *pulumi.OutputState }

func (RouteTableAttachmentArrayOutput) ElementType

func (RouteTableAttachmentArrayOutput) Index

func (RouteTableAttachmentArrayOutput) ToRouteTableAttachmentArrayOutput

func (o RouteTableAttachmentArrayOutput) ToRouteTableAttachmentArrayOutput() RouteTableAttachmentArrayOutput

func (RouteTableAttachmentArrayOutput) ToRouteTableAttachmentArrayOutputWithContext

func (o RouteTableAttachmentArrayOutput) ToRouteTableAttachmentArrayOutputWithContext(ctx context.Context) RouteTableAttachmentArrayOutput

type RouteTableAttachmentInput

type RouteTableAttachmentInput interface {
	pulumi.Input

	ToRouteTableAttachmentOutput() RouteTableAttachmentOutput
	ToRouteTableAttachmentOutputWithContext(ctx context.Context) RouteTableAttachmentOutput
}

type RouteTableAttachmentMap

type RouteTableAttachmentMap map[string]RouteTableAttachmentInput

func (RouteTableAttachmentMap) ElementType

func (RouteTableAttachmentMap) ElementType() reflect.Type

func (RouteTableAttachmentMap) ToRouteTableAttachmentMapOutput

func (i RouteTableAttachmentMap) ToRouteTableAttachmentMapOutput() RouteTableAttachmentMapOutput

func (RouteTableAttachmentMap) ToRouteTableAttachmentMapOutputWithContext

func (i RouteTableAttachmentMap) ToRouteTableAttachmentMapOutputWithContext(ctx context.Context) RouteTableAttachmentMapOutput

type RouteTableAttachmentMapInput

type RouteTableAttachmentMapInput interface {
	pulumi.Input

	ToRouteTableAttachmentMapOutput() RouteTableAttachmentMapOutput
	ToRouteTableAttachmentMapOutputWithContext(context.Context) RouteTableAttachmentMapOutput
}

RouteTableAttachmentMapInput is an input type that accepts RouteTableAttachmentMap and RouteTableAttachmentMapOutput values. You can construct a concrete instance of `RouteTableAttachmentMapInput` via:

RouteTableAttachmentMap{ "key": RouteTableAttachmentArgs{...} }

type RouteTableAttachmentMapOutput

type RouteTableAttachmentMapOutput struct{ *pulumi.OutputState }

func (RouteTableAttachmentMapOutput) ElementType

func (RouteTableAttachmentMapOutput) MapIndex

func (RouteTableAttachmentMapOutput) ToRouteTableAttachmentMapOutput

func (o RouteTableAttachmentMapOutput) ToRouteTableAttachmentMapOutput() RouteTableAttachmentMapOutput

func (RouteTableAttachmentMapOutput) ToRouteTableAttachmentMapOutputWithContext

func (o RouteTableAttachmentMapOutput) ToRouteTableAttachmentMapOutputWithContext(ctx context.Context) RouteTableAttachmentMapOutput

type RouteTableAttachmentOutput

type RouteTableAttachmentOutput struct{ *pulumi.OutputState }

func (RouteTableAttachmentOutput) ElementType

func (RouteTableAttachmentOutput) ElementType() reflect.Type

func (RouteTableAttachmentOutput) RouteTableId

The routeTableId of the route table attachment, the field can't be changed.

func (RouteTableAttachmentOutput) ToRouteTableAttachmentOutput

func (o RouteTableAttachmentOutput) ToRouteTableAttachmentOutput() RouteTableAttachmentOutput

func (RouteTableAttachmentOutput) ToRouteTableAttachmentOutputWithContext

func (o RouteTableAttachmentOutput) ToRouteTableAttachmentOutputWithContext(ctx context.Context) RouteTableAttachmentOutput

func (RouteTableAttachmentOutput) VswitchId

The vswitchId of the route table attachment, the field can't be changed.

type RouteTableAttachmentState

type RouteTableAttachmentState struct {
	// The routeTableId of the route table attachment, the field can't be changed.
	RouteTableId pulumi.StringPtrInput
	// The vswitchId of the route table attachment, the field can't be changed.
	VswitchId pulumi.StringPtrInput
}

func (RouteTableAttachmentState) ElementType

func (RouteTableAttachmentState) ElementType() reflect.Type

type RouteTableInput

type RouteTableInput interface {
	pulumi.Input

	ToRouteTableOutput() RouteTableOutput
	ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput
}

type RouteTableMap

type RouteTableMap map[string]RouteTableInput

func (RouteTableMap) ElementType

func (RouteTableMap) ElementType() reflect.Type

func (RouteTableMap) ToRouteTableMapOutput

func (i RouteTableMap) ToRouteTableMapOutput() RouteTableMapOutput

func (RouteTableMap) ToRouteTableMapOutputWithContext

func (i RouteTableMap) ToRouteTableMapOutputWithContext(ctx context.Context) RouteTableMapOutput

type RouteTableMapInput

type RouteTableMapInput interface {
	pulumi.Input

	ToRouteTableMapOutput() RouteTableMapOutput
	ToRouteTableMapOutputWithContext(context.Context) RouteTableMapOutput
}

RouteTableMapInput is an input type that accepts RouteTableMap and RouteTableMapOutput values. You can construct a concrete instance of `RouteTableMapInput` via:

RouteTableMap{ "key": RouteTableArgs{...} }

type RouteTableMapOutput

type RouteTableMapOutput struct{ *pulumi.OutputState }

func (RouteTableMapOutput) ElementType

func (RouteTableMapOutput) ElementType() reflect.Type

func (RouteTableMapOutput) MapIndex

func (RouteTableMapOutput) ToRouteTableMapOutput

func (o RouteTableMapOutput) ToRouteTableMapOutput() RouteTableMapOutput

func (RouteTableMapOutput) ToRouteTableMapOutputWithContext

func (o RouteTableMapOutput) ToRouteTableMapOutputWithContext(ctx context.Context) RouteTableMapOutput

type RouteTableOutput

type RouteTableOutput struct{ *pulumi.OutputState }

func (RouteTableOutput) AssociateType

func (o RouteTableOutput) AssociateType() pulumi.StringOutput

The type of routing table created. Valid values are `VSwitch` and `Gateway`

func (RouteTableOutput) Description

func (o RouteTableOutput) Description() pulumi.StringPtrOutput

The description of the route table instance.

func (RouteTableOutput) ElementType

func (RouteTableOutput) ElementType() reflect.Type

func (RouteTableOutput) Name deprecated

Field `name` has been deprecated from provider version 1.119.1. New field `routeTableName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.

func (RouteTableOutput) RouteTableName

func (o RouteTableOutput) RouteTableName() pulumi.StringOutput

The name of the route table.

func (RouteTableOutput) Status

(Available in v1.119.1+) The status of the route table.

func (RouteTableOutput) Tags

A mapping of tags to assign to the resource.

func (RouteTableOutput) ToRouteTableOutput

func (o RouteTableOutput) ToRouteTableOutput() RouteTableOutput

func (RouteTableOutput) ToRouteTableOutputWithContext

func (o RouteTableOutput) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput

func (RouteTableOutput) VpcId

The vpcId of the route table, the field can't be changed.

type RouteTableState

type RouteTableState struct {
	// The type of routing table created. Valid values are `VSwitch` and `Gateway`
	AssociateType pulumi.StringPtrInput
	// The description of the route table instance.
	Description pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.119.1. New field `routeTableName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	Name pulumi.StringPtrInput
	// The name of the route table.
	RouteTableName pulumi.StringPtrInput
	// (Available in v1.119.1+) The status of the route table.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The vpcId of the route table, the field can't be changed.
	VpcId pulumi.StringPtrInput
}

func (RouteTableState) ElementType

func (RouteTableState) ElementType() reflect.Type

type RouterInterface

type RouterInterface struct {
	pulumi.CustomResourceState

	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	AccessPointId pulumi.StringOutput `pulumi:"accessPointId"`
	// Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckTargetIp` must be specified at the same time.
	HealthCheckSourceIp pulumi.StringPtrOutput `pulumi:"healthCheckSourceIp"`
	// Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckSourceIp` must be specified at the same time.
	HealthCheckTargetIp pulumi.StringPtrOutput `pulumi:"healthCheckTargetIp"`
	// The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and oppositeRegion are the same.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
	// If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
	Name pulumi.StringOutput `pulumi:"name"`
	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	OppositeAccessPointId pulumi.StringPtrOutput `pulumi:"oppositeAccessPointId"`
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	//
	// Deprecated: Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
	OppositeInterfaceId pulumi.StringOutput `pulumi:"oppositeInterfaceId"`
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
	//
	// Deprecated: Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
	OppositeInterfaceOwnerId pulumi.StringOutput `pulumi:"oppositeInterfaceOwnerId"`
	// The Region of peer side.
	OppositeRegion pulumi.StringOutput `pulumi:"oppositeRegion"`
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	//
	// Deprecated: Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	OppositeRouterId pulumi.StringOutput `pulumi:"oppositeRouterId"`
	// It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
	//
	// Deprecated: Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
	OppositeRouterType pulumi.StringOutput `pulumi:"oppositeRouterType"`
	Period             pulumi.IntPtrOutput `pulumi:"period"`
	// The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
	Role pulumi.StringOutput `pulumi:"role"`
	// The Router ID.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
	// Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
	RouterType pulumi.StringOutput `pulumi:"routerType"`
	// Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
	Specification pulumi.StringPtrOutput `pulumi:"specification"`
}

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewRouterInterface(ctx, "interface", &vpc.RouterInterfaceArgs{
			OppositeRegion: pulumi.String("cn-beijing"),
			RouterType:     pulumi.String("VRouter"),
			RouterId:       foo.RouterId,
			Role:           pulumi.String("InitiatingSide"),
			Specification:  pulumi.String("Large.2"),
			Description:    pulumi.String("test1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The router interface can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/routerInterface:RouterInterface interface ri-abc123456

```

func GetRouterInterface

func GetRouterInterface(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouterInterfaceState, opts ...pulumi.ResourceOption) (*RouterInterface, error)

GetRouterInterface gets an existing RouterInterface 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 NewRouterInterface

func NewRouterInterface(ctx *pulumi.Context,
	name string, args *RouterInterfaceArgs, opts ...pulumi.ResourceOption) (*RouterInterface, error)

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

func (*RouterInterface) ElementType

func (*RouterInterface) ElementType() reflect.Type

func (*RouterInterface) ToRouterInterfaceOutput

func (i *RouterInterface) ToRouterInterfaceOutput() RouterInterfaceOutput

func (*RouterInterface) ToRouterInterfaceOutputWithContext

func (i *RouterInterface) ToRouterInterfaceOutputWithContext(ctx context.Context) RouterInterfaceOutput

type RouterInterfaceArgs

type RouterInterfaceArgs struct {
	// Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
	Description pulumi.StringPtrInput
	// Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckTargetIp` must be specified at the same time.
	HealthCheckSourceIp pulumi.StringPtrInput
	// Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckSourceIp` must be specified at the same time.
	HealthCheckTargetIp pulumi.StringPtrInput
	// The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and oppositeRegion are the same.
	InstanceChargeType pulumi.StringPtrInput
	// Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
	// If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
	Name pulumi.StringPtrInput
	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	OppositeAccessPointId pulumi.StringPtrInput
	// The Region of peer side.
	OppositeRegion pulumi.StringInput
	Period         pulumi.IntPtrInput
	// The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
	Role pulumi.StringInput
	// The Router ID.
	RouterId pulumi.StringInput
	// Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
	RouterType pulumi.StringInput
	// Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
	Specification pulumi.StringPtrInput
}

The set of arguments for constructing a RouterInterface resource.

func (RouterInterfaceArgs) ElementType

func (RouterInterfaceArgs) ElementType() reflect.Type

type RouterInterfaceArray

type RouterInterfaceArray []RouterInterfaceInput

func (RouterInterfaceArray) ElementType

func (RouterInterfaceArray) ElementType() reflect.Type

func (RouterInterfaceArray) ToRouterInterfaceArrayOutput

func (i RouterInterfaceArray) ToRouterInterfaceArrayOutput() RouterInterfaceArrayOutput

func (RouterInterfaceArray) ToRouterInterfaceArrayOutputWithContext

func (i RouterInterfaceArray) ToRouterInterfaceArrayOutputWithContext(ctx context.Context) RouterInterfaceArrayOutput

type RouterInterfaceArrayInput

type RouterInterfaceArrayInput interface {
	pulumi.Input

	ToRouterInterfaceArrayOutput() RouterInterfaceArrayOutput
	ToRouterInterfaceArrayOutputWithContext(context.Context) RouterInterfaceArrayOutput
}

RouterInterfaceArrayInput is an input type that accepts RouterInterfaceArray and RouterInterfaceArrayOutput values. You can construct a concrete instance of `RouterInterfaceArrayInput` via:

RouterInterfaceArray{ RouterInterfaceArgs{...} }

type RouterInterfaceArrayOutput

type RouterInterfaceArrayOutput struct{ *pulumi.OutputState }

func (RouterInterfaceArrayOutput) ElementType

func (RouterInterfaceArrayOutput) ElementType() reflect.Type

func (RouterInterfaceArrayOutput) Index

func (RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutput

func (o RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutput() RouterInterfaceArrayOutput

func (RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutputWithContext

func (o RouterInterfaceArrayOutput) ToRouterInterfaceArrayOutputWithContext(ctx context.Context) RouterInterfaceArrayOutput

type RouterInterfaceConnection

type RouterInterfaceConnection struct {
	pulumi.CustomResourceState

	// One side router interface ID.
	InterfaceId pulumi.StringOutput `pulumi:"interfaceId"`
	// Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.
	OppositeInterfaceId      pulumi.StringOutput `pulumi:"oppositeInterfaceId"`
	OppositeInterfaceOwnerId pulumi.StringOutput `pulumi:"oppositeInterfaceOwnerId"`
	// Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterId pulumi.StringOutput `pulumi:"oppositeRouterId"`
	// Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterType pulumi.StringPtrOutput `pulumi:"oppositeRouterType"`
}

Provides a VPC router interface connection resource to connect two router interfaces which are in two different VPCs. After that, all of the two router interfaces will be active.

> **NOTE:** At present, Router interface does not support changing opposite router interface, the connection delete action is only deactivating it to inactive, not modifying the connection to empty.

> **NOTE:** If you want to changing opposite router interface, you can delete router interface and re-build them.

> **NOTE:** A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.

> **NOTE:** Please remember to add a `dependsOn` clause in the router interface connection from the InitiatingSide to the AcceptingSide, because the connection from the AcceptingSide to the InitiatingSide must be done first.

## Example Usage

```go package main

import (

"fmt"

"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/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		region := "cn-hangzhou"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		name := "alicloudRouterInterfaceConnectionBasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		barNetwork, err := vpc.NewNetwork(ctx, "barNetwork", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("192.168.0.0/16"),
		}, pulumi.Provider(alicloud))
		if err != nil {
			return err
		}
		initiate, err := vpc.NewRouterInterface(ctx, "initiate", &vpc.RouterInterfaceArgs{
			OppositeRegion:     pulumi.String(region),
			RouterType:         pulumi.String("VRouter"),
			RouterId:           fooNetwork.RouterId,
			Role:               pulumi.String("InitiatingSide"),
			Specification:      pulumi.String("Large.2"),
			Description:        pulumi.String(name),
			InstanceChargeType: pulumi.String("PostPaid"),
		})
		if err != nil {
			return err
		}
		opposite, err := vpc.NewRouterInterface(ctx, "opposite", &vpc.RouterInterfaceArgs{
			OppositeRegion: pulumi.String(region),
			RouterType:     pulumi.String("VRouter"),
			RouterId:       barNetwork.RouterId,
			Role:           pulumi.String("AcceptingSide"),
			Specification:  pulumi.String("Large.1"),
			Description:    pulumi.String(fmt.Sprintf("%v-opposite", name)),
		}, pulumi.Provider(alicloud))
		if err != nil {
			return err
		}
		barRouterInterfaceConnection, err := vpc.NewRouterInterfaceConnection(ctx, "barRouterInterfaceConnection", &vpc.RouterInterfaceConnectionArgs{
			InterfaceId:         opposite.ID(),
			OppositeInterfaceId: initiate.ID(),
		}, pulumi.Provider(alicloud))
		if err != nil {
			return err
		}
		_, err = vpc.NewRouterInterfaceConnection(ctx, "fooRouterInterfaceConnection", &vpc.RouterInterfaceConnectionArgs{
			InterfaceId:         initiate.ID(),
			OppositeInterfaceId: opposite.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			barRouterInterfaceConnection,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

The router interface connection can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/routerInterfaceConnection:RouterInterfaceConnection foo ri-abc123456

```

func GetRouterInterfaceConnection

func GetRouterInterfaceConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouterInterfaceConnectionState, opts ...pulumi.ResourceOption) (*RouterInterfaceConnection, error)

GetRouterInterfaceConnection gets an existing RouterInterfaceConnection 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 NewRouterInterfaceConnection

func NewRouterInterfaceConnection(ctx *pulumi.Context,
	name string, args *RouterInterfaceConnectionArgs, opts ...pulumi.ResourceOption) (*RouterInterfaceConnection, error)

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

func (*RouterInterfaceConnection) ElementType

func (*RouterInterfaceConnection) ElementType() reflect.Type

func (*RouterInterfaceConnection) ToRouterInterfaceConnectionOutput

func (i *RouterInterfaceConnection) ToRouterInterfaceConnectionOutput() RouterInterfaceConnectionOutput

func (*RouterInterfaceConnection) ToRouterInterfaceConnectionOutputWithContext

func (i *RouterInterfaceConnection) ToRouterInterfaceConnectionOutputWithContext(ctx context.Context) RouterInterfaceConnectionOutput

type RouterInterfaceConnectionArgs

type RouterInterfaceConnectionArgs struct {
	// One side router interface ID.
	InterfaceId pulumi.StringInput
	// Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.
	OppositeInterfaceId      pulumi.StringInput
	OppositeInterfaceOwnerId pulumi.StringPtrInput
	// Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterId pulumi.StringPtrInput
	// Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterType pulumi.StringPtrInput
}

The set of arguments for constructing a RouterInterfaceConnection resource.

func (RouterInterfaceConnectionArgs) ElementType

type RouterInterfaceConnectionArray

type RouterInterfaceConnectionArray []RouterInterfaceConnectionInput

func (RouterInterfaceConnectionArray) ElementType

func (RouterInterfaceConnectionArray) ToRouterInterfaceConnectionArrayOutput

func (i RouterInterfaceConnectionArray) ToRouterInterfaceConnectionArrayOutput() RouterInterfaceConnectionArrayOutput

func (RouterInterfaceConnectionArray) ToRouterInterfaceConnectionArrayOutputWithContext

func (i RouterInterfaceConnectionArray) ToRouterInterfaceConnectionArrayOutputWithContext(ctx context.Context) RouterInterfaceConnectionArrayOutput

type RouterInterfaceConnectionArrayInput

type RouterInterfaceConnectionArrayInput interface {
	pulumi.Input

	ToRouterInterfaceConnectionArrayOutput() RouterInterfaceConnectionArrayOutput
	ToRouterInterfaceConnectionArrayOutputWithContext(context.Context) RouterInterfaceConnectionArrayOutput
}

RouterInterfaceConnectionArrayInput is an input type that accepts RouterInterfaceConnectionArray and RouterInterfaceConnectionArrayOutput values. You can construct a concrete instance of `RouterInterfaceConnectionArrayInput` via:

RouterInterfaceConnectionArray{ RouterInterfaceConnectionArgs{...} }

type RouterInterfaceConnectionArrayOutput

type RouterInterfaceConnectionArrayOutput struct{ *pulumi.OutputState }

func (RouterInterfaceConnectionArrayOutput) ElementType

func (RouterInterfaceConnectionArrayOutput) Index

func (RouterInterfaceConnectionArrayOutput) ToRouterInterfaceConnectionArrayOutput

func (o RouterInterfaceConnectionArrayOutput) ToRouterInterfaceConnectionArrayOutput() RouterInterfaceConnectionArrayOutput

func (RouterInterfaceConnectionArrayOutput) ToRouterInterfaceConnectionArrayOutputWithContext

func (o RouterInterfaceConnectionArrayOutput) ToRouterInterfaceConnectionArrayOutputWithContext(ctx context.Context) RouterInterfaceConnectionArrayOutput

type RouterInterfaceConnectionInput

type RouterInterfaceConnectionInput interface {
	pulumi.Input

	ToRouterInterfaceConnectionOutput() RouterInterfaceConnectionOutput
	ToRouterInterfaceConnectionOutputWithContext(ctx context.Context) RouterInterfaceConnectionOutput
}

type RouterInterfaceConnectionMap

type RouterInterfaceConnectionMap map[string]RouterInterfaceConnectionInput

func (RouterInterfaceConnectionMap) ElementType

func (RouterInterfaceConnectionMap) ToRouterInterfaceConnectionMapOutput

func (i RouterInterfaceConnectionMap) ToRouterInterfaceConnectionMapOutput() RouterInterfaceConnectionMapOutput

func (RouterInterfaceConnectionMap) ToRouterInterfaceConnectionMapOutputWithContext

func (i RouterInterfaceConnectionMap) ToRouterInterfaceConnectionMapOutputWithContext(ctx context.Context) RouterInterfaceConnectionMapOutput

type RouterInterfaceConnectionMapInput

type RouterInterfaceConnectionMapInput interface {
	pulumi.Input

	ToRouterInterfaceConnectionMapOutput() RouterInterfaceConnectionMapOutput
	ToRouterInterfaceConnectionMapOutputWithContext(context.Context) RouterInterfaceConnectionMapOutput
}

RouterInterfaceConnectionMapInput is an input type that accepts RouterInterfaceConnectionMap and RouterInterfaceConnectionMapOutput values. You can construct a concrete instance of `RouterInterfaceConnectionMapInput` via:

RouterInterfaceConnectionMap{ "key": RouterInterfaceConnectionArgs{...} }

type RouterInterfaceConnectionMapOutput

type RouterInterfaceConnectionMapOutput struct{ *pulumi.OutputState }

func (RouterInterfaceConnectionMapOutput) ElementType

func (RouterInterfaceConnectionMapOutput) MapIndex

func (RouterInterfaceConnectionMapOutput) ToRouterInterfaceConnectionMapOutput

func (o RouterInterfaceConnectionMapOutput) ToRouterInterfaceConnectionMapOutput() RouterInterfaceConnectionMapOutput

func (RouterInterfaceConnectionMapOutput) ToRouterInterfaceConnectionMapOutputWithContext

func (o RouterInterfaceConnectionMapOutput) ToRouterInterfaceConnectionMapOutputWithContext(ctx context.Context) RouterInterfaceConnectionMapOutput

type RouterInterfaceConnectionOutput

type RouterInterfaceConnectionOutput struct{ *pulumi.OutputState }

func (RouterInterfaceConnectionOutput) ElementType

func (RouterInterfaceConnectionOutput) InterfaceId

One side router interface ID.

func (RouterInterfaceConnectionOutput) OppositeInterfaceId

func (o RouterInterfaceConnectionOutput) OppositeInterfaceId() pulumi.StringOutput

Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.

func (RouterInterfaceConnectionOutput) OppositeInterfaceOwnerId

func (o RouterInterfaceConnectionOutput) OppositeInterfaceOwnerId() pulumi.StringOutput

func (RouterInterfaceConnectionOutput) OppositeRouterId

Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.

func (RouterInterfaceConnectionOutput) OppositeRouterType

Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.

func (RouterInterfaceConnectionOutput) ToRouterInterfaceConnectionOutput

func (o RouterInterfaceConnectionOutput) ToRouterInterfaceConnectionOutput() RouterInterfaceConnectionOutput

func (RouterInterfaceConnectionOutput) ToRouterInterfaceConnectionOutputWithContext

func (o RouterInterfaceConnectionOutput) ToRouterInterfaceConnectionOutputWithContext(ctx context.Context) RouterInterfaceConnectionOutput

type RouterInterfaceConnectionState

type RouterInterfaceConnectionState struct {
	// One side router interface ID.
	InterfaceId pulumi.StringPtrInput
	// Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.
	OppositeInterfaceId      pulumi.StringPtrInput
	OppositeInterfaceOwnerId pulumi.StringPtrInput
	// Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterId pulumi.StringPtrInput
	// Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterType pulumi.StringPtrInput
}

func (RouterInterfaceConnectionState) ElementType

type RouterInterfaceInput

type RouterInterfaceInput interface {
	pulumi.Input

	ToRouterInterfaceOutput() RouterInterfaceOutput
	ToRouterInterfaceOutputWithContext(ctx context.Context) RouterInterfaceOutput
}

type RouterInterfaceMap

type RouterInterfaceMap map[string]RouterInterfaceInput

func (RouterInterfaceMap) ElementType

func (RouterInterfaceMap) ElementType() reflect.Type

func (RouterInterfaceMap) ToRouterInterfaceMapOutput

func (i RouterInterfaceMap) ToRouterInterfaceMapOutput() RouterInterfaceMapOutput

func (RouterInterfaceMap) ToRouterInterfaceMapOutputWithContext

func (i RouterInterfaceMap) ToRouterInterfaceMapOutputWithContext(ctx context.Context) RouterInterfaceMapOutput

type RouterInterfaceMapInput

type RouterInterfaceMapInput interface {
	pulumi.Input

	ToRouterInterfaceMapOutput() RouterInterfaceMapOutput
	ToRouterInterfaceMapOutputWithContext(context.Context) RouterInterfaceMapOutput
}

RouterInterfaceMapInput is an input type that accepts RouterInterfaceMap and RouterInterfaceMapOutput values. You can construct a concrete instance of `RouterInterfaceMapInput` via:

RouterInterfaceMap{ "key": RouterInterfaceArgs{...} }

type RouterInterfaceMapOutput

type RouterInterfaceMapOutput struct{ *pulumi.OutputState }

func (RouterInterfaceMapOutput) ElementType

func (RouterInterfaceMapOutput) ElementType() reflect.Type

func (RouterInterfaceMapOutput) MapIndex

func (RouterInterfaceMapOutput) ToRouterInterfaceMapOutput

func (o RouterInterfaceMapOutput) ToRouterInterfaceMapOutput() RouterInterfaceMapOutput

func (RouterInterfaceMapOutput) ToRouterInterfaceMapOutputWithContext

func (o RouterInterfaceMapOutput) ToRouterInterfaceMapOutputWithContext(ctx context.Context) RouterInterfaceMapOutput

type RouterInterfaceOutput

type RouterInterfaceOutput struct{ *pulumi.OutputState }

func (RouterInterfaceOutput) AccessPointId deprecated

func (o RouterInterfaceOutput) AccessPointId() pulumi.StringOutput

It has been deprecated from version 1.11.0.

Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.

func (RouterInterfaceOutput) Description

Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.

func (RouterInterfaceOutput) ElementType

func (RouterInterfaceOutput) ElementType() reflect.Type

func (RouterInterfaceOutput) HealthCheckSourceIp

func (o RouterInterfaceOutput) HealthCheckSourceIp() pulumi.StringPtrOutput

Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckTargetIp` must be specified at the same time.

func (RouterInterfaceOutput) HealthCheckTargetIp

func (o RouterInterfaceOutput) HealthCheckTargetIp() pulumi.StringPtrOutput

Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckSourceIp` must be specified at the same time.

func (RouterInterfaceOutput) InstanceChargeType

func (o RouterInterfaceOutput) InstanceChargeType() pulumi.StringPtrOutput

The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and oppositeRegion are the same.

func (RouterInterfaceOutput) Name

Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted. If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.

func (RouterInterfaceOutput) OppositeAccessPointId deprecated

func (o RouterInterfaceOutput) OppositeAccessPointId() pulumi.StringPtrOutput

It has been deprecated from version 1.11.0.

Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.

func (RouterInterfaceOutput) OppositeInterfaceId deprecated

func (o RouterInterfaceOutput) OppositeInterfaceId() pulumi.StringOutput

It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.

Deprecated: Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.

func (RouterInterfaceOutput) OppositeInterfaceOwnerId deprecated

func (o RouterInterfaceOutput) OppositeInterfaceOwnerId() pulumi.StringOutput

It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.

Deprecated: Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.

func (RouterInterfaceOutput) OppositeRegion

func (o RouterInterfaceOutput) OppositeRegion() pulumi.StringOutput

The Region of peer side.

func (RouterInterfaceOutput) OppositeRouterId deprecated

func (o RouterInterfaceOutput) OppositeRouterId() pulumi.StringOutput

It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.

Deprecated: Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.

func (RouterInterfaceOutput) OppositeRouterType deprecated

func (o RouterInterfaceOutput) OppositeRouterType() pulumi.StringOutput

It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.

Deprecated: Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.

func (RouterInterfaceOutput) Period

func (RouterInterfaceOutput) Role

The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.

func (RouterInterfaceOutput) RouterId

The Router ID.

func (RouterInterfaceOutput) RouterType

func (o RouterInterfaceOutput) RouterType() pulumi.StringOutput

Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.

func (RouterInterfaceOutput) Specification

func (o RouterInterfaceOutput) Specification() pulumi.StringPtrOutput

Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).

func (RouterInterfaceOutput) ToRouterInterfaceOutput

func (o RouterInterfaceOutput) ToRouterInterfaceOutput() RouterInterfaceOutput

func (RouterInterfaceOutput) ToRouterInterfaceOutputWithContext

func (o RouterInterfaceOutput) ToRouterInterfaceOutputWithContext(ctx context.Context) RouterInterfaceOutput

type RouterInterfaceState

type RouterInterfaceState struct {
	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	AccessPointId pulumi.StringPtrInput
	// Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
	Description pulumi.StringPtrInput
	// Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckTargetIp` must be specified at the same time.
	HealthCheckSourceIp pulumi.StringPtrInput
	// Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckSourceIp` must be specified at the same time.
	HealthCheckTargetIp pulumi.StringPtrInput
	// The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and oppositeRegion are the same.
	InstanceChargeType pulumi.StringPtrInput
	// Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
	// If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
	Name pulumi.StringPtrInput
	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	OppositeAccessPointId pulumi.StringPtrInput
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	//
	// Deprecated: Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
	OppositeInterfaceId pulumi.StringPtrInput
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
	//
	// Deprecated: Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
	OppositeInterfaceOwnerId pulumi.StringPtrInput
	// The Region of peer side.
	OppositeRegion pulumi.StringPtrInput
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	//
	// Deprecated: Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	OppositeRouterId pulumi.StringPtrInput
	// It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
	//
	// Deprecated: Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
	OppositeRouterType pulumi.StringPtrInput
	Period             pulumi.IntPtrInput
	// The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.
	Role pulumi.StringPtrInput
	// The Router ID.
	RouterId pulumi.StringPtrInput
	// Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.
	RouterType pulumi.StringPtrInput
	// Specification of router interfaces. It is valid when `role` is `InitiatingSide`. Accepting side's role is default to set as 'Negative'. For more about the specification, refer to [Router interface specification](https://www.alibabacloud.com/help/doc-detail/36037.htm).
	Specification pulumi.StringPtrInput
}

func (RouterInterfaceState) ElementType

func (RouterInterfaceState) ElementType() reflect.Type

type SnatEntry

type SnatEntry struct {
	pulumi.CustomResourceState

	// The id of the snat entry on the server.
	SnatEntryId pulumi.StringOutput `pulumi:"snatEntryId"`
	// The name of snat entry.
	SnatEntryName pulumi.StringPtrOutput `pulumi:"snatEntryName"`
	// The SNAT ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.
	SnatIp pulumi.StringOutput `pulumi:"snatIp"`
	// The value can get from `vpc.NatGateway` Attributes "snatTableIds".
	SnatTableId pulumi.StringOutput `pulumi:"snatTableId"`
	// The private network segment of Ecs. This parameter and the `sourceVswitchId` parameter are mutually exclusive and cannot appear at the same time.
	SourceCidr pulumi.StringOutput `pulumi:"sourceCidr"`
	// The vswitch ID.
	SourceVswitchId pulumi.StringOutput `pulumi:"sourceVswitchId"`
	// (Available in 1.119.1+) The status of snat entry.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a snat resource.

## Import

Snat Entry can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/snatEntry:SnatEntry foo stb-1aece3:snat-232ce2

```

func GetSnatEntry

func GetSnatEntry(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnatEntryState, opts ...pulumi.ResourceOption) (*SnatEntry, error)

GetSnatEntry gets an existing SnatEntry 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 NewSnatEntry

func NewSnatEntry(ctx *pulumi.Context,
	name string, args *SnatEntryArgs, opts ...pulumi.ResourceOption) (*SnatEntry, error)

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

func (*SnatEntry) ElementType

func (*SnatEntry) ElementType() reflect.Type

func (*SnatEntry) ToSnatEntryOutput

func (i *SnatEntry) ToSnatEntryOutput() SnatEntryOutput

func (*SnatEntry) ToSnatEntryOutputWithContext

func (i *SnatEntry) ToSnatEntryOutputWithContext(ctx context.Context) SnatEntryOutput

type SnatEntryArgs

type SnatEntryArgs struct {
	// The name of snat entry.
	SnatEntryName pulumi.StringPtrInput
	// The SNAT ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.
	SnatIp pulumi.StringInput
	// The value can get from `vpc.NatGateway` Attributes "snatTableIds".
	SnatTableId pulumi.StringInput
	// The private network segment of Ecs. This parameter and the `sourceVswitchId` parameter are mutually exclusive and cannot appear at the same time.
	SourceCidr pulumi.StringPtrInput
	// The vswitch ID.
	SourceVswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a SnatEntry resource.

func (SnatEntryArgs) ElementType

func (SnatEntryArgs) ElementType() reflect.Type

type SnatEntryArray

type SnatEntryArray []SnatEntryInput

func (SnatEntryArray) ElementType

func (SnatEntryArray) ElementType() reflect.Type

func (SnatEntryArray) ToSnatEntryArrayOutput

func (i SnatEntryArray) ToSnatEntryArrayOutput() SnatEntryArrayOutput

func (SnatEntryArray) ToSnatEntryArrayOutputWithContext

func (i SnatEntryArray) ToSnatEntryArrayOutputWithContext(ctx context.Context) SnatEntryArrayOutput

type SnatEntryArrayInput

type SnatEntryArrayInput interface {
	pulumi.Input

	ToSnatEntryArrayOutput() SnatEntryArrayOutput
	ToSnatEntryArrayOutputWithContext(context.Context) SnatEntryArrayOutput
}

SnatEntryArrayInput is an input type that accepts SnatEntryArray and SnatEntryArrayOutput values. You can construct a concrete instance of `SnatEntryArrayInput` via:

SnatEntryArray{ SnatEntryArgs{...} }

type SnatEntryArrayOutput

type SnatEntryArrayOutput struct{ *pulumi.OutputState }

func (SnatEntryArrayOutput) ElementType

func (SnatEntryArrayOutput) ElementType() reflect.Type

func (SnatEntryArrayOutput) Index

func (SnatEntryArrayOutput) ToSnatEntryArrayOutput

func (o SnatEntryArrayOutput) ToSnatEntryArrayOutput() SnatEntryArrayOutput

func (SnatEntryArrayOutput) ToSnatEntryArrayOutputWithContext

func (o SnatEntryArrayOutput) ToSnatEntryArrayOutputWithContext(ctx context.Context) SnatEntryArrayOutput

type SnatEntryInput

type SnatEntryInput interface {
	pulumi.Input

	ToSnatEntryOutput() SnatEntryOutput
	ToSnatEntryOutputWithContext(ctx context.Context) SnatEntryOutput
}

type SnatEntryMap

type SnatEntryMap map[string]SnatEntryInput

func (SnatEntryMap) ElementType

func (SnatEntryMap) ElementType() reflect.Type

func (SnatEntryMap) ToSnatEntryMapOutput

func (i SnatEntryMap) ToSnatEntryMapOutput() SnatEntryMapOutput

func (SnatEntryMap) ToSnatEntryMapOutputWithContext

func (i SnatEntryMap) ToSnatEntryMapOutputWithContext(ctx context.Context) SnatEntryMapOutput

type SnatEntryMapInput

type SnatEntryMapInput interface {
	pulumi.Input

	ToSnatEntryMapOutput() SnatEntryMapOutput
	ToSnatEntryMapOutputWithContext(context.Context) SnatEntryMapOutput
}

SnatEntryMapInput is an input type that accepts SnatEntryMap and SnatEntryMapOutput values. You can construct a concrete instance of `SnatEntryMapInput` via:

SnatEntryMap{ "key": SnatEntryArgs{...} }

type SnatEntryMapOutput

type SnatEntryMapOutput struct{ *pulumi.OutputState }

func (SnatEntryMapOutput) ElementType

func (SnatEntryMapOutput) ElementType() reflect.Type

func (SnatEntryMapOutput) MapIndex

func (SnatEntryMapOutput) ToSnatEntryMapOutput

func (o SnatEntryMapOutput) ToSnatEntryMapOutput() SnatEntryMapOutput

func (SnatEntryMapOutput) ToSnatEntryMapOutputWithContext

func (o SnatEntryMapOutput) ToSnatEntryMapOutputWithContext(ctx context.Context) SnatEntryMapOutput

type SnatEntryOutput

type SnatEntryOutput struct{ *pulumi.OutputState }

func (SnatEntryOutput) ElementType

func (SnatEntryOutput) ElementType() reflect.Type

func (SnatEntryOutput) SnatEntryId

func (o SnatEntryOutput) SnatEntryId() pulumi.StringOutput

The id of the snat entry on the server.

func (SnatEntryOutput) SnatEntryName

func (o SnatEntryOutput) SnatEntryName() pulumi.StringPtrOutput

The name of snat entry.

func (SnatEntryOutput) SnatIp

func (o SnatEntryOutput) SnatIp() pulumi.StringOutput

The SNAT ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.

func (SnatEntryOutput) SnatTableId

func (o SnatEntryOutput) SnatTableId() pulumi.StringOutput

The value can get from `vpc.NatGateway` Attributes "snatTableIds".

func (SnatEntryOutput) SourceCidr

func (o SnatEntryOutput) SourceCidr() pulumi.StringOutput

The private network segment of Ecs. This parameter and the `sourceVswitchId` parameter are mutually exclusive and cannot appear at the same time.

func (SnatEntryOutput) SourceVswitchId

func (o SnatEntryOutput) SourceVswitchId() pulumi.StringOutput

The vswitch ID.

func (SnatEntryOutput) Status

func (o SnatEntryOutput) Status() pulumi.StringOutput

(Available in 1.119.1+) The status of snat entry.

func (SnatEntryOutput) ToSnatEntryOutput

func (o SnatEntryOutput) ToSnatEntryOutput() SnatEntryOutput

func (SnatEntryOutput) ToSnatEntryOutputWithContext

func (o SnatEntryOutput) ToSnatEntryOutputWithContext(ctx context.Context) SnatEntryOutput

type SnatEntryState

type SnatEntryState struct {
	// The id of the snat entry on the server.
	SnatEntryId pulumi.StringPtrInput
	// The name of snat entry.
	SnatEntryName pulumi.StringPtrInput
	// The SNAT ip address, the ip must along bandwidth package public ip which `vpc.NatGateway` argument `bandwidthPackages`.
	SnatIp pulumi.StringPtrInput
	// The value can get from `vpc.NatGateway` Attributes "snatTableIds".
	SnatTableId pulumi.StringPtrInput
	// The private network segment of Ecs. This parameter and the `sourceVswitchId` parameter are mutually exclusive and cannot appear at the same time.
	SourceCidr pulumi.StringPtrInput
	// The vswitch ID.
	SourceVswitchId pulumi.StringPtrInput
	// (Available in 1.119.1+) The status of snat entry.
	Status pulumi.StringPtrInput
}

func (SnatEntryState) ElementType

func (SnatEntryState) ElementType() reflect.Type

type Subnet deprecated

type Subnet struct {
	pulumi.CustomResourceState

	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringOutput    `pulumi:"availabilityZone"`
	CidrBlock        pulumi.StringOutput    `pulumi:"cidrBlock"`
	Description      pulumi.StringPtrOutput `pulumi:"description"`
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name        pulumi.StringOutput `pulumi:"name"`
	Status      pulumi.StringOutput `pulumi:"status"`
	Tags        pulumi.MapOutput    `pulumi:"tags"`
	VpcId       pulumi.StringOutput `pulumi:"vpcId"`
	VswitchName pulumi.StringOutput `pulumi:"vswitchName"`
	ZoneId      pulumi.StringOutput `pulumi:"zoneId"`
}

Deprecated: This resource has been deprecated and replaced by the Switch resource.

func GetSubnet

func GetSubnet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetState, opts ...pulumi.ResourceOption) (*Subnet, error)

GetSubnet gets an existing Subnet 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 NewSubnet

func NewSubnet(ctx *pulumi.Context,
	name string, args *SubnetArgs, opts ...pulumi.ResourceOption) (*Subnet, error)

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

func (*Subnet) ElementType

func (*Subnet) ElementType() reflect.Type

func (*Subnet) ToSubnetOutput

func (i *Subnet) ToSubnetOutput() SubnetOutput

func (*Subnet) ToSubnetOutputWithContext

func (i *Subnet) ToSubnetOutputWithContext(ctx context.Context) SubnetOutput

type SubnetArgs

type SubnetArgs struct {
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringPtrInput
	CidrBlock        pulumi.StringInput
	Description      pulumi.StringPtrInput
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name        pulumi.StringPtrInput
	Tags        pulumi.MapInput
	VpcId       pulumi.StringInput
	VswitchName pulumi.StringPtrInput
	ZoneId      pulumi.StringPtrInput
}

The set of arguments for constructing a Subnet resource.

func (SubnetArgs) ElementType

func (SubnetArgs) ElementType() reflect.Type

type SubnetArray

type SubnetArray []SubnetInput

func (SubnetArray) ElementType

func (SubnetArray) ElementType() reflect.Type

func (SubnetArray) ToSubnetArrayOutput

func (i SubnetArray) ToSubnetArrayOutput() SubnetArrayOutput

func (SubnetArray) ToSubnetArrayOutputWithContext

func (i SubnetArray) ToSubnetArrayOutputWithContext(ctx context.Context) SubnetArrayOutput

type SubnetArrayInput

type SubnetArrayInput interface {
	pulumi.Input

	ToSubnetArrayOutput() SubnetArrayOutput
	ToSubnetArrayOutputWithContext(context.Context) SubnetArrayOutput
}

SubnetArrayInput is an input type that accepts SubnetArray and SubnetArrayOutput values. You can construct a concrete instance of `SubnetArrayInput` via:

SubnetArray{ SubnetArgs{...} }

type SubnetArrayOutput

type SubnetArrayOutput struct{ *pulumi.OutputState }

func (SubnetArrayOutput) ElementType

func (SubnetArrayOutput) ElementType() reflect.Type

func (SubnetArrayOutput) Index

func (SubnetArrayOutput) ToSubnetArrayOutput

func (o SubnetArrayOutput) ToSubnetArrayOutput() SubnetArrayOutput

func (SubnetArrayOutput) ToSubnetArrayOutputWithContext

func (o SubnetArrayOutput) ToSubnetArrayOutputWithContext(ctx context.Context) SubnetArrayOutput

type SubnetInput

type SubnetInput interface {
	pulumi.Input

	ToSubnetOutput() SubnetOutput
	ToSubnetOutputWithContext(ctx context.Context) SubnetOutput
}

type SubnetMap

type SubnetMap map[string]SubnetInput

func (SubnetMap) ElementType

func (SubnetMap) ElementType() reflect.Type

func (SubnetMap) ToSubnetMapOutput

func (i SubnetMap) ToSubnetMapOutput() SubnetMapOutput

func (SubnetMap) ToSubnetMapOutputWithContext

func (i SubnetMap) ToSubnetMapOutputWithContext(ctx context.Context) SubnetMapOutput

type SubnetMapInput

type SubnetMapInput interface {
	pulumi.Input

	ToSubnetMapOutput() SubnetMapOutput
	ToSubnetMapOutputWithContext(context.Context) SubnetMapOutput
}

SubnetMapInput is an input type that accepts SubnetMap and SubnetMapOutput values. You can construct a concrete instance of `SubnetMapInput` via:

SubnetMap{ "key": SubnetArgs{...} }

type SubnetMapOutput

type SubnetMapOutput struct{ *pulumi.OutputState }

func (SubnetMapOutput) ElementType

func (SubnetMapOutput) ElementType() reflect.Type

func (SubnetMapOutput) MapIndex

func (SubnetMapOutput) ToSubnetMapOutput

func (o SubnetMapOutput) ToSubnetMapOutput() SubnetMapOutput

func (SubnetMapOutput) ToSubnetMapOutputWithContext

func (o SubnetMapOutput) ToSubnetMapOutputWithContext(ctx context.Context) SubnetMapOutput

type SubnetOutput

type SubnetOutput struct{ *pulumi.OutputState }

func (SubnetOutput) AvailabilityZone deprecated

func (o SubnetOutput) AvailabilityZone() pulumi.StringOutput

Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.

func (SubnetOutput) CidrBlock

func (o SubnetOutput) CidrBlock() pulumi.StringOutput

func (SubnetOutput) Description

func (o SubnetOutput) Description() pulumi.StringPtrOutput

func (SubnetOutput) ElementType

func (SubnetOutput) ElementType() reflect.Type

func (SubnetOutput) Name deprecated

func (o SubnetOutput) Name() pulumi.StringOutput

Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.

func (SubnetOutput) Status

func (o SubnetOutput) Status() pulumi.StringOutput

func (SubnetOutput) Tags

func (o SubnetOutput) Tags() pulumi.MapOutput

func (SubnetOutput) ToSubnetOutput

func (o SubnetOutput) ToSubnetOutput() SubnetOutput

func (SubnetOutput) ToSubnetOutputWithContext

func (o SubnetOutput) ToSubnetOutputWithContext(ctx context.Context) SubnetOutput

func (SubnetOutput) VpcId

func (o SubnetOutput) VpcId() pulumi.StringOutput

func (SubnetOutput) VswitchName

func (o SubnetOutput) VswitchName() pulumi.StringOutput

func (SubnetOutput) ZoneId

func (o SubnetOutput) ZoneId() pulumi.StringOutput

type SubnetState

type SubnetState struct {
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringPtrInput
	CidrBlock        pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name        pulumi.StringPtrInput
	Status      pulumi.StringPtrInput
	Tags        pulumi.MapInput
	VpcId       pulumi.StringPtrInput
	VswitchName pulumi.StringPtrInput
	ZoneId      pulumi.StringPtrInput
}

func (SubnetState) ElementType

func (SubnetState) ElementType() reflect.Type

type Switch

type Switch struct {
	pulumi.CustomResourceState

	// Field `availabilityZone` has been deprecated from provider version 1.119.0. New field `zoneId` instead.
	//
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The CIDR block for the switch.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// The switch description. Defaults to null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Field `name` has been deprecated from provider version 1.119.0. New field `vswitchName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// (Available in 1.119.0+) The status of the switch.
	Status pulumi.StringOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VPC ID.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The name of the switch. Defaults to null.
	VswitchName pulumi.StringOutput `pulumi:"vswitchName"`
	// The AZ for the switch. **Note:** Required for a VPC switch.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

## Import

Vswitch can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/switch:Switch example vsw-abc123456

```

func GetSwitch

func GetSwitch(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SwitchState, opts ...pulumi.ResourceOption) (*Switch, error)

GetSwitch gets an existing Switch 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 NewSwitch

func NewSwitch(ctx *pulumi.Context,
	name string, args *SwitchArgs, opts ...pulumi.ResourceOption) (*Switch, error)

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

func (*Switch) ElementType

func (*Switch) ElementType() reflect.Type

func (*Switch) ToSwitchOutput

func (i *Switch) ToSwitchOutput() SwitchOutput

func (*Switch) ToSwitchOutputWithContext

func (i *Switch) ToSwitchOutputWithContext(ctx context.Context) SwitchOutput

type SwitchArgs

type SwitchArgs struct {
	// Field `availabilityZone` has been deprecated from provider version 1.119.0. New field `zoneId` instead.
	//
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringPtrInput
	// The CIDR block for the switch.
	CidrBlock pulumi.StringInput
	// The switch description. Defaults to null.
	Description pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.119.0. New field `vswitchName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The VPC ID.
	VpcId pulumi.StringInput
	// The name of the switch. Defaults to null.
	VswitchName pulumi.StringPtrInput
	// The AZ for the switch. **Note:** Required for a VPC switch.
	ZoneId pulumi.StringPtrInput
}

The set of arguments for constructing a Switch resource.

func (SwitchArgs) ElementType

func (SwitchArgs) ElementType() reflect.Type

type SwitchArray

type SwitchArray []SwitchInput

func (SwitchArray) ElementType

func (SwitchArray) ElementType() reflect.Type

func (SwitchArray) ToSwitchArrayOutput

func (i SwitchArray) ToSwitchArrayOutput() SwitchArrayOutput

func (SwitchArray) ToSwitchArrayOutputWithContext

func (i SwitchArray) ToSwitchArrayOutputWithContext(ctx context.Context) SwitchArrayOutput

type SwitchArrayInput

type SwitchArrayInput interface {
	pulumi.Input

	ToSwitchArrayOutput() SwitchArrayOutput
	ToSwitchArrayOutputWithContext(context.Context) SwitchArrayOutput
}

SwitchArrayInput is an input type that accepts SwitchArray and SwitchArrayOutput values. You can construct a concrete instance of `SwitchArrayInput` via:

SwitchArray{ SwitchArgs{...} }

type SwitchArrayOutput

type SwitchArrayOutput struct{ *pulumi.OutputState }

func (SwitchArrayOutput) ElementType

func (SwitchArrayOutput) ElementType() reflect.Type

func (SwitchArrayOutput) Index

func (SwitchArrayOutput) ToSwitchArrayOutput

func (o SwitchArrayOutput) ToSwitchArrayOutput() SwitchArrayOutput

func (SwitchArrayOutput) ToSwitchArrayOutputWithContext

func (o SwitchArrayOutput) ToSwitchArrayOutputWithContext(ctx context.Context) SwitchArrayOutput

type SwitchInput

type SwitchInput interface {
	pulumi.Input

	ToSwitchOutput() SwitchOutput
	ToSwitchOutputWithContext(ctx context.Context) SwitchOutput
}

type SwitchMap

type SwitchMap map[string]SwitchInput

func (SwitchMap) ElementType

func (SwitchMap) ElementType() reflect.Type

func (SwitchMap) ToSwitchMapOutput

func (i SwitchMap) ToSwitchMapOutput() SwitchMapOutput

func (SwitchMap) ToSwitchMapOutputWithContext

func (i SwitchMap) ToSwitchMapOutputWithContext(ctx context.Context) SwitchMapOutput

type SwitchMapInput

type SwitchMapInput interface {
	pulumi.Input

	ToSwitchMapOutput() SwitchMapOutput
	ToSwitchMapOutputWithContext(context.Context) SwitchMapOutput
}

SwitchMapInput is an input type that accepts SwitchMap and SwitchMapOutput values. You can construct a concrete instance of `SwitchMapInput` via:

SwitchMap{ "key": SwitchArgs{...} }

type SwitchMapOutput

type SwitchMapOutput struct{ *pulumi.OutputState }

func (SwitchMapOutput) ElementType

func (SwitchMapOutput) ElementType() reflect.Type

func (SwitchMapOutput) MapIndex

func (SwitchMapOutput) ToSwitchMapOutput

func (o SwitchMapOutput) ToSwitchMapOutput() SwitchMapOutput

func (SwitchMapOutput) ToSwitchMapOutputWithContext

func (o SwitchMapOutput) ToSwitchMapOutputWithContext(ctx context.Context) SwitchMapOutput

type SwitchOutput

type SwitchOutput struct{ *pulumi.OutputState }

func (SwitchOutput) AvailabilityZone deprecated

func (o SwitchOutput) AvailabilityZone() pulumi.StringOutput

Field `availabilityZone` has been deprecated from provider version 1.119.0. New field `zoneId` instead.

Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.

func (SwitchOutput) CidrBlock

func (o SwitchOutput) CidrBlock() pulumi.StringOutput

The CIDR block for the switch.

func (SwitchOutput) Description

func (o SwitchOutput) Description() pulumi.StringPtrOutput

The switch description. Defaults to null.

func (SwitchOutput) ElementType

func (SwitchOutput) ElementType() reflect.Type

func (SwitchOutput) Name deprecated

func (o SwitchOutput) Name() pulumi.StringOutput

Field `name` has been deprecated from provider version 1.119.0. New field `vswitchName` instead.

Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.

func (SwitchOutput) Status

func (o SwitchOutput) Status() pulumi.StringOutput

(Available in 1.119.0+) The status of the switch.

func (SwitchOutput) Tags

func (o SwitchOutput) Tags() pulumi.MapOutput

A mapping of tags to assign to the resource.

func (SwitchOutput) ToSwitchOutput

func (o SwitchOutput) ToSwitchOutput() SwitchOutput

func (SwitchOutput) ToSwitchOutputWithContext

func (o SwitchOutput) ToSwitchOutputWithContext(ctx context.Context) SwitchOutput

func (SwitchOutput) VpcId

func (o SwitchOutput) VpcId() pulumi.StringOutput

The VPC ID.

func (SwitchOutput) VswitchName

func (o SwitchOutput) VswitchName() pulumi.StringOutput

The name of the switch. Defaults to null.

func (SwitchOutput) ZoneId

func (o SwitchOutput) ZoneId() pulumi.StringOutput

The AZ for the switch. **Note:** Required for a VPC switch.

type SwitchState

type SwitchState struct {
	// Field `availabilityZone` has been deprecated from provider version 1.119.0. New field `zoneId` instead.
	//
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringPtrInput
	// The CIDR block for the switch.
	CidrBlock pulumi.StringPtrInput
	// The switch description. Defaults to null.
	Description pulumi.StringPtrInput
	// Field `name` has been deprecated from provider version 1.119.0. New field `vswitchName` instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name pulumi.StringPtrInput
	// (Available in 1.119.0+) The status of the switch.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The VPC ID.
	VpcId pulumi.StringPtrInput
	// The name of the switch. Defaults to null.
	VswitchName pulumi.StringPtrInput
	// The AZ for the switch. **Note:** Required for a VPC switch.
	ZoneId pulumi.StringPtrInput
}

func (SwitchState) ElementType

func (SwitchState) ElementType() reflect.Type

type TrafficMirrorFilter

type TrafficMirrorFilter struct {
	pulumi.CustomResourceState

	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
	Status pulumi.StringOutput `pulumi:"status"`
	// The description of the filter. The description must be `2` to `256` characters in length. It must start with a letter and cannot start with `http://` or `https://`.
	TrafficMirrorFilterDescription pulumi.StringPtrOutput `pulumi:"trafficMirrorFilterDescription"`
	// The name of the filter. The name must be `2` to `128` characters in length, and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.
	TrafficMirrorFilterName pulumi.StringPtrOutput `pulumi:"trafficMirrorFilterName"`
}

Provides a VPC Traffic Mirror Filter resource.

For information about VPC Traffic Mirror Filter and how to use it, see [What is Traffic Mirror Filter](https://www.alibabacloud.com/help/doc-detail/207513.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.NewTrafficMirrorFilter(ctx, "example", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterName: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Traffic Mirror Filter can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/trafficMirrorFilter:TrafficMirrorFilter example <id>

```

func GetTrafficMirrorFilter

func GetTrafficMirrorFilter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrafficMirrorFilterState, opts ...pulumi.ResourceOption) (*TrafficMirrorFilter, error)

GetTrafficMirrorFilter gets an existing TrafficMirrorFilter 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 NewTrafficMirrorFilter

func NewTrafficMirrorFilter(ctx *pulumi.Context,
	name string, args *TrafficMirrorFilterArgs, opts ...pulumi.ResourceOption) (*TrafficMirrorFilter, error)

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

func (*TrafficMirrorFilter) ElementType

func (*TrafficMirrorFilter) ElementType() reflect.Type

func (*TrafficMirrorFilter) ToTrafficMirrorFilterOutput

func (i *TrafficMirrorFilter) ToTrafficMirrorFilterOutput() TrafficMirrorFilterOutput

func (*TrafficMirrorFilter) ToTrafficMirrorFilterOutputWithContext

func (i *TrafficMirrorFilter) ToTrafficMirrorFilterOutputWithContext(ctx context.Context) TrafficMirrorFilterOutput

type TrafficMirrorFilterArgs

type TrafficMirrorFilterArgs struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The description of the filter. The description must be `2` to `256` characters in length. It must start with a letter and cannot start with `http://` or `https://`.
	TrafficMirrorFilterDescription pulumi.StringPtrInput
	// The name of the filter. The name must be `2` to `128` characters in length, and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.
	TrafficMirrorFilterName pulumi.StringPtrInput
}

The set of arguments for constructing a TrafficMirrorFilter resource.

func (TrafficMirrorFilterArgs) ElementType

func (TrafficMirrorFilterArgs) ElementType() reflect.Type

type TrafficMirrorFilterArray

type TrafficMirrorFilterArray []TrafficMirrorFilterInput

func (TrafficMirrorFilterArray) ElementType

func (TrafficMirrorFilterArray) ElementType() reflect.Type

func (TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutput

func (i TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutput() TrafficMirrorFilterArrayOutput

func (TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutputWithContext

func (i TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterArrayOutput

type TrafficMirrorFilterArrayInput

type TrafficMirrorFilterArrayInput interface {
	pulumi.Input

	ToTrafficMirrorFilterArrayOutput() TrafficMirrorFilterArrayOutput
	ToTrafficMirrorFilterArrayOutputWithContext(context.Context) TrafficMirrorFilterArrayOutput
}

TrafficMirrorFilterArrayInput is an input type that accepts TrafficMirrorFilterArray and TrafficMirrorFilterArrayOutput values. You can construct a concrete instance of `TrafficMirrorFilterArrayInput` via:

TrafficMirrorFilterArray{ TrafficMirrorFilterArgs{...} }

type TrafficMirrorFilterArrayOutput

type TrafficMirrorFilterArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterArrayOutput) ElementType

func (TrafficMirrorFilterArrayOutput) Index

func (TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutput

func (o TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutput() TrafficMirrorFilterArrayOutput

func (TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutputWithContext

func (o TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterArrayOutput

type TrafficMirrorFilterEgressRule

type TrafficMirrorFilterEgressRule struct {
	pulumi.CustomResourceState

	// The destination CIDR block of the outbound traffic.
	DestinationCidrBlock pulumi.StringOutput `pulumi:"destinationCidrBlock"`
	// The destination CIDR block of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	DestinationPortRange pulumi.StringOutput `pulumi:"destinationPortRange"`
	// Whether to pre-check this request only. Default to: `false`
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntOutput `pulumi:"priority"`
	// The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringOutput `pulumi:"ruleAction"`
	// The source CIDR block of the outbound traffic.
	SourceCidrBlock pulumi.StringOutput `pulumi:"sourceCidrBlock"`
	// The source port range of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	SourcePortRange pulumi.StringOutput `pulumi:"sourcePortRange"`
	// The state of the inbound rule. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the outbound rule.
	TrafficMirrorFilterEgressRuleId pulumi.StringOutput `pulumi:"trafficMirrorFilterEgressRuleId"`
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringOutput `pulumi:"trafficMirrorFilterId"`
}

Provides a VPC Traffic Mirror Filter Egress Rule resource.

For information about VPC Traffic Mirror Filter Egress Rule and how to use it, see [What is Traffic Mirror Filter Egress Rule](https://www.alibabacloud.com/help/doc-detail/261357.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleTrafficMirrorFilter, err := vpc.NewTrafficMirrorFilter(ctx, "exampleTrafficMirrorFilter", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterName: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewTrafficMirrorFilterEgressRule(ctx, "exampleTrafficMirrorFilterEgressRule", &vpc.TrafficMirrorFilterEgressRuleArgs{
			TrafficMirrorFilterId: exampleTrafficMirrorFilter.ID(),
			Priority:              pulumi.Int(1),
			RuleAction:            pulumi.String("accept"),
			Protocol:              pulumi.String("UDP"),
			DestinationCidrBlock:  pulumi.String("10.0.0.0/24"),
			SourceCidrBlock:       pulumi.String("10.0.0.0/24"),
			DestinationPortRange:  pulumi.String("1/120"),
			SourcePortRange:       pulumi.String("1/120"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Traffic Mirror Filter Egress Rule can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/trafficMirrorFilterEgressRule:TrafficMirrorFilterEgressRule example <traffic_mirror_filter_id>:<traffic_mirror_filter_egress_rule_id>

```

func GetTrafficMirrorFilterEgressRule

func GetTrafficMirrorFilterEgressRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrafficMirrorFilterEgressRuleState, opts ...pulumi.ResourceOption) (*TrafficMirrorFilterEgressRule, error)

GetTrafficMirrorFilterEgressRule gets an existing TrafficMirrorFilterEgressRule 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 NewTrafficMirrorFilterEgressRule

func NewTrafficMirrorFilterEgressRule(ctx *pulumi.Context,
	name string, args *TrafficMirrorFilterEgressRuleArgs, opts ...pulumi.ResourceOption) (*TrafficMirrorFilterEgressRule, error)

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

func (*TrafficMirrorFilterEgressRule) ElementType

func (*TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutput

func (i *TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutput() TrafficMirrorFilterEgressRuleOutput

func (*TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutputWithContext

func (i *TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleOutput

type TrafficMirrorFilterEgressRuleArgs

type TrafficMirrorFilterEgressRuleArgs struct {
	// The destination CIDR block of the outbound traffic.
	DestinationCidrBlock pulumi.StringInput
	// The destination CIDR block of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	DestinationPortRange pulumi.StringPtrInput
	// Whether to pre-check this request only. Default to: `false`
	DryRun pulumi.BoolPtrInput
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntInput
	// The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringInput
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringInput
	// The source CIDR block of the outbound traffic.
	SourceCidrBlock pulumi.StringInput
	// The source port range of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	SourcePortRange pulumi.StringPtrInput
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringInput
}

The set of arguments for constructing a TrafficMirrorFilterEgressRule resource.

func (TrafficMirrorFilterEgressRuleArgs) ElementType

type TrafficMirrorFilterEgressRuleArray

type TrafficMirrorFilterEgressRuleArray []TrafficMirrorFilterEgressRuleInput

func (TrafficMirrorFilterEgressRuleArray) ElementType

func (TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutput

func (i TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutput() TrafficMirrorFilterEgressRuleArrayOutput

func (TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext

func (i TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleArrayOutput

type TrafficMirrorFilterEgressRuleArrayInput

type TrafficMirrorFilterEgressRuleArrayInput interface {
	pulumi.Input

	ToTrafficMirrorFilterEgressRuleArrayOutput() TrafficMirrorFilterEgressRuleArrayOutput
	ToTrafficMirrorFilterEgressRuleArrayOutputWithContext(context.Context) TrafficMirrorFilterEgressRuleArrayOutput
}

TrafficMirrorFilterEgressRuleArrayInput is an input type that accepts TrafficMirrorFilterEgressRuleArray and TrafficMirrorFilterEgressRuleArrayOutput values. You can construct a concrete instance of `TrafficMirrorFilterEgressRuleArrayInput` via:

TrafficMirrorFilterEgressRuleArray{ TrafficMirrorFilterEgressRuleArgs{...} }

type TrafficMirrorFilterEgressRuleArrayOutput

type TrafficMirrorFilterEgressRuleArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleArrayOutput) ElementType

func (TrafficMirrorFilterEgressRuleArrayOutput) Index

func (TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutput

func (o TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutput() TrafficMirrorFilterEgressRuleArrayOutput

func (TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext

func (o TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleArrayOutput

type TrafficMirrorFilterEgressRuleInput

type TrafficMirrorFilterEgressRuleInput interface {
	pulumi.Input

	ToTrafficMirrorFilterEgressRuleOutput() TrafficMirrorFilterEgressRuleOutput
	ToTrafficMirrorFilterEgressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleOutput
}

type TrafficMirrorFilterEgressRuleMap

type TrafficMirrorFilterEgressRuleMap map[string]TrafficMirrorFilterEgressRuleInput

func (TrafficMirrorFilterEgressRuleMap) ElementType

func (TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutput

func (i TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutput() TrafficMirrorFilterEgressRuleMapOutput

func (TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutputWithContext

func (i TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleMapOutput

type TrafficMirrorFilterEgressRuleMapInput

type TrafficMirrorFilterEgressRuleMapInput interface {
	pulumi.Input

	ToTrafficMirrorFilterEgressRuleMapOutput() TrafficMirrorFilterEgressRuleMapOutput
	ToTrafficMirrorFilterEgressRuleMapOutputWithContext(context.Context) TrafficMirrorFilterEgressRuleMapOutput
}

TrafficMirrorFilterEgressRuleMapInput is an input type that accepts TrafficMirrorFilterEgressRuleMap and TrafficMirrorFilterEgressRuleMapOutput values. You can construct a concrete instance of `TrafficMirrorFilterEgressRuleMapInput` via:

TrafficMirrorFilterEgressRuleMap{ "key": TrafficMirrorFilterEgressRuleArgs{...} }

type TrafficMirrorFilterEgressRuleMapOutput

type TrafficMirrorFilterEgressRuleMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleMapOutput) ElementType

func (TrafficMirrorFilterEgressRuleMapOutput) MapIndex

func (TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutput

func (o TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutput() TrafficMirrorFilterEgressRuleMapOutput

func (TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutputWithContext

func (o TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleMapOutput

type TrafficMirrorFilterEgressRuleOutput

type TrafficMirrorFilterEgressRuleOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleOutput) DestinationCidrBlock

func (o TrafficMirrorFilterEgressRuleOutput) DestinationCidrBlock() pulumi.StringOutput

The destination CIDR block of the outbound traffic.

func (TrafficMirrorFilterEgressRuleOutput) DestinationPortRange

func (o TrafficMirrorFilterEgressRuleOutput) DestinationPortRange() pulumi.StringOutput

The destination CIDR block of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.

func (TrafficMirrorFilterEgressRuleOutput) DryRun

Whether to pre-check this request only. Default to: `false`

func (TrafficMirrorFilterEgressRuleOutput) ElementType

func (TrafficMirrorFilterEgressRuleOutput) Priority

The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.

func (TrafficMirrorFilterEgressRuleOutput) Protocol

The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (TrafficMirrorFilterEgressRuleOutput) RuleAction

The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.

func (TrafficMirrorFilterEgressRuleOutput) SourceCidrBlock

The source CIDR block of the outbound traffic.

func (TrafficMirrorFilterEgressRuleOutput) SourcePortRange

The source port range of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.

func (TrafficMirrorFilterEgressRuleOutput) Status

The state of the inbound rule. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.

func (TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutput

func (o TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutput() TrafficMirrorFilterEgressRuleOutput

func (TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutputWithContext

func (o TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleOutput

func (TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterEgressRuleId

func (o TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterEgressRuleId() pulumi.StringOutput

The ID of the outbound rule.

func (TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterId

func (o TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

type TrafficMirrorFilterEgressRuleState

type TrafficMirrorFilterEgressRuleState struct {
	// The destination CIDR block of the outbound traffic.
	DestinationCidrBlock pulumi.StringPtrInput
	// The destination CIDR block of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	DestinationPortRange pulumi.StringPtrInput
	// Whether to pre-check this request only. Default to: `false`
	DryRun pulumi.BoolPtrInput
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntPtrInput
	// The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringPtrInput
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringPtrInput
	// The source CIDR block of the outbound traffic.
	SourceCidrBlock pulumi.StringPtrInput
	// The source port range of the outbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	SourcePortRange pulumi.StringPtrInput
	// The state of the inbound rule. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput
	// The ID of the outbound rule.
	TrafficMirrorFilterEgressRuleId pulumi.StringPtrInput
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringPtrInput
}

func (TrafficMirrorFilterEgressRuleState) ElementType

type TrafficMirrorFilterIngressRule

type TrafficMirrorFilterIngressRule struct {
	pulumi.CustomResourceState

	// The destination CIDR block of the inbound traffic.
	DestinationCidrBlock pulumi.StringOutput `pulumi:"destinationCidrBlock"`
	// The destination CIDR block of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	DestinationPortRange pulumi.StringOutput `pulumi:"destinationPortRange"`
	// Whether to pre-check this request only. Default to: `false`
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntOutput `pulumi:"priority"`
	// The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringOutput `pulumi:"ruleAction"`
	// The source CIDR block of the inbound traffic.
	SourceCidrBlock pulumi.StringOutput `pulumi:"sourceCidrBlock"`
	// The source port range of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	SourcePortRange pulumi.StringOutput `pulumi:"sourcePortRange"`
	// The state of the inbound rule. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringOutput `pulumi:"trafficMirrorFilterId"`
	// The ID of the inbound rule.
	TrafficMirrorFilterIngressRuleId pulumi.StringOutput `pulumi:"trafficMirrorFilterIngressRuleId"`
}

Provides a VPC Traffic Mirror Filter Ingress Rule resource.

For information about VPC Traffic Mirror Filter Ingress Rule and how to use it, see [What is Traffic Mirror Filter Ingress Rule](https://www.alibabacloud.com/help/doc-detail/261357.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleTrafficMirrorFilter, err := vpc.NewTrafficMirrorFilter(ctx, "exampleTrafficMirrorFilter", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterName: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewTrafficMirrorFilterIngressRule(ctx, "exampleTrafficMirrorFilterIngressRule", &vpc.TrafficMirrorFilterIngressRuleArgs{
			TrafficMirrorFilterId: exampleTrafficMirrorFilter.ID(),
			Priority:              pulumi.Int(1),
			RuleAction:            pulumi.String("accept"),
			Protocol:              pulumi.String("UDP"),
			DestinationCidrBlock:  pulumi.String("10.0.0.0/24"),
			SourceCidrBlock:       pulumi.String("10.0.0.0/24"),
			DestinationPortRange:  pulumi.String("1/120"),
			SourcePortRange:       pulumi.String("1/120"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Traffic Mirror Filter Ingress Rule can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/trafficMirrorFilterIngressRule:TrafficMirrorFilterIngressRule example <traffic_mirror_filter_id>:<traffic_mirror_filter_ingress_rule_id>

```

func GetTrafficMirrorFilterIngressRule

func GetTrafficMirrorFilterIngressRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrafficMirrorFilterIngressRuleState, opts ...pulumi.ResourceOption) (*TrafficMirrorFilterIngressRule, error)

GetTrafficMirrorFilterIngressRule gets an existing TrafficMirrorFilterIngressRule 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 NewTrafficMirrorFilterIngressRule

func NewTrafficMirrorFilterIngressRule(ctx *pulumi.Context,
	name string, args *TrafficMirrorFilterIngressRuleArgs, opts ...pulumi.ResourceOption) (*TrafficMirrorFilterIngressRule, error)

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

func (*TrafficMirrorFilterIngressRule) ElementType

func (*TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutput

func (i *TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutput() TrafficMirrorFilterIngressRuleOutput

func (*TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutputWithContext

func (i *TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleOutput

type TrafficMirrorFilterIngressRuleArgs

type TrafficMirrorFilterIngressRuleArgs struct {
	// The destination CIDR block of the inbound traffic.
	DestinationCidrBlock pulumi.StringInput
	// The destination CIDR block of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	DestinationPortRange pulumi.StringPtrInput
	// Whether to pre-check this request only. Default to: `false`
	DryRun pulumi.BoolPtrInput
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntInput
	// The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringInput
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringInput
	// The source CIDR block of the inbound traffic.
	SourceCidrBlock pulumi.StringInput
	// The source port range of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	SourcePortRange pulumi.StringPtrInput
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringInput
}

The set of arguments for constructing a TrafficMirrorFilterIngressRule resource.

func (TrafficMirrorFilterIngressRuleArgs) ElementType

type TrafficMirrorFilterIngressRuleArray

type TrafficMirrorFilterIngressRuleArray []TrafficMirrorFilterIngressRuleInput

func (TrafficMirrorFilterIngressRuleArray) ElementType

func (TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutput

func (i TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutput() TrafficMirrorFilterIngressRuleArrayOutput

func (TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext

func (i TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleArrayOutput

type TrafficMirrorFilterIngressRuleArrayInput

type TrafficMirrorFilterIngressRuleArrayInput interface {
	pulumi.Input

	ToTrafficMirrorFilterIngressRuleArrayOutput() TrafficMirrorFilterIngressRuleArrayOutput
	ToTrafficMirrorFilterIngressRuleArrayOutputWithContext(context.Context) TrafficMirrorFilterIngressRuleArrayOutput
}

TrafficMirrorFilterIngressRuleArrayInput is an input type that accepts TrafficMirrorFilterIngressRuleArray and TrafficMirrorFilterIngressRuleArrayOutput values. You can construct a concrete instance of `TrafficMirrorFilterIngressRuleArrayInput` via:

TrafficMirrorFilterIngressRuleArray{ TrafficMirrorFilterIngressRuleArgs{...} }

type TrafficMirrorFilterIngressRuleArrayOutput

type TrafficMirrorFilterIngressRuleArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleArrayOutput) ElementType

func (TrafficMirrorFilterIngressRuleArrayOutput) Index

func (TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutput

func (o TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutput() TrafficMirrorFilterIngressRuleArrayOutput

func (TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext

func (o TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleArrayOutput

type TrafficMirrorFilterIngressRuleInput

type TrafficMirrorFilterIngressRuleInput interface {
	pulumi.Input

	ToTrafficMirrorFilterIngressRuleOutput() TrafficMirrorFilterIngressRuleOutput
	ToTrafficMirrorFilterIngressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleOutput
}

type TrafficMirrorFilterIngressRuleMap

type TrafficMirrorFilterIngressRuleMap map[string]TrafficMirrorFilterIngressRuleInput

func (TrafficMirrorFilterIngressRuleMap) ElementType

func (TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutput

func (i TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutput() TrafficMirrorFilterIngressRuleMapOutput

func (TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutputWithContext

func (i TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleMapOutput

type TrafficMirrorFilterIngressRuleMapInput

type TrafficMirrorFilterIngressRuleMapInput interface {
	pulumi.Input

	ToTrafficMirrorFilterIngressRuleMapOutput() TrafficMirrorFilterIngressRuleMapOutput
	ToTrafficMirrorFilterIngressRuleMapOutputWithContext(context.Context) TrafficMirrorFilterIngressRuleMapOutput
}

TrafficMirrorFilterIngressRuleMapInput is an input type that accepts TrafficMirrorFilterIngressRuleMap and TrafficMirrorFilterIngressRuleMapOutput values. You can construct a concrete instance of `TrafficMirrorFilterIngressRuleMapInput` via:

TrafficMirrorFilterIngressRuleMap{ "key": TrafficMirrorFilterIngressRuleArgs{...} }

type TrafficMirrorFilterIngressRuleMapOutput

type TrafficMirrorFilterIngressRuleMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleMapOutput) ElementType

func (TrafficMirrorFilterIngressRuleMapOutput) MapIndex

func (TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutput

func (o TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutput() TrafficMirrorFilterIngressRuleMapOutput

func (TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutputWithContext

func (o TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleMapOutput

type TrafficMirrorFilterIngressRuleOutput

type TrafficMirrorFilterIngressRuleOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleOutput) DestinationCidrBlock

func (o TrafficMirrorFilterIngressRuleOutput) DestinationCidrBlock() pulumi.StringOutput

The destination CIDR block of the inbound traffic.

func (TrafficMirrorFilterIngressRuleOutput) DestinationPortRange

func (o TrafficMirrorFilterIngressRuleOutput) DestinationPortRange() pulumi.StringOutput

The destination CIDR block of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.

func (TrafficMirrorFilterIngressRuleOutput) DryRun

Whether to pre-check this request only. Default to: `false`

func (TrafficMirrorFilterIngressRuleOutput) ElementType

func (TrafficMirrorFilterIngressRuleOutput) Priority

The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.

func (TrafficMirrorFilterIngressRuleOutput) Protocol

The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (TrafficMirrorFilterIngressRuleOutput) RuleAction

The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.

func (TrafficMirrorFilterIngressRuleOutput) SourceCidrBlock

The source CIDR block of the inbound traffic.

func (TrafficMirrorFilterIngressRuleOutput) SourcePortRange

The source port range of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.

func (TrafficMirrorFilterIngressRuleOutput) Status

The state of the inbound rule. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.

func (TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutput

func (o TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutput() TrafficMirrorFilterIngressRuleOutput

func (TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutputWithContext

func (o TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleOutput

func (TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterId

func (o TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterIngressRuleId

func (o TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterIngressRuleId() pulumi.StringOutput

The ID of the inbound rule.

type TrafficMirrorFilterIngressRuleState

type TrafficMirrorFilterIngressRuleState struct {
	// The destination CIDR block of the inbound traffic.
	DestinationCidrBlock pulumi.StringPtrInput
	// The destination CIDR block of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	DestinationPortRange pulumi.StringPtrInput
	// Whether to pre-check this request only. Default to: `false`
	DryRun pulumi.BoolPtrInput
	// The priority of the inbound rule. A smaller value indicates a higher priority. The maximum value is `10`, which indicates that you can configure at most 10 inbound rules for a filter.
	Priority pulumi.IntPtrInput
	// The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.
	Protocol pulumi.StringPtrInput
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	RuleAction pulumi.StringPtrInput
	// The source CIDR block of the inbound traffic.
	SourceCidrBlock pulumi.StringPtrInput
	// The source port range of the inbound traffic. Valid values: `1` to `65535`. Separate the first port and last port with a forward slash (/), for example, `1/200` or `80/80`. A value of `-1/-1` indicates that all ports are available. Therefore, do not set the value to `-1/-1`. **NOTE:** When `protocol` is `ICMP`, this parameter is invalid.
	SourcePortRange pulumi.StringPtrInput
	// The state of the inbound rule. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringPtrInput
	// The ID of the inbound rule.
	TrafficMirrorFilterIngressRuleId pulumi.StringPtrInput
}

func (TrafficMirrorFilterIngressRuleState) ElementType

type TrafficMirrorFilterInput

type TrafficMirrorFilterInput interface {
	pulumi.Input

	ToTrafficMirrorFilterOutput() TrafficMirrorFilterOutput
	ToTrafficMirrorFilterOutputWithContext(ctx context.Context) TrafficMirrorFilterOutput
}

type TrafficMirrorFilterMap

type TrafficMirrorFilterMap map[string]TrafficMirrorFilterInput

func (TrafficMirrorFilterMap) ElementType

func (TrafficMirrorFilterMap) ElementType() reflect.Type

func (TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutput

func (i TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutput() TrafficMirrorFilterMapOutput

func (TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutputWithContext

func (i TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutputWithContext(ctx context.Context) TrafficMirrorFilterMapOutput

type TrafficMirrorFilterMapInput

type TrafficMirrorFilterMapInput interface {
	pulumi.Input

	ToTrafficMirrorFilterMapOutput() TrafficMirrorFilterMapOutput
	ToTrafficMirrorFilterMapOutputWithContext(context.Context) TrafficMirrorFilterMapOutput
}

TrafficMirrorFilterMapInput is an input type that accepts TrafficMirrorFilterMap and TrafficMirrorFilterMapOutput values. You can construct a concrete instance of `TrafficMirrorFilterMapInput` via:

TrafficMirrorFilterMap{ "key": TrafficMirrorFilterArgs{...} }

type TrafficMirrorFilterMapOutput

type TrafficMirrorFilterMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterMapOutput) ElementType

func (TrafficMirrorFilterMapOutput) MapIndex

func (TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutput

func (o TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutput() TrafficMirrorFilterMapOutput

func (TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutputWithContext

func (o TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutputWithContext(ctx context.Context) TrafficMirrorFilterMapOutput

type TrafficMirrorFilterOutput

type TrafficMirrorFilterOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterOutput) DryRun

The dry run.

func (TrafficMirrorFilterOutput) ElementType

func (TrafficMirrorFilterOutput) ElementType() reflect.Type

func (TrafficMirrorFilterOutput) Status

The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.

func (TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutput

func (o TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutput() TrafficMirrorFilterOutput

func (TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutputWithContext

func (o TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutputWithContext(ctx context.Context) TrafficMirrorFilterOutput

func (TrafficMirrorFilterOutput) TrafficMirrorFilterDescription

func (o TrafficMirrorFilterOutput) TrafficMirrorFilterDescription() pulumi.StringPtrOutput

The description of the filter. The description must be `2` to `256` characters in length. It must start with a letter and cannot start with `http://` or `https://`.

func (TrafficMirrorFilterOutput) TrafficMirrorFilterName

func (o TrafficMirrorFilterOutput) TrafficMirrorFilterName() pulumi.StringPtrOutput

The name of the filter. The name must be `2` to `128` characters in length, and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.

type TrafficMirrorFilterState

type TrafficMirrorFilterState struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The state of the filter. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`. `Creating`: The filter is being created. `Created`: The filter is created. `Modifying`: The filter is being modified. `Deleting`: The filter is being deleted.
	Status pulumi.StringPtrInput
	// The description of the filter. The description must be `2` to `256` characters in length. It must start with a letter and cannot start with `http://` or `https://`.
	TrafficMirrorFilterDescription pulumi.StringPtrInput
	// The name of the filter. The name must be `2` to `128` characters in length, and can contain digits, periods (.), underscores (_), and hyphens (-). It must start with a letter and cannot start with `http://` or `https://`.
	TrafficMirrorFilterName pulumi.StringPtrInput
}

func (TrafficMirrorFilterState) ElementType

func (TrafficMirrorFilterState) ElementType() reflect.Type

type TrafficMirrorSession

type TrafficMirrorSession struct {
	pulumi.CustomResourceState

	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Specifies whether to enable traffic mirror sessions. default to `false`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The priority of the traffic mirror session. Valid values: `1` to `32766`. A smaller value indicates a higher priority. You cannot specify the same priority for traffic mirror sessions that are created in the same region with the same Alibaba Cloud account.
	Priority pulumi.IntOutput `pulumi:"priority"`
	// The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringOutput `pulumi:"trafficMirrorFilterId"`
	// The description of the traffic mirror session. The description must be `2` to `256` characters in length and cannot start with `http://` or `https://`.
	TrafficMirrorSessionDescription pulumi.StringPtrOutput `pulumi:"trafficMirrorSessionDescription"`
	// The name of the traffic mirror session. The name must be `2` to `128` characters in length and can contain digits, underscores (_), and hyphens (-). It must start with a letter.
	TrafficMirrorSessionName pulumi.StringPtrOutput `pulumi:"trafficMirrorSessionName"`
	// The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source. **NOTE:** Only one mirror source can be added to a traffic mirror session.
	TrafficMirrorSourceIds pulumi.StringArrayOutput `pulumi:"trafficMirrorSourceIds"`
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId pulumi.StringOutput `pulumi:"trafficMirrorTargetId"`
	// The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance
	TrafficMirrorTargetType pulumi.StringOutput `pulumi:"trafficMirrorTargetType"`
	// The VXLAN network identifier (VNI) that is used to distinguish different mirrored traffic. Valid values: `0` to `16777215`. You can specify VNIs for the traffic mirror destination to identify mirrored traffic from different sessions. If you do not specify a VNI, the system randomly allocates a VNI. If you want the system to randomly allocate a VNI, ignore this parameter.
	VirtualNetworkId pulumi.IntOutput `pulumi:"virtualNetworkId"`
}

Provides a VPC Traffic Mirror Session resource.

For information about VPC Traffic Mirror Session and how to use it, see [What is Traffic Mirror Session](https://www.alibabacloud.com/help/en/doc-detail/261364.htm).

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

## Import

VPC Traffic Mirror Session can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/trafficMirrorSession:TrafficMirrorSession example <id>

```

func GetTrafficMirrorSession

func GetTrafficMirrorSession(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TrafficMirrorSessionState, opts ...pulumi.ResourceOption) (*TrafficMirrorSession, error)

GetTrafficMirrorSession gets an existing TrafficMirrorSession 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 NewTrafficMirrorSession

func NewTrafficMirrorSession(ctx *pulumi.Context,
	name string, args *TrafficMirrorSessionArgs, opts ...pulumi.ResourceOption) (*TrafficMirrorSession, error)

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

func (*TrafficMirrorSession) ElementType

func (*TrafficMirrorSession) ElementType() reflect.Type

func (*TrafficMirrorSession) ToTrafficMirrorSessionOutput

func (i *TrafficMirrorSession) ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput

func (*TrafficMirrorSession) ToTrafficMirrorSessionOutputWithContext

func (i *TrafficMirrorSession) ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput

type TrafficMirrorSessionArgs

type TrafficMirrorSessionArgs struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// Specifies whether to enable traffic mirror sessions. default to `false`.
	Enabled pulumi.BoolPtrInput
	// The priority of the traffic mirror session. Valid values: `1` to `32766`. A smaller value indicates a higher priority. You cannot specify the same priority for traffic mirror sessions that are created in the same region with the same Alibaba Cloud account.
	Priority pulumi.IntInput
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringInput
	// The description of the traffic mirror session. The description must be `2` to `256` characters in length and cannot start with `http://` or `https://`.
	TrafficMirrorSessionDescription pulumi.StringPtrInput
	// The name of the traffic mirror session. The name must be `2` to `128` characters in length and can contain digits, underscores (_), and hyphens (-). It must start with a letter.
	TrafficMirrorSessionName pulumi.StringPtrInput
	// The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source. **NOTE:** Only one mirror source can be added to a traffic mirror session.
	TrafficMirrorSourceIds pulumi.StringArrayInput
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId pulumi.StringInput
	// The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance
	TrafficMirrorTargetType pulumi.StringInput
	// The VXLAN network identifier (VNI) that is used to distinguish different mirrored traffic. Valid values: `0` to `16777215`. You can specify VNIs for the traffic mirror destination to identify mirrored traffic from different sessions. If you do not specify a VNI, the system randomly allocates a VNI. If you want the system to randomly allocate a VNI, ignore this parameter.
	VirtualNetworkId pulumi.IntPtrInput
}

The set of arguments for constructing a TrafficMirrorSession resource.

func (TrafficMirrorSessionArgs) ElementType

func (TrafficMirrorSessionArgs) ElementType() reflect.Type

type TrafficMirrorSessionArray

type TrafficMirrorSessionArray []TrafficMirrorSessionInput

func (TrafficMirrorSessionArray) ElementType

func (TrafficMirrorSessionArray) ElementType() reflect.Type

func (TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutput

func (i TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput

func (TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutputWithContext

func (i TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutputWithContext(ctx context.Context) TrafficMirrorSessionArrayOutput

type TrafficMirrorSessionArrayInput

type TrafficMirrorSessionArrayInput interface {
	pulumi.Input

	ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput
	ToTrafficMirrorSessionArrayOutputWithContext(context.Context) TrafficMirrorSessionArrayOutput
}

TrafficMirrorSessionArrayInput is an input type that accepts TrafficMirrorSessionArray and TrafficMirrorSessionArrayOutput values. You can construct a concrete instance of `TrafficMirrorSessionArrayInput` via:

TrafficMirrorSessionArray{ TrafficMirrorSessionArgs{...} }

type TrafficMirrorSessionArrayOutput

type TrafficMirrorSessionArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorSessionArrayOutput) ElementType

func (TrafficMirrorSessionArrayOutput) Index

func (TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutput

func (o TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput

func (TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutputWithContext

func (o TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutputWithContext(ctx context.Context) TrafficMirrorSessionArrayOutput

type TrafficMirrorSessionInput

type TrafficMirrorSessionInput interface {
	pulumi.Input

	ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput
	ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput
}

type TrafficMirrorSessionMap

type TrafficMirrorSessionMap map[string]TrafficMirrorSessionInput

func (TrafficMirrorSessionMap) ElementType

func (TrafficMirrorSessionMap) ElementType() reflect.Type

func (TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutput

func (i TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput

func (TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutputWithContext

func (i TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutputWithContext(ctx context.Context) TrafficMirrorSessionMapOutput

type TrafficMirrorSessionMapInput

type TrafficMirrorSessionMapInput interface {
	pulumi.Input

	ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput
	ToTrafficMirrorSessionMapOutputWithContext(context.Context) TrafficMirrorSessionMapOutput
}

TrafficMirrorSessionMapInput is an input type that accepts TrafficMirrorSessionMap and TrafficMirrorSessionMapOutput values. You can construct a concrete instance of `TrafficMirrorSessionMapInput` via:

TrafficMirrorSessionMap{ "key": TrafficMirrorSessionArgs{...} }

type TrafficMirrorSessionMapOutput

type TrafficMirrorSessionMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorSessionMapOutput) ElementType

func (TrafficMirrorSessionMapOutput) MapIndex

func (TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutput

func (o TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput

func (TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutputWithContext

func (o TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutputWithContext(ctx context.Context) TrafficMirrorSessionMapOutput

type TrafficMirrorSessionOutput

type TrafficMirrorSessionOutput struct{ *pulumi.OutputState }

func (TrafficMirrorSessionOutput) DryRun

The dry run.

func (TrafficMirrorSessionOutput) ElementType

func (TrafficMirrorSessionOutput) ElementType() reflect.Type

func (TrafficMirrorSessionOutput) Enabled

Specifies whether to enable traffic mirror sessions. default to `false`.

func (TrafficMirrorSessionOutput) Priority

The priority of the traffic mirror session. Valid values: `1` to `32766`. A smaller value indicates a higher priority. You cannot specify the same priority for traffic mirror sessions that are created in the same region with the same Alibaba Cloud account.

func (TrafficMirrorSessionOutput) Status

The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.

func (TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutput

func (o TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput

func (TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutputWithContext

func (o TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput

func (TrafficMirrorSessionOutput) TrafficMirrorFilterId

func (o TrafficMirrorSessionOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (TrafficMirrorSessionOutput) TrafficMirrorSessionDescription

func (o TrafficMirrorSessionOutput) TrafficMirrorSessionDescription() pulumi.StringPtrOutput

The description of the traffic mirror session. The description must be `2` to `256` characters in length and cannot start with `http://` or `https://`.

func (TrafficMirrorSessionOutput) TrafficMirrorSessionName

func (o TrafficMirrorSessionOutput) TrafficMirrorSessionName() pulumi.StringPtrOutput

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

func (TrafficMirrorSessionOutput) TrafficMirrorSourceIds

func (o TrafficMirrorSessionOutput) TrafficMirrorSourceIds() pulumi.StringArrayOutput

The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source. **NOTE:** Only one mirror source can be added to a traffic mirror session.

func (TrafficMirrorSessionOutput) TrafficMirrorTargetId

func (o TrafficMirrorSessionOutput) TrafficMirrorTargetId() pulumi.StringOutput

The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.

func (TrafficMirrorSessionOutput) TrafficMirrorTargetType

func (o TrafficMirrorSessionOutput) TrafficMirrorTargetType() pulumi.StringOutput

The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance

func (TrafficMirrorSessionOutput) VirtualNetworkId

func (o TrafficMirrorSessionOutput) VirtualNetworkId() pulumi.IntOutput

The VXLAN network identifier (VNI) that is used to distinguish different mirrored traffic. Valid values: `0` to `16777215`. You can specify VNIs for the traffic mirror destination to identify mirrored traffic from different sessions. If you do not specify a VNI, the system randomly allocates a VNI. If you want the system to randomly allocate a VNI, ignore this parameter.

type TrafficMirrorSessionState

type TrafficMirrorSessionState struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// Specifies whether to enable traffic mirror sessions. default to `false`.
	Enabled pulumi.BoolPtrInput
	// The priority of the traffic mirror session. Valid values: `1` to `32766`. A smaller value indicates a higher priority. You cannot specify the same priority for traffic mirror sessions that are created in the same region with the same Alibaba Cloud account.
	Priority pulumi.IntPtrInput
	// The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput
	// The ID of the filter.
	TrafficMirrorFilterId pulumi.StringPtrInput
	// The description of the traffic mirror session. The description must be `2` to `256` characters in length and cannot start with `http://` or `https://`.
	TrafficMirrorSessionDescription pulumi.StringPtrInput
	// The name of the traffic mirror session. The name must be `2` to `128` characters in length and can contain digits, underscores (_), and hyphens (-). It must start with a letter.
	TrafficMirrorSessionName pulumi.StringPtrInput
	// The ID of the mirror source. You can specify only an elastic network interface (ENI) as the mirror source. **NOTE:** Only one mirror source can be added to a traffic mirror session.
	TrafficMirrorSourceIds pulumi.StringArrayInput
	// The ID of the mirror destination. You can specify only an ENI or a Server Load Balancer (SLB) instance as a mirror destination.
	TrafficMirrorTargetId pulumi.StringPtrInput
	// The type of the mirror destination. Valid values: `NetworkInterface` or `SLB`. `NetworkInterface`: an ENI. `SLB`: an internal-facing SLB instance
	TrafficMirrorTargetType pulumi.StringPtrInput
	// The VXLAN network identifier (VNI) that is used to distinguish different mirrored traffic. Valid values: `0` to `16777215`. You can specify VNIs for the traffic mirror destination to identify mirrored traffic from different sessions. If you do not specify a VNI, the system randomly allocates a VNI. If you want the system to randomly allocate a VNI, ignore this parameter.
	VirtualNetworkId pulumi.IntPtrInput
}

func (TrafficMirrorSessionState) ElementType

func (TrafficMirrorSessionState) ElementType() reflect.Type

type VbrHa

type VbrHa struct {
	pulumi.CustomResourceState

	// The description of the VBR switching group. It must be `2` to `256` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the other VBR in the VBR failover group.
	PeerVbrId pulumi.StringOutput `pulumi:"peerVbrId"`
	// The state of the VBR failover group.
	Status pulumi.StringOutput `pulumi:"status"`
	// The name of the VBR failover group.
	VbrHaName pulumi.StringPtrOutput `pulumi:"vbrHaName"`
	// The ID of the VBR instance.
	VbrId pulumi.StringOutput `pulumi:"vbrId"`
}

Provides a VPC Vbr Ha resource.

For information about VPC Vbr Ha and how to use it, see [What is Vbr Ha](https://www.alibabacloud.com/help/doc-detail/212629.html).

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

## Import

VPC Vbr Ha can be imported using the id, e.g.

```sh

$ pulumi import alicloud:vpc/vbrHa:VbrHa example <id>

```

func GetVbrHa

func GetVbrHa(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VbrHaState, opts ...pulumi.ResourceOption) (*VbrHa, error)

GetVbrHa gets an existing VbrHa 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 NewVbrHa

func NewVbrHa(ctx *pulumi.Context,
	name string, args *VbrHaArgs, opts ...pulumi.ResourceOption) (*VbrHa, error)

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

func (*VbrHa) ElementType

func (*VbrHa) ElementType() reflect.Type

func (*VbrHa) ToVbrHaOutput

func (i *VbrHa) ToVbrHaOutput() VbrHaOutput

func (*VbrHa) ToVbrHaOutputWithContext

func (i *VbrHa) ToVbrHaOutputWithContext(ctx context.Context) VbrHaOutput

type VbrHaArgs

type VbrHaArgs struct {
	// The description of the VBR switching group. It must be `2` to `256` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.
	Description pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the other VBR in the VBR failover group.
	PeerVbrId pulumi.StringInput
	// The name of the VBR failover group.
	VbrHaName pulumi.StringPtrInput
	// The ID of the VBR instance.
	VbrId pulumi.StringInput
}

The set of arguments for constructing a VbrHa resource.

func (VbrHaArgs) ElementType

func (VbrHaArgs) ElementType() reflect.Type

type VbrHaArray

type VbrHaArray []VbrHaInput

func (VbrHaArray) ElementType

func (VbrHaArray) ElementType() reflect.Type

func (VbrHaArray) ToVbrHaArrayOutput

func (i VbrHaArray) ToVbrHaArrayOutput() VbrHaArrayOutput

func (VbrHaArray) ToVbrHaArrayOutputWithContext

func (i VbrHaArray) ToVbrHaArrayOutputWithContext(ctx context.Context) VbrHaArrayOutput

type VbrHaArrayInput

type VbrHaArrayInput interface {
	pulumi.Input

	ToVbrHaArrayOutput() VbrHaArrayOutput
	ToVbrHaArrayOutputWithContext(context.Context) VbrHaArrayOutput
}

VbrHaArrayInput is an input type that accepts VbrHaArray and VbrHaArrayOutput values. You can construct a concrete instance of `VbrHaArrayInput` via:

VbrHaArray{ VbrHaArgs{...} }

type VbrHaArrayOutput

type VbrHaArrayOutput struct{ *pulumi.OutputState }

func (VbrHaArrayOutput) ElementType

func (VbrHaArrayOutput) ElementType() reflect.Type

func (VbrHaArrayOutput) Index

func (VbrHaArrayOutput) ToVbrHaArrayOutput

func (o VbrHaArrayOutput) ToVbrHaArrayOutput() VbrHaArrayOutput

func (VbrHaArrayOutput) ToVbrHaArrayOutputWithContext

func (o VbrHaArrayOutput) ToVbrHaArrayOutputWithContext(ctx context.Context) VbrHaArrayOutput

type VbrHaInput

type VbrHaInput interface {
	pulumi.Input

	ToVbrHaOutput() VbrHaOutput
	ToVbrHaOutputWithContext(ctx context.Context) VbrHaOutput
}

type VbrHaMap

type VbrHaMap map[string]VbrHaInput

func (VbrHaMap) ElementType

func (VbrHaMap) ElementType() reflect.Type

func (VbrHaMap) ToVbrHaMapOutput

func (i VbrHaMap) ToVbrHaMapOutput() VbrHaMapOutput

func (VbrHaMap) ToVbrHaMapOutputWithContext

func (i VbrHaMap) ToVbrHaMapOutputWithContext(ctx context.Context) VbrHaMapOutput

type VbrHaMapInput

type VbrHaMapInput interface {
	pulumi.Input

	ToVbrHaMapOutput() VbrHaMapOutput
	ToVbrHaMapOutputWithContext(context.Context) VbrHaMapOutput
}

VbrHaMapInput is an input type that accepts VbrHaMap and VbrHaMapOutput values. You can construct a concrete instance of `VbrHaMapInput` via:

VbrHaMap{ "key": VbrHaArgs{...} }

type VbrHaMapOutput

type VbrHaMapOutput struct{ *pulumi.OutputState }

func (VbrHaMapOutput) ElementType

func (VbrHaMapOutput) ElementType() reflect.Type

func (VbrHaMapOutput) MapIndex

func (VbrHaMapOutput) ToVbrHaMapOutput

func (o VbrHaMapOutput) ToVbrHaMapOutput() VbrHaMapOutput

func (VbrHaMapOutput) ToVbrHaMapOutputWithContext

func (o VbrHaMapOutput) ToVbrHaMapOutputWithContext(ctx context.Context) VbrHaMapOutput

type VbrHaOutput

type VbrHaOutput struct{ *pulumi.OutputState }

func (VbrHaOutput) Description

func (o VbrHaOutput) Description() pulumi.StringPtrOutput

The description of the VBR switching group. It must be `2` to `256` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.

func (VbrHaOutput) DryRun

func (o VbrHaOutput) DryRun() pulumi.BoolPtrOutput

The dry run.

func (VbrHaOutput) ElementType

func (VbrHaOutput) ElementType() reflect.Type

func (VbrHaOutput) PeerVbrId

func (o VbrHaOutput) PeerVbrId() pulumi.StringOutput

The ID of the other VBR in the VBR failover group.

func (VbrHaOutput) Status

func (o VbrHaOutput) Status() pulumi.StringOutput

The state of the VBR failover group.

func (VbrHaOutput) ToVbrHaOutput

func (o VbrHaOutput) ToVbrHaOutput() VbrHaOutput

func (VbrHaOutput) ToVbrHaOutputWithContext

func (o VbrHaOutput) ToVbrHaOutputWithContext(ctx context.Context) VbrHaOutput

func (VbrHaOutput) VbrHaName

func (o VbrHaOutput) VbrHaName() pulumi.StringPtrOutput

The name of the VBR failover group.

func (VbrHaOutput) VbrId

func (o VbrHaOutput) VbrId() pulumi.StringOutput

The ID of the VBR instance.

type VbrHaState

type VbrHaState struct {
	// The description of the VBR switching group. It must be `2` to `256` characters in length and must start with a letter or Chinese, but cannot start with `https://` or `https://`.
	Description pulumi.StringPtrInput
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the other VBR in the VBR failover group.
	PeerVbrId pulumi.StringPtrInput
	// The state of the VBR failover group.
	Status pulumi.StringPtrInput
	// The name of the VBR failover group.
	VbrHaName pulumi.StringPtrInput
	// The ID of the VBR instance.
	VbrId pulumi.StringPtrInput
}

func (VbrHaState) ElementType

func (VbrHaState) ElementType() reflect.Type

Source Files

Jump to

Keyboard shortcuts

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