vpc

package
v3.54.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BgpGroup added in v3.16.0

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 since v1.152.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		example, err := expressconnect.GetPhysicalConnections(ctx, &expressconnect.GetPhysicalConnectionsArgs{
			NameRegex: pulumi.StringRef("^preserved-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		vlanId, err := random.NewInteger(ctx, "vlan_id", &random.IntegerArgs{
			Max: 2999,
			Min: 1,
		})
		if err != nil {
			return err
		}
		exampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "example", &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(example.Connections[0].Id),
			VirtualBorderRouterName: pulumi.String(name),
			VlanId:                  vlanId.Id,
			MinRxInterval:           pulumi.Int(1000),
			MinTxInterval:           pulumi.Int(1000),
			DetectMultiplier:        pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewBgpGroup(ctx, "example", &vpc.BgpGroupArgs{
			AuthKey:      pulumi.String("YourPassword+12345678"),
			BgpGroupName: pulumi.String(name),
			Description:  pulumi.String(name),
			PeerAsn:      pulumi.Int(1111),
			RouterId:     exampleVirtualBorderRouter.ID(),
			IsFakeAsn:    pulumi.Bool(true),
		})
		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 added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (*BgpGroup) ElementType() reflect.Type

func (*BgpGroup) ToBgpGroupOutput added in v3.16.0

func (i *BgpGroup) ToBgpGroupOutput() BgpGroupOutput

func (*BgpGroup) ToBgpGroupOutputWithContext added in v3.16.0

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

type BgpGroupArgs added in v3.16.0

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 added in v3.16.0

func (BgpGroupArgs) ElementType() reflect.Type

type BgpGroupArray added in v3.16.0

type BgpGroupArray []BgpGroupInput

func (BgpGroupArray) ElementType added in v3.16.0

func (BgpGroupArray) ElementType() reflect.Type

func (BgpGroupArray) ToBgpGroupArrayOutput added in v3.16.0

func (i BgpGroupArray) ToBgpGroupArrayOutput() BgpGroupArrayOutput

func (BgpGroupArray) ToBgpGroupArrayOutputWithContext added in v3.16.0

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

type BgpGroupArrayInput added in v3.16.0

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 added in v3.16.0

type BgpGroupArrayOutput struct{ *pulumi.OutputState }

func (BgpGroupArrayOutput) ElementType added in v3.16.0

func (BgpGroupArrayOutput) ElementType() reflect.Type

func (BgpGroupArrayOutput) Index added in v3.16.0

func (BgpGroupArrayOutput) ToBgpGroupArrayOutput added in v3.16.0

func (o BgpGroupArrayOutput) ToBgpGroupArrayOutput() BgpGroupArrayOutput

func (BgpGroupArrayOutput) ToBgpGroupArrayOutputWithContext added in v3.16.0

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

type BgpGroupInput added in v3.16.0

type BgpGroupInput interface {
	pulumi.Input

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

type BgpGroupMap added in v3.16.0

type BgpGroupMap map[string]BgpGroupInput

func (BgpGroupMap) ElementType added in v3.16.0

func (BgpGroupMap) ElementType() reflect.Type

func (BgpGroupMap) ToBgpGroupMapOutput added in v3.16.0

func (i BgpGroupMap) ToBgpGroupMapOutput() BgpGroupMapOutput

func (BgpGroupMap) ToBgpGroupMapOutputWithContext added in v3.16.0

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

type BgpGroupMapInput added in v3.16.0

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 added in v3.16.0

type BgpGroupMapOutput struct{ *pulumi.OutputState }

func (BgpGroupMapOutput) ElementType added in v3.16.0

func (BgpGroupMapOutput) ElementType() reflect.Type

func (BgpGroupMapOutput) MapIndex added in v3.16.0

func (BgpGroupMapOutput) ToBgpGroupMapOutput added in v3.16.0

func (o BgpGroupMapOutput) ToBgpGroupMapOutput() BgpGroupMapOutput

func (BgpGroupMapOutput) ToBgpGroupMapOutputWithContext added in v3.16.0

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

type BgpGroupOutput added in v3.16.0

type BgpGroupOutput struct{ *pulumi.OutputState }

func (BgpGroupOutput) AuthKey added in v3.27.0

The authentication key of the BGP group.

func (BgpGroupOutput) BgpGroupName added in v3.27.0

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 added in v3.27.0

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 added in v3.16.0

func (BgpGroupOutput) ElementType() reflect.Type

func (BgpGroupOutput) IsFakeAsn added in v3.27.0

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 added in v3.27.0

func (o BgpGroupOutput) LocalAsn() pulumi.IntOutput

The AS number on the Alibaba Cloud side.

func (BgpGroupOutput) PeerAsn added in v3.27.0

func (o BgpGroupOutput) PeerAsn() pulumi.IntOutput

The AS number of the BGP peer.

func (BgpGroupOutput) RouterId added in v3.27.0

func (o BgpGroupOutput) RouterId() pulumi.StringOutput

The ID of the VBR.

func (BgpGroupOutput) Status added in v3.27.0

func (o BgpGroupOutput) Status() pulumi.StringOutput

The status of the resource.

func (BgpGroupOutput) ToBgpGroupOutput added in v3.16.0

func (o BgpGroupOutput) ToBgpGroupOutput() BgpGroupOutput

func (BgpGroupOutput) ToBgpGroupOutputWithContext added in v3.16.0

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

type BgpGroupState added in v3.16.0

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 added in v3.16.0

func (BgpGroupState) ElementType() reflect.Type

type BgpNetwork added in v3.16.0

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 since v1.153.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		example, err := expressconnect.GetPhysicalConnections(ctx, &expressconnect.GetPhysicalConnectionsArgs{
			NameRegex: pulumi.StringRef("^preserved-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		vlanId, err := random.NewInteger(ctx, "vlan_id", &random.IntegerArgs{
			Max: 2999,
			Min: 1,
		})
		if err != nil {
			return err
		}
		exampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "example", &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(example.Connections[0].Id),
			VirtualBorderRouterName: pulumi.String(name),
			VlanId:                  vlanId.Id,
			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("192.168.0.0/24"),
			RouterId:     exampleVirtualBorderRouter.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 added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (*BgpNetwork) ElementType() reflect.Type

func (*BgpNetwork) ToBgpNetworkOutput added in v3.16.0

func (i *BgpNetwork) ToBgpNetworkOutput() BgpNetworkOutput

func (*BgpNetwork) ToBgpNetworkOutputWithContext added in v3.16.0

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

type BgpNetworkArgs added in v3.16.0

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 added in v3.16.0

func (BgpNetworkArgs) ElementType() reflect.Type

type BgpNetworkArray added in v3.16.0

type BgpNetworkArray []BgpNetworkInput

func (BgpNetworkArray) ElementType added in v3.16.0

func (BgpNetworkArray) ElementType() reflect.Type

func (BgpNetworkArray) ToBgpNetworkArrayOutput added in v3.16.0

func (i BgpNetworkArray) ToBgpNetworkArrayOutput() BgpNetworkArrayOutput

func (BgpNetworkArray) ToBgpNetworkArrayOutputWithContext added in v3.16.0

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

type BgpNetworkArrayInput added in v3.16.0

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 added in v3.16.0

type BgpNetworkArrayOutput struct{ *pulumi.OutputState }

func (BgpNetworkArrayOutput) ElementType added in v3.16.0

func (BgpNetworkArrayOutput) ElementType() reflect.Type

func (BgpNetworkArrayOutput) Index added in v3.16.0

func (BgpNetworkArrayOutput) ToBgpNetworkArrayOutput added in v3.16.0

func (o BgpNetworkArrayOutput) ToBgpNetworkArrayOutput() BgpNetworkArrayOutput

func (BgpNetworkArrayOutput) ToBgpNetworkArrayOutputWithContext added in v3.16.0

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

type BgpNetworkInput added in v3.16.0

type BgpNetworkInput interface {
	pulumi.Input

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

type BgpNetworkMap added in v3.16.0

type BgpNetworkMap map[string]BgpNetworkInput

func (BgpNetworkMap) ElementType added in v3.16.0

func (BgpNetworkMap) ElementType() reflect.Type

func (BgpNetworkMap) ToBgpNetworkMapOutput added in v3.16.0

func (i BgpNetworkMap) ToBgpNetworkMapOutput() BgpNetworkMapOutput

func (BgpNetworkMap) ToBgpNetworkMapOutputWithContext added in v3.16.0

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

type BgpNetworkMapInput added in v3.16.0

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 added in v3.16.0

type BgpNetworkMapOutput struct{ *pulumi.OutputState }

func (BgpNetworkMapOutput) ElementType added in v3.16.0

func (BgpNetworkMapOutput) ElementType() reflect.Type

func (BgpNetworkMapOutput) MapIndex added in v3.16.0

func (BgpNetworkMapOutput) ToBgpNetworkMapOutput added in v3.16.0

func (o BgpNetworkMapOutput) ToBgpNetworkMapOutput() BgpNetworkMapOutput

func (BgpNetworkMapOutput) ToBgpNetworkMapOutputWithContext added in v3.16.0

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

type BgpNetworkOutput added in v3.16.0

type BgpNetworkOutput struct{ *pulumi.OutputState }

func (BgpNetworkOutput) DstCidrBlock added in v3.27.0

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 added in v3.16.0

func (BgpNetworkOutput) ElementType() reflect.Type

func (BgpNetworkOutput) RouterId added in v3.27.0

func (o BgpNetworkOutput) RouterId() pulumi.StringOutput

The ID of the vRouter associated with the router interface.

func (BgpNetworkOutput) Status added in v3.27.0

The state of the advertised BGP network.

func (BgpNetworkOutput) ToBgpNetworkOutput added in v3.16.0

func (o BgpNetworkOutput) ToBgpNetworkOutput() BgpNetworkOutput

func (BgpNetworkOutput) ToBgpNetworkOutputWithContext added in v3.16.0

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

type BgpNetworkState added in v3.16.0

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 added in v3.16.0

func (BgpNetworkState) ElementType() reflect.Type

type BgpPeer added in v3.16.0

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 since v1.153.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/expressconnect"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		example, err := expressconnect.GetPhysicalConnections(ctx, &expressconnect.GetPhysicalConnectionsArgs{
			NameRegex: pulumi.StringRef("^preserved-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		vlanId, err := random.NewInteger(ctx, "vlan_id", &random.IntegerArgs{
			Max: 2999,
			Min: 1,
		})
		if err != nil {
			return err
		}
		exampleVirtualBorderRouter, err := expressconnect.NewVirtualBorderRouter(ctx, "example", &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(example.Connections[0].Id),
			VirtualBorderRouterName: pulumi.String(name),
			VlanId:                  vlanId.Id,
			MinRxInterval:           pulumi.Int(1000),
			MinTxInterval:           pulumi.Int(1000),
			DetectMultiplier:        pulumi.Int(10),
		})
		if err != nil {
			return err
		}
		exampleBgpGroup, err := vpc.NewBgpGroup(ctx, "example", &vpc.BgpGroupArgs{
			AuthKey:      pulumi.String("YourPassword+12345678"),
			BgpGroupName: pulumi.String(name),
			Description:  pulumi.String(name),
			PeerAsn:      pulumi.Int(1111),
			RouterId:     exampleVirtualBorderRouter.ID(),
			IsFakeAsn:    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewBgpPeer(ctx, "example", &vpc.BgpPeerArgs{
			BfdMultiHop:   pulumi.Int(10),
			BgpGroupId:    exampleBgpGroup.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 added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (*BgpPeer) ElementType() reflect.Type

func (*BgpPeer) ToBgpPeerOutput added in v3.16.0

func (i *BgpPeer) ToBgpPeerOutput() BgpPeerOutput

func (*BgpPeer) ToBgpPeerOutputWithContext added in v3.16.0

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

type BgpPeerArgs added in v3.16.0

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 added in v3.16.0

func (BgpPeerArgs) ElementType() reflect.Type

type BgpPeerArray added in v3.16.0

type BgpPeerArray []BgpPeerInput

func (BgpPeerArray) ElementType added in v3.16.0

func (BgpPeerArray) ElementType() reflect.Type

func (BgpPeerArray) ToBgpPeerArrayOutput added in v3.16.0

func (i BgpPeerArray) ToBgpPeerArrayOutput() BgpPeerArrayOutput

func (BgpPeerArray) ToBgpPeerArrayOutputWithContext added in v3.16.0

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

type BgpPeerArrayInput added in v3.16.0

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 added in v3.16.0

type BgpPeerArrayOutput struct{ *pulumi.OutputState }

func (BgpPeerArrayOutput) ElementType added in v3.16.0

func (BgpPeerArrayOutput) ElementType() reflect.Type

func (BgpPeerArrayOutput) Index added in v3.16.0

func (BgpPeerArrayOutput) ToBgpPeerArrayOutput added in v3.16.0

func (o BgpPeerArrayOutput) ToBgpPeerArrayOutput() BgpPeerArrayOutput

func (BgpPeerArrayOutput) ToBgpPeerArrayOutputWithContext added in v3.16.0

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

type BgpPeerInput added in v3.16.0

type BgpPeerInput interface {
	pulumi.Input

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

type BgpPeerMap added in v3.16.0

type BgpPeerMap map[string]BgpPeerInput

func (BgpPeerMap) ElementType added in v3.16.0

func (BgpPeerMap) ElementType() reflect.Type

func (BgpPeerMap) ToBgpPeerMapOutput added in v3.16.0

func (i BgpPeerMap) ToBgpPeerMapOutput() BgpPeerMapOutput

func (BgpPeerMap) ToBgpPeerMapOutputWithContext added in v3.16.0

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

type BgpPeerMapInput added in v3.16.0

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 added in v3.16.0

type BgpPeerMapOutput struct{ *pulumi.OutputState }

func (BgpPeerMapOutput) ElementType added in v3.16.0

func (BgpPeerMapOutput) ElementType() reflect.Type

func (BgpPeerMapOutput) MapIndex added in v3.16.0

func (BgpPeerMapOutput) ToBgpPeerMapOutput added in v3.16.0

func (o BgpPeerMapOutput) ToBgpPeerMapOutput() BgpPeerMapOutput

func (BgpPeerMapOutput) ToBgpPeerMapOutputWithContext added in v3.16.0

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

type BgpPeerOutput added in v3.16.0

type BgpPeerOutput struct{ *pulumi.OutputState }

func (BgpPeerOutput) BfdMultiHop added in v3.27.0

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 added in v3.27.0

func (o BgpPeerOutput) BgpGroupId() pulumi.StringOutput

The ID of the BGP group.

func (BgpPeerOutput) ElementType added in v3.16.0

func (BgpPeerOutput) ElementType() reflect.Type

func (BgpPeerOutput) EnableBfd added in v3.27.0

func (o BgpPeerOutput) EnableBfd() pulumi.BoolPtrOutput

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

func (BgpPeerOutput) IpVersion added in v3.27.0

func (o BgpPeerOutput) IpVersion() pulumi.StringOutput

The IP version.

func (BgpPeerOutput) PeerIpAddress added in v3.27.0

func (o BgpPeerOutput) PeerIpAddress() pulumi.StringPtrOutput

The IP address of the BGP peer.

func (BgpPeerOutput) Status added in v3.27.0

func (o BgpPeerOutput) Status() pulumi.StringOutput

The status of the BGP peer.

func (BgpPeerOutput) ToBgpPeerOutput added in v3.16.0

func (o BgpPeerOutput) ToBgpPeerOutput() BgpPeerOutput

func (BgpPeerOutput) ToBgpPeerOutputWithContext added in v3.16.0

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

type BgpPeerState added in v3.16.0

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 added in v3.16.0

func (BgpPeerState) ElementType() reflect.Type

type CommonBandwithPackage

type CommonBandwithPackage struct {
	pulumi.CustomResourceState

	// The peak bandwidth of the shared bandwidth. Unit: Mbps.
	// Valid values: [2, 20000] for China-Site account; [1, 5000] for International-Site account. See Account Guide details.
	Bandwidth pulumi.StringOutput `pulumi:"bandwidth"`
	// The name of the Internet Shared Bandwidth instance.
	BandwidthPackageName pulumi.StringOutput `pulumi:"bandwidthPackageName"`
	// The create time.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Whether enable the deletion protection or not. Default value: false.
	// - **true**: Enable deletion protection.
	// - **false**: Disable deletion protection.
	DeletionProtection pulumi.BoolPtrOutput `pulumi:"deletionProtection"`
	// The description of the shared bandwidth.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether to forcibly delete an Internet Shared Bandwidth instance. Value:
	// - **false** (default): only the internet shared bandwidth that does not contain the EIP is deleted.
	// - **true**: removes all EIPs from the internet shared bandwidth instance and deletes the internet shared bandwidth.
	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-Site Account doesn't support `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`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2` and `BGP_FinanceCloud`. Default to `BGP`. **NOTE:** From version 1.203.0, isp can be set to `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`, `BGP_International`.
	Isp pulumi.StringOutput `pulumi:"isp"`
	// . Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.120.0. New field 'bandwidth_package_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// The billing type of the Internet Shared Bandwidth instance. Valid values: `PayAsYouGo`, `Subscription`.
	PaymentType pulumi.StringOutput `pulumi:"paymentType"`
	// Ratio of the common bandwidth package. It is valid when `internetChargeType` is `PayBy95`. Default to 100. Valid values: [10-100].
	Ratio pulumi.IntOutput `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"`
	// The status of the Internet Shared Bandwidth instance. Default value: **Available**.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tag of the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The available area of the shared bandwidth.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	Zone pulumi.StringPtrOutput `pulumi:"zone"`
}

## Import

CBWP Common Bandwidth Package can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/commonBandwithPackage:CommonBandwithPackage example <id> ```

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 peak bandwidth of the shared bandwidth. Unit: Mbps.
	// Valid values: [2, 20000] for China-Site account; [1, 5000] for International-Site account. See Account Guide details.
	Bandwidth pulumi.StringInput
	// The name of the Internet Shared Bandwidth instance.
	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 shared bandwidth.
	Description pulumi.StringPtrInput
	// Whether to forcibly delete an Internet Shared Bandwidth instance. Value:
	// - **false** (default): only the internet shared bandwidth that does not contain the EIP is deleted.
	// - **true**: removes all EIPs from the internet shared bandwidth instance and deletes the internet shared bandwidth.
	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-Site Account doesn't support `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`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2` and `BGP_FinanceCloud`. Default to `BGP`. **NOTE:** From version 1.203.0, isp can be set to `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`, `BGP_International`.
	Isp pulumi.StringPtrInput
	// . Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since 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 tag of the resource.
	Tags pulumi.MapInput
	// The available area of the shared bandwidth.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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"`
	// Whether to cancel the maximum bandwidth configuration for the EIP. Default: false.
	CancelCommonBandwidthPackageIpBandwidth pulumi.BoolPtrOutput `pulumi:"cancelCommonBandwidthPackageIpBandwidth"`
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// IP type. Set the value to **EIP**, which indicates that the EIP is added to the Internet shared bandwidth.
	IpType pulumi.StringPtrOutput `pulumi:"ipType"`
	// The status of the Internet Shared Bandwidth instance.
	Status pulumi.StringOutput `pulumi:"status"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := vpc.NewCommonBandwithPackage(ctx, "default", &vpc.CommonBandwithPackageArgs{
			Bandwidth:          pulumi.String("3"),
			InternetChargeType: pulumi.String("PayByBandwidth"),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			Bandwidth:          pulumi.String("3"),
			InternetChargeType: pulumi.String("PayByTraffic"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewCommonBandwithPackageAttachment(ctx, "default", &vpc.CommonBandwithPackageAttachmentArgs{
			BandwidthPackageId:        _default.ID(),
			InstanceId:                defaultEipAddress.ID(),
			BandwidthPackageBandwidth: pulumi.String("2"),
			IpType:                    pulumi.String("EIP"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

cbwp Common Bandwidth Package Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/commonBandwithPackageAttachment:CommonBandwithPackageAttachment example <bandwidth_package_id>:<instance_id> ```

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
	// Whether to cancel the maximum bandwidth configuration for the EIP. Default: false.
	CancelCommonBandwidthPackageIpBandwidth pulumi.BoolPtrInput
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringInput
	// IP type. Set the value to **EIP**, which indicates that the EIP is added to the Internet shared bandwidth.
	IpType pulumi.StringPtrInput
}

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 added in v3.29.0

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 added in v3.27.0

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

func (CommonBandwithPackageAttachmentOutput) CancelCommonBandwidthPackageIpBandwidth added in v3.33.0

func (o CommonBandwithPackageAttachmentOutput) CancelCommonBandwidthPackageIpBandwidth() pulumi.BoolPtrOutput

Whether to cancel the maximum bandwidth configuration for the EIP. Default: false.

func (CommonBandwithPackageAttachmentOutput) ElementType

func (CommonBandwithPackageAttachmentOutput) InstanceId added in v3.27.0

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

func (CommonBandwithPackageAttachmentOutput) IpType added in v3.44.0

IP type. Set the value to **EIP**, which indicates that the EIP is added to the Internet shared bandwidth.

func (CommonBandwithPackageAttachmentOutput) Status added in v3.44.0

The status of the Internet Shared Bandwidth instance.

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
	// Whether to cancel the maximum bandwidth configuration for the EIP. Default: false.
	CancelCommonBandwidthPackageIpBandwidth pulumi.BoolPtrInput
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringPtrInput
	// IP type. Set the value to **EIP**, which indicates that the EIP is added to the Internet shared bandwidth.
	IpType pulumi.StringPtrInput
	// The status of the Internet Shared Bandwidth instance.
	Status 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 added in v3.27.0

The peak bandwidth of the shared bandwidth. Unit: Mbps. Valid values: [2, 20000] for China-Site account; [1, 5000] for International-Site account. See Account Guide details.

func (CommonBandwithPackageOutput) BandwidthPackageName added in v3.27.0

func (o CommonBandwithPackageOutput) BandwidthPackageName() pulumi.StringOutput

The name of the Internet Shared Bandwidth instance.

func (CommonBandwithPackageOutput) CreateTime added in v3.39.0

The create time.

func (CommonBandwithPackageOutput) DeletionProtection added in v3.27.0

func (o CommonBandwithPackageOutput) DeletionProtection() pulumi.BoolPtrOutput

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

func (CommonBandwithPackageOutput) Description added in v3.27.0

The description of the shared bandwidth.

func (CommonBandwithPackageOutput) ElementType

func (CommonBandwithPackageOutput) Force added in v3.27.0

Whether to forcibly delete an Internet Shared Bandwidth instance. Value: - **false** (default): only the internet shared bandwidth that does not contain the EIP is deleted. - **true**: removes all EIPs from the internet shared bandwidth instance and deletes the internet shared bandwidth.

func (CommonBandwithPackageOutput) InternetChargeType added in v3.27.0

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-Site Account doesn't support `PayByBandwidth` and `PayBy95`. Default to `PayByTraffic`. **NOTE:** From 1.176.0+, `PayByDominantTraffic` is available.

func (CommonBandwithPackageOutput) Isp added in v3.27.0

The type of the Internet Service Provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2` and `BGP_FinanceCloud`. Default to `BGP`. **NOTE:** From version 1.203.0, isp can be set to `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`, `BGP_International`.

func (CommonBandwithPackageOutput) Name deprecated added in v3.27.0

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

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

func (CommonBandwithPackageOutput) PaymentType added in v3.39.0

The billing type of the Internet Shared Bandwidth instance. Valid values: `PayAsYouGo`, `Subscription`.

func (CommonBandwithPackageOutput) Ratio added in v3.27.0

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

func (CommonBandwithPackageOutput) ResourceGroupId added in v3.27.0

func (o CommonBandwithPackageOutput) ResourceGroupId() pulumi.StringOutput

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

func (CommonBandwithPackageOutput) SecurityProtectionTypes added in v3.29.0

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 added in v3.27.0

The status of the Internet Shared Bandwidth instance. Default value: **Available**.

func (CommonBandwithPackageOutput) Tags added in v3.39.0

The tag of the resource.

func (CommonBandwithPackageOutput) ToCommonBandwithPackageOutput

func (o CommonBandwithPackageOutput) ToCommonBandwithPackageOutput() CommonBandwithPackageOutput

func (CommonBandwithPackageOutput) ToCommonBandwithPackageOutputWithContext

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

func (CommonBandwithPackageOutput) Zone added in v3.27.0

The available area of the shared bandwidth.

The following arguments will be discarded. Please use new fields as soon as possible:

type CommonBandwithPackageState

type CommonBandwithPackageState struct {
	// The peak bandwidth of the shared bandwidth. Unit: Mbps.
	// Valid values: [2, 20000] for China-Site account; [1, 5000] for International-Site account. See Account Guide details.
	Bandwidth pulumi.StringPtrInput
	// The name of the Internet Shared Bandwidth instance.
	BandwidthPackageName pulumi.StringPtrInput
	// The create time.
	CreateTime 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 shared bandwidth.
	Description pulumi.StringPtrInput
	// Whether to forcibly delete an Internet Shared Bandwidth instance. Value:
	// - **false** (default): only the internet shared bandwidth that does not contain the EIP is deleted.
	// - **true**: removes all EIPs from the internet shared bandwidth instance and deletes the internet shared bandwidth.
	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-Site Account doesn't support `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`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2` and `BGP_FinanceCloud`. Default to `BGP`. **NOTE:** From version 1.203.0, isp can be set to `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`, `BGP_International`.
	Isp pulumi.StringPtrInput
	// . Field 'name' has been deprecated from provider version 1.120.0. New field 'bandwidth_package_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.120.0. New field 'bandwidth_package_name' instead.
	Name pulumi.StringPtrInput
	// The billing type of the Internet Shared Bandwidth instance. Valid values: `PayAsYouGo`, `Subscription`.
	PaymentType 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 status of the Internet Shared Bandwidth instance. Default value: **Available**.
	Status pulumi.StringPtrInput
	// The tag of the resource.
	Tags pulumi.MapInput
	// The available area of the shared bandwidth.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	Zone pulumi.StringPtrInput
}

func (CommonBandwithPackageState) ElementType

func (CommonBandwithPackageState) ElementType() reflect.Type

type DhcpOptionsSet added in v3.8.0

type DhcpOptionsSet struct {
	pulumi.CustomResourceState

	// 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. See `associateVpcs` below.
	//
	// Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0. 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 can be blank or contain 1 to 256 characters. It must start with a letter or Chinese character but cannot start with http:// or https://.
	DhcpOptionsSetDescription pulumi.StringPtrOutput `pulumi:"dhcpOptionsSetDescription"`
	// 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"`
	// Whether to PreCheck only this request, value:
	// - **true**: sends a check request and does not delete the DHCP option set. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly deletes the DHCP option set after checking.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The lease time of the IPv6 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.
	Ipv6LeaseTime pulumi.StringOutput `pulumi:"ipv6LeaseTime"`
	// The lease time of the IPv4 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.
	LeaseTime pulumi.StringOutput `pulumi:"leaseTime"`
	// The ID of the account to which the DHCP options set belongs.
	OwnerId pulumi.IntOutput `pulumi:"ownerId"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// Tags of the current resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides a VPC Dhcp Options Set resource. DHCP option set.

For information about VPC Dhcp Options Set and how to use it, see [What is Dhcp Options Set](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/dhcp-options-sets-overview).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		domain := "terraform-example.com"
		if param := cfg.Get("domain"); param != "" {
			domain = param
		}
		_, err := vpc.NewDhcpOptionsSet(ctx, "example", &vpc.DhcpOptionsSetArgs{
			DhcpOptionsSetName:        pulumi.String(name),
			DhcpOptionsSetDescription: pulumi.String(name),
			DomainName:                pulumi.String(domain),
			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 added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

func (*DhcpOptionsSet) ElementType() reflect.Type

func (*DhcpOptionsSet) ToDhcpOptionsSetOutput added in v3.8.0

func (i *DhcpOptionsSet) ToDhcpOptionsSetOutput() DhcpOptionsSetOutput

func (*DhcpOptionsSet) ToDhcpOptionsSetOutputWithContext added in v3.8.0

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

type DhcpOptionsSetArgs added in v3.8.0

type DhcpOptionsSetArgs struct {
	// 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. See `associateVpcs` below.
	//
	// Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0. 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 can be blank or contain 1 to 256 characters. It must start with a letter or Chinese character but cannot start with http:// or https://.
	DhcpOptionsSetDescription pulumi.StringPtrInput
	// 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
	// Whether to PreCheck only this request, value:
	// - **true**: sends a check request and does not delete the DHCP option set. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly deletes the DHCP option set after checking.
	DryRun pulumi.BoolPtrInput
	// The lease time of the IPv6 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.
	Ipv6LeaseTime pulumi.StringPtrInput
	// The lease time of the IPv4 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.
	LeaseTime pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// Tags of the current resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a DhcpOptionsSet resource.

func (DhcpOptionsSetArgs) ElementType added in v3.8.0

func (DhcpOptionsSetArgs) ElementType() reflect.Type

type DhcpOptionsSetArray added in v3.8.0

type DhcpOptionsSetArray []DhcpOptionsSetInput

func (DhcpOptionsSetArray) ElementType added in v3.8.0

func (DhcpOptionsSetArray) ElementType() reflect.Type

func (DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutput added in v3.8.0

func (i DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutput() DhcpOptionsSetArrayOutput

func (DhcpOptionsSetArray) ToDhcpOptionsSetArrayOutputWithContext added in v3.8.0

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

type DhcpOptionsSetArrayInput added in v3.8.0

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 added in v3.8.0

type DhcpOptionsSetArrayOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetArrayOutput) ElementType added in v3.8.0

func (DhcpOptionsSetArrayOutput) ElementType() reflect.Type

func (DhcpOptionsSetArrayOutput) Index added in v3.8.0

func (DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutput added in v3.8.0

func (o DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutput() DhcpOptionsSetArrayOutput

func (DhcpOptionsSetArrayOutput) ToDhcpOptionsSetArrayOutputWithContext added in v3.8.0

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

type DhcpOptionsSetAssociateVpc added in v3.8.0

type DhcpOptionsSetAssociateVpc struct {
	// The status of the VPC associated with the DHCP option set.
	AssociateStatus *string `pulumi:"associateStatus"`
	// The ID of the VPC network that is associated with the DHCP options set.
	VpcId string `pulumi:"vpcId"`
}

type DhcpOptionsSetAssociateVpcArgs added in v3.8.0

type DhcpOptionsSetAssociateVpcArgs struct {
	// The status of the VPC associated with the DHCP option set.
	AssociateStatus pulumi.StringPtrInput `pulumi:"associateStatus"`
	// The ID of the VPC network that is associated with the DHCP options set.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (DhcpOptionsSetAssociateVpcArgs) ElementType added in v3.8.0

func (DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutput added in v3.8.0

func (i DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutput() DhcpOptionsSetAssociateVpcOutput

func (DhcpOptionsSetAssociateVpcArgs) ToDhcpOptionsSetAssociateVpcOutputWithContext added in v3.8.0

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

type DhcpOptionsSetAssociateVpcArray added in v3.8.0

type DhcpOptionsSetAssociateVpcArray []DhcpOptionsSetAssociateVpcInput

func (DhcpOptionsSetAssociateVpcArray) ElementType added in v3.8.0

func (DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutput added in v3.8.0

func (i DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutput() DhcpOptionsSetAssociateVpcArrayOutput

func (DhcpOptionsSetAssociateVpcArray) ToDhcpOptionsSetAssociateVpcArrayOutputWithContext added in v3.8.0

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

type DhcpOptionsSetAssociateVpcArrayInput added in v3.8.0

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 added in v3.8.0

type DhcpOptionsSetAssociateVpcArrayOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAssociateVpcArrayOutput) ElementType added in v3.8.0

func (DhcpOptionsSetAssociateVpcArrayOutput) Index added in v3.8.0

func (DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutput added in v3.8.0

func (o DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutput() DhcpOptionsSetAssociateVpcArrayOutput

func (DhcpOptionsSetAssociateVpcArrayOutput) ToDhcpOptionsSetAssociateVpcArrayOutputWithContext added in v3.8.0

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

type DhcpOptionsSetAssociateVpcInput added in v3.8.0

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 added in v3.8.0

type DhcpOptionsSetAssociateVpcOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAssociateVpcOutput) AssociateStatus added in v3.8.0

The status of the VPC associated with the DHCP option set.

func (DhcpOptionsSetAssociateVpcOutput) ElementType added in v3.8.0

func (DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutput added in v3.8.0

func (o DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutput() DhcpOptionsSetAssociateVpcOutput

func (DhcpOptionsSetAssociateVpcOutput) ToDhcpOptionsSetAssociateVpcOutputWithContext added in v3.8.0

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

func (DhcpOptionsSetAssociateVpcOutput) VpcId added in v3.8.0

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

type DhcpOptionsSetAttachment added in v3.16.0

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"`
	// The status of the VPC network that is associated with the DHCP options set.  Valid values: `InUse` or `Pending`.
	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 since v1.153.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleDhcpOptionsSet, err := vpc.NewDhcpOptionsSet(ctx, "example", &vpc.DhcpOptionsSetArgs{
			DhcpOptionsSetName:        pulumi.String(name),
			DhcpOptionsSetDescription: pulumi.String(name),
			DomainName:                pulumi.String("example.com"),
			DomainNameServers:         pulumi.String("100.100.2.136"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewDhcpOptionsSetAttachment(ctx, "example", &vpc.DhcpOptionsSetAttachmentArgs{
			VpcId:            example.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 added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (*DhcpOptionsSetAttachment) ElementType() reflect.Type

func (*DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutput added in v3.16.0

func (i *DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutput() DhcpOptionsSetAttachmentOutput

func (*DhcpOptionsSetAttachment) ToDhcpOptionsSetAttachmentOutputWithContext added in v3.16.0

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

type DhcpOptionsSetAttachmentArgs added in v3.16.0

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 added in v3.16.0

type DhcpOptionsSetAttachmentArray added in v3.16.0

type DhcpOptionsSetAttachmentArray []DhcpOptionsSetAttachmentInput

func (DhcpOptionsSetAttachmentArray) ElementType added in v3.16.0

func (DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutput added in v3.16.0

func (i DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutput() DhcpOptionsSetAttachmentArrayOutput

func (DhcpOptionsSetAttachmentArray) ToDhcpOptionsSetAttachmentArrayOutputWithContext added in v3.16.0

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

type DhcpOptionsSetAttachmentArrayInput added in v3.16.0

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 added in v3.16.0

type DhcpOptionsSetAttachmentArrayOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAttachmentArrayOutput) ElementType added in v3.16.0

func (DhcpOptionsSetAttachmentArrayOutput) Index added in v3.16.0

func (DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutput added in v3.16.0

func (o DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutput() DhcpOptionsSetAttachmentArrayOutput

func (DhcpOptionsSetAttachmentArrayOutput) ToDhcpOptionsSetAttachmentArrayOutputWithContext added in v3.16.0

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

type DhcpOptionsSetAttachmentInput added in v3.16.0

type DhcpOptionsSetAttachmentInput interface {
	pulumi.Input

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

type DhcpOptionsSetAttachmentMap added in v3.16.0

type DhcpOptionsSetAttachmentMap map[string]DhcpOptionsSetAttachmentInput

func (DhcpOptionsSetAttachmentMap) ElementType added in v3.16.0

func (DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutput added in v3.16.0

func (i DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutput() DhcpOptionsSetAttachmentMapOutput

func (DhcpOptionsSetAttachmentMap) ToDhcpOptionsSetAttachmentMapOutputWithContext added in v3.16.0

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

type DhcpOptionsSetAttachmentMapInput added in v3.16.0

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 added in v3.16.0

type DhcpOptionsSetAttachmentMapOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAttachmentMapOutput) ElementType added in v3.16.0

func (DhcpOptionsSetAttachmentMapOutput) MapIndex added in v3.16.0

func (DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutput added in v3.16.0

func (o DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutput() DhcpOptionsSetAttachmentMapOutput

func (DhcpOptionsSetAttachmentMapOutput) ToDhcpOptionsSetAttachmentMapOutputWithContext added in v3.16.0

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

type DhcpOptionsSetAttachmentOutput added in v3.16.0

type DhcpOptionsSetAttachmentOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetAttachmentOutput) DhcpOptionsSetId added in v3.27.0

func (o DhcpOptionsSetAttachmentOutput) DhcpOptionsSetId() pulumi.StringOutput

The ID of the DHCP options set.

func (DhcpOptionsSetAttachmentOutput) DryRun added in v3.27.0

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

func (DhcpOptionsSetAttachmentOutput) ElementType added in v3.16.0

func (DhcpOptionsSetAttachmentOutput) Status added in v3.27.0

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

func (DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutput added in v3.16.0

func (o DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutput() DhcpOptionsSetAttachmentOutput

func (DhcpOptionsSetAttachmentOutput) ToDhcpOptionsSetAttachmentOutputWithContext added in v3.16.0

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

func (DhcpOptionsSetAttachmentOutput) VpcId added in v3.27.0

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

type DhcpOptionsSetAttachmentState added in v3.16.0

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
	// The status of the VPC network that is associated with the DHCP options set.  Valid values: `InUse` or `Pending`.
	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 added in v3.16.0

type DhcpOptionsSetInput added in v3.8.0

type DhcpOptionsSetInput interface {
	pulumi.Input

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

type DhcpOptionsSetMap added in v3.8.0

type DhcpOptionsSetMap map[string]DhcpOptionsSetInput

func (DhcpOptionsSetMap) ElementType added in v3.8.0

func (DhcpOptionsSetMap) ElementType() reflect.Type

func (DhcpOptionsSetMap) ToDhcpOptionsSetMapOutput added in v3.8.0

func (i DhcpOptionsSetMap) ToDhcpOptionsSetMapOutput() DhcpOptionsSetMapOutput

func (DhcpOptionsSetMap) ToDhcpOptionsSetMapOutputWithContext added in v3.8.0

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

type DhcpOptionsSetMapInput added in v3.8.0

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 added in v3.8.0

type DhcpOptionsSetMapOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetMapOutput) ElementType added in v3.8.0

func (DhcpOptionsSetMapOutput) ElementType() reflect.Type

func (DhcpOptionsSetMapOutput) MapIndex added in v3.8.0

func (DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutput added in v3.8.0

func (o DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutput() DhcpOptionsSetMapOutput

func (DhcpOptionsSetMapOutput) ToDhcpOptionsSetMapOutputWithContext added in v3.8.0

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

type DhcpOptionsSetOutput added in v3.8.0

type DhcpOptionsSetOutput struct{ *pulumi.OutputState }

func (DhcpOptionsSetOutput) AssociateVpcs deprecated added in v3.27.0

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. See `associateVpcs` below.

Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0. 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 added in v3.27.0

func (o DhcpOptionsSetOutput) DhcpOptionsSetDescription() pulumi.StringPtrOutput

The description can be blank or contain 1 to 256 characters. It must start with a letter or Chinese character but cannot start with http:// or https://.

func (DhcpOptionsSetOutput) DhcpOptionsSetName added in v3.27.0

func (o DhcpOptionsSetOutput) DhcpOptionsSetName() pulumi.StringPtrOutput

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

Whether to PreCheck only this request, value: - **true**: sends a check request and does not delete the DHCP option set. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '. - **false** (default): Sends a normal request and directly deletes the DHCP option set after checking.

func (DhcpOptionsSetOutput) ElementType added in v3.8.0

func (DhcpOptionsSetOutput) ElementType() reflect.Type

func (DhcpOptionsSetOutput) Ipv6LeaseTime added in v3.39.0

func (o DhcpOptionsSetOutput) Ipv6LeaseTime() pulumi.StringOutput

The lease time of the IPv6 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.

func (DhcpOptionsSetOutput) LeaseTime added in v3.39.0

The lease time of the IPv4 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.

func (DhcpOptionsSetOutput) OwnerId added in v3.27.0

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

func (DhcpOptionsSetOutput) ResourceGroupId added in v3.39.0

func (o DhcpOptionsSetOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (DhcpOptionsSetOutput) Status added in v3.27.0

The status of the resource.

func (DhcpOptionsSetOutput) Tags added in v3.39.0

Tags of the current resource.

func (DhcpOptionsSetOutput) ToDhcpOptionsSetOutput added in v3.8.0

func (o DhcpOptionsSetOutput) ToDhcpOptionsSetOutput() DhcpOptionsSetOutput

func (DhcpOptionsSetOutput) ToDhcpOptionsSetOutputWithContext added in v3.8.0

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

type DhcpOptionsSetState added in v3.8.0

type DhcpOptionsSetState struct {
	// 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. See `associateVpcs` below.
	//
	// Deprecated: Field 'associate_vpcs' has been deprecated from provider version 1.153.0. 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 can be blank or contain 1 to 256 characters. It must start with a letter or Chinese character but cannot start with http:// or https://.
	DhcpOptionsSetDescription pulumi.StringPtrInput
	// 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
	// Whether to PreCheck only this request, value:
	// - **true**: sends a check request and does not delete the DHCP option set. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly deletes the DHCP option set after checking.
	DryRun pulumi.BoolPtrInput
	// The lease time of the IPv6 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.
	Ipv6LeaseTime pulumi.StringPtrInput
	// The lease time of the IPv4 DHCP option set.When the lease time is set to hours: Unit: h. Value range: 24h ~ 1176h,87600h ~ 175200h. Default value: 87600h.When the lease time is set to day: Unit: d. Value range: 1d ~ 49d,3650d ~ 7300d. Default value: 3650d.
	LeaseTime pulumi.StringPtrInput
	// The ID of the account to which the DHCP options set belongs.
	OwnerId pulumi.IntPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// Tags of the current resource.
	Tags pulumi.MapInput
}

func (DhcpOptionsSetState) ElementType added in v3.8.0

func (DhcpOptionsSetState) ElementType() reflect.Type

type FlowLog

type FlowLog struct {
	pulumi.CustomResourceState

	// Data aggregation interval.
	AggregationInterval pulumi.StringOutput `pulumi:"aggregationInterval"`
	// Business status.
	BusinessStatus pulumi.StringOutput `pulumi:"businessStatus"`
	// Creation time.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The Description of the VPC Flow Log.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The flow log ID.
	FlowLogId pulumi.StringOutput `pulumi:"flowLogId"`
	// 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 group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The ID of the resource.
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The resource type of the traffic captured by the flow log:-**NetworkInterface**: ENI.-**VSwitch**: All ENIs in the VSwitch.-**VPC**: All ENIs in the VPC.
	ResourceType pulumi.StringOutput `pulumi:"resourceType"`
	// The status of the VPC Flow Log. Valid values: **Active** and **Inactive**.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tag of the current instance resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The collected flow path. Value:**all**: indicates full acquisition.**internetGateway**: indicates public network traffic collection.
	TrafficPaths pulumi.StringArrayOutput `pulumi:"trafficPaths"`
	// The type of traffic collected. Valid values:**All**: All traffic.**Allow**: Access control allowedtraffic.**Drop**: Access control denied traffic.
	TrafficType pulumi.StringOutput `pulumi:"trafficType"`
}

Provides a Vpc Flow Log resource. While it uses vpc.FlowLog to build a vpc flow log resource, it will be active by default.

For information about Vpc Flow Log and how to use it, see [What is Flow Log](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/flow-logs-overview).

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

## Import

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

```sh $ pulumi import alicloud:vpc/flowLog:FlowLog example <id> ```

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 {
	// Data aggregation interval.
	AggregationInterval pulumi.StringPtrInput
	// 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 group.
	ResourceGroupId pulumi.StringPtrInput
	// The ID of the resource.
	ResourceId pulumi.StringInput
	// The resource type of the traffic captured by the flow log:-**NetworkInterface**: ENI.-**VSwitch**: All ENIs in the VSwitch.-**VPC**: All ENIs in the VPC.
	ResourceType pulumi.StringInput
	// The status of the VPC Flow Log. Valid values: **Active** and **Inactive**.
	Status pulumi.StringPtrInput
	// The tag of the current instance resource.
	Tags pulumi.MapInput
	// The collected flow path. Value:**all**: indicates full acquisition.**internetGateway**: indicates public network traffic collection.
	TrafficPaths pulumi.StringArrayInput
	// The type of traffic collected. Valid values:**All**: All traffic.**Allow**: Access control allowedtraffic.**Drop**: Access control denied traffic.
	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) AggregationInterval added in v3.38.0

func (o FlowLogOutput) AggregationInterval() pulumi.StringOutput

Data aggregation interval.

func (FlowLogOutput) BusinessStatus added in v3.38.0

func (o FlowLogOutput) BusinessStatus() pulumi.StringOutput

Business status.

func (FlowLogOutput) CreateTime added in v3.38.0

func (o FlowLogOutput) CreateTime() pulumi.StringOutput

Creation time.

func (FlowLogOutput) Description added in v3.27.0

func (o FlowLogOutput) Description() pulumi.StringPtrOutput

The Description of the VPC Flow Log.

func (FlowLogOutput) ElementType

func (FlowLogOutput) ElementType() reflect.Type

func (FlowLogOutput) FlowLogId added in v3.38.0

func (o FlowLogOutput) FlowLogId() pulumi.StringOutput

The flow log ID.

func (FlowLogOutput) FlowLogName added in v3.27.0

func (o FlowLogOutput) FlowLogName() pulumi.StringPtrOutput

The Name of the VPC Flow Log.

func (FlowLogOutput) LogStoreName added in v3.27.0

func (o FlowLogOutput) LogStoreName() pulumi.StringOutput

The name of the logstore.

func (FlowLogOutput) ProjectName added in v3.27.0

func (o FlowLogOutput) ProjectName() pulumi.StringOutput

The name of the project.

func (FlowLogOutput) ResourceGroupId added in v3.38.0

func (o FlowLogOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (FlowLogOutput) ResourceId added in v3.27.0

func (o FlowLogOutput) ResourceId() pulumi.StringOutput

The ID of the resource.

func (FlowLogOutput) ResourceType added in v3.27.0

func (o FlowLogOutput) ResourceType() pulumi.StringOutput

The resource type of the traffic captured by the flow log:-**NetworkInterface**: ENI.-**VSwitch**: All ENIs in the VSwitch.-**VPC**: All ENIs in the VPC.

func (FlowLogOutput) Status added in v3.27.0

func (o FlowLogOutput) Status() pulumi.StringOutput

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

func (FlowLogOutput) Tags added in v3.38.0

func (o FlowLogOutput) Tags() pulumi.MapOutput

The tag of the current instance resource.

func (FlowLogOutput) ToFlowLogOutput

func (o FlowLogOutput) ToFlowLogOutput() FlowLogOutput

func (FlowLogOutput) ToFlowLogOutputWithContext

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

func (FlowLogOutput) TrafficPaths added in v3.38.0

func (o FlowLogOutput) TrafficPaths() pulumi.StringArrayOutput

The collected flow path. Value:**all**: indicates full acquisition.**internetGateway**: indicates public network traffic collection.

func (FlowLogOutput) TrafficType added in v3.27.0

func (o FlowLogOutput) TrafficType() pulumi.StringOutput

The type of traffic collected. Valid values:**All**: All traffic.**Allow**: Access control allowedtraffic.**Drop**: Access control denied traffic.

type FlowLogState

type FlowLogState struct {
	// Data aggregation interval.
	AggregationInterval pulumi.StringPtrInput
	// Business status.
	BusinessStatus pulumi.StringPtrInput
	// Creation time.
	CreateTime pulumi.StringPtrInput
	// The Description of the VPC Flow Log.
	Description pulumi.StringPtrInput
	// The flow log ID.
	FlowLogId 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 group.
	ResourceGroupId pulumi.StringPtrInput
	// The ID of the resource.
	ResourceId pulumi.StringPtrInput
	// The resource type of the traffic captured by the flow log:-**NetworkInterface**: ENI.-**VSwitch**: All ENIs in the VSwitch.-**VPC**: All ENIs in the VPC.
	ResourceType pulumi.StringPtrInput
	// The status of the VPC Flow Log. Valid values: **Active** and **Inactive**.
	Status pulumi.StringPtrInput
	// The tag of the current instance resource.
	Tags pulumi.MapInput
	// The collected flow path. Value:**all**: indicates full acquisition.**internetGateway**: indicates public network traffic collection.
	TrafficPaths pulumi.StringArrayInput
	// The type of traffic collected. Valid values:**All**: All traffic.**Allow**: Access control allowedtraffic.**Drop**: Access control denied traffic.
	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`.
	//
	// > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `portBreak` to true.
	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/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "forward-entry-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "default", &vpc.NatGatewayArgs{
			VpcId:              defaultNetwork.ID(),
			InternetChargeType: pulumi.String("PayByLcu"),
			NatGatewayName:     pulumi.String(name),
			NatType:            pulumi.String("Enhanced"),
			VswitchId:          defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "default", &ecs.EipAssociationArgs{
			AllocationId: defaultEipAddress.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewForwardEntry(ctx, "default", &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`.
	//
	// > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `portBreak` to true.
	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 added in v3.27.0

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 added in v3.27.0

func (o ForwardEntryOutput) ExternalPort() pulumi.StringOutput

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

func (ForwardEntryOutput) ForwardEntryId added in v3.27.0

func (o ForwardEntryOutput) ForwardEntryId() pulumi.StringOutput

The id of the forward entry on the server.

func (ForwardEntryOutput) ForwardEntryName added in v3.27.0

func (o ForwardEntryOutput) ForwardEntryName() pulumi.StringOutput

The name of forward entry.

func (ForwardEntryOutput) ForwardTableId added in v3.27.0

func (o ForwardEntryOutput) ForwardTableId() pulumi.StringOutput

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

func (ForwardEntryOutput) InternalIp added in v3.27.0

func (o ForwardEntryOutput) InternalIp() pulumi.StringOutput

The internal ip, must a private ip.

func (ForwardEntryOutput) InternalPort added in v3.27.0

func (o ForwardEntryOutput) InternalPort() pulumi.StringOutput

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

func (ForwardEntryOutput) IpProtocol added in v3.27.0

func (o ForwardEntryOutput) IpProtocol() pulumi.StringOutput

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

func (ForwardEntryOutput) Name deprecated added in v3.27.0

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 added in v3.27.0

func (o ForwardEntryOutput) PortBreak() pulumi.BoolPtrOutput

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

> **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `portBreak` to true.

func (ForwardEntryOutput) Status added in v3.27.0

(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`.
	//
	// > **NOTE:** A SNAT entry and a DNAT entry may use the same public IP address. If you want to specify a port number greater than 1024 in this case, set `portBreak` to true.
	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 GatewayEndpoint added in v3.42.0

type GatewayEndpoint struct {
	pulumi.CustomResourceState

	// The creation time of the gateway endpoint.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The description of the gateway endpoint.
	GatewayEndpointDescrption pulumi.StringPtrOutput `pulumi:"gatewayEndpointDescrption"`
	// The name of the gateway endpoint.
	GatewayEndpointName pulumi.StringPtrOutput `pulumi:"gatewayEndpointName"`
	// Access control policies for cloud services. This parameter is required when the cloud service is oss. For details about the syntax and structure of access policies, see [syntax and structure of permission Policies](https://help.aliyun.com/document_detail/93739.html).
	PolicyDocument pulumi.StringPtrOutput `pulumi:"policyDocument"`
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The name of endpoint service.
	ServiceName pulumi.StringOutput `pulumi:"serviceName"`
	// The status of VPC gateway endpoint.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of the VPC.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Gateway Endpoint resource. VPC gateway endpoint.

For information about VPC Gateway Endpoint and how to use it, see [What is Gateway Endpoint](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/gateway-endpoint).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		domain := "com.aliyun.cn-hangzhou.oss"
		if param := cfg.Get("domain"); param != "" {
			domain = param
		}
		defaultVpc, err := vpc.NewNetwork(ctx, "defaultVpc", &vpc.NetworkArgs{
			Description: pulumi.String("tf-example"),
		})
		if err != nil {
			return err
		}
		defaultRg, err := resourcemanager.NewResourceGroup(ctx, "defaultRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-example-497"),
			ResourceGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayEndpoint(ctx, "default", &vpc.GatewayEndpointArgs{
			GatewayEndpointDescrption: pulumi.String("test-gateway-endpoint"),
			GatewayEndpointName:       pulumi.String(name),
			VpcId:                     defaultVpc.ID(),
			ResourceGroupId:           defaultRg.ID(),
			ServiceName:               pulumi.String(domain),
			PolicyDocument: pulumi.String(`      {
        "Version": "1",
        "Statement": [{
          "Effect": "Allow",
          "Resource": ["*"],
          "Action": ["*"],
          "Principal": ["*"]
        }]
      }

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Gateway Endpoint can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/gatewayEndpoint:GatewayEndpoint example <id> ```

func GetGatewayEndpoint added in v3.42.0

func GetGatewayEndpoint(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayEndpointState, opts ...pulumi.ResourceOption) (*GatewayEndpoint, error)

GetGatewayEndpoint gets an existing GatewayEndpoint 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 NewGatewayEndpoint added in v3.42.0

func NewGatewayEndpoint(ctx *pulumi.Context,
	name string, args *GatewayEndpointArgs, opts ...pulumi.ResourceOption) (*GatewayEndpoint, error)

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

func (*GatewayEndpoint) ElementType added in v3.42.0

func (*GatewayEndpoint) ElementType() reflect.Type

func (*GatewayEndpoint) ToGatewayEndpointOutput added in v3.42.0

func (i *GatewayEndpoint) ToGatewayEndpointOutput() GatewayEndpointOutput

func (*GatewayEndpoint) ToGatewayEndpointOutputWithContext added in v3.42.0

func (i *GatewayEndpoint) ToGatewayEndpointOutputWithContext(ctx context.Context) GatewayEndpointOutput

type GatewayEndpointArgs added in v3.42.0

type GatewayEndpointArgs struct {
	// The description of the gateway endpoint.
	GatewayEndpointDescrption pulumi.StringPtrInput
	// The name of the gateway endpoint.
	GatewayEndpointName pulumi.StringPtrInput
	// Access control policies for cloud services. This parameter is required when the cloud service is oss. For details about the syntax and structure of access policies, see [syntax and structure of permission Policies](https://help.aliyun.com/document_detail/93739.html).
	PolicyDocument pulumi.StringPtrInput
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The name of endpoint service.
	ServiceName pulumi.StringInput
	// The tags of the resource.
	Tags pulumi.MapInput
	// The ID of the VPC.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a GatewayEndpoint resource.

func (GatewayEndpointArgs) ElementType added in v3.42.0

func (GatewayEndpointArgs) ElementType() reflect.Type

type GatewayEndpointArray added in v3.42.0

type GatewayEndpointArray []GatewayEndpointInput

func (GatewayEndpointArray) ElementType added in v3.42.0

func (GatewayEndpointArray) ElementType() reflect.Type

func (GatewayEndpointArray) ToGatewayEndpointArrayOutput added in v3.42.0

func (i GatewayEndpointArray) ToGatewayEndpointArrayOutput() GatewayEndpointArrayOutput

func (GatewayEndpointArray) ToGatewayEndpointArrayOutputWithContext added in v3.42.0

func (i GatewayEndpointArray) ToGatewayEndpointArrayOutputWithContext(ctx context.Context) GatewayEndpointArrayOutput

type GatewayEndpointArrayInput added in v3.42.0

type GatewayEndpointArrayInput interface {
	pulumi.Input

	ToGatewayEndpointArrayOutput() GatewayEndpointArrayOutput
	ToGatewayEndpointArrayOutputWithContext(context.Context) GatewayEndpointArrayOutput
}

GatewayEndpointArrayInput is an input type that accepts GatewayEndpointArray and GatewayEndpointArrayOutput values. You can construct a concrete instance of `GatewayEndpointArrayInput` via:

GatewayEndpointArray{ GatewayEndpointArgs{...} }

type GatewayEndpointArrayOutput added in v3.42.0

type GatewayEndpointArrayOutput struct{ *pulumi.OutputState }

func (GatewayEndpointArrayOutput) ElementType added in v3.42.0

func (GatewayEndpointArrayOutput) ElementType() reflect.Type

func (GatewayEndpointArrayOutput) Index added in v3.42.0

func (GatewayEndpointArrayOutput) ToGatewayEndpointArrayOutput added in v3.42.0

func (o GatewayEndpointArrayOutput) ToGatewayEndpointArrayOutput() GatewayEndpointArrayOutput

func (GatewayEndpointArrayOutput) ToGatewayEndpointArrayOutputWithContext added in v3.42.0

func (o GatewayEndpointArrayOutput) ToGatewayEndpointArrayOutputWithContext(ctx context.Context) GatewayEndpointArrayOutput

type GatewayEndpointInput added in v3.42.0

type GatewayEndpointInput interface {
	pulumi.Input

	ToGatewayEndpointOutput() GatewayEndpointOutput
	ToGatewayEndpointOutputWithContext(ctx context.Context) GatewayEndpointOutput
}

type GatewayEndpointMap added in v3.42.0

type GatewayEndpointMap map[string]GatewayEndpointInput

func (GatewayEndpointMap) ElementType added in v3.42.0

func (GatewayEndpointMap) ElementType() reflect.Type

func (GatewayEndpointMap) ToGatewayEndpointMapOutput added in v3.42.0

func (i GatewayEndpointMap) ToGatewayEndpointMapOutput() GatewayEndpointMapOutput

func (GatewayEndpointMap) ToGatewayEndpointMapOutputWithContext added in v3.42.0

func (i GatewayEndpointMap) ToGatewayEndpointMapOutputWithContext(ctx context.Context) GatewayEndpointMapOutput

type GatewayEndpointMapInput added in v3.42.0

type GatewayEndpointMapInput interface {
	pulumi.Input

	ToGatewayEndpointMapOutput() GatewayEndpointMapOutput
	ToGatewayEndpointMapOutputWithContext(context.Context) GatewayEndpointMapOutput
}

GatewayEndpointMapInput is an input type that accepts GatewayEndpointMap and GatewayEndpointMapOutput values. You can construct a concrete instance of `GatewayEndpointMapInput` via:

GatewayEndpointMap{ "key": GatewayEndpointArgs{...} }

type GatewayEndpointMapOutput added in v3.42.0

type GatewayEndpointMapOutput struct{ *pulumi.OutputState }

func (GatewayEndpointMapOutput) ElementType added in v3.42.0

func (GatewayEndpointMapOutput) ElementType() reflect.Type

func (GatewayEndpointMapOutput) MapIndex added in v3.42.0

func (GatewayEndpointMapOutput) ToGatewayEndpointMapOutput added in v3.42.0

func (o GatewayEndpointMapOutput) ToGatewayEndpointMapOutput() GatewayEndpointMapOutput

func (GatewayEndpointMapOutput) ToGatewayEndpointMapOutputWithContext added in v3.42.0

func (o GatewayEndpointMapOutput) ToGatewayEndpointMapOutputWithContext(ctx context.Context) GatewayEndpointMapOutput

type GatewayEndpointOutput added in v3.42.0

type GatewayEndpointOutput struct{ *pulumi.OutputState }

func (GatewayEndpointOutput) CreateTime added in v3.42.0

func (o GatewayEndpointOutput) CreateTime() pulumi.StringOutput

The creation time of the gateway endpoint.

func (GatewayEndpointOutput) ElementType added in v3.42.0

func (GatewayEndpointOutput) ElementType() reflect.Type

func (GatewayEndpointOutput) GatewayEndpointDescrption added in v3.42.0

func (o GatewayEndpointOutput) GatewayEndpointDescrption() pulumi.StringPtrOutput

The description of the gateway endpoint.

func (GatewayEndpointOutput) GatewayEndpointName added in v3.42.0

func (o GatewayEndpointOutput) GatewayEndpointName() pulumi.StringPtrOutput

The name of the gateway endpoint.

func (GatewayEndpointOutput) PolicyDocument added in v3.42.0

func (o GatewayEndpointOutput) PolicyDocument() pulumi.StringPtrOutput

Access control policies for cloud services. This parameter is required when the cloud service is oss. For details about the syntax and structure of access policies, see [syntax and structure of permission Policies](https://help.aliyun.com/document_detail/93739.html).

func (GatewayEndpointOutput) ResourceGroupId added in v3.42.0

func (o GatewayEndpointOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the instance belongs.

func (GatewayEndpointOutput) ServiceName added in v3.42.0

func (o GatewayEndpointOutput) ServiceName() pulumi.StringOutput

The name of endpoint service.

func (GatewayEndpointOutput) Status added in v3.42.0

The status of VPC gateway endpoint.

func (GatewayEndpointOutput) Tags added in v3.42.0

The tags of the resource.

func (GatewayEndpointOutput) ToGatewayEndpointOutput added in v3.42.0

func (o GatewayEndpointOutput) ToGatewayEndpointOutput() GatewayEndpointOutput

func (GatewayEndpointOutput) ToGatewayEndpointOutputWithContext added in v3.42.0

func (o GatewayEndpointOutput) ToGatewayEndpointOutputWithContext(ctx context.Context) GatewayEndpointOutput

func (GatewayEndpointOutput) VpcId added in v3.42.0

The ID of the VPC.

type GatewayEndpointRouteTableAttachment added in v3.42.0

type GatewayEndpointRouteTableAttachment struct {
	pulumi.CustomResourceState

	// The ID of the gateway endpoint instance to which you want to associate the route table.
	GatewayEndpointId pulumi.StringOutput `pulumi:"gatewayEndpointId"`
	// Routing table ID.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// Status of the gateway endpoint.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Gateway Endpoint Route Table Attachment resource. VPC gateway node association route.

For information about VPC Gateway Endpoint Route Table Attachment and how to use it, see [What is Gateway Endpoint Route Table Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/311148).

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaulteVpc, err := vpc.NewNetwork(ctx, "defaulteVpc", &vpc.NetworkArgs{
			Description: pulumi.String("test"),
		})
		if err != nil {
			return err
		}
		defaultGE, err := vpc.NewGatewayEndpoint(ctx, "defaultGE", &vpc.GatewayEndpointArgs{
			ServiceName: pulumi.String("com.aliyun.cn-hangzhou.oss"),
			PolicyDocument: pulumi.String(`        {
          "Version": "1",
          "Statement": [{
            "Effect": "Allow",
            "Resource": ["*"],
            "Action": ["*"],
            "Principal": ["*"]
          }]
        }

`),

			VpcId:                     defaulteVpc.ID(),
			GatewayEndpointDescrption: pulumi.String("test-gateway-endpoint"),
			GatewayEndpointName:       pulumi.String(fmt.Sprintf("%v1", name)),
		})
		if err != nil {
			return err
		}
		defaultRT, err := vpc.NewRouteTable(ctx, "defaultRT", &vpc.RouteTableArgs{
			VpcId:          defaulteVpc.ID(),
			RouteTableName: pulumi.String(fmt.Sprintf("%v2", name)),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayEndpointRouteTableAttachment(ctx, "default", &vpc.GatewayEndpointRouteTableAttachmentArgs{
			GatewayEndpointId: defaultGE.ID(),
			RouteTableId:      defaultRT.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Gateway Endpoint Route Table Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/gatewayEndpointRouteTableAttachment:GatewayEndpointRouteTableAttachment example <gateway_endpoint_id>:<route_table_id> ```

func GetGatewayEndpointRouteTableAttachment added in v3.42.0

func GetGatewayEndpointRouteTableAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayEndpointRouteTableAttachmentState, opts ...pulumi.ResourceOption) (*GatewayEndpointRouteTableAttachment, error)

GetGatewayEndpointRouteTableAttachment gets an existing GatewayEndpointRouteTableAttachment 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 NewGatewayEndpointRouteTableAttachment added in v3.42.0

func NewGatewayEndpointRouteTableAttachment(ctx *pulumi.Context,
	name string, args *GatewayEndpointRouteTableAttachmentArgs, opts ...pulumi.ResourceOption) (*GatewayEndpointRouteTableAttachment, error)

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

func (*GatewayEndpointRouteTableAttachment) ElementType added in v3.42.0

func (*GatewayEndpointRouteTableAttachment) ToGatewayEndpointRouteTableAttachmentOutput added in v3.42.0

func (i *GatewayEndpointRouteTableAttachment) ToGatewayEndpointRouteTableAttachmentOutput() GatewayEndpointRouteTableAttachmentOutput

func (*GatewayEndpointRouteTableAttachment) ToGatewayEndpointRouteTableAttachmentOutputWithContext added in v3.42.0

func (i *GatewayEndpointRouteTableAttachment) ToGatewayEndpointRouteTableAttachmentOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentOutput

type GatewayEndpointRouteTableAttachmentArgs added in v3.42.0

type GatewayEndpointRouteTableAttachmentArgs struct {
	// The ID of the gateway endpoint instance to which you want to associate the route table.
	GatewayEndpointId pulumi.StringInput
	// Routing table ID.
	RouteTableId pulumi.StringInput
}

The set of arguments for constructing a GatewayEndpointRouteTableAttachment resource.

func (GatewayEndpointRouteTableAttachmentArgs) ElementType added in v3.42.0

type GatewayEndpointRouteTableAttachmentArray added in v3.42.0

type GatewayEndpointRouteTableAttachmentArray []GatewayEndpointRouteTableAttachmentInput

func (GatewayEndpointRouteTableAttachmentArray) ElementType added in v3.42.0

func (GatewayEndpointRouteTableAttachmentArray) ToGatewayEndpointRouteTableAttachmentArrayOutput added in v3.42.0

func (i GatewayEndpointRouteTableAttachmentArray) ToGatewayEndpointRouteTableAttachmentArrayOutput() GatewayEndpointRouteTableAttachmentArrayOutput

func (GatewayEndpointRouteTableAttachmentArray) ToGatewayEndpointRouteTableAttachmentArrayOutputWithContext added in v3.42.0

func (i GatewayEndpointRouteTableAttachmentArray) ToGatewayEndpointRouteTableAttachmentArrayOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentArrayOutput

type GatewayEndpointRouteTableAttachmentArrayInput added in v3.42.0

type GatewayEndpointRouteTableAttachmentArrayInput interface {
	pulumi.Input

	ToGatewayEndpointRouteTableAttachmentArrayOutput() GatewayEndpointRouteTableAttachmentArrayOutput
	ToGatewayEndpointRouteTableAttachmentArrayOutputWithContext(context.Context) GatewayEndpointRouteTableAttachmentArrayOutput
}

GatewayEndpointRouteTableAttachmentArrayInput is an input type that accepts GatewayEndpointRouteTableAttachmentArray and GatewayEndpointRouteTableAttachmentArrayOutput values. You can construct a concrete instance of `GatewayEndpointRouteTableAttachmentArrayInput` via:

GatewayEndpointRouteTableAttachmentArray{ GatewayEndpointRouteTableAttachmentArgs{...} }

type GatewayEndpointRouteTableAttachmentArrayOutput added in v3.42.0

type GatewayEndpointRouteTableAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GatewayEndpointRouteTableAttachmentArrayOutput) ElementType added in v3.42.0

func (GatewayEndpointRouteTableAttachmentArrayOutput) Index added in v3.42.0

func (GatewayEndpointRouteTableAttachmentArrayOutput) ToGatewayEndpointRouteTableAttachmentArrayOutput added in v3.42.0

func (o GatewayEndpointRouteTableAttachmentArrayOutput) ToGatewayEndpointRouteTableAttachmentArrayOutput() GatewayEndpointRouteTableAttachmentArrayOutput

func (GatewayEndpointRouteTableAttachmentArrayOutput) ToGatewayEndpointRouteTableAttachmentArrayOutputWithContext added in v3.42.0

func (o GatewayEndpointRouteTableAttachmentArrayOutput) ToGatewayEndpointRouteTableAttachmentArrayOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentArrayOutput

type GatewayEndpointRouteTableAttachmentInput added in v3.42.0

type GatewayEndpointRouteTableAttachmentInput interface {
	pulumi.Input

	ToGatewayEndpointRouteTableAttachmentOutput() GatewayEndpointRouteTableAttachmentOutput
	ToGatewayEndpointRouteTableAttachmentOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentOutput
}

type GatewayEndpointRouteTableAttachmentMap added in v3.42.0

type GatewayEndpointRouteTableAttachmentMap map[string]GatewayEndpointRouteTableAttachmentInput

func (GatewayEndpointRouteTableAttachmentMap) ElementType added in v3.42.0

func (GatewayEndpointRouteTableAttachmentMap) ToGatewayEndpointRouteTableAttachmentMapOutput added in v3.42.0

func (i GatewayEndpointRouteTableAttachmentMap) ToGatewayEndpointRouteTableAttachmentMapOutput() GatewayEndpointRouteTableAttachmentMapOutput

func (GatewayEndpointRouteTableAttachmentMap) ToGatewayEndpointRouteTableAttachmentMapOutputWithContext added in v3.42.0

func (i GatewayEndpointRouteTableAttachmentMap) ToGatewayEndpointRouteTableAttachmentMapOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentMapOutput

type GatewayEndpointRouteTableAttachmentMapInput added in v3.42.0

type GatewayEndpointRouteTableAttachmentMapInput interface {
	pulumi.Input

	ToGatewayEndpointRouteTableAttachmentMapOutput() GatewayEndpointRouteTableAttachmentMapOutput
	ToGatewayEndpointRouteTableAttachmentMapOutputWithContext(context.Context) GatewayEndpointRouteTableAttachmentMapOutput
}

GatewayEndpointRouteTableAttachmentMapInput is an input type that accepts GatewayEndpointRouteTableAttachmentMap and GatewayEndpointRouteTableAttachmentMapOutput values. You can construct a concrete instance of `GatewayEndpointRouteTableAttachmentMapInput` via:

GatewayEndpointRouteTableAttachmentMap{ "key": GatewayEndpointRouteTableAttachmentArgs{...} }

type GatewayEndpointRouteTableAttachmentMapOutput added in v3.42.0

type GatewayEndpointRouteTableAttachmentMapOutput struct{ *pulumi.OutputState }

func (GatewayEndpointRouteTableAttachmentMapOutput) ElementType added in v3.42.0

func (GatewayEndpointRouteTableAttachmentMapOutput) MapIndex added in v3.42.0

func (GatewayEndpointRouteTableAttachmentMapOutput) ToGatewayEndpointRouteTableAttachmentMapOutput added in v3.42.0

func (o GatewayEndpointRouteTableAttachmentMapOutput) ToGatewayEndpointRouteTableAttachmentMapOutput() GatewayEndpointRouteTableAttachmentMapOutput

func (GatewayEndpointRouteTableAttachmentMapOutput) ToGatewayEndpointRouteTableAttachmentMapOutputWithContext added in v3.42.0

func (o GatewayEndpointRouteTableAttachmentMapOutput) ToGatewayEndpointRouteTableAttachmentMapOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentMapOutput

type GatewayEndpointRouteTableAttachmentOutput added in v3.42.0

type GatewayEndpointRouteTableAttachmentOutput struct{ *pulumi.OutputState }

func (GatewayEndpointRouteTableAttachmentOutput) ElementType added in v3.42.0

func (GatewayEndpointRouteTableAttachmentOutput) GatewayEndpointId added in v3.42.0

The ID of the gateway endpoint instance to which you want to associate the route table.

func (GatewayEndpointRouteTableAttachmentOutput) RouteTableId added in v3.42.0

Routing table ID.

func (GatewayEndpointRouteTableAttachmentOutput) Status added in v3.42.0

Status of the gateway endpoint.

func (GatewayEndpointRouteTableAttachmentOutput) ToGatewayEndpointRouteTableAttachmentOutput added in v3.42.0

func (o GatewayEndpointRouteTableAttachmentOutput) ToGatewayEndpointRouteTableAttachmentOutput() GatewayEndpointRouteTableAttachmentOutput

func (GatewayEndpointRouteTableAttachmentOutput) ToGatewayEndpointRouteTableAttachmentOutputWithContext added in v3.42.0

func (o GatewayEndpointRouteTableAttachmentOutput) ToGatewayEndpointRouteTableAttachmentOutputWithContext(ctx context.Context) GatewayEndpointRouteTableAttachmentOutput

type GatewayEndpointRouteTableAttachmentState added in v3.42.0

type GatewayEndpointRouteTableAttachmentState struct {
	// The ID of the gateway endpoint instance to which you want to associate the route table.
	GatewayEndpointId pulumi.StringPtrInput
	// Routing table ID.
	RouteTableId pulumi.StringPtrInput
	// Status of the gateway endpoint.
	Status pulumi.StringPtrInput
}

func (GatewayEndpointRouteTableAttachmentState) ElementType added in v3.42.0

type GatewayEndpointState added in v3.42.0

type GatewayEndpointState struct {
	// The creation time of the gateway endpoint.
	CreateTime pulumi.StringPtrInput
	// The description of the gateway endpoint.
	GatewayEndpointDescrption pulumi.StringPtrInput
	// The name of the gateway endpoint.
	GatewayEndpointName pulumi.StringPtrInput
	// Access control policies for cloud services. This parameter is required when the cloud service is oss. For details about the syntax and structure of access policies, see [syntax and structure of permission Policies](https://help.aliyun.com/document_detail/93739.html).
	PolicyDocument pulumi.StringPtrInput
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The name of endpoint service.
	ServiceName pulumi.StringPtrInput
	// The status of VPC gateway endpoint.
	Status pulumi.StringPtrInput
	// The tags of the resource.
	Tags pulumi.MapInput
	// The ID of the VPC.
	VpcId pulumi.StringPtrInput
}

func (GatewayEndpointState) ElementType added in v3.42.0

func (GatewayEndpointState) ElementType() reflect.Type

type GatewayRouteTableAttachment added in v3.29.0

type GatewayRouteTableAttachment struct {
	pulumi.CustomResourceState

	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Specifies whether to only precheck this request. Default value: `false`.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the IPv4 Gateway instance.
	Ipv4GatewayId pulumi.StringOutput `pulumi:"ipv4GatewayId"`
	// The ID of the Gateway route table to be bound.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The status of the IPv4 Gateway instance. Value:
	// - **Creating**: The function is being created.
	// - **Created**: Created and available.
	// - **Modifying**: is being modified.
	// - **Deleting**: Deleting.
	// - **Deleted**: Deleted.
	// - **Activating**: enabled.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Gateway Route Table Attachment resource.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
			VpcName:   pulumi.String("terraform-example"),
		})
		if err != nil {
			return err
		}
		exampleRouteTable, err := vpc.NewRouteTable(ctx, "example", &vpc.RouteTableArgs{
			VpcId:          example.ID(),
			RouteTableName: pulumi.String("terraform-example"),
			Description:    pulumi.String("terraform-example"),
			AssociateType:  pulumi.String("Gateway"),
		})
		if err != nil {
			return err
		}
		exampleIpv4Gateway, err := vpc.NewIpv4Gateway(ctx, "example", &vpc.Ipv4GatewayArgs{
			Ipv4GatewayName: pulumi.String("terraform-example"),
			VpcId:           example.ID(),
			Enabled:         pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewGatewayRouteTableAttachment(ctx, "example", &vpc.GatewayRouteTableAttachmentArgs{
			Ipv4GatewayId: exampleIpv4Gateway.ID(),
			RouteTableId:  exampleRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Gateway Route Table Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/gatewayRouteTableAttachment:GatewayRouteTableAttachment example <route_table_id>:<ipv4_gateway_id> ```

func GetGatewayRouteTableAttachment added in v3.29.0

func GetGatewayRouteTableAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayRouteTableAttachmentState, opts ...pulumi.ResourceOption) (*GatewayRouteTableAttachment, error)

GetGatewayRouteTableAttachment gets an existing GatewayRouteTableAttachment 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 NewGatewayRouteTableAttachment added in v3.29.0

func NewGatewayRouteTableAttachment(ctx *pulumi.Context,
	name string, args *GatewayRouteTableAttachmentArgs, opts ...pulumi.ResourceOption) (*GatewayRouteTableAttachment, error)

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

func (*GatewayRouteTableAttachment) ElementType added in v3.29.0

func (*GatewayRouteTableAttachment) ElementType() reflect.Type

func (*GatewayRouteTableAttachment) ToGatewayRouteTableAttachmentOutput added in v3.29.0

func (i *GatewayRouteTableAttachment) ToGatewayRouteTableAttachmentOutput() GatewayRouteTableAttachmentOutput

func (*GatewayRouteTableAttachment) ToGatewayRouteTableAttachmentOutputWithContext added in v3.29.0

func (i *GatewayRouteTableAttachment) ToGatewayRouteTableAttachmentOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentOutput

type GatewayRouteTableAttachmentArgs added in v3.29.0

type GatewayRouteTableAttachmentArgs struct {
	// Specifies whether to only precheck this request. Default value: `false`.
	DryRun pulumi.BoolPtrInput
	// The ID of the IPv4 Gateway instance.
	Ipv4GatewayId pulumi.StringInput
	// The ID of the Gateway route table to be bound.
	RouteTableId pulumi.StringInput
}

The set of arguments for constructing a GatewayRouteTableAttachment resource.

func (GatewayRouteTableAttachmentArgs) ElementType added in v3.29.0

type GatewayRouteTableAttachmentArray added in v3.29.0

type GatewayRouteTableAttachmentArray []GatewayRouteTableAttachmentInput

func (GatewayRouteTableAttachmentArray) ElementType added in v3.29.0

func (GatewayRouteTableAttachmentArray) ToGatewayRouteTableAttachmentArrayOutput added in v3.29.0

func (i GatewayRouteTableAttachmentArray) ToGatewayRouteTableAttachmentArrayOutput() GatewayRouteTableAttachmentArrayOutput

func (GatewayRouteTableAttachmentArray) ToGatewayRouteTableAttachmentArrayOutputWithContext added in v3.29.0

func (i GatewayRouteTableAttachmentArray) ToGatewayRouteTableAttachmentArrayOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentArrayOutput

type GatewayRouteTableAttachmentArrayInput added in v3.29.0

type GatewayRouteTableAttachmentArrayInput interface {
	pulumi.Input

	ToGatewayRouteTableAttachmentArrayOutput() GatewayRouteTableAttachmentArrayOutput
	ToGatewayRouteTableAttachmentArrayOutputWithContext(context.Context) GatewayRouteTableAttachmentArrayOutput
}

GatewayRouteTableAttachmentArrayInput is an input type that accepts GatewayRouteTableAttachmentArray and GatewayRouteTableAttachmentArrayOutput values. You can construct a concrete instance of `GatewayRouteTableAttachmentArrayInput` via:

GatewayRouteTableAttachmentArray{ GatewayRouteTableAttachmentArgs{...} }

type GatewayRouteTableAttachmentArrayOutput added in v3.29.0

type GatewayRouteTableAttachmentArrayOutput struct{ *pulumi.OutputState }

func (GatewayRouteTableAttachmentArrayOutput) ElementType added in v3.29.0

func (GatewayRouteTableAttachmentArrayOutput) Index added in v3.29.0

func (GatewayRouteTableAttachmentArrayOutput) ToGatewayRouteTableAttachmentArrayOutput added in v3.29.0

func (o GatewayRouteTableAttachmentArrayOutput) ToGatewayRouteTableAttachmentArrayOutput() GatewayRouteTableAttachmentArrayOutput

func (GatewayRouteTableAttachmentArrayOutput) ToGatewayRouteTableAttachmentArrayOutputWithContext added in v3.29.0

func (o GatewayRouteTableAttachmentArrayOutput) ToGatewayRouteTableAttachmentArrayOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentArrayOutput

type GatewayRouteTableAttachmentInput added in v3.29.0

type GatewayRouteTableAttachmentInput interface {
	pulumi.Input

	ToGatewayRouteTableAttachmentOutput() GatewayRouteTableAttachmentOutput
	ToGatewayRouteTableAttachmentOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentOutput
}

type GatewayRouteTableAttachmentMap added in v3.29.0

type GatewayRouteTableAttachmentMap map[string]GatewayRouteTableAttachmentInput

func (GatewayRouteTableAttachmentMap) ElementType added in v3.29.0

func (GatewayRouteTableAttachmentMap) ToGatewayRouteTableAttachmentMapOutput added in v3.29.0

func (i GatewayRouteTableAttachmentMap) ToGatewayRouteTableAttachmentMapOutput() GatewayRouteTableAttachmentMapOutput

func (GatewayRouteTableAttachmentMap) ToGatewayRouteTableAttachmentMapOutputWithContext added in v3.29.0

func (i GatewayRouteTableAttachmentMap) ToGatewayRouteTableAttachmentMapOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentMapOutput

type GatewayRouteTableAttachmentMapInput added in v3.29.0

type GatewayRouteTableAttachmentMapInput interface {
	pulumi.Input

	ToGatewayRouteTableAttachmentMapOutput() GatewayRouteTableAttachmentMapOutput
	ToGatewayRouteTableAttachmentMapOutputWithContext(context.Context) GatewayRouteTableAttachmentMapOutput
}

GatewayRouteTableAttachmentMapInput is an input type that accepts GatewayRouteTableAttachmentMap and GatewayRouteTableAttachmentMapOutput values. You can construct a concrete instance of `GatewayRouteTableAttachmentMapInput` via:

GatewayRouteTableAttachmentMap{ "key": GatewayRouteTableAttachmentArgs{...} }

type GatewayRouteTableAttachmentMapOutput added in v3.29.0

type GatewayRouteTableAttachmentMapOutput struct{ *pulumi.OutputState }

func (GatewayRouteTableAttachmentMapOutput) ElementType added in v3.29.0

func (GatewayRouteTableAttachmentMapOutput) MapIndex added in v3.29.0

func (GatewayRouteTableAttachmentMapOutput) ToGatewayRouteTableAttachmentMapOutput added in v3.29.0

func (o GatewayRouteTableAttachmentMapOutput) ToGatewayRouteTableAttachmentMapOutput() GatewayRouteTableAttachmentMapOutput

func (GatewayRouteTableAttachmentMapOutput) ToGatewayRouteTableAttachmentMapOutputWithContext added in v3.29.0

func (o GatewayRouteTableAttachmentMapOutput) ToGatewayRouteTableAttachmentMapOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentMapOutput

type GatewayRouteTableAttachmentOutput added in v3.29.0

type GatewayRouteTableAttachmentOutput struct{ *pulumi.OutputState }

func (GatewayRouteTableAttachmentOutput) CreateTime added in v3.38.0

The creation time of the resource.

func (GatewayRouteTableAttachmentOutput) DryRun added in v3.29.0

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

func (GatewayRouteTableAttachmentOutput) ElementType added in v3.29.0

func (GatewayRouteTableAttachmentOutput) Ipv4GatewayId added in v3.29.0

The ID of the IPv4 Gateway instance.

func (GatewayRouteTableAttachmentOutput) RouteTableId added in v3.29.0

The ID of the Gateway route table to be bound.

func (GatewayRouteTableAttachmentOutput) Status added in v3.29.0

The status of the IPv4 Gateway instance. Value: - **Creating**: The function is being created. - **Created**: Created and available. - **Modifying**: is being modified. - **Deleting**: Deleting. - **Deleted**: Deleted. - **Activating**: enabled.

func (GatewayRouteTableAttachmentOutput) ToGatewayRouteTableAttachmentOutput added in v3.29.0

func (o GatewayRouteTableAttachmentOutput) ToGatewayRouteTableAttachmentOutput() GatewayRouteTableAttachmentOutput

func (GatewayRouteTableAttachmentOutput) ToGatewayRouteTableAttachmentOutputWithContext added in v3.29.0

func (o GatewayRouteTableAttachmentOutput) ToGatewayRouteTableAttachmentOutputWithContext(ctx context.Context) GatewayRouteTableAttachmentOutput

type GatewayRouteTableAttachmentState added in v3.29.0

type GatewayRouteTableAttachmentState struct {
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// Specifies whether to only precheck this request. Default value: `false`.
	DryRun pulumi.BoolPtrInput
	// The ID of the IPv4 Gateway instance.
	Ipv4GatewayId pulumi.StringPtrInput
	// The ID of the Gateway route table to be bound.
	RouteTableId pulumi.StringPtrInput
	// The status of the IPv4 Gateway instance. Value:
	// - **Creating**: The function is being created.
	// - **Created**: Created and available.
	// - **Modifying**: is being modified.
	// - **Deleting**: Deleting.
	// - **Deleted**: Deleted.
	// - **Activating**: enabled.
	Status pulumi.StringPtrInput
}

func (GatewayRouteTableAttachmentState) ElementType added in v3.29.0

type GetBgpGroupsArgs added in v3.16.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (GetBgpGroupsGroupArgs) ElementType() reflect.Type

func (GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutput added in v3.16.0

func (i GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutput() GetBgpGroupsGroupOutput

func (GetBgpGroupsGroupArgs) ToGetBgpGroupsGroupOutputWithContext added in v3.16.0

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

type GetBgpGroupsGroupArray added in v3.16.0

type GetBgpGroupsGroupArray []GetBgpGroupsGroupInput

func (GetBgpGroupsGroupArray) ElementType added in v3.16.0

func (GetBgpGroupsGroupArray) ElementType() reflect.Type

func (GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutput added in v3.16.0

func (i GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutput() GetBgpGroupsGroupArrayOutput

func (GetBgpGroupsGroupArray) ToGetBgpGroupsGroupArrayOutputWithContext added in v3.16.0

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

type GetBgpGroupsGroupArrayInput added in v3.16.0

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 added in v3.16.0

type GetBgpGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetBgpGroupsGroupArrayOutput) ElementType added in v3.16.0

func (GetBgpGroupsGroupArrayOutput) Index added in v3.16.0

func (GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutput added in v3.16.0

func (o GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutput() GetBgpGroupsGroupArrayOutput

func (GetBgpGroupsGroupArrayOutput) ToGetBgpGroupsGroupArrayOutputWithContext added in v3.16.0

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

type GetBgpGroupsGroupInput added in v3.16.0

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 added in v3.16.0

type GetBgpGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetBgpGroupsGroupOutput) AuthKey added in v3.16.0

The key used by the BGP group.

func (GetBgpGroupsGroupOutput) BgpGroupName added in v3.16.0

func (o GetBgpGroupsGroupOutput) BgpGroupName() pulumi.StringOutput

The name of the BGP group.

func (GetBgpGroupsGroupOutput) Description added in v3.16.0

Description of the BGP group.

func (GetBgpGroupsGroupOutput) ElementType added in v3.16.0

func (GetBgpGroupsGroupOutput) ElementType() reflect.Type

func (GetBgpGroupsGroupOutput) Hold added in v3.16.0

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 added in v3.16.0

The ID of the Bgp Group.

func (GetBgpGroupsGroupOutput) IpVersion added in v3.16.0

IP version.

func (GetBgpGroupsGroupOutput) IsFakeAsn added in v3.16.0

Whether the AS number is false.

func (GetBgpGroupsGroupOutput) Keepalive added in v3.16.0

The keepalive time.

func (GetBgpGroupsGroupOutput) LocalAsn added in v3.16.0

The local AS number.

func (GetBgpGroupsGroupOutput) PeerAsn added in v3.16.0

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

func (GetBgpGroupsGroupOutput) RouteLimit added in v3.16.0

Routing limits.

func (GetBgpGroupsGroupOutput) RouterId added in v3.16.0

The ID of the VBR.

func (GetBgpGroupsGroupOutput) Status added in v3.16.0

The status of the resource.

func (GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutput added in v3.16.0

func (o GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutput() GetBgpGroupsGroupOutput

func (GetBgpGroupsGroupOutput) ToGetBgpGroupsGroupOutputWithContext added in v3.16.0

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

type GetBgpGroupsOutputArgs added in v3.16.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.16.0

func (GetBgpGroupsOutputArgs) ElementType() reflect.Type

type GetBgpGroupsResult added in v3.16.0

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 added in v3.16.0

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

)

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 added in v3.16.0

type GetBgpGroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBgpGroups.

func GetBgpGroupsOutput added in v3.16.0

func GetBgpGroupsOutput(ctx *pulumi.Context, args GetBgpGroupsOutputArgs, opts ...pulumi.InvokeOption) GetBgpGroupsResultOutput

func (GetBgpGroupsResultOutput) ElementType added in v3.16.0

func (GetBgpGroupsResultOutput) ElementType() reflect.Type

func (GetBgpGroupsResultOutput) Groups added in v3.16.0

func (GetBgpGroupsResultOutput) Id added in v3.16.0

The provider-assigned unique ID for this managed resource.

func (GetBgpGroupsResultOutput) Ids added in v3.16.0

func (GetBgpGroupsResultOutput) NameRegex added in v3.16.0

func (GetBgpGroupsResultOutput) Names added in v3.16.0

func (GetBgpGroupsResultOutput) OutputFile added in v3.16.0

func (GetBgpGroupsResultOutput) RouterId added in v3.16.0

func (GetBgpGroupsResultOutput) Status added in v3.16.0

func (GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutput added in v3.16.0

func (o GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutput() GetBgpGroupsResultOutput

func (GetBgpGroupsResultOutput) ToGetBgpGroupsResultOutputWithContext added in v3.16.0

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

type GetBgpNetworksArgs added in v3.16.0

type GetBgpNetworksArgs struct {
	// A list of Bgp Network IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (GetBgpNetworksNetworkArgs) ElementType() reflect.Type

func (GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutput added in v3.16.0

func (i GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutput() GetBgpNetworksNetworkOutput

func (GetBgpNetworksNetworkArgs) ToGetBgpNetworksNetworkOutputWithContext added in v3.16.0

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

type GetBgpNetworksNetworkArray added in v3.16.0

type GetBgpNetworksNetworkArray []GetBgpNetworksNetworkInput

func (GetBgpNetworksNetworkArray) ElementType added in v3.16.0

func (GetBgpNetworksNetworkArray) ElementType() reflect.Type

func (GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutput added in v3.16.0

func (i GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutput() GetBgpNetworksNetworkArrayOutput

func (GetBgpNetworksNetworkArray) ToGetBgpNetworksNetworkArrayOutputWithContext added in v3.16.0

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

type GetBgpNetworksNetworkArrayInput added in v3.16.0

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 added in v3.16.0

type GetBgpNetworksNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetBgpNetworksNetworkArrayOutput) ElementType added in v3.16.0

func (GetBgpNetworksNetworkArrayOutput) Index added in v3.16.0

func (GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutput added in v3.16.0

func (o GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutput() GetBgpNetworksNetworkArrayOutput

func (GetBgpNetworksNetworkArrayOutput) ToGetBgpNetworksNetworkArrayOutputWithContext added in v3.16.0

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

type GetBgpNetworksNetworkInput added in v3.16.0

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 added in v3.16.0

type GetBgpNetworksNetworkOutput struct{ *pulumi.OutputState }

func (GetBgpNetworksNetworkOutput) DstCidrBlock added in v3.16.0

Advertised BGP networks.

func (GetBgpNetworksNetworkOutput) ElementType added in v3.16.0

func (GetBgpNetworksNetworkOutput) Id added in v3.16.0

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

func (GetBgpNetworksNetworkOutput) RouterId added in v3.16.0

The ID of the vRouter.

func (GetBgpNetworksNetworkOutput) Status added in v3.16.0

The state of the advertised BGP network.

func (GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutput added in v3.16.0

func (o GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutput() GetBgpNetworksNetworkOutput

func (GetBgpNetworksNetworkOutput) ToGetBgpNetworksNetworkOutputWithContext added in v3.16.0

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

type GetBgpNetworksOutputArgs added in v3.16.0

type GetBgpNetworksOutputArgs struct {
	// A list of Bgp Network IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.16.0

func (GetBgpNetworksOutputArgs) ElementType() reflect.Type

type GetBgpNetworksResult added in v3.16.0

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 added in v3.16.0

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

)

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 added in v3.16.0

type GetBgpNetworksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBgpNetworks.

func GetBgpNetworksOutput added in v3.16.0

func GetBgpNetworksOutput(ctx *pulumi.Context, args GetBgpNetworksOutputArgs, opts ...pulumi.InvokeOption) GetBgpNetworksResultOutput

func (GetBgpNetworksResultOutput) ElementType added in v3.16.0

func (GetBgpNetworksResultOutput) ElementType() reflect.Type

func (GetBgpNetworksResultOutput) Id added in v3.16.0

The provider-assigned unique ID for this managed resource.

func (GetBgpNetworksResultOutput) Ids added in v3.16.0

func (GetBgpNetworksResultOutput) Networks added in v3.16.0

func (GetBgpNetworksResultOutput) OutputFile added in v3.16.0

func (GetBgpNetworksResultOutput) RouterId added in v3.16.0

func (GetBgpNetworksResultOutput) Status added in v3.16.0

func (GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutput added in v3.16.0

func (o GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutput() GetBgpNetworksResultOutput

func (GetBgpNetworksResultOutput) ToGetBgpNetworksResultOutputWithContext added in v3.16.0

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

type GetBgpPeersArgs added in v3.16.0

type GetBgpPeersArgs struct {
	// The ID of the BGP group.
	BgpGroupId *string `pulumi:"bgpGroupId"`
	// A list of Bgp Peer IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.16.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.16.0

func (GetBgpPeersOutputArgs) ElementType() reflect.Type

type GetBgpPeersPeer added in v3.16.0

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 added in v3.16.0

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 added in v3.16.0

func (GetBgpPeersPeerArgs) ElementType() reflect.Type

func (GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutput added in v3.16.0

func (i GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutput() GetBgpPeersPeerOutput

func (GetBgpPeersPeerArgs) ToGetBgpPeersPeerOutputWithContext added in v3.16.0

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

type GetBgpPeersPeerArray added in v3.16.0

type GetBgpPeersPeerArray []GetBgpPeersPeerInput

func (GetBgpPeersPeerArray) ElementType added in v3.16.0

func (GetBgpPeersPeerArray) ElementType() reflect.Type

func (GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutput added in v3.16.0

func (i GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutput() GetBgpPeersPeerArrayOutput

func (GetBgpPeersPeerArray) ToGetBgpPeersPeerArrayOutputWithContext added in v3.16.0

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

type GetBgpPeersPeerArrayInput added in v3.16.0

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 added in v3.16.0

type GetBgpPeersPeerArrayOutput struct{ *pulumi.OutputState }

func (GetBgpPeersPeerArrayOutput) ElementType added in v3.16.0

func (GetBgpPeersPeerArrayOutput) ElementType() reflect.Type

func (GetBgpPeersPeerArrayOutput) Index added in v3.16.0

func (GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutput added in v3.16.0

func (o GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutput() GetBgpPeersPeerArrayOutput

func (GetBgpPeersPeerArrayOutput) ToGetBgpPeersPeerArrayOutputWithContext added in v3.16.0

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

type GetBgpPeersPeerInput added in v3.16.0

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 added in v3.16.0

type GetBgpPeersPeerOutput struct{ *pulumi.OutputState }

func (GetBgpPeersPeerOutput) AuthKey added in v3.16.0

The authentication key of the BGP group.

func (GetBgpPeersPeerOutput) BfdMultiHop added in v3.16.0

func (o GetBgpPeersPeerOutput) BfdMultiHop() pulumi.IntOutput

The BFD hop count.

func (GetBgpPeersPeerOutput) BgpGroupId added in v3.16.0

func (o GetBgpPeersPeerOutput) BgpGroupId() pulumi.StringOutput

The ID of the BGP group.

func (GetBgpPeersPeerOutput) BgpPeerId added in v3.16.0

The ID of the BGP neighbor.

func (GetBgpPeersPeerOutput) BgpPeerName added in v3.16.0

func (o GetBgpPeersPeerOutput) BgpPeerName() pulumi.StringOutput

The name of the BGP neighbor.

func (GetBgpPeersPeerOutput) BgpStatus added in v3.16.0

The status of the BGP connection.

func (GetBgpPeersPeerOutput) Description added in v3.16.0

func (o GetBgpPeersPeerOutput) Description() pulumi.StringOutput

The description of the BGP group.

func (GetBgpPeersPeerOutput) ElementType added in v3.16.0

func (GetBgpPeersPeerOutput) ElementType() reflect.Type

func (GetBgpPeersPeerOutput) EnableBfd added in v3.16.0

func (o GetBgpPeersPeerOutput) EnableBfd() pulumi.BoolOutput

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

func (GetBgpPeersPeerOutput) Hold added in v3.16.0

The hold time.

func (GetBgpPeersPeerOutput) Id added in v3.16.0

The ID of the Bgp Peer.

func (GetBgpPeersPeerOutput) IpVersion added in v3.16.0

The IP version.

func (GetBgpPeersPeerOutput) IsFake added in v3.16.0

Indicates whether a fake AS number is used.

func (GetBgpPeersPeerOutput) Keepalive added in v3.16.0

The keepalive time.

func (GetBgpPeersPeerOutput) LocalAsn added in v3.16.0

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

func (GetBgpPeersPeerOutput) PeerAsn added in v3.16.0

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

func (GetBgpPeersPeerOutput) PeerIpAddress added in v3.16.0

func (o GetBgpPeersPeerOutput) PeerIpAddress() pulumi.StringOutput

The IP address of the BGP neighbor.

func (GetBgpPeersPeerOutput) RouteLimit added in v3.16.0

func (o GetBgpPeersPeerOutput) RouteLimit() pulumi.StringOutput

The limit on routes.

func (GetBgpPeersPeerOutput) RouterId added in v3.16.0

The ID of the router.

func (GetBgpPeersPeerOutput) Status added in v3.16.0

The status of the BGP peer.

func (GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutput added in v3.16.0

func (o GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutput() GetBgpPeersPeerOutput

func (GetBgpPeersPeerOutput) ToGetBgpPeersPeerOutputWithContext added in v3.16.0

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

type GetBgpPeersResult added in v3.16.0

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 added in v3.16.0

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

)

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 added in v3.16.0

type GetBgpPeersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getBgpPeers.

func GetBgpPeersOutput added in v3.16.0

func GetBgpPeersOutput(ctx *pulumi.Context, args GetBgpPeersOutputArgs, opts ...pulumi.InvokeOption) GetBgpPeersResultOutput

func (GetBgpPeersResultOutput) BgpGroupId added in v3.16.0

func (GetBgpPeersResultOutput) ElementType added in v3.16.0

func (GetBgpPeersResultOutput) ElementType() reflect.Type

func (GetBgpPeersResultOutput) Id added in v3.16.0

The provider-assigned unique ID for this managed resource.

func (GetBgpPeersResultOutput) Ids added in v3.16.0

func (GetBgpPeersResultOutput) OutputFile added in v3.16.0

func (GetBgpPeersResultOutput) Peers added in v3.16.0

func (GetBgpPeersResultOutput) RouterId added in v3.16.0

func (GetBgpPeersResultOutput) Status added in v3.16.0

func (GetBgpPeersResultOutput) ToGetBgpPeersResultOutput added in v3.16.0

func (o GetBgpPeersResultOutput) ToGetBgpPeersResultOutput() GetBgpPeersResultOutput

func (GetBgpPeersResultOutput) ToGetBgpPeersResultOutputWithContext added in v3.16.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, "foo", &vpc.CommonBandwithPackageArgs{
			Bandwidth:   pulumi.String("2"),
			Name:        pulumi.String("tf-testAccCommonBandwidthPackage"),
			Description: pulumi.String("tf-testAcc-CommonBandwidthPackage"),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetCommonBandwidthPackagesOutput(ctx, vpc.GetCommonBandwidthPackagesOutputArgs{
			NameRegex: pulumi.String("^tf-testAcc.*"),
			Ids: pulumi.StringArray{
				fooCommonBandwithPackage.ID(),
			},
		}, 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 added in v3.9.0

type GetCommonBandwidthPackagesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCommonBandwidthPackages.

func (GetCommonBandwidthPackagesResultOutput) BandwidthPackageName added in v3.9.0

The name of bandwidth package.

func (GetCommonBandwidthPackagesResultOutput) DryRun added in v3.9.0

func (GetCommonBandwidthPackagesResultOutput) ElementType added in v3.9.0

func (GetCommonBandwidthPackagesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetCommonBandwidthPackagesResultOutput) Ids added in v3.9.0

(Optional) A list of Common Bandwidth Packages IDs.

func (GetCommonBandwidthPackagesResultOutput) IncludeReservationData added in v3.9.0

func (o GetCommonBandwidthPackagesResultOutput) IncludeReservationData() pulumi.BoolPtrOutput

func (GetCommonBandwidthPackagesResultOutput) NameRegex added in v3.9.0

func (GetCommonBandwidthPackagesResultOutput) Names added in v3.9.0

A list of Common Bandwidth Packages names.

func (GetCommonBandwidthPackagesResultOutput) OutputFile added in v3.9.0

func (GetCommonBandwidthPackagesResultOutput) Packages added in v3.9.0

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

func (GetCommonBandwidthPackagesResultOutput) ResourceGroupId added in v3.9.0

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

func (GetCommonBandwidthPackagesResultOutput) Status added in v3.9.0

Status of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutput added in v3.9.0

func (o GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutput() GetCommonBandwidthPackagesResultOutput

func (GetCommonBandwidthPackagesResultOutput) ToGetCommonBandwidthPackagesResultOutputWithContext added in v3.9.0

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

type GetDhcpOptionsSetsArgs added in v3.8.0

type GetDhcpOptionsSetsArgs struct {
	// 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 *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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetDhcpOptionsSetsOutputArgs struct {
	// 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 `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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetDhcpOptionsSetsResult added in v3.8.0

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 added in v3.8.0

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

)

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 added in v3.9.0

type GetDhcpOptionsSetsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDhcpOptionsSets.

func GetDhcpOptionsSetsOutput added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) DhcpOptionsSetName added in v3.9.0

func (o GetDhcpOptionsSetsResultOutput) DhcpOptionsSetName() pulumi.StringPtrOutput

func (GetDhcpOptionsSetsResultOutput) DomainName added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) ElementType added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetDhcpOptionsSetsResultOutput) Ids added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) NameRegex added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) Names added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) OutputFile added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) Sets added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) Status added in v3.9.0

func (GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutput added in v3.9.0

func (o GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutput() GetDhcpOptionsSetsResultOutput

func (GetDhcpOptionsSetsResultOutput) ToGetDhcpOptionsSetsResultOutputWithContext added in v3.9.0

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

type GetDhcpOptionsSetsSet added in v3.8.0

type GetDhcpOptionsSetsSet struct {
	// The Number of VPCs bound by the DHCP option set.
	AssociateVpcCount int `pulumi:"associateVpcCount"`
	// 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 added in v3.8.0

type GetDhcpOptionsSetsSetArgs struct {
	// The Number of VPCs bound by the DHCP option set.
	AssociateVpcCount pulumi.IntInput `pulumi:"associateVpcCount"`
	// 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 added in v3.8.0

func (GetDhcpOptionsSetsSetArgs) ElementType() reflect.Type

func (GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutput added in v3.8.0

func (i GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutput() GetDhcpOptionsSetsSetOutput

func (GetDhcpOptionsSetsSetArgs) ToGetDhcpOptionsSetsSetOutputWithContext added in v3.8.0

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

type GetDhcpOptionsSetsSetArray added in v3.8.0

type GetDhcpOptionsSetsSetArray []GetDhcpOptionsSetsSetInput

func (GetDhcpOptionsSetsSetArray) ElementType added in v3.8.0

func (GetDhcpOptionsSetsSetArray) ElementType() reflect.Type

func (GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutput added in v3.8.0

func (i GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutput() GetDhcpOptionsSetsSetArrayOutput

func (GetDhcpOptionsSetsSetArray) ToGetDhcpOptionsSetsSetArrayOutputWithContext added in v3.8.0

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

type GetDhcpOptionsSetsSetArrayInput added in v3.8.0

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 added in v3.8.0

type GetDhcpOptionsSetsSetArrayOutput struct{ *pulumi.OutputState }

func (GetDhcpOptionsSetsSetArrayOutput) ElementType added in v3.8.0

func (GetDhcpOptionsSetsSetArrayOutput) Index added in v3.8.0

func (GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutput added in v3.8.0

func (o GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutput() GetDhcpOptionsSetsSetArrayOutput

func (GetDhcpOptionsSetsSetArrayOutput) ToGetDhcpOptionsSetsSetArrayOutputWithContext added in v3.8.0

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

type GetDhcpOptionsSetsSetInput added in v3.8.0

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 added in v3.8.0

type GetDhcpOptionsSetsSetOutput struct{ *pulumi.OutputState }

func (GetDhcpOptionsSetsSetOutput) AssociateVpcCount added in v3.30.0

func (o GetDhcpOptionsSetsSetOutput) AssociateVpcCount() pulumi.IntOutput

The Number of VPCs bound by the DHCP option set.

func (GetDhcpOptionsSetsSetOutput) DhcpOptionsSetDescription added in v3.8.0

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 added in v3.8.0

func (o GetDhcpOptionsSetsSetOutput) DhcpOptionsSetId() pulumi.StringOutput

func (GetDhcpOptionsSetsSetOutput) DhcpOptionsSetName added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

func (GetDhcpOptionsSetsSetOutput) Id added in v3.8.0

func (GetDhcpOptionsSetsSetOutput) OwnerId added in v3.8.0

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

func (GetDhcpOptionsSetsSetOutput) Status added in v3.8.0

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 added in v3.8.0

func (o GetDhcpOptionsSetsSetOutput) ToGetDhcpOptionsSetsSetOutput() GetDhcpOptionsSetsSetOutput

func (GetDhcpOptionsSetsSetOutput) ToGetDhcpOptionsSetsSetOutputWithContext added in v3.8.0

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 added in v3.9.0

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

A collection of arguments for invoking getEnhancedNatAvailableZones.

func (GetEnhancedNatAvailableZonesOutputArgs) ElementType added in v3.9.0

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 added in v3.9.0

type GetEnhancedNatAvailableZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEnhancedNatAvailableZones.

func (GetEnhancedNatAvailableZonesResultOutput) ElementType added in v3.9.0

func (GetEnhancedNatAvailableZonesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetEnhancedNatAvailableZonesResultOutput) Ids added in v3.9.0

func (GetEnhancedNatAvailableZonesResultOutput) OutputFile added in v3.9.0

func (GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutput added in v3.9.0

func (o GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutput() GetEnhancedNatAvailableZonesResultOutput

func (GetEnhancedNatAvailableZonesResultOutput) ToGetEnhancedNatAvailableZonesResultOutputWithContext added in v3.9.0

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

func (GetEnhancedNatAvailableZonesResultOutput) Zones added in v3.9.0

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 GetFlowLogServiceArgs added in v3.43.0

type GetFlowLogServiceArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
	//
	// > **NOTE:** Setting `enable = "On"` to open the Vpc Flow Log service that means you have read and agreed the [Vpc Flow Log Terms of Service](https://help.aliyun.com/zh/vpc/support/vpc-terms-of-service). The service can not closed once it is opened.
	Enable *string `pulumi:"enable"`
}

A collection of arguments for invoking getFlowLogService.

type GetFlowLogServiceOutputArgs added in v3.43.0

type GetFlowLogServiceOutputArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
	//
	// > **NOTE:** Setting `enable = "On"` to open the Vpc Flow Log service that means you have read and agreed the [Vpc Flow Log Terms of Service](https://help.aliyun.com/zh/vpc/support/vpc-terms-of-service). The service can not closed once it is opened.
	Enable pulumi.StringPtrInput `pulumi:"enable"`
}

A collection of arguments for invoking getFlowLogService.

func (GetFlowLogServiceOutputArgs) ElementType added in v3.43.0

type GetFlowLogServiceResult added in v3.43.0

type GetFlowLogServiceResult 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 getFlowLogService.

func GetFlowLogService added in v3.43.0

func GetFlowLogService(ctx *pulumi.Context, args *GetFlowLogServiceArgs, opts ...pulumi.InvokeOption) (*GetFlowLogServiceResult, error)

Using this data source can open Vpc Flow Log service automatically. If the service has been opened, it will return opened.

For information about Vpc Flow Log and how to use it, see [What is Vpc Flow Log](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-openflowlog).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetFlowLogService(ctx, &vpc.GetFlowLogServiceArgs{
			Enable: pulumi.StringRef("On"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetFlowLogServiceResultOutput added in v3.43.0

type GetFlowLogServiceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFlowLogService.

func GetFlowLogServiceOutput added in v3.43.0

func (GetFlowLogServiceResultOutput) ElementType added in v3.43.0

func (GetFlowLogServiceResultOutput) Enable added in v3.43.0

func (GetFlowLogServiceResultOutput) Id added in v3.43.0

The provider-assigned unique ID for this managed resource.

func (GetFlowLogServiceResultOutput) Status added in v3.43.0

The current service enable status.

func (GetFlowLogServiceResultOutput) ToGetFlowLogServiceResultOutput added in v3.43.0

func (o GetFlowLogServiceResultOutput) ToGetFlowLogServiceResultOutput() GetFlowLogServiceResultOutput

func (GetFlowLogServiceResultOutput) ToGetFlowLogServiceResultOutputWithContext added in v3.43.0

func (o GetFlowLogServiceResultOutput) ToGetFlowLogServiceResultOutputWithContext(ctx context.Context) GetFlowLogServiceResultOutput

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "forward-entry-config-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "default", &vpc.NatGatewayArgs{
			VpcId:              defaultNetwork.ID(),
			InternetChargeType: pulumi.String("PayByLcu"),
			NatGatewayName:     pulumi.String(name),
			NatType:            pulumi.String("Enhanced"),
			VswitchId:          defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "default", &ecs.EipAssociationArgs{
			AllocationId: defaultEipAddress.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		defaultForwardEntry, err := vpc.NewForwardEntry(ctx, "default", &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
		}
		_ = vpc.GetForwardEntriesOutput(ctx, vpc.GetForwardEntriesOutputArgs{
			ForwardTableId: defaultForwardEntry.ForwardTableId,
		}, nil)
		return nil
	})
}

```

type GetForwardEntriesResultOutput added in v3.9.0

type GetForwardEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getForwardEntries.

func GetForwardEntriesOutput added in v3.9.0

func (GetForwardEntriesResultOutput) ElementType added in v3.9.0

func (GetForwardEntriesResultOutput) Entries added in v3.9.0

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

func (GetForwardEntriesResultOutput) ExternalIp added in v3.9.0

The public IP address.

func (GetForwardEntriesResultOutput) ExternalPort added in v3.9.0

The public port.

func (GetForwardEntriesResultOutput) ForwardEntryName added in v3.9.0

The name of forward entry.

func (GetForwardEntriesResultOutput) ForwardTableId added in v3.9.0

func (GetForwardEntriesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetForwardEntriesResultOutput) Ids added in v3.9.0

A list of Forward Entries IDs.

func (GetForwardEntriesResultOutput) InternalIp added in v3.9.0

The private IP address.

func (GetForwardEntriesResultOutput) InternalPort added in v3.9.0

The private port.

func (GetForwardEntriesResultOutput) IpProtocol added in v3.9.0

The protocol type.

func (GetForwardEntriesResultOutput) NameRegex added in v3.9.0

func (GetForwardEntriesResultOutput) Names added in v3.9.0

A list of Forward Entries names.

func (GetForwardEntriesResultOutput) OutputFile added in v3.9.0

func (GetForwardEntriesResultOutput) Status added in v3.9.0

The status of forward entry.

func (GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutput added in v3.9.0

func (o GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutput() GetForwardEntriesResultOutput

func (GetForwardEntriesResultOutput) ToGetForwardEntriesResultOutputWithContext added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getHavips.

func (GetHavipsOutputArgs) ElementType added in v3.9.0

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

)

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 added in v3.9.0

type GetHavipsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHavips.

func GetHavipsOutput added in v3.9.0

func GetHavipsOutput(ctx *pulumi.Context, args GetHavipsOutputArgs, opts ...pulumi.InvokeOption) GetHavipsResultOutput

func (GetHavipsResultOutput) ElementType added in v3.9.0

func (GetHavipsResultOutput) ElementType() reflect.Type

func (GetHavipsResultOutput) Havips added in v3.9.0

func (GetHavipsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetHavipsResultOutput) Ids added in v3.9.0

func (GetHavipsResultOutput) NameRegex added in v3.9.0

func (GetHavipsResultOutput) Names added in v3.9.0

func (GetHavipsResultOutput) OutputFile added in v3.9.0

func (GetHavipsResultOutput) Status added in v3.9.0

func (GetHavipsResultOutput) ToGetHavipsResultOutput added in v3.9.0

func (o GetHavipsResultOutput) ToGetHavipsResultOutput() GetHavipsResultOutput

func (GetHavipsResultOutput) ToGetHavipsResultOutputWithContext added in v3.9.0

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

type GetIpsecServersArgs added in v3.20.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the VPN gateway.
	VpnGatewayId *string `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getIpsecServers.

type GetIpsecServersOutputArgs added in v3.20.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.20.0

func (GetIpsecServersOutputArgs) ElementType() reflect.Type

type GetIpsecServersResult added in v3.20.0

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 added in v3.20.0

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

)

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 added in v3.20.0

type GetIpsecServersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpsecServers.

func GetIpsecServersOutput added in v3.20.0

func (GetIpsecServersResultOutput) ElementType added in v3.20.0

func (GetIpsecServersResultOutput) Id added in v3.20.0

The provider-assigned unique ID for this managed resource.

func (GetIpsecServersResultOutput) Ids added in v3.20.0

func (GetIpsecServersResultOutput) IpsecServerName added in v3.20.0

func (GetIpsecServersResultOutput) NameRegex added in v3.20.0

func (GetIpsecServersResultOutput) Names added in v3.20.0

func (GetIpsecServersResultOutput) OutputFile added in v3.20.0

func (GetIpsecServersResultOutput) Servers added in v3.20.0

func (GetIpsecServersResultOutput) ToGetIpsecServersResultOutput added in v3.20.0

func (o GetIpsecServersResultOutput) ToGetIpsecServersResultOutput() GetIpsecServersResultOutput

func (GetIpsecServersResultOutput) ToGetIpsecServersResultOutputWithContext added in v3.20.0

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

func (GetIpsecServersResultOutput) VpnGatewayId added in v3.20.0

type GetIpsecServersServer added in v3.20.0

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 added in v3.20.0

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 added in v3.20.0

func (GetIpsecServersServerArgs) ElementType() reflect.Type

func (GetIpsecServersServerArgs) ToGetIpsecServersServerOutput added in v3.20.0

func (i GetIpsecServersServerArgs) ToGetIpsecServersServerOutput() GetIpsecServersServerOutput

func (GetIpsecServersServerArgs) ToGetIpsecServersServerOutputWithContext added in v3.20.0

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

type GetIpsecServersServerArray added in v3.20.0

type GetIpsecServersServerArray []GetIpsecServersServerInput

func (GetIpsecServersServerArray) ElementType added in v3.20.0

func (GetIpsecServersServerArray) ElementType() reflect.Type

func (GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutput added in v3.20.0

func (i GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutput() GetIpsecServersServerArrayOutput

func (GetIpsecServersServerArray) ToGetIpsecServersServerArrayOutputWithContext added in v3.20.0

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

type GetIpsecServersServerArrayInput added in v3.20.0

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 added in v3.20.0

type GetIpsecServersServerArrayOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerArrayOutput) ElementType added in v3.20.0

func (GetIpsecServersServerArrayOutput) Index added in v3.20.0

func (GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutput added in v3.20.0

func (o GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutput() GetIpsecServersServerArrayOutput

func (GetIpsecServersServerArrayOutput) ToGetIpsecServersServerArrayOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIkeConfig added in v3.20.0

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 added in v3.20.0

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 added in v3.20.0

func (GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutput added in v3.20.0

func (i GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutput() GetIpsecServersServerIkeConfigOutput

func (GetIpsecServersServerIkeConfigArgs) ToGetIpsecServersServerIkeConfigOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIkeConfigArray added in v3.20.0

type GetIpsecServersServerIkeConfigArray []GetIpsecServersServerIkeConfigInput

func (GetIpsecServersServerIkeConfigArray) ElementType added in v3.20.0

func (GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutput added in v3.20.0

func (i GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutput() GetIpsecServersServerIkeConfigArrayOutput

func (GetIpsecServersServerIkeConfigArray) ToGetIpsecServersServerIkeConfigArrayOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIkeConfigArrayInput added in v3.20.0

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 added in v3.20.0

type GetIpsecServersServerIkeConfigArrayOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIkeConfigArrayOutput) ElementType added in v3.20.0

func (GetIpsecServersServerIkeConfigArrayOutput) Index added in v3.20.0

func (GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutput added in v3.20.0

func (o GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutput() GetIpsecServersServerIkeConfigArrayOutput

func (GetIpsecServersServerIkeConfigArrayOutput) ToGetIpsecServersServerIkeConfigArrayOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIkeConfigInput added in v3.20.0

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 added in v3.20.0

type GetIpsecServersServerIkeConfigOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIkeConfigOutput) ElementType added in v3.20.0

func (GetIpsecServersServerIkeConfigOutput) IkeAuthAlg added in v3.20.0

The IKE authentication algorithm.

func (GetIpsecServersServerIkeConfigOutput) IkeEncAlg added in v3.20.0

The IKE encryption algorithm.

func (GetIpsecServersServerIkeConfigOutput) IkeLifetime added in v3.20.0

The IKE lifetime. Unit: seconds.

func (GetIpsecServersServerIkeConfigOutput) IkeMode added in v3.20.0

The IKE negotiation mode.

func (GetIpsecServersServerIkeConfigOutput) IkePfs added in v3.20.0

Diffie-Hellman key exchange algorithm.

func (GetIpsecServersServerIkeConfigOutput) IkeVersion added in v3.20.0

The IKE version.

func (GetIpsecServersServerIkeConfigOutput) LocalId added in v3.20.0

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 added in v3.20.0

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

func (GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutput added in v3.20.0

func (o GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutput() GetIpsecServersServerIkeConfigOutput

func (GetIpsecServersServerIkeConfigOutput) ToGetIpsecServersServerIkeConfigOutputWithContext added in v3.20.0

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

type GetIpsecServersServerInput added in v3.20.0

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 added in v3.20.0

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 added in v3.20.0

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 added in v3.20.0

func (GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutput added in v3.20.0

func (i GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutput() GetIpsecServersServerIpsecConfigOutput

func (GetIpsecServersServerIpsecConfigArgs) ToGetIpsecServersServerIpsecConfigOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIpsecConfigArray added in v3.20.0

type GetIpsecServersServerIpsecConfigArray []GetIpsecServersServerIpsecConfigInput

func (GetIpsecServersServerIpsecConfigArray) ElementType added in v3.20.0

func (GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutput added in v3.20.0

func (i GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutput() GetIpsecServersServerIpsecConfigArrayOutput

func (GetIpsecServersServerIpsecConfigArray) ToGetIpsecServersServerIpsecConfigArrayOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIpsecConfigArrayInput added in v3.20.0

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 added in v3.20.0

type GetIpsecServersServerIpsecConfigArrayOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIpsecConfigArrayOutput) ElementType added in v3.20.0

func (GetIpsecServersServerIpsecConfigArrayOutput) Index added in v3.20.0

func (GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutput added in v3.20.0

func (o GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutput() GetIpsecServersServerIpsecConfigArrayOutput

func (GetIpsecServersServerIpsecConfigArrayOutput) ToGetIpsecServersServerIpsecConfigArrayOutputWithContext added in v3.20.0

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

type GetIpsecServersServerIpsecConfigInput added in v3.20.0

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 added in v3.20.0

type GetIpsecServersServerIpsecConfigOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerIpsecConfigOutput) ElementType added in v3.20.0

func (GetIpsecServersServerIpsecConfigOutput) IpsecAuthAlg added in v3.20.0

IPsec authentication algorithm.

func (GetIpsecServersServerIpsecConfigOutput) IpsecEncAlg added in v3.20.0

IPsec encryption algorithm.

func (GetIpsecServersServerIpsecConfigOutput) IpsecLifetime added in v3.20.0

IPsec survival time. Unit: seconds.

func (GetIpsecServersServerIpsecConfigOutput) IpsecPfs added in v3.20.0

Diffie-Hellman key exchange algorithm.

func (GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutput added in v3.20.0

func (o GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutput() GetIpsecServersServerIpsecConfigOutput

func (GetIpsecServersServerIpsecConfigOutput) ToGetIpsecServersServerIpsecConfigOutputWithContext added in v3.20.0

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

type GetIpsecServersServerOutput added in v3.20.0

type GetIpsecServersServerOutput struct{ *pulumi.OutputState }

func (GetIpsecServersServerOutput) ClientIpPool added in v3.20.0

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

func (GetIpsecServersServerOutput) CreateTime added in v3.20.0

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

func (GetIpsecServersServerOutput) EffectImmediately added in v3.20.0

func (o GetIpsecServersServerOutput) EffectImmediately() pulumi.BoolOutput

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

func (GetIpsecServersServerOutput) ElementType added in v3.20.0

func (GetIpsecServersServerOutput) Id added in v3.20.0

The ID of the Ipsec Server.

func (GetIpsecServersServerOutput) IdaasInstanceId added in v3.20.0

func (o GetIpsecServersServerOutput) IdaasInstanceId() pulumi.StringOutput

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

func (GetIpsecServersServerOutput) IkeConfigs added in v3.20.0

The configurations of Phase 1 negotiations.

func (GetIpsecServersServerOutput) InternetIp added in v3.20.0

The public IP address of the VPN gateway.

func (GetIpsecServersServerOutput) IpsecConfigs added in v3.20.0

The configuration of Phase 2 negotiations.

func (GetIpsecServersServerOutput) IpsecServerId added in v3.20.0

The ID of the IPsec server.

func (GetIpsecServersServerOutput) IpsecServerName added in v3.20.0

func (o GetIpsecServersServerOutput) IpsecServerName() pulumi.StringOutput

The name of the IPsec server.

func (GetIpsecServersServerOutput) LocalSubnet added in v3.20.0

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

func (GetIpsecServersServerOutput) MaxConnections added in v3.20.0

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 added in v3.20.0

func (o GetIpsecServersServerOutput) MultiFactorAuthEnabled() pulumi.BoolOutput

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

func (GetIpsecServersServerOutput) OnlineClientCount added in v3.20.0

func (o GetIpsecServersServerOutput) OnlineClientCount() pulumi.IntOutput

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

func (GetIpsecServersServerOutput) Psk added in v3.20.0

The pre-shared key.

func (GetIpsecServersServerOutput) PskEnabled added in v3.20.0

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 added in v3.20.0

func (o GetIpsecServersServerOutput) ToGetIpsecServersServerOutput() GetIpsecServersServerOutput

func (GetIpsecServersServerOutput) ToGetIpsecServersServerOutputWithContext added in v3.20.0

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

func (GetIpsecServersServerOutput) VpnGatewayId added in v3.20.0

The ID of the VPN gateway.

type GetIpv4GatewaysArgs added in v3.28.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.28.0

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 added in v3.28.0

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 added in v3.28.0

func (GetIpv4GatewaysGatewayArgs) ElementType() reflect.Type

func (GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutput added in v3.28.0

func (i GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutput() GetIpv4GatewaysGatewayOutput

func (GetIpv4GatewaysGatewayArgs) ToGetIpv4GatewaysGatewayOutputWithContext added in v3.28.0

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

type GetIpv4GatewaysGatewayArray added in v3.28.0

type GetIpv4GatewaysGatewayArray []GetIpv4GatewaysGatewayInput

func (GetIpv4GatewaysGatewayArray) ElementType added in v3.28.0

func (GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutput added in v3.28.0

func (i GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutput() GetIpv4GatewaysGatewayArrayOutput

func (GetIpv4GatewaysGatewayArray) ToGetIpv4GatewaysGatewayArrayOutputWithContext added in v3.28.0

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

type GetIpv4GatewaysGatewayArrayInput added in v3.28.0

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 added in v3.28.0

type GetIpv4GatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetIpv4GatewaysGatewayArrayOutput) ElementType added in v3.28.0

func (GetIpv4GatewaysGatewayArrayOutput) Index added in v3.28.0

func (GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutput added in v3.28.0

func (o GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutput() GetIpv4GatewaysGatewayArrayOutput

func (GetIpv4GatewaysGatewayArrayOutput) ToGetIpv4GatewaysGatewayArrayOutputWithContext added in v3.28.0

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

type GetIpv4GatewaysGatewayInput added in v3.28.0

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 added in v3.28.0

type GetIpv4GatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetIpv4GatewaysGatewayOutput) CreateTime added in v3.28.0

The creation time of the resource.

func (GetIpv4GatewaysGatewayOutput) ElementType added in v3.28.0

func (GetIpv4GatewaysGatewayOutput) Enabled added in v3.28.0

Indicates whether the IPv4 gateway is activated.

func (GetIpv4GatewaysGatewayOutput) Id added in v3.28.0

The ID of the Ipv4 Gateway.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayDescription added in v3.28.0

func (o GetIpv4GatewaysGatewayOutput) Ipv4GatewayDescription() pulumi.StringOutput

The description of the IPv4 gateway.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayId added in v3.28.0

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

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayName added in v3.28.0

func (o GetIpv4GatewaysGatewayOutput) Ipv4GatewayName() pulumi.StringOutput

The name of the IPv4 gateway.

func (GetIpv4GatewaysGatewayOutput) Ipv4GatewayRouteTableId added in v3.28.0

func (o GetIpv4GatewaysGatewayOutput) Ipv4GatewayRouteTableId() pulumi.StringOutput

ID of the route table associated with IPv4 Gateway.

func (GetIpv4GatewaysGatewayOutput) Status added in v3.28.0

The status of the resource.

func (GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutput added in v3.28.0

func (o GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutput() GetIpv4GatewaysGatewayOutput

func (GetIpv4GatewaysGatewayOutput) ToGetIpv4GatewaysGatewayOutputWithContext added in v3.28.0

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

func (GetIpv4GatewaysGatewayOutput) VpcId added in v3.28.0

The ID of the VPC associated with the IPv4 Gateway.

type GetIpv4GatewaysOutputArgs added in v3.28.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.28.0

func (GetIpv4GatewaysOutputArgs) ElementType() reflect.Type

type GetIpv4GatewaysResult added in v3.28.0

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 added in v3.28.0

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

)

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 added in v3.28.0

type GetIpv4GatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv4Gateways.

func GetIpv4GatewaysOutput added in v3.28.0

func (GetIpv4GatewaysResultOutput) ElementType added in v3.28.0

func (GetIpv4GatewaysResultOutput) Gateways added in v3.28.0

func (GetIpv4GatewaysResultOutput) Id added in v3.28.0

The provider-assigned unique ID for this managed resource.

func (GetIpv4GatewaysResultOutput) Ids added in v3.28.0

func (GetIpv4GatewaysResultOutput) Ipv4GatewayName added in v3.28.0

func (GetIpv4GatewaysResultOutput) NameRegex added in v3.28.0

func (GetIpv4GatewaysResultOutput) Names added in v3.28.0

func (GetIpv4GatewaysResultOutput) OutputFile added in v3.28.0

func (GetIpv4GatewaysResultOutput) Status added in v3.28.0

func (GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutput added in v3.28.0

func (o GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutput() GetIpv4GatewaysResultOutput

func (GetIpv4GatewaysResultOutput) ToGetIpv4GatewaysResultOutputWithContext added in v3.28.0

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

func (GetIpv4GatewaysResultOutput) VpcId added in v3.28.0

type GetIpv6AddressesAddress added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutput added in v3.10.0

func (i GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutput() GetIpv6AddressesAddressOutput

func (GetIpv6AddressesAddressArgs) ToGetIpv6AddressesAddressOutputWithContext added in v3.10.0

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

type GetIpv6AddressesAddressArray added in v3.10.0

type GetIpv6AddressesAddressArray []GetIpv6AddressesAddressInput

func (GetIpv6AddressesAddressArray) ElementType added in v3.10.0

func (GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutput added in v3.10.0

func (i GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutput() GetIpv6AddressesAddressArrayOutput

func (GetIpv6AddressesAddressArray) ToGetIpv6AddressesAddressArrayOutputWithContext added in v3.10.0

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

type GetIpv6AddressesAddressArrayInput added in v3.10.0

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 added in v3.10.0

type GetIpv6AddressesAddressArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6AddressesAddressArrayOutput) ElementType added in v3.10.0

func (GetIpv6AddressesAddressArrayOutput) Index added in v3.10.0

func (GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutput added in v3.10.0

func (o GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutput() GetIpv6AddressesAddressArrayOutput

func (GetIpv6AddressesAddressArrayOutput) ToGetIpv6AddressesAddressArrayOutputWithContext added in v3.10.0

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

type GetIpv6AddressesAddressInput added in v3.10.0

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 added in v3.10.0

type GetIpv6AddressesAddressOutput struct{ *pulumi.OutputState }

func (GetIpv6AddressesAddressOutput) AssociatedInstanceId added in v3.10.0

func (o GetIpv6AddressesAddressOutput) AssociatedInstanceId() pulumi.StringOutput

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

func (GetIpv6AddressesAddressOutput) AssociatedInstanceType added in v3.10.0

func (o GetIpv6AddressesAddressOutput) AssociatedInstanceType() pulumi.StringOutput

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

func (GetIpv6AddressesAddressOutput) CreateTime added in v3.10.0

The time when the IPv6 address was created.

func (GetIpv6AddressesAddressOutput) ElementType added in v3.10.0

func (GetIpv6AddressesAddressOutput) Id added in v3.10.0

The ID of the Ipv6 Address.

func (GetIpv6AddressesAddressOutput) Ipv6Address added in v3.10.0

The address of the Ipv6 Address.

func (GetIpv6AddressesAddressOutput) Ipv6AddressId added in v3.10.0

The ID of the IPv6 address.

func (GetIpv6AddressesAddressOutput) Ipv6AddressName added in v3.10.0

The name of the IPv6 address.

func (GetIpv6AddressesAddressOutput) Ipv6GatewayId added in v3.10.0

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

func (GetIpv6AddressesAddressOutput) NetworkType added in v3.10.0

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 added in v3.10.0

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

func (GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutput added in v3.10.0

func (o GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutput() GetIpv6AddressesAddressOutput

func (GetIpv6AddressesAddressOutput) ToGetIpv6AddressesAddressOutputWithContext added in v3.10.0

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

func (GetIpv6AddressesAddressOutput) VpcId added in v3.10.0

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

func (GetIpv6AddressesAddressOutput) VswitchId added in v3.10.0

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

type GetIpv6AddressesArgs added in v3.10.0

type GetIpv6AddressesArgs struct {
	// The ID of the instance that is assigned the IPv6 address.
	AssociatedInstanceId *string  `pulumi:"associatedInstanceId"`
	Ids                  []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

type GetIpv6AddressesOutputArgs struct {
	// The ID of the instance that is assigned the IPv6 address.
	AssociatedInstanceId pulumi.StringPtrInput   `pulumi:"associatedInstanceId"`
	Ids                  pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

func (GetIpv6AddressesOutputArgs) ElementType() reflect.Type

type GetIpv6AddressesResult added in v3.10.0

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 added in v3.10.0

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

)

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 added in v3.10.0

type GetIpv6AddressesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6Addresses.

func GetIpv6AddressesOutput added in v3.10.0

func (GetIpv6AddressesResultOutput) Addresses added in v3.10.0

func (GetIpv6AddressesResultOutput) AssociatedInstanceId added in v3.10.0

func (o GetIpv6AddressesResultOutput) AssociatedInstanceId() pulumi.StringPtrOutput

func (GetIpv6AddressesResultOutput) ElementType added in v3.10.0

func (GetIpv6AddressesResultOutput) Id added in v3.10.0

The provider-assigned unique ID for this managed resource.

func (GetIpv6AddressesResultOutput) Ids added in v3.10.0

func (GetIpv6AddressesResultOutput) Names added in v3.10.0

func (GetIpv6AddressesResultOutput) OutputFile added in v3.10.0

func (GetIpv6AddressesResultOutput) Status added in v3.10.0

func (GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutput added in v3.10.0

func (o GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutput() GetIpv6AddressesResultOutput

func (GetIpv6AddressesResultOutput) ToGetIpv6AddressesResultOutputWithContext added in v3.10.0

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

func (GetIpv6AddressesResultOutput) VpcId added in v3.10.0

func (GetIpv6AddressesResultOutput) VswitchId added in v3.10.0

type GetIpv6EgressRulesArgs added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

type GetIpv6EgressRulesResult added in v3.10.0

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 added in v3.10.0

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

)

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 added in v3.10.0

type GetIpv6EgressRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6EgressRules.

func GetIpv6EgressRulesOutput added in v3.10.0

func (GetIpv6EgressRulesResultOutput) ElementType added in v3.10.0

func (GetIpv6EgressRulesResultOutput) Id added in v3.10.0

The provider-assigned unique ID for this managed resource.

func (GetIpv6EgressRulesResultOutput) Ids added in v3.10.0

func (GetIpv6EgressRulesResultOutput) InstanceId added in v3.10.0

func (GetIpv6EgressRulesResultOutput) Ipv6EgressRuleName added in v3.10.0

func (o GetIpv6EgressRulesResultOutput) Ipv6EgressRuleName() pulumi.StringPtrOutput

func (GetIpv6EgressRulesResultOutput) Ipv6GatewayId added in v3.10.0

func (GetIpv6EgressRulesResultOutput) NameRegex added in v3.10.0

func (GetIpv6EgressRulesResultOutput) Names added in v3.10.0

func (GetIpv6EgressRulesResultOutput) OutputFile added in v3.10.0

func (GetIpv6EgressRulesResultOutput) Rules added in v3.10.0

func (GetIpv6EgressRulesResultOutput) Status added in v3.10.0

func (GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutput added in v3.10.0

func (o GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutput() GetIpv6EgressRulesResultOutput

func (GetIpv6EgressRulesResultOutput) ToGetIpv6EgressRulesResultOutputWithContext added in v3.10.0

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

type GetIpv6EgressRulesRule added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (GetIpv6EgressRulesRuleArgs) ElementType() reflect.Type

func (GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutput added in v3.10.0

func (i GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutput() GetIpv6EgressRulesRuleOutput

func (GetIpv6EgressRulesRuleArgs) ToGetIpv6EgressRulesRuleOutputWithContext added in v3.10.0

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

type GetIpv6EgressRulesRuleArray added in v3.10.0

type GetIpv6EgressRulesRuleArray []GetIpv6EgressRulesRuleInput

func (GetIpv6EgressRulesRuleArray) ElementType added in v3.10.0

func (GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutput added in v3.10.0

func (i GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutput() GetIpv6EgressRulesRuleArrayOutput

func (GetIpv6EgressRulesRuleArray) ToGetIpv6EgressRulesRuleArrayOutputWithContext added in v3.10.0

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

type GetIpv6EgressRulesRuleArrayInput added in v3.10.0

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 added in v3.10.0

type GetIpv6EgressRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6EgressRulesRuleArrayOutput) ElementType added in v3.10.0

func (GetIpv6EgressRulesRuleArrayOutput) Index added in v3.10.0

func (GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutput added in v3.10.0

func (o GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutput() GetIpv6EgressRulesRuleArrayOutput

func (GetIpv6EgressRulesRuleArrayOutput) ToGetIpv6EgressRulesRuleArrayOutputWithContext added in v3.10.0

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

type GetIpv6EgressRulesRuleInput added in v3.10.0

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 added in v3.10.0

type GetIpv6EgressRulesRuleOutput struct{ *pulumi.OutputState }

func (GetIpv6EgressRulesRuleOutput) Description added in v3.10.0

The description of the egress-only rule.

func (GetIpv6EgressRulesRuleOutput) ElementType added in v3.10.0

func (GetIpv6EgressRulesRuleOutput) Id added in v3.10.0

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

func (GetIpv6EgressRulesRuleOutput) InstanceId added in v3.10.0

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

func (GetIpv6EgressRulesRuleOutput) InstanceType added in v3.10.0

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

func (GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleId added in v3.10.0

func (o GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleId() pulumi.StringOutput

The first ID of the resource.

func (GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleName added in v3.10.0

func (o GetIpv6EgressRulesRuleOutput) Ipv6EgressRuleName() pulumi.StringOutput

The name of the resource.

func (GetIpv6EgressRulesRuleOutput) Ipv6GatewayId added in v3.10.0

The ID of the IPv6 gateway.

func (GetIpv6EgressRulesRuleOutput) Status added in v3.10.0

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

func (GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutput added in v3.10.0

func (o GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutput() GetIpv6EgressRulesRuleOutput

func (GetIpv6EgressRulesRuleOutput) ToGetIpv6EgressRulesRuleOutputWithContext added in v3.10.0

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

type GetIpv6GatewaysArgs added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (GetIpv6GatewaysGatewayArgs) ElementType() reflect.Type

func (GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutput added in v3.10.0

func (i GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutput() GetIpv6GatewaysGatewayOutput

func (GetIpv6GatewaysGatewayArgs) ToGetIpv6GatewaysGatewayOutputWithContext added in v3.10.0

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

type GetIpv6GatewaysGatewayArray added in v3.10.0

type GetIpv6GatewaysGatewayArray []GetIpv6GatewaysGatewayInput

func (GetIpv6GatewaysGatewayArray) ElementType added in v3.10.0

func (GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutput added in v3.10.0

func (i GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutput() GetIpv6GatewaysGatewayArrayOutput

func (GetIpv6GatewaysGatewayArray) ToGetIpv6GatewaysGatewayArrayOutputWithContext added in v3.10.0

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

type GetIpv6GatewaysGatewayArrayInput added in v3.10.0

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 added in v3.10.0

type GetIpv6GatewaysGatewayArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6GatewaysGatewayArrayOutput) ElementType added in v3.10.0

func (GetIpv6GatewaysGatewayArrayOutput) Index added in v3.10.0

func (GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutput added in v3.10.0

func (o GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutput() GetIpv6GatewaysGatewayArrayOutput

func (GetIpv6GatewaysGatewayArrayOutput) ToGetIpv6GatewaysGatewayArrayOutputWithContext added in v3.10.0

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

type GetIpv6GatewaysGatewayInput added in v3.10.0

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 added in v3.10.0

type GetIpv6GatewaysGatewayOutput struct{ *pulumi.OutputState }

func (GetIpv6GatewaysGatewayOutput) BusinessStatus added in v3.10.0

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 added in v3.10.0

The creation time of the resource.

func (GetIpv6GatewaysGatewayOutput) Description added in v3.10.0

The description of the IPv6 gateway.

func (GetIpv6GatewaysGatewayOutput) ElementType added in v3.10.0

func (GetIpv6GatewaysGatewayOutput) ExpiredTime added in v3.10.0

The time when the IPv6 gateway expires.

func (GetIpv6GatewaysGatewayOutput) Id added in v3.10.0

The ID of the Ipv6 Gateway.

func (GetIpv6GatewaysGatewayOutput) InstanceChargeType added in v3.10.0

func (o GetIpv6GatewaysGatewayOutput) InstanceChargeType() pulumi.StringOutput

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

func (GetIpv6GatewaysGatewayOutput) Ipv6GatewayId added in v3.10.0

The first ID of the resource.

func (GetIpv6GatewaysGatewayOutput) Ipv6GatewayName added in v3.10.0

func (o GetIpv6GatewaysGatewayOutput) Ipv6GatewayName() pulumi.StringOutput

The name of the IPv6 gateway.

func (GetIpv6GatewaysGatewayOutput) Spec added in v3.10.0

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 added in v3.10.0

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

func (GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutput added in v3.10.0

func (o GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutput() GetIpv6GatewaysGatewayOutput

func (GetIpv6GatewaysGatewayOutput) ToGetIpv6GatewaysGatewayOutputWithContext added in v3.10.0

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

func (GetIpv6GatewaysGatewayOutput) VpcId added in v3.10.0

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

type GetIpv6GatewaysOutputArgs added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

func (GetIpv6GatewaysOutputArgs) ElementType() reflect.Type

type GetIpv6GatewaysResult added in v3.10.0

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 added in v3.10.0

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

)

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 added in v3.10.0

type GetIpv6GatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6Gateways.

func GetIpv6GatewaysOutput added in v3.10.0

func (GetIpv6GatewaysResultOutput) ElementType added in v3.10.0

func (GetIpv6GatewaysResultOutput) Gateways added in v3.10.0

func (GetIpv6GatewaysResultOutput) Id added in v3.10.0

The provider-assigned unique ID for this managed resource.

func (GetIpv6GatewaysResultOutput) Ids added in v3.10.0

func (GetIpv6GatewaysResultOutput) Ipv6GatewayName added in v3.10.0

func (GetIpv6GatewaysResultOutput) NameRegex added in v3.10.0

func (GetIpv6GatewaysResultOutput) Names added in v3.10.0

func (GetIpv6GatewaysResultOutput) OutputFile added in v3.10.0

func (GetIpv6GatewaysResultOutput) Status added in v3.10.0

func (GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutput added in v3.10.0

func (o GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutput() GetIpv6GatewaysResultOutput

func (GetIpv6GatewaysResultOutput) ToGetIpv6GatewaysResultOutputWithContext added in v3.10.0

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

func (GetIpv6GatewaysResultOutput) VpcId added in v3.10.0

type GetIpv6InternetBandwidthsArgs added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutput added in v3.10.0

func (i GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutput() GetIpv6InternetBandwidthsBandwidthOutput

func (GetIpv6InternetBandwidthsBandwidthArgs) ToGetIpv6InternetBandwidthsBandwidthOutputWithContext added in v3.10.0

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

type GetIpv6InternetBandwidthsBandwidthArray added in v3.10.0

type GetIpv6InternetBandwidthsBandwidthArray []GetIpv6InternetBandwidthsBandwidthInput

func (GetIpv6InternetBandwidthsBandwidthArray) ElementType added in v3.10.0

func (GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutput added in v3.10.0

func (i GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutput() GetIpv6InternetBandwidthsBandwidthArrayOutput

func (GetIpv6InternetBandwidthsBandwidthArray) ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext added in v3.10.0

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

type GetIpv6InternetBandwidthsBandwidthArrayInput added in v3.10.0

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 added in v3.10.0

type GetIpv6InternetBandwidthsBandwidthArrayOutput struct{ *pulumi.OutputState }

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) ElementType added in v3.10.0

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) Index added in v3.10.0

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutput added in v3.10.0

func (o GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutput() GetIpv6InternetBandwidthsBandwidthArrayOutput

func (GetIpv6InternetBandwidthsBandwidthArrayOutput) ToGetIpv6InternetBandwidthsBandwidthArrayOutputWithContext added in v3.10.0

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

type GetIpv6InternetBandwidthsBandwidthInput added in v3.10.0

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 added in v3.10.0

type GetIpv6InternetBandwidthsBandwidthOutput struct{ *pulumi.OutputState }

func (GetIpv6InternetBandwidthsBandwidthOutput) Bandwidth added in v3.10.0

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

func (GetIpv6InternetBandwidthsBandwidthOutput) ElementType added in v3.10.0

func (GetIpv6InternetBandwidthsBandwidthOutput) Id added in v3.10.0

The ID of the Ipv6 Internet Bandwidth.

func (GetIpv6InternetBandwidthsBandwidthOutput) InternetChargeType added in v3.10.0

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

func (GetIpv6InternetBandwidthsBandwidthOutput) Ipv6AddressId added in v3.10.0

The ID of the IPv6 address.

func (GetIpv6InternetBandwidthsBandwidthOutput) Ipv6GatewayId added in v3.10.0

The ID of the IPv6 gateway.

func (GetIpv6InternetBandwidthsBandwidthOutput) Ipv6InternetBandwidthId added in v3.10.0

func (o GetIpv6InternetBandwidthsBandwidthOutput) Ipv6InternetBandwidthId() pulumi.StringOutput

The ID of the Ipv6 Internet Bandwidth.

func (GetIpv6InternetBandwidthsBandwidthOutput) PaymentType added in v3.10.0

The payment type of the resource.

func (GetIpv6InternetBandwidthsBandwidthOutput) Status added in v3.10.0

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

func (GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutput added in v3.10.0

func (o GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutput() GetIpv6InternetBandwidthsBandwidthOutput

func (GetIpv6InternetBandwidthsBandwidthOutput) ToGetIpv6InternetBandwidthsBandwidthOutputWithContext added in v3.10.0

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

type GetIpv6InternetBandwidthsOutputArgs added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

type GetIpv6InternetBandwidthsResult added in v3.10.0

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 added in v3.10.0

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

)

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 added in v3.10.0

type GetIpv6InternetBandwidthsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIpv6InternetBandwidths.

func (GetIpv6InternetBandwidthsResultOutput) Bandwidths added in v3.10.0

func (GetIpv6InternetBandwidthsResultOutput) ElementType added in v3.10.0

func (GetIpv6InternetBandwidthsResultOutput) Id added in v3.10.0

The provider-assigned unique ID for this managed resource.

func (GetIpv6InternetBandwidthsResultOutput) Ids added in v3.10.0

func (GetIpv6InternetBandwidthsResultOutput) Ipv6AddressId added in v3.10.0

func (GetIpv6InternetBandwidthsResultOutput) Ipv6InternetBandwidthId added in v3.10.0

func (o GetIpv6InternetBandwidthsResultOutput) Ipv6InternetBandwidthId() pulumi.StringPtrOutput

func (GetIpv6InternetBandwidthsResultOutput) OutputFile added in v3.10.0

func (GetIpv6InternetBandwidthsResultOutput) Status added in v3.10.0

func (GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutput added in v3.10.0

func (o GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutput() GetIpv6InternetBandwidthsResultOutput

func (GetIpv6InternetBandwidthsResultOutput) ToGetIpv6InternetBandwidthsResultOutputWithContext added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The 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 added in v3.8.0

(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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The 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 added in v3.9.0

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 added in v3.9.0

type GetNatGatewaysResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNatGateways.

func GetNatGatewaysOutput added in v3.9.0

func GetNatGatewaysOutput(ctx *pulumi.Context, args GetNatGatewaysOutputArgs, opts ...pulumi.InvokeOption) GetNatGatewaysResultOutput

func (GetNatGatewaysResultOutput) DryRun added in v3.9.0

func (GetNatGatewaysResultOutput) ElementType added in v3.9.0

func (GetNatGatewaysResultOutput) ElementType() reflect.Type

func (GetNatGatewaysResultOutput) EnableDetails added in v3.9.0

func (GetNatGatewaysResultOutput) Gateways added in v3.9.0

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

func (GetNatGatewaysResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetNatGatewaysResultOutput) Ids added in v3.9.0

(Optional) A list of Nat gateways IDs.

func (GetNatGatewaysResultOutput) NameRegex added in v3.9.0

func (GetNatGatewaysResultOutput) Names added in v3.9.0

A list of Nat gateways names.

func (GetNatGatewaysResultOutput) NatGatewayName added in v3.9.0

The name of the NAT gateway.

func (GetNatGatewaysResultOutput) NatType added in v3.9.0

The type of the NAT gateway.

func (GetNatGatewaysResultOutput) OutputFile added in v3.9.0

func (GetNatGatewaysResultOutput) PageNumber added in v3.16.0

func (GetNatGatewaysResultOutput) PageSize added in v3.16.0

func (GetNatGatewaysResultOutput) PaymentType added in v3.9.0

The billing method of the NAT gateway.

func (GetNatGatewaysResultOutput) ResourceGroupId added in v3.9.0

The ID of the resource group.

func (GetNatGatewaysResultOutput) Specification added in v3.9.0

The specification of the NAT gateway.

func (GetNatGatewaysResultOutput) Status added in v3.9.0

The status of the NAT gateway.

func (GetNatGatewaysResultOutput) Tags added in v3.9.0

The tags of NAT gateway.

func (GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutput added in v3.9.0

func (o GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutput() GetNatGatewaysResultOutput

func (GetNatGatewaysResultOutput) ToGetNatGatewaysResultOutputWithContext added in v3.9.0

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

func (GetNatGatewaysResultOutput) TotalCount added in v3.16.0

func (GetNatGatewaysResultOutput) VpcId added in v3.9.0

The ID of the VPC.

type GetNatIpCidrsArgs added in v3.8.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

func (GetNatIpCidrsCidrArgs) ElementType() reflect.Type

func (GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutput added in v3.8.0

func (i GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutput() GetNatIpCidrsCidrOutput

func (GetNatIpCidrsCidrArgs) ToGetNatIpCidrsCidrOutputWithContext added in v3.8.0

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

type GetNatIpCidrsCidrArray added in v3.8.0

type GetNatIpCidrsCidrArray []GetNatIpCidrsCidrInput

func (GetNatIpCidrsCidrArray) ElementType added in v3.8.0

func (GetNatIpCidrsCidrArray) ElementType() reflect.Type

func (GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutput added in v3.8.0

func (i GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutput() GetNatIpCidrsCidrArrayOutput

func (GetNatIpCidrsCidrArray) ToGetNatIpCidrsCidrArrayOutputWithContext added in v3.8.0

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

type GetNatIpCidrsCidrArrayInput added in v3.8.0

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 added in v3.8.0

type GetNatIpCidrsCidrArrayOutput struct{ *pulumi.OutputState }

func (GetNatIpCidrsCidrArrayOutput) ElementType added in v3.8.0

func (GetNatIpCidrsCidrArrayOutput) Index added in v3.8.0

func (GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutput added in v3.8.0

func (o GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutput() GetNatIpCidrsCidrArrayOutput

func (GetNatIpCidrsCidrArrayOutput) ToGetNatIpCidrsCidrArrayOutputWithContext added in v3.8.0

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

type GetNatIpCidrsCidrInput added in v3.8.0

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 added in v3.8.0

type GetNatIpCidrsCidrOutput struct{ *pulumi.OutputState }

func (GetNatIpCidrsCidrOutput) CreateTime added in v3.8.0

The time when the CIDR block was created.

func (GetNatIpCidrsCidrOutput) ElementType added in v3.8.0

func (GetNatIpCidrsCidrOutput) ElementType() reflect.Type

func (GetNatIpCidrsCidrOutput) Id added in v3.8.0

The ID of the Nat Ip Cidr.

func (GetNatIpCidrsCidrOutput) IsDefault added in v3.8.0

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 added in v3.8.0

func (o GetNatIpCidrsCidrOutput) NatGatewayId() pulumi.StringOutput

The ID of the VPC NAT gateway.

func (GetNatIpCidrsCidrOutput) NatIpCidr added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

NAT IP ADDRESS instance ID.

func (GetNatIpCidrsCidrOutput) NatIpCidrName added in v3.8.0

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 added in v3.8.0

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

func (GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutput added in v3.8.0

func (o GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutput() GetNatIpCidrsCidrOutput

func (GetNatIpCidrsCidrOutput) ToGetNatIpCidrsCidrOutputWithContext added in v3.8.0

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

type GetNatIpCidrsOutputArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

func (GetNatIpCidrsOutputArgs) ElementType() reflect.Type

type GetNatIpCidrsResult added in v3.8.0

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 added in v3.8.0

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

)

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 added in v3.9.0

type GetNatIpCidrsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNatIpCidrs.

func GetNatIpCidrsOutput added in v3.9.0

func GetNatIpCidrsOutput(ctx *pulumi.Context, args GetNatIpCidrsOutputArgs, opts ...pulumi.InvokeOption) GetNatIpCidrsResultOutput

func (GetNatIpCidrsResultOutput) Cidrs added in v3.9.0

func (GetNatIpCidrsResultOutput) ElementType added in v3.9.0

func (GetNatIpCidrsResultOutput) ElementType() reflect.Type

func (GetNatIpCidrsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetNatIpCidrsResultOutput) Ids added in v3.9.0

func (GetNatIpCidrsResultOutput) NameRegex added in v3.9.0

func (GetNatIpCidrsResultOutput) Names added in v3.9.0

func (GetNatIpCidrsResultOutput) NatGatewayId added in v3.9.0

func (GetNatIpCidrsResultOutput) NatIpCidrNames added in v3.9.0

func (GetNatIpCidrsResultOutput) NatIpCidrs added in v3.9.0

func (GetNatIpCidrsResultOutput) OutputFile added in v3.9.0

func (GetNatIpCidrsResultOutput) Status added in v3.9.0

func (GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutput added in v3.9.0

func (o GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutput() GetNatIpCidrsResultOutput

func (GetNatIpCidrsResultOutput) ToGetNatIpCidrsResultOutputWithContext added in v3.9.0

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

type GetNatIpsArgs added in v3.8.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

func (GetNatIpsIpArgs) ElementType() reflect.Type

func (GetNatIpsIpArgs) ToGetNatIpsIpOutput added in v3.8.0

func (i GetNatIpsIpArgs) ToGetNatIpsIpOutput() GetNatIpsIpOutput

func (GetNatIpsIpArgs) ToGetNatIpsIpOutputWithContext added in v3.8.0

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

type GetNatIpsIpArray added in v3.8.0

type GetNatIpsIpArray []GetNatIpsIpInput

func (GetNatIpsIpArray) ElementType added in v3.8.0

func (GetNatIpsIpArray) ElementType() reflect.Type

func (GetNatIpsIpArray) ToGetNatIpsIpArrayOutput added in v3.8.0

func (i GetNatIpsIpArray) ToGetNatIpsIpArrayOutput() GetNatIpsIpArrayOutput

func (GetNatIpsIpArray) ToGetNatIpsIpArrayOutputWithContext added in v3.8.0

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

type GetNatIpsIpArrayInput added in v3.8.0

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 added in v3.8.0

type GetNatIpsIpArrayOutput struct{ *pulumi.OutputState }

func (GetNatIpsIpArrayOutput) ElementType added in v3.8.0

func (GetNatIpsIpArrayOutput) ElementType() reflect.Type

func (GetNatIpsIpArrayOutput) Index added in v3.8.0

func (GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutput added in v3.8.0

func (o GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutput() GetNatIpsIpArrayOutput

func (GetNatIpsIpArrayOutput) ToGetNatIpsIpArrayOutputWithContext added in v3.8.0

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

type GetNatIpsIpInput added in v3.8.0

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 added in v3.8.0

type GetNatIpsIpOutput struct{ *pulumi.OutputState }

func (GetNatIpsIpOutput) ElementType added in v3.8.0

func (GetNatIpsIpOutput) ElementType() reflect.Type

func (GetNatIpsIpOutput) Id added in v3.8.0

The ID of the Nat Ip.

func (GetNatIpsIpOutput) IsDefault added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

The NAT IP address that is queried.

func (GetNatIpsIpOutput) NatIpCidr added in v3.8.0

func (o GetNatIpsIpOutput) NatIpCidr() pulumi.StringOutput

The CIDR block to which the NAT IP address belongs.

func (GetNatIpsIpOutput) NatIpDescription added in v3.8.0

func (o GetNatIpsIpOutput) NatIpDescription() pulumi.StringOutput

The description of the NAT IP address.

func (GetNatIpsIpOutput) NatIpId added in v3.8.0

The ID of the NAT IP address.

func (GetNatIpsIpOutput) NatIpName added in v3.8.0

func (o GetNatIpsIpOutput) NatIpName() pulumi.StringOutput

The name of the NAT IP address.

func (GetNatIpsIpOutput) Status added in v3.8.0

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

func (GetNatIpsIpOutput) ToGetNatIpsIpOutput added in v3.8.0

func (o GetNatIpsIpOutput) ToGetNatIpsIpOutput() GetNatIpsIpOutput

func (GetNatIpsIpOutput) ToGetNatIpsIpOutputWithContext added in v3.8.0

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

type GetNatIpsOutputArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

func (GetNatIpsOutputArgs) ElementType() reflect.Type

type GetNatIpsResult added in v3.8.0

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 added in v3.8.0

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

)

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 added in v3.9.0

type GetNatIpsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNatIps.

func GetNatIpsOutput added in v3.9.0

func GetNatIpsOutput(ctx *pulumi.Context, args GetNatIpsOutputArgs, opts ...pulumi.InvokeOption) GetNatIpsResultOutput

func (GetNatIpsResultOutput) ElementType added in v3.9.0

func (GetNatIpsResultOutput) ElementType() reflect.Type

func (GetNatIpsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetNatIpsResultOutput) Ids added in v3.9.0

func (GetNatIpsResultOutput) Ips added in v3.9.0

func (GetNatIpsResultOutput) NameRegex added in v3.9.0

func (GetNatIpsResultOutput) Names added in v3.9.0

func (GetNatIpsResultOutput) NatGatewayId added in v3.9.0

func (o GetNatIpsResultOutput) NatGatewayId() pulumi.StringOutput

func (GetNatIpsResultOutput) NatIpCidr added in v3.9.0

func (GetNatIpsResultOutput) NatIpIds added in v3.9.0

func (GetNatIpsResultOutput) NatIpNames added in v3.9.0

func (GetNatIpsResultOutput) OutputFile added in v3.9.0

func (GetNatIpsResultOutput) Status added in v3.9.0

func (GetNatIpsResultOutput) ToGetNatIpsResultOutput added in v3.9.0

func (o GetNatIpsResultOutput) ToGetNatIpsResultOutput() GetNatIpsResultOutput

func (GetNatIpsResultOutput) ToGetNatIpsResultOutputWithContext added in v3.9.0

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

type GetNetworkAclsAcl added in v3.1.0

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 added in v3.1.0

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 added in v3.1.0

func (GetNetworkAclsAclArgs) ElementType() reflect.Type

func (GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutput added in v3.1.0

func (i GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutput() GetNetworkAclsAclOutput

func (GetNetworkAclsAclArgs) ToGetNetworkAclsAclOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclArray added in v3.1.0

type GetNetworkAclsAclArray []GetNetworkAclsAclInput

func (GetNetworkAclsAclArray) ElementType added in v3.1.0

func (GetNetworkAclsAclArray) ElementType() reflect.Type

func (GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutput added in v3.1.0

func (i GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutput() GetNetworkAclsAclArrayOutput

func (GetNetworkAclsAclArray) ToGetNetworkAclsAclArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclArrayInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclArrayOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclArrayOutput) Index added in v3.1.0

func (GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutput added in v3.1.0

func (o GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutput() GetNetworkAclsAclArrayOutput

func (GetNetworkAclsAclArrayOutput) ToGetNetworkAclsAclArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclEgressAclEntry added in v3.1.0

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 added in v3.1.0

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 added in v3.1.0

func (GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutput added in v3.1.0

func (i GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutput() GetNetworkAclsAclEgressAclEntryOutput

func (GetNetworkAclsAclEgressAclEntryArgs) ToGetNetworkAclsAclEgressAclEntryOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclEgressAclEntryArray added in v3.1.0

type GetNetworkAclsAclEgressAclEntryArray []GetNetworkAclsAclEgressAclEntryInput

func (GetNetworkAclsAclEgressAclEntryArray) ElementType added in v3.1.0

func (GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutput added in v3.1.0

func (i GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutput() GetNetworkAclsAclEgressAclEntryArrayOutput

func (GetNetworkAclsAclEgressAclEntryArray) ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclEgressAclEntryArrayInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclEgressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclEgressAclEntryArrayOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclEgressAclEntryArrayOutput) Index added in v3.1.0

func (GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutput added in v3.1.0

func (o GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutput() GetNetworkAclsAclEgressAclEntryArrayOutput

func (GetNetworkAclsAclEgressAclEntryArrayOutput) ToGetNetworkAclsAclEgressAclEntryArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclEgressAclEntryInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclEgressAclEntryOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclEgressAclEntryOutput) Description added in v3.1.0

Description of the entry direction rule.

func (GetNetworkAclsAclEgressAclEntryOutput) DestinationCidrIp added in v3.1.0

The destination address segment.

func (GetNetworkAclsAclEgressAclEntryOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclEgressAclEntryOutput) NetworkAclEntryName added in v3.1.0

The name of the entry direction rule entry.

func (GetNetworkAclsAclEgressAclEntryOutput) Policy added in v3.1.0

The authorization policy.

func (GetNetworkAclsAclEgressAclEntryOutput) Port added in v3.1.0

Source port range.

func (GetNetworkAclsAclEgressAclEntryOutput) Protocol added in v3.1.0

Transport layer protocol.

func (GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutput added in v3.1.0

func (o GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutput() GetNetworkAclsAclEgressAclEntryOutput

func (GetNetworkAclsAclEgressAclEntryOutput) ToGetNetworkAclsAclEgressAclEntryOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclIngressAclEntry added in v3.1.0

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 added in v3.1.0

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 added in v3.1.0

func (GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutput added in v3.1.0

func (i GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutput() GetNetworkAclsAclIngressAclEntryOutput

func (GetNetworkAclsAclIngressAclEntryArgs) ToGetNetworkAclsAclIngressAclEntryOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclIngressAclEntryArray added in v3.1.0

type GetNetworkAclsAclIngressAclEntryArray []GetNetworkAclsAclIngressAclEntryInput

func (GetNetworkAclsAclIngressAclEntryArray) ElementType added in v3.1.0

func (GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutput added in v3.1.0

func (i GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutput() GetNetworkAclsAclIngressAclEntryArrayOutput

func (GetNetworkAclsAclIngressAclEntryArray) ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclIngressAclEntryArrayInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclIngressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclIngressAclEntryArrayOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclIngressAclEntryArrayOutput) Index added in v3.1.0

func (GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutput added in v3.1.0

func (o GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutput() GetNetworkAclsAclIngressAclEntryArrayOutput

func (GetNetworkAclsAclIngressAclEntryArrayOutput) ToGetNetworkAclsAclIngressAclEntryArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclIngressAclEntryInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclIngressAclEntryOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclIngressAclEntryOutput) Description added in v3.1.0

Description of the entry direction rule.

func (GetNetworkAclsAclIngressAclEntryOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclIngressAclEntryOutput) NetworkAclEntryName added in v3.1.0

The name of the entry direction rule entry.

func (GetNetworkAclsAclIngressAclEntryOutput) Policy added in v3.1.0

The authorization policy.

func (GetNetworkAclsAclIngressAclEntryOutput) Port added in v3.1.0

Source port range.

func (GetNetworkAclsAclIngressAclEntryOutput) Protocol added in v3.1.0

Transport layer protocol.

func (GetNetworkAclsAclIngressAclEntryOutput) SourceCidrIp added in v3.1.0

The source address field.

func (GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutput added in v3.1.0

func (o GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutput() GetNetworkAclsAclIngressAclEntryOutput

func (GetNetworkAclsAclIngressAclEntryOutput) ToGetNetworkAclsAclIngressAclEntryOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclOutput) Description added in v3.1.0

Description of the entry direction rule.

func (GetNetworkAclsAclOutput) EgressAclEntries added in v3.1.0

Output direction rule information.

func (GetNetworkAclsAclOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclOutput) ElementType() reflect.Type

func (GetNetworkAclsAclOutput) Id added in v3.1.0

The ID of the Network Acl.

func (GetNetworkAclsAclOutput) IngressAclEntries added in v3.1.0

Entry direction rule information.

func (GetNetworkAclsAclOutput) NetworkAclId added in v3.1.0

func (o GetNetworkAclsAclOutput) NetworkAclId() pulumi.StringOutput

The first ID of the resource.

func (GetNetworkAclsAclOutput) NetworkAclName added in v3.1.0

func (o GetNetworkAclsAclOutput) NetworkAclName() pulumi.StringOutput

The name of the network ACL.

func (GetNetworkAclsAclOutput) Resources added in v3.1.0

The associated resource.

func (GetNetworkAclsAclOutput) Status added in v3.1.0

The state of the network ACL.

func (GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutput added in v3.1.0

func (o GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutput() GetNetworkAclsAclOutput

func (GetNetworkAclsAclOutput) ToGetNetworkAclsAclOutputWithContext added in v3.1.0

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

func (GetNetworkAclsAclOutput) VpcId added in v3.1.0

The ID of the associated VPC.

type GetNetworkAclsAclResource added in v3.1.0

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 added in v3.1.0

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 added in v3.1.0

func (GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutput added in v3.1.0

func (i GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutput() GetNetworkAclsAclResourceOutput

func (GetNetworkAclsAclResourceArgs) ToGetNetworkAclsAclResourceOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclResourceArray added in v3.1.0

type GetNetworkAclsAclResourceArray []GetNetworkAclsAclResourceInput

func (GetNetworkAclsAclResourceArray) ElementType added in v3.1.0

func (GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutput added in v3.1.0

func (i GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutput() GetNetworkAclsAclResourceArrayOutput

func (GetNetworkAclsAclResourceArray) ToGetNetworkAclsAclResourceArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclResourceArrayInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclResourceArrayOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclResourceArrayOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclResourceArrayOutput) Index added in v3.1.0

func (GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutput added in v3.1.0

func (o GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutput() GetNetworkAclsAclResourceArrayOutput

func (GetNetworkAclsAclResourceArrayOutput) ToGetNetworkAclsAclResourceArrayOutputWithContext added in v3.1.0

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

type GetNetworkAclsAclResourceInput added in v3.1.0

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 added in v3.1.0

type GetNetworkAclsAclResourceOutput struct{ *pulumi.OutputState }

func (GetNetworkAclsAclResourceOutput) ElementType added in v3.1.0

func (GetNetworkAclsAclResourceOutput) ResourceId added in v3.1.0

The ID of the associated resource.

func (GetNetworkAclsAclResourceOutput) ResourceType added in v3.1.0

The type of the associated resource.

func (GetNetworkAclsAclResourceOutput) Status added in v3.1.0

The state of the network ACL.

func (GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutput added in v3.1.0

func (o GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutput() GetNetworkAclsAclResourceOutput

func (GetNetworkAclsAclResourceOutput) ToGetNetworkAclsAclResourceOutputWithContext added in v3.1.0

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

type GetNetworkAclsArgs added in v3.1.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

func (GetNetworkAclsOutputArgs) ElementType() reflect.Type

type GetNetworkAclsResult added in v3.1.0

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 added in v3.1.0

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

)

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 added in v3.9.0

type GetNetworkAclsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNetworkAcls.

func GetNetworkAclsOutput added in v3.9.0

func GetNetworkAclsOutput(ctx *pulumi.Context, args GetNetworkAclsOutputArgs, opts ...pulumi.InvokeOption) GetNetworkAclsResultOutput

func (GetNetworkAclsResultOutput) Acls added in v3.9.0

func (GetNetworkAclsResultOutput) ElementType added in v3.9.0

func (GetNetworkAclsResultOutput) ElementType() reflect.Type

func (GetNetworkAclsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetNetworkAclsResultOutput) Ids added in v3.9.0

func (GetNetworkAclsResultOutput) NameRegex added in v3.9.0

func (GetNetworkAclsResultOutput) Names added in v3.9.0

func (GetNetworkAclsResultOutput) NetworkAclName added in v3.9.0

func (GetNetworkAclsResultOutput) OutputFile added in v3.9.0

func (GetNetworkAclsResultOutput) ResourceId added in v3.9.0

func (GetNetworkAclsResultOutput) ResourceType added in v3.9.0

func (GetNetworkAclsResultOutput) Status added in v3.9.0

func (GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutput added in v3.9.0

func (o GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutput() GetNetworkAclsResultOutput

func (GetNetworkAclsResultOutput) ToGetNetworkAclsResultOutputWithContext added in v3.9.0

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

func (GetNetworkAclsResultOutput) VpcId added in v3.9.0

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"`
	// 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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The 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 added in v3.9.0

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"`
	// 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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The 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 added in v3.9.0

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

)

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

```

type GetNetworksResultOutput added in v3.9.0

type GetNetworksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getNetworks.

func GetNetworksOutput added in v3.9.0

func GetNetworksOutput(ctx *pulumi.Context, args GetNetworksOutputArgs, opts ...pulumi.InvokeOption) GetNetworksResultOutput

func (GetNetworksResultOutput) CidrBlock added in v3.9.0

CIDR block of the VPC.

func (GetNetworksResultOutput) DhcpOptionsSetId added in v3.9.0

func (o GetNetworksResultOutput) DhcpOptionsSetId() pulumi.StringPtrOutput

func (GetNetworksResultOutput) DryRun added in v3.9.0

func (GetNetworksResultOutput) ElementType added in v3.9.0

func (GetNetworksResultOutput) ElementType() reflect.Type

func (GetNetworksResultOutput) EnableDetails added in v3.9.0

func (o GetNetworksResultOutput) EnableDetails() pulumi.BoolPtrOutput

func (GetNetworksResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetNetworksResultOutput) Ids added in v3.9.0

A list of VPC IDs.

func (GetNetworksResultOutput) IsDefault added in v3.9.0

Whether the VPC is the default VPC in the region.

func (GetNetworksResultOutput) NameRegex added in v3.9.0

func (GetNetworksResultOutput) Names added in v3.9.0

A list of VPC names.

func (GetNetworksResultOutput) OutputFile added in v3.9.0

func (GetNetworksResultOutput) PageNumber added in v3.16.0

func (GetNetworksResultOutput) PageSize added in v3.16.0

func (GetNetworksResultOutput) ResourceGroupId added in v3.9.0

func (o GetNetworksResultOutput) ResourceGroupId() pulumi.StringPtrOutput

func (GetNetworksResultOutput) Status added in v3.9.0

Status of the VPC.

func (GetNetworksResultOutput) Tags added in v3.9.0

A map of tags assigned to the VPC.

func (GetNetworksResultOutput) ToGetNetworksResultOutput added in v3.9.0

func (o GetNetworksResultOutput) ToGetNetworksResultOutput() GetNetworksResultOutput

func (GetNetworksResultOutput) ToGetNetworksResultOutputWithContext added in v3.9.0

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

func (GetNetworksResultOutput) TotalCount added in v3.16.0

func (o GetNetworksResultOutput) TotalCount() pulumi.IntOutput

func (GetNetworksResultOutput) VpcName added in v3.9.0

Name of the VPC.

func (GetNetworksResultOutput) VpcOwnerId added in v3.9.0

func (GetNetworksResultOutput) Vpcs added in v3.9.0

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

func (GetNetworksResultOutput) VswitchId added in v3.9.0

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 added in v3.20.0

type GetPbrRouteEntriesArgs struct {
	// A list of VPN Pbr Route Entries IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the VPN gateway.
	VpnGatewayId string `pulumi:"vpnGatewayId"`
}

A collection of arguments for invoking getPbrRouteEntries.

type GetPbrRouteEntriesEntry added in v3.20.0

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 added in v3.20.0

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 added in v3.20.0

func (GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutput added in v3.20.0

func (i GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutput() GetPbrRouteEntriesEntryOutput

func (GetPbrRouteEntriesEntryArgs) ToGetPbrRouteEntriesEntryOutputWithContext added in v3.20.0

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

type GetPbrRouteEntriesEntryArray added in v3.20.0

type GetPbrRouteEntriesEntryArray []GetPbrRouteEntriesEntryInput

func (GetPbrRouteEntriesEntryArray) ElementType added in v3.20.0

func (GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutput added in v3.20.0

func (i GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutput() GetPbrRouteEntriesEntryArrayOutput

func (GetPbrRouteEntriesEntryArray) ToGetPbrRouteEntriesEntryArrayOutputWithContext added in v3.20.0

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

type GetPbrRouteEntriesEntryArrayInput added in v3.20.0

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 added in v3.20.0

type GetPbrRouteEntriesEntryArrayOutput struct{ *pulumi.OutputState }

func (GetPbrRouteEntriesEntryArrayOutput) ElementType added in v3.20.0

func (GetPbrRouteEntriesEntryArrayOutput) Index added in v3.20.0

func (GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutput added in v3.20.0

func (o GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutput() GetPbrRouteEntriesEntryArrayOutput

func (GetPbrRouteEntriesEntryArrayOutput) ToGetPbrRouteEntriesEntryArrayOutputWithContext added in v3.20.0

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

type GetPbrRouteEntriesEntryInput added in v3.20.0

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 added in v3.20.0

type GetPbrRouteEntriesEntryOutput struct{ *pulumi.OutputState }

func (GetPbrRouteEntriesEntryOutput) CreateTime added in v3.20.0

The creation time of the VPN Pbr Route Entry.

func (GetPbrRouteEntriesEntryOutput) ElementType added in v3.20.0

func (GetPbrRouteEntriesEntryOutput) Id added in v3.20.0

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

func (GetPbrRouteEntriesEntryOutput) NextHop added in v3.20.0

The next hop of the policy-based route.

func (GetPbrRouteEntriesEntryOutput) RouteDest added in v3.20.0

The destination CIDR block of the policy-based route.

func (GetPbrRouteEntriesEntryOutput) RouteSource added in v3.20.0

The source CIDR block of the policy-based route.

func (GetPbrRouteEntriesEntryOutput) Status added in v3.20.0

The status of the VPN Pbr Route Entry.

func (GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutput added in v3.20.0

func (o GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutput() GetPbrRouteEntriesEntryOutput

func (GetPbrRouteEntriesEntryOutput) ToGetPbrRouteEntriesEntryOutputWithContext added in v3.20.0

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

func (GetPbrRouteEntriesEntryOutput) VpnGatewayId added in v3.20.0

The ID of the VPN gateway.

func (GetPbrRouteEntriesEntryOutput) Weight added in v3.20.0

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

type GetPbrRouteEntriesOutputArgs added in v3.20.0

type GetPbrRouteEntriesOutputArgs struct {
	// A list of VPN Pbr Route Entries IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.20.0

type GetPbrRouteEntriesResult added in v3.20.0

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 added in v3.20.0

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

)

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 added in v3.20.0

type GetPbrRouteEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPbrRouteEntries.

func GetPbrRouteEntriesOutput added in v3.20.0

func (GetPbrRouteEntriesResultOutput) ElementType added in v3.20.0

func (GetPbrRouteEntriesResultOutput) Entries added in v3.20.0

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

func (GetPbrRouteEntriesResultOutput) Id added in v3.20.0

The provider-assigned unique ID for this managed resource.

func (GetPbrRouteEntriesResultOutput) Ids added in v3.20.0

func (GetPbrRouteEntriesResultOutput) OutputFile added in v3.20.0

func (GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutput added in v3.20.0

func (o GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutput() GetPbrRouteEntriesResultOutput

func (GetPbrRouteEntriesResultOutput) ToGetPbrRouteEntriesResultOutputWithContext added in v3.20.0

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

func (GetPbrRouteEntriesResultOutput) VpnGatewayId added in v3.20.0

The ID of the vpn gateway.

type GetPeerConnectionsArgs added in v3.29.0

type GetPeerConnectionsArgs struct {
	// A list of PeerConnection IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by PeerConnection name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The name of the resource.
	PeerConnectionName *string `pulumi:"peerConnectionName"`
	// The status of the resource.
	Status *string `pulumi:"status"`
	// The ID of the requester VPC.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getPeerConnections.

type GetPeerConnectionsConnection added in v3.29.0

type GetPeerConnectionsConnection struct {
	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.
	AcceptingAliUid int `pulumi:"acceptingAliUid"`
	// The region ID of the recipient of the VPC peering connection to be created.
	AcceptingRegionId string `pulumi:"acceptingRegionId"`
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId string `pulumi:"acceptingVpcId"`
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps.
	Bandwidth int `pulumi:"bandwidth"`
	// The creation time of the resource.
	CreateTime string `pulumi:"createTime"`
	// The description of the VPC peer connection to be created.
	Description string `pulumi:"description"`
	// The ID of the PeerConnection.
	Id string `pulumi:"id"`
	// The first ID of the resource.
	PeerConnectionId string `pulumi:"peerConnectionId"`
	// The name of the resource.
	PeerConnectionName string `pulumi:"peerConnectionName"`
	// The status of the resource.
	Status string `pulumi:"status"`
	// The ID of the requester VPC.
	VpcId string `pulumi:"vpcId"`
}

type GetPeerConnectionsConnectionArgs added in v3.29.0

type GetPeerConnectionsConnectionArgs struct {
	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.
	AcceptingAliUid pulumi.IntInput `pulumi:"acceptingAliUid"`
	// The region ID of the recipient of the VPC peering connection to be created.
	AcceptingRegionId pulumi.StringInput `pulumi:"acceptingRegionId"`
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId pulumi.StringInput `pulumi:"acceptingVpcId"`
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// The creation time of the resource.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The description of the VPC peer connection to be created.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the PeerConnection.
	Id pulumi.StringInput `pulumi:"id"`
	// The first ID of the resource.
	PeerConnectionId pulumi.StringInput `pulumi:"peerConnectionId"`
	// The name of the resource.
	PeerConnectionName pulumi.StringInput `pulumi:"peerConnectionName"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the requester VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetPeerConnectionsConnectionArgs) ElementType added in v3.29.0

func (GetPeerConnectionsConnectionArgs) ToGetPeerConnectionsConnectionOutput added in v3.29.0

func (i GetPeerConnectionsConnectionArgs) ToGetPeerConnectionsConnectionOutput() GetPeerConnectionsConnectionOutput

func (GetPeerConnectionsConnectionArgs) ToGetPeerConnectionsConnectionOutputWithContext added in v3.29.0

func (i GetPeerConnectionsConnectionArgs) ToGetPeerConnectionsConnectionOutputWithContext(ctx context.Context) GetPeerConnectionsConnectionOutput

type GetPeerConnectionsConnectionArray added in v3.29.0

type GetPeerConnectionsConnectionArray []GetPeerConnectionsConnectionInput

func (GetPeerConnectionsConnectionArray) ElementType added in v3.29.0

func (GetPeerConnectionsConnectionArray) ToGetPeerConnectionsConnectionArrayOutput added in v3.29.0

func (i GetPeerConnectionsConnectionArray) ToGetPeerConnectionsConnectionArrayOutput() GetPeerConnectionsConnectionArrayOutput

func (GetPeerConnectionsConnectionArray) ToGetPeerConnectionsConnectionArrayOutputWithContext added in v3.29.0

func (i GetPeerConnectionsConnectionArray) ToGetPeerConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetPeerConnectionsConnectionArrayOutput

type GetPeerConnectionsConnectionArrayInput added in v3.29.0

type GetPeerConnectionsConnectionArrayInput interface {
	pulumi.Input

	ToGetPeerConnectionsConnectionArrayOutput() GetPeerConnectionsConnectionArrayOutput
	ToGetPeerConnectionsConnectionArrayOutputWithContext(context.Context) GetPeerConnectionsConnectionArrayOutput
}

GetPeerConnectionsConnectionArrayInput is an input type that accepts GetPeerConnectionsConnectionArray and GetPeerConnectionsConnectionArrayOutput values. You can construct a concrete instance of `GetPeerConnectionsConnectionArrayInput` via:

GetPeerConnectionsConnectionArray{ GetPeerConnectionsConnectionArgs{...} }

type GetPeerConnectionsConnectionArrayOutput added in v3.29.0

type GetPeerConnectionsConnectionArrayOutput struct{ *pulumi.OutputState }

func (GetPeerConnectionsConnectionArrayOutput) ElementType added in v3.29.0

func (GetPeerConnectionsConnectionArrayOutput) Index added in v3.29.0

func (GetPeerConnectionsConnectionArrayOutput) ToGetPeerConnectionsConnectionArrayOutput added in v3.29.0

func (o GetPeerConnectionsConnectionArrayOutput) ToGetPeerConnectionsConnectionArrayOutput() GetPeerConnectionsConnectionArrayOutput

func (GetPeerConnectionsConnectionArrayOutput) ToGetPeerConnectionsConnectionArrayOutputWithContext added in v3.29.0

func (o GetPeerConnectionsConnectionArrayOutput) ToGetPeerConnectionsConnectionArrayOutputWithContext(ctx context.Context) GetPeerConnectionsConnectionArrayOutput

type GetPeerConnectionsConnectionInput added in v3.29.0

type GetPeerConnectionsConnectionInput interface {
	pulumi.Input

	ToGetPeerConnectionsConnectionOutput() GetPeerConnectionsConnectionOutput
	ToGetPeerConnectionsConnectionOutputWithContext(context.Context) GetPeerConnectionsConnectionOutput
}

GetPeerConnectionsConnectionInput is an input type that accepts GetPeerConnectionsConnectionArgs and GetPeerConnectionsConnectionOutput values. You can construct a concrete instance of `GetPeerConnectionsConnectionInput` via:

GetPeerConnectionsConnectionArgs{...}

type GetPeerConnectionsConnectionOutput added in v3.29.0

type GetPeerConnectionsConnectionOutput struct{ *pulumi.OutputState }

func (GetPeerConnectionsConnectionOutput) AcceptingAliUid added in v3.29.0

The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.

func (GetPeerConnectionsConnectionOutput) AcceptingRegionId added in v3.29.0

The region ID of the recipient of the VPC peering connection to be created.

func (GetPeerConnectionsConnectionOutput) AcceptingVpcId added in v3.29.0

The VPC ID of the receiving end of the VPC peer connection.

func (GetPeerConnectionsConnectionOutput) Bandwidth added in v3.29.0

The bandwidth of the VPC peering connection to be modified. Unit: Mbps.

func (GetPeerConnectionsConnectionOutput) CreateTime added in v3.29.0

The creation time of the resource.

func (GetPeerConnectionsConnectionOutput) Description added in v3.29.0

The description of the VPC peer connection to be created.

func (GetPeerConnectionsConnectionOutput) ElementType added in v3.29.0

func (GetPeerConnectionsConnectionOutput) Id added in v3.29.0

The ID of the PeerConnection.

func (GetPeerConnectionsConnectionOutput) PeerConnectionId added in v3.29.0

The first ID of the resource.

func (GetPeerConnectionsConnectionOutput) PeerConnectionName added in v3.29.0

The name of the resource.

func (GetPeerConnectionsConnectionOutput) Status added in v3.29.0

The status of the resource.

func (GetPeerConnectionsConnectionOutput) ToGetPeerConnectionsConnectionOutput added in v3.29.0

func (o GetPeerConnectionsConnectionOutput) ToGetPeerConnectionsConnectionOutput() GetPeerConnectionsConnectionOutput

func (GetPeerConnectionsConnectionOutput) ToGetPeerConnectionsConnectionOutputWithContext added in v3.29.0

func (o GetPeerConnectionsConnectionOutput) ToGetPeerConnectionsConnectionOutputWithContext(ctx context.Context) GetPeerConnectionsConnectionOutput

func (GetPeerConnectionsConnectionOutput) VpcId added in v3.29.0

The ID of the requester VPC.

type GetPeerConnectionsOutputArgs added in v3.29.0

type GetPeerConnectionsOutputArgs struct {
	// A list of PeerConnection IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by PeerConnection name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The name of the resource.
	PeerConnectionName pulumi.StringPtrInput `pulumi:"peerConnectionName"`
	// The status of the resource.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the requester VPC.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getPeerConnections.

func (GetPeerConnectionsOutputArgs) ElementType added in v3.29.0

type GetPeerConnectionsResult added in v3.29.0

type GetPeerConnectionsResult struct {
	Connections []GetPeerConnectionsConnection `pulumi:"connections"`
	// 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"`
	PeerConnectionName *string  `pulumi:"peerConnectionName"`
	Status             *string  `pulumi:"status"`
	VpcId              *string  `pulumi:"vpcId"`
}

A collection of values returned by getPeerConnections.

func GetPeerConnections added in v3.29.0

func GetPeerConnections(ctx *pulumi.Context, args *GetPeerConnectionsArgs, opts ...pulumi.InvokeOption) (*GetPeerConnectionsResult, error)

This data source provides the Vpc Peer Connections of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetPeerConnections(ctx, nil, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPeerConnectionId1", ids.Connections[0].Id)
		nameRegex, err := vpc.GetPeerConnections(ctx, &vpc.GetPeerConnectionsArgs{
			NameRegex: pulumi.StringRef("^my-PeerConnection"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPeerConnectionId2", nameRegex.Connections[0].Id)
		return nil
	})
}

```

type GetPeerConnectionsResultOutput added in v3.29.0

type GetPeerConnectionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPeerConnections.

func GetPeerConnectionsOutput added in v3.29.0

func (GetPeerConnectionsResultOutput) Connections added in v3.29.0

func (GetPeerConnectionsResultOutput) ElementType added in v3.29.0

func (GetPeerConnectionsResultOutput) Id added in v3.29.0

The provider-assigned unique ID for this managed resource.

func (GetPeerConnectionsResultOutput) Ids added in v3.29.0

func (GetPeerConnectionsResultOutput) NameRegex added in v3.29.0

func (GetPeerConnectionsResultOutput) Names added in v3.29.0

func (GetPeerConnectionsResultOutput) OutputFile added in v3.29.0

func (GetPeerConnectionsResultOutput) PeerConnectionName added in v3.29.0

func (o GetPeerConnectionsResultOutput) PeerConnectionName() pulumi.StringPtrOutput

func (GetPeerConnectionsResultOutput) Status added in v3.29.0

func (GetPeerConnectionsResultOutput) ToGetPeerConnectionsResultOutput added in v3.29.0

func (o GetPeerConnectionsResultOutput) ToGetPeerConnectionsResultOutput() GetPeerConnectionsResultOutput

func (GetPeerConnectionsResultOutput) ToGetPeerConnectionsResultOutputWithContext added in v3.29.0

func (o GetPeerConnectionsResultOutput) ToGetPeerConnectionsResultOutputWithContext(ctx context.Context) GetPeerConnectionsResultOutput

func (GetPeerConnectionsResultOutput) VpcId added in v3.29.0

type GetPrefixListsArgs added in v3.29.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The name of the prefix list.
	PrefixListName *string `pulumi:"prefixListName"`
}

A collection of arguments for invoking getPrefixLists.

type GetPrefixListsList added in v3.29.0

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 added in v3.29.0

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 added in v3.29.0

func (GetPrefixListsListArgs) ElementType() reflect.Type

func (GetPrefixListsListArgs) ToGetPrefixListsListOutput added in v3.29.0

func (i GetPrefixListsListArgs) ToGetPrefixListsListOutput() GetPrefixListsListOutput

func (GetPrefixListsListArgs) ToGetPrefixListsListOutputWithContext added in v3.29.0

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

type GetPrefixListsListArray added in v3.29.0

type GetPrefixListsListArray []GetPrefixListsListInput

func (GetPrefixListsListArray) ElementType added in v3.29.0

func (GetPrefixListsListArray) ElementType() reflect.Type

func (GetPrefixListsListArray) ToGetPrefixListsListArrayOutput added in v3.29.0

func (i GetPrefixListsListArray) ToGetPrefixListsListArrayOutput() GetPrefixListsListArrayOutput

func (GetPrefixListsListArray) ToGetPrefixListsListArrayOutputWithContext added in v3.29.0

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

type GetPrefixListsListArrayInput added in v3.29.0

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 added in v3.29.0

type GetPrefixListsListArrayOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListArrayOutput) ElementType added in v3.29.0

func (GetPrefixListsListArrayOutput) Index added in v3.29.0

func (GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutput added in v3.29.0

func (o GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutput() GetPrefixListsListArrayOutput

func (GetPrefixListsListArrayOutput) ToGetPrefixListsListArrayOutputWithContext added in v3.29.0

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

type GetPrefixListsListEntry added in v3.29.0

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 added in v3.29.0

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 added in v3.29.0

func (GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutput added in v3.29.0

func (i GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutput() GetPrefixListsListEntryOutput

func (GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutputWithContext added in v3.29.0

func (i GetPrefixListsListEntryArgs) ToGetPrefixListsListEntryOutputWithContext(ctx context.Context) GetPrefixListsListEntryOutput

type GetPrefixListsListEntryArray added in v3.29.0

type GetPrefixListsListEntryArray []GetPrefixListsListEntryInput

func (GetPrefixListsListEntryArray) ElementType added in v3.29.0

func (GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutput added in v3.29.0

func (i GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutput() GetPrefixListsListEntryArrayOutput

func (GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutputWithContext added in v3.29.0

func (i GetPrefixListsListEntryArray) ToGetPrefixListsListEntryArrayOutputWithContext(ctx context.Context) GetPrefixListsListEntryArrayOutput

type GetPrefixListsListEntryArrayInput added in v3.29.0

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 added in v3.29.0

type GetPrefixListsListEntryArrayOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListEntryArrayOutput) ElementType added in v3.29.0

func (GetPrefixListsListEntryArrayOutput) Index added in v3.29.0

func (GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutput added in v3.29.0

func (o GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutput() GetPrefixListsListEntryArrayOutput

func (GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutputWithContext added in v3.29.0

func (o GetPrefixListsListEntryArrayOutput) ToGetPrefixListsListEntryArrayOutputWithContext(ctx context.Context) GetPrefixListsListEntryArrayOutput

type GetPrefixListsListEntryInput added in v3.29.0

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 added in v3.29.0

type GetPrefixListsListEntryOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListEntryOutput) Cidr added in v3.29.0

The CIDR address block of the prefix list.

func (GetPrefixListsListEntryOutput) Description added in v3.29.0

The description of the cidr entry.

func (GetPrefixListsListEntryOutput) ElementType added in v3.29.0

func (GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutput added in v3.29.0

func (o GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutput() GetPrefixListsListEntryOutput

func (GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutputWithContext added in v3.29.0

func (o GetPrefixListsListEntryOutput) ToGetPrefixListsListEntryOutputWithContext(ctx context.Context) GetPrefixListsListEntryOutput

type GetPrefixListsListInput added in v3.29.0

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 added in v3.29.0

type GetPrefixListsListOutput struct{ *pulumi.OutputState }

func (GetPrefixListsListOutput) CreateTime added in v3.29.0

The time when the prefix list was created.

func (GetPrefixListsListOutput) ElementType added in v3.29.0

func (GetPrefixListsListOutput) ElementType() reflect.Type

func (GetPrefixListsListOutput) Entrys added in v3.29.0

The CIDR address block list of the prefix list.

func (GetPrefixListsListOutput) Id added in v3.29.0

The ID of the Prefix List.

func (GetPrefixListsListOutput) IpVersion added in v3.29.0

The IP version of the prefix list.

func (GetPrefixListsListOutput) MaxEntries added in v3.29.0

func (o GetPrefixListsListOutput) MaxEntries() pulumi.IntOutput

The maximum number of entries for CIDR address blocks in the prefix list.

func (GetPrefixListsListOutput) PrefixListDescription added in v3.29.0

func (o GetPrefixListsListOutput) PrefixListDescription() pulumi.StringOutput

The description of the prefix list.

func (GetPrefixListsListOutput) PrefixListId added in v3.29.0

func (o GetPrefixListsListOutput) PrefixListId() pulumi.StringOutput

The ID of the query Prefix List.

func (GetPrefixListsListOutput) PrefixListName added in v3.29.0

func (o GetPrefixListsListOutput) PrefixListName() pulumi.StringOutput

The name of the prefix list.

func (GetPrefixListsListOutput) ShareType added in v3.29.0

The share type of the prefix list.

func (GetPrefixListsListOutput) ToGetPrefixListsListOutput added in v3.29.0

func (o GetPrefixListsListOutput) ToGetPrefixListsListOutput() GetPrefixListsListOutput

func (GetPrefixListsListOutput) ToGetPrefixListsListOutputWithContext added in v3.29.0

func (o GetPrefixListsListOutput) ToGetPrefixListsListOutputWithContext(ctx context.Context) GetPrefixListsListOutput

type GetPrefixListsOutputArgs added in v3.29.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.29.0

func (GetPrefixListsOutputArgs) ElementType() reflect.Type

type GetPrefixListsResult added in v3.29.0

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 added in v3.29.0

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

)

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 added in v3.29.0

type GetPrefixListsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPrefixLists.

func GetPrefixListsOutput added in v3.29.0

func GetPrefixListsOutput(ctx *pulumi.Context, args GetPrefixListsOutputArgs, opts ...pulumi.InvokeOption) GetPrefixListsResultOutput

func (GetPrefixListsResultOutput) ElementType added in v3.29.0

func (GetPrefixListsResultOutput) ElementType() reflect.Type

func (GetPrefixListsResultOutput) EnableDetails added in v3.29.0

func (GetPrefixListsResultOutput) Id added in v3.29.0

The provider-assigned unique ID for this managed resource.

func (GetPrefixListsResultOutput) Ids added in v3.29.0

func (GetPrefixListsResultOutput) Lists added in v3.29.0

func (GetPrefixListsResultOutput) NameRegex added in v3.29.0

func (GetPrefixListsResultOutput) Names added in v3.29.0

func (GetPrefixListsResultOutput) OutputFile added in v3.29.0

func (GetPrefixListsResultOutput) PrefixListName added in v3.29.0

func (GetPrefixListsResultOutput) ToGetPrefixListsResultOutput added in v3.29.0

func (o GetPrefixListsResultOutput) ToGetPrefixListsResultOutput() GetPrefixListsResultOutput

func (GetPrefixListsResultOutput) ToGetPrefixListsResultOutputWithContext added in v3.29.0

func (o GetPrefixListsResultOutput) ToGetPrefixListsResultOutputWithContext(ctx context.Context) GetPrefixListsResultOutput

type GetPublicIpAddressPoolCidrBlocksArgs added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksArgs struct {
	// The CIDR block.
	CidrBlock *string `pulumi:"cidrBlock"`
	// A list of Vpc Public Ip Address Pool Cidr Block IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the Vpc Public IP address pool.
	PublicIpAddressPoolId string `pulumi:"publicIpAddressPoolId"`
	// The status of the CIDR block in the Vpc Public IP address pool. Valid values: `Created`, `Modifying`, `Deleting`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getPublicIpAddressPoolCidrBlocks.

type GetPublicIpAddressPoolCidrBlocksBlock added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlock struct {
	// The CIDR block.
	CidrBlock string `pulumi:"cidrBlock"`
	// The time when the CIDR block was created. The time is displayed in YYYY-MM-DDThh:mm:ssZ format.
	CreateTime string `pulumi:"createTime"`
	// The ID of the Public Ip Address Pool Cidr Block.
	Id string `pulumi:"id"`
	// The ID of the Vpc Public IP address pool.
	PublicIpAddressPoolId string `pulumi:"publicIpAddressPoolId"`
	// The status of the CIDR block in the Vpc Public IP address pool. Valid values: `Created`, `Modifying`, `Deleting`.
	Status string `pulumi:"status"`
	// The number of occupied IP addresses in the CIDR block.
	TotalIpNum int `pulumi:"totalIpNum"`
	// The total number of available IP addresses in the CIDR block.
	UsedIpNum int `pulumi:"usedIpNum"`
}

type GetPublicIpAddressPoolCidrBlocksBlockArgs added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlockArgs struct {
	// The CIDR block.
	CidrBlock pulumi.StringInput `pulumi:"cidrBlock"`
	// The time when the CIDR block was created. The time is displayed in YYYY-MM-DDThh:mm:ssZ format.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The ID of the Public Ip Address Pool Cidr Block.
	Id pulumi.StringInput `pulumi:"id"`
	// The ID of the Vpc Public IP address pool.
	PublicIpAddressPoolId pulumi.StringInput `pulumi:"publicIpAddressPoolId"`
	// The status of the CIDR block in the Vpc Public IP address pool. Valid values: `Created`, `Modifying`, `Deleting`.
	Status pulumi.StringInput `pulumi:"status"`
	// The number of occupied IP addresses in the CIDR block.
	TotalIpNum pulumi.IntInput `pulumi:"totalIpNum"`
	// The total number of available IP addresses in the CIDR block.
	UsedIpNum pulumi.IntInput `pulumi:"usedIpNum"`
}

func (GetPublicIpAddressPoolCidrBlocksBlockArgs) ElementType added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksBlockArgs) ToGetPublicIpAddressPoolCidrBlocksBlockOutput added in v3.29.0

func (i GetPublicIpAddressPoolCidrBlocksBlockArgs) ToGetPublicIpAddressPoolCidrBlocksBlockOutput() GetPublicIpAddressPoolCidrBlocksBlockOutput

func (GetPublicIpAddressPoolCidrBlocksBlockArgs) ToGetPublicIpAddressPoolCidrBlocksBlockOutputWithContext added in v3.29.0

func (i GetPublicIpAddressPoolCidrBlocksBlockArgs) ToGetPublicIpAddressPoolCidrBlocksBlockOutputWithContext(ctx context.Context) GetPublicIpAddressPoolCidrBlocksBlockOutput

type GetPublicIpAddressPoolCidrBlocksBlockArray added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlockArray []GetPublicIpAddressPoolCidrBlocksBlockInput

func (GetPublicIpAddressPoolCidrBlocksBlockArray) ElementType added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksBlockArray) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutput added in v3.29.0

func (i GetPublicIpAddressPoolCidrBlocksBlockArray) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutput() GetPublicIpAddressPoolCidrBlocksBlockArrayOutput

func (GetPublicIpAddressPoolCidrBlocksBlockArray) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutputWithContext added in v3.29.0

func (i GetPublicIpAddressPoolCidrBlocksBlockArray) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutputWithContext(ctx context.Context) GetPublicIpAddressPoolCidrBlocksBlockArrayOutput

type GetPublicIpAddressPoolCidrBlocksBlockArrayInput added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlockArrayInput interface {
	pulumi.Input

	ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutput() GetPublicIpAddressPoolCidrBlocksBlockArrayOutput
	ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutputWithContext(context.Context) GetPublicIpAddressPoolCidrBlocksBlockArrayOutput
}

GetPublicIpAddressPoolCidrBlocksBlockArrayInput is an input type that accepts GetPublicIpAddressPoolCidrBlocksBlockArray and GetPublicIpAddressPoolCidrBlocksBlockArrayOutput values. You can construct a concrete instance of `GetPublicIpAddressPoolCidrBlocksBlockArrayInput` via:

GetPublicIpAddressPoolCidrBlocksBlockArray{ GetPublicIpAddressPoolCidrBlocksBlockArgs{...} }

type GetPublicIpAddressPoolCidrBlocksBlockArrayOutput added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlockArrayOutput struct{ *pulumi.OutputState }

func (GetPublicIpAddressPoolCidrBlocksBlockArrayOutput) ElementType added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksBlockArrayOutput) Index added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksBlockArrayOutput) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutput added in v3.29.0

func (o GetPublicIpAddressPoolCidrBlocksBlockArrayOutput) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutput() GetPublicIpAddressPoolCidrBlocksBlockArrayOutput

func (GetPublicIpAddressPoolCidrBlocksBlockArrayOutput) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutputWithContext added in v3.29.0

func (o GetPublicIpAddressPoolCidrBlocksBlockArrayOutput) ToGetPublicIpAddressPoolCidrBlocksBlockArrayOutputWithContext(ctx context.Context) GetPublicIpAddressPoolCidrBlocksBlockArrayOutput

type GetPublicIpAddressPoolCidrBlocksBlockInput added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlockInput interface {
	pulumi.Input

	ToGetPublicIpAddressPoolCidrBlocksBlockOutput() GetPublicIpAddressPoolCidrBlocksBlockOutput
	ToGetPublicIpAddressPoolCidrBlocksBlockOutputWithContext(context.Context) GetPublicIpAddressPoolCidrBlocksBlockOutput
}

GetPublicIpAddressPoolCidrBlocksBlockInput is an input type that accepts GetPublicIpAddressPoolCidrBlocksBlockArgs and GetPublicIpAddressPoolCidrBlocksBlockOutput values. You can construct a concrete instance of `GetPublicIpAddressPoolCidrBlocksBlockInput` via:

GetPublicIpAddressPoolCidrBlocksBlockArgs{...}

type GetPublicIpAddressPoolCidrBlocksBlockOutput added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksBlockOutput struct{ *pulumi.OutputState }

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) CidrBlock added in v3.29.0

The CIDR block.

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) CreateTime added in v3.29.0

The time when the CIDR block was created. The time is displayed in YYYY-MM-DDThh:mm:ssZ format.

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) ElementType added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) Id added in v3.29.0

The ID of the Public Ip Address Pool Cidr Block.

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) PublicIpAddressPoolId added in v3.29.0

The ID of the Vpc Public IP address pool.

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) Status added in v3.29.0

The status of the CIDR block in the Vpc Public IP address pool. Valid values: `Created`, `Modifying`, `Deleting`.

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) ToGetPublicIpAddressPoolCidrBlocksBlockOutput added in v3.29.0

func (o GetPublicIpAddressPoolCidrBlocksBlockOutput) ToGetPublicIpAddressPoolCidrBlocksBlockOutput() GetPublicIpAddressPoolCidrBlocksBlockOutput

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) ToGetPublicIpAddressPoolCidrBlocksBlockOutputWithContext added in v3.29.0

func (o GetPublicIpAddressPoolCidrBlocksBlockOutput) ToGetPublicIpAddressPoolCidrBlocksBlockOutputWithContext(ctx context.Context) GetPublicIpAddressPoolCidrBlocksBlockOutput

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) TotalIpNum added in v3.29.0

The number of occupied IP addresses in the CIDR block.

func (GetPublicIpAddressPoolCidrBlocksBlockOutput) UsedIpNum added in v3.29.0

The total number of available IP addresses in the CIDR block.

type GetPublicIpAddressPoolCidrBlocksOutputArgs added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksOutputArgs struct {
	// The CIDR block.
	CidrBlock pulumi.StringPtrInput `pulumi:"cidrBlock"`
	// A list of Vpc Public Ip Address Pool Cidr Block IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The ID of the Vpc Public IP address pool.
	PublicIpAddressPoolId pulumi.StringInput `pulumi:"publicIpAddressPoolId"`
	// The status of the CIDR block in the Vpc Public IP address pool. Valid values: `Created`, `Modifying`, `Deleting`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getPublicIpAddressPoolCidrBlocks.

func (GetPublicIpAddressPoolCidrBlocksOutputArgs) ElementType added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksResult added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksResult struct {
	// A list of Vpc Public Ip Address Pool Cidr Blocks. Each element contains the following attributes:
	Blocks []GetPublicIpAddressPoolCidrBlocksBlock `pulumi:"blocks"`
	// The CIDR block.
	CidrBlock *string `pulumi:"cidrBlock"`
	// 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 Vpc Public IP address pool.
	PublicIpAddressPoolId string `pulumi:"publicIpAddressPoolId"`
	// The status of the CIDR block in the Vpc Public IP address pool.
	Status *string `pulumi:"status"`
}

A collection of values returned by getPublicIpAddressPoolCidrBlocks.

func GetPublicIpAddressPoolCidrBlocks added in v3.29.0

This data source provides the Vpc Public Ip Address Pool Cidr Blocks of the current Alibaba Cloud user.

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

> **NOTE:** Only users who have the required permissions can use the IP address pool feature of Elastic IP Address (EIP). To apply for the required permissions, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket).

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetPublicIpAddressPoolCidrBlocks(ctx, &vpc.GetPublicIpAddressPoolCidrBlocksArgs{
			Ids: []string{
				"example_id",
			},
			PublicIpAddressPoolId: "example_value",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPublicIpAddressPoolCidrBlockId1", ids.Blocks[0].Id)
		cidrBlock, err := vpc.GetPublicIpAddressPoolCidrBlocks(ctx, &vpc.GetPublicIpAddressPoolCidrBlocksArgs{
			PublicIpAddressPoolId: "example_value",
			CidrBlock:             pulumi.StringRef("example_value"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPublicIpAddressPoolCidrBlockId2", cidrBlock.Blocks[0].Id)
		return nil
	})
}

```

type GetPublicIpAddressPoolCidrBlocksResultOutput added in v3.29.0

type GetPublicIpAddressPoolCidrBlocksResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicIpAddressPoolCidrBlocks.

func (GetPublicIpAddressPoolCidrBlocksResultOutput) Blocks added in v3.29.0

A list of Vpc Public Ip Address Pool Cidr Blocks. Each element contains the following attributes:

func (GetPublicIpAddressPoolCidrBlocksResultOutput) CidrBlock added in v3.29.0

The CIDR block.

func (GetPublicIpAddressPoolCidrBlocksResultOutput) ElementType added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksResultOutput) Id added in v3.29.0

The provider-assigned unique ID for this managed resource.

func (GetPublicIpAddressPoolCidrBlocksResultOutput) Ids added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksResultOutput) OutputFile added in v3.29.0

func (GetPublicIpAddressPoolCidrBlocksResultOutput) PublicIpAddressPoolId added in v3.29.0

The ID of the Vpc Public IP address pool.

func (GetPublicIpAddressPoolCidrBlocksResultOutput) Status added in v3.29.0

The status of the CIDR block in the Vpc Public IP address pool.

func (GetPublicIpAddressPoolCidrBlocksResultOutput) ToGetPublicIpAddressPoolCidrBlocksResultOutput added in v3.29.0

func (o GetPublicIpAddressPoolCidrBlocksResultOutput) ToGetPublicIpAddressPoolCidrBlocksResultOutput() GetPublicIpAddressPoolCidrBlocksResultOutput

func (GetPublicIpAddressPoolCidrBlocksResultOutput) ToGetPublicIpAddressPoolCidrBlocksResultOutputWithContext added in v3.29.0

func (o GetPublicIpAddressPoolCidrBlocksResultOutput) ToGetPublicIpAddressPoolCidrBlocksResultOutputWithContext(ctx context.Context) GetPublicIpAddressPoolCidrBlocksResultOutput

type GetPublicIpAddressPoolsArgs added in v3.29.0

type GetPublicIpAddressPoolsArgs struct {
	// A list of Vpc Public Ip Address Pool IDs.
	Ids []string `pulumi:"ids"`
	// The Internet service provider.
	Isp *string `pulumi:"isp"`
	// A regex string to filter results by Vpc Public Ip Address Pool name.
	NameRegex *string `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	// The IDs of the Vpc Public IP address pools.
	PublicIpAddressPoolIds []string `pulumi:"publicIpAddressPoolIds"`
	// The name of the Vpc Public Ip Address Pool.
	PublicIpAddressPoolName *string `pulumi:"publicIpAddressPoolName"`
	// The status of the Vpc Public Ip Address Pool.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getPublicIpAddressPools.

type GetPublicIpAddressPoolsOutputArgs added in v3.29.0

type GetPublicIpAddressPoolsOutputArgs struct {
	// A list of Vpc Public Ip Address Pool IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// The Internet service provider.
	Isp pulumi.StringPtrInput `pulumi:"isp"`
	// A regex string to filter results by Vpc Public Ip Address Pool name.
	NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The IDs of the Vpc Public IP address pools.
	PublicIpAddressPoolIds pulumi.StringArrayInput `pulumi:"publicIpAddressPoolIds"`
	// The name of the Vpc Public Ip Address Pool.
	PublicIpAddressPoolName pulumi.StringPtrInput `pulumi:"publicIpAddressPoolName"`
	// The status of the Vpc Public Ip Address Pool.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getPublicIpAddressPools.

func (GetPublicIpAddressPoolsOutputArgs) ElementType added in v3.29.0

type GetPublicIpAddressPoolsPool added in v3.29.0

type GetPublicIpAddressPoolsPool struct {
	// The time when the Vpc Public Ip Address Pool was created. The time is displayed in YYYY-MM-DDThh:mm:ssZ format.
	CreateTime string `pulumi:"createTime"`
	// The description of the Vpc Public Ip Address Pool.
	Description string `pulumi:"description"`
	// The ID of the Vpc Public Ip Address Pool.
	Id string `pulumi:"id"`
	// Indicates whether the Vpc Public Ip Address Pool has idle IP addresses.
	IpAddressRemaining bool `pulumi:"ipAddressRemaining"`
	// The Internet service provider.
	Isp string `pulumi:"isp"`
	// The ID of the Vpc Public Ip Address Pool.
	PublicIpAddressPoolId string `pulumi:"publicIpAddressPoolId"`
	// The name of the Vpc Public Ip Address Pool.
	PublicIpAddressPoolName string `pulumi:"publicIpAddressPoolName"`
	// The region ID of the Vpc Public Ip Address Pool.
	RegionId string `pulumi:"regionId"`
	// The status of the Vpc Public Ip Address Pool.
	Status string `pulumi:"status"`
	// The total number of IP addresses in the Vpc Public Ip Address Pool.
	TotalIpNum int `pulumi:"totalIpNum"`
	// The number of occupied IP addresses in the Vpc Public Ip Address Pool.
	UsedIpNum int `pulumi:"usedIpNum"`
	// The user type.
	UserType string `pulumi:"userType"`
}

type GetPublicIpAddressPoolsPoolArgs added in v3.29.0

type GetPublicIpAddressPoolsPoolArgs struct {
	// The time when the Vpc Public Ip Address Pool was created. The time is displayed in YYYY-MM-DDThh:mm:ssZ format.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// The description of the Vpc Public Ip Address Pool.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the Vpc Public Ip Address Pool.
	Id pulumi.StringInput `pulumi:"id"`
	// Indicates whether the Vpc Public Ip Address Pool has idle IP addresses.
	IpAddressRemaining pulumi.BoolInput `pulumi:"ipAddressRemaining"`
	// The Internet service provider.
	Isp pulumi.StringInput `pulumi:"isp"`
	// The ID of the Vpc Public Ip Address Pool.
	PublicIpAddressPoolId pulumi.StringInput `pulumi:"publicIpAddressPoolId"`
	// The name of the Vpc Public Ip Address Pool.
	PublicIpAddressPoolName pulumi.StringInput `pulumi:"publicIpAddressPoolName"`
	// The region ID of the Vpc Public Ip Address Pool.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// The status of the Vpc Public Ip Address Pool.
	Status pulumi.StringInput `pulumi:"status"`
	// The total number of IP addresses in the Vpc Public Ip Address Pool.
	TotalIpNum pulumi.IntInput `pulumi:"totalIpNum"`
	// The number of occupied IP addresses in the Vpc Public Ip Address Pool.
	UsedIpNum pulumi.IntInput `pulumi:"usedIpNum"`
	// The user type.
	UserType pulumi.StringInput `pulumi:"userType"`
}

func (GetPublicIpAddressPoolsPoolArgs) ElementType added in v3.29.0

func (GetPublicIpAddressPoolsPoolArgs) ToGetPublicIpAddressPoolsPoolOutput added in v3.29.0

func (i GetPublicIpAddressPoolsPoolArgs) ToGetPublicIpAddressPoolsPoolOutput() GetPublicIpAddressPoolsPoolOutput

func (GetPublicIpAddressPoolsPoolArgs) ToGetPublicIpAddressPoolsPoolOutputWithContext added in v3.29.0

func (i GetPublicIpAddressPoolsPoolArgs) ToGetPublicIpAddressPoolsPoolOutputWithContext(ctx context.Context) GetPublicIpAddressPoolsPoolOutput

type GetPublicIpAddressPoolsPoolArray added in v3.29.0

type GetPublicIpAddressPoolsPoolArray []GetPublicIpAddressPoolsPoolInput

func (GetPublicIpAddressPoolsPoolArray) ElementType added in v3.29.0

func (GetPublicIpAddressPoolsPoolArray) ToGetPublicIpAddressPoolsPoolArrayOutput added in v3.29.0

func (i GetPublicIpAddressPoolsPoolArray) ToGetPublicIpAddressPoolsPoolArrayOutput() GetPublicIpAddressPoolsPoolArrayOutput

func (GetPublicIpAddressPoolsPoolArray) ToGetPublicIpAddressPoolsPoolArrayOutputWithContext added in v3.29.0

func (i GetPublicIpAddressPoolsPoolArray) ToGetPublicIpAddressPoolsPoolArrayOutputWithContext(ctx context.Context) GetPublicIpAddressPoolsPoolArrayOutput

type GetPublicIpAddressPoolsPoolArrayInput added in v3.29.0

type GetPublicIpAddressPoolsPoolArrayInput interface {
	pulumi.Input

	ToGetPublicIpAddressPoolsPoolArrayOutput() GetPublicIpAddressPoolsPoolArrayOutput
	ToGetPublicIpAddressPoolsPoolArrayOutputWithContext(context.Context) GetPublicIpAddressPoolsPoolArrayOutput
}

GetPublicIpAddressPoolsPoolArrayInput is an input type that accepts GetPublicIpAddressPoolsPoolArray and GetPublicIpAddressPoolsPoolArrayOutput values. You can construct a concrete instance of `GetPublicIpAddressPoolsPoolArrayInput` via:

GetPublicIpAddressPoolsPoolArray{ GetPublicIpAddressPoolsPoolArgs{...} }

type GetPublicIpAddressPoolsPoolArrayOutput added in v3.29.0

type GetPublicIpAddressPoolsPoolArrayOutput struct{ *pulumi.OutputState }

func (GetPublicIpAddressPoolsPoolArrayOutput) ElementType added in v3.29.0

func (GetPublicIpAddressPoolsPoolArrayOutput) Index added in v3.29.0

func (GetPublicIpAddressPoolsPoolArrayOutput) ToGetPublicIpAddressPoolsPoolArrayOutput added in v3.29.0

func (o GetPublicIpAddressPoolsPoolArrayOutput) ToGetPublicIpAddressPoolsPoolArrayOutput() GetPublicIpAddressPoolsPoolArrayOutput

func (GetPublicIpAddressPoolsPoolArrayOutput) ToGetPublicIpAddressPoolsPoolArrayOutputWithContext added in v3.29.0

func (o GetPublicIpAddressPoolsPoolArrayOutput) ToGetPublicIpAddressPoolsPoolArrayOutputWithContext(ctx context.Context) GetPublicIpAddressPoolsPoolArrayOutput

type GetPublicIpAddressPoolsPoolInput added in v3.29.0

type GetPublicIpAddressPoolsPoolInput interface {
	pulumi.Input

	ToGetPublicIpAddressPoolsPoolOutput() GetPublicIpAddressPoolsPoolOutput
	ToGetPublicIpAddressPoolsPoolOutputWithContext(context.Context) GetPublicIpAddressPoolsPoolOutput
}

GetPublicIpAddressPoolsPoolInput is an input type that accepts GetPublicIpAddressPoolsPoolArgs and GetPublicIpAddressPoolsPoolOutput values. You can construct a concrete instance of `GetPublicIpAddressPoolsPoolInput` via:

GetPublicIpAddressPoolsPoolArgs{...}

type GetPublicIpAddressPoolsPoolOutput added in v3.29.0

type GetPublicIpAddressPoolsPoolOutput struct{ *pulumi.OutputState }

func (GetPublicIpAddressPoolsPoolOutput) CreateTime added in v3.29.0

The time when the Vpc Public Ip Address Pool was created. The time is displayed in YYYY-MM-DDThh:mm:ssZ format.

func (GetPublicIpAddressPoolsPoolOutput) Description added in v3.29.0

The description of the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) ElementType added in v3.29.0

func (GetPublicIpAddressPoolsPoolOutput) Id added in v3.29.0

The ID of the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) IpAddressRemaining added in v3.29.0

func (o GetPublicIpAddressPoolsPoolOutput) IpAddressRemaining() pulumi.BoolOutput

Indicates whether the Vpc Public Ip Address Pool has idle IP addresses.

func (GetPublicIpAddressPoolsPoolOutput) Isp added in v3.29.0

The Internet service provider.

func (GetPublicIpAddressPoolsPoolOutput) PublicIpAddressPoolId added in v3.29.0

func (o GetPublicIpAddressPoolsPoolOutput) PublicIpAddressPoolId() pulumi.StringOutput

The ID of the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) PublicIpAddressPoolName added in v3.29.0

func (o GetPublicIpAddressPoolsPoolOutput) PublicIpAddressPoolName() pulumi.StringOutput

The name of the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) RegionId added in v3.29.0

The region ID of the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) Status added in v3.29.0

The status of the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) ToGetPublicIpAddressPoolsPoolOutput added in v3.29.0

func (o GetPublicIpAddressPoolsPoolOutput) ToGetPublicIpAddressPoolsPoolOutput() GetPublicIpAddressPoolsPoolOutput

func (GetPublicIpAddressPoolsPoolOutput) ToGetPublicIpAddressPoolsPoolOutputWithContext added in v3.29.0

func (o GetPublicIpAddressPoolsPoolOutput) ToGetPublicIpAddressPoolsPoolOutputWithContext(ctx context.Context) GetPublicIpAddressPoolsPoolOutput

func (GetPublicIpAddressPoolsPoolOutput) TotalIpNum added in v3.29.0

The total number of IP addresses in the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) UsedIpNum added in v3.29.0

The number of occupied IP addresses in the Vpc Public Ip Address Pool.

func (GetPublicIpAddressPoolsPoolOutput) UserType added in v3.29.0

The user type.

type GetPublicIpAddressPoolsResult added in v3.29.0

type GetPublicIpAddressPoolsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                      string                        `pulumi:"id"`
	Ids                     []string                      `pulumi:"ids"`
	Isp                     *string                       `pulumi:"isp"`
	NameRegex               *string                       `pulumi:"nameRegex"`
	Names                   []string                      `pulumi:"names"`
	OutputFile              *string                       `pulumi:"outputFile"`
	Pools                   []GetPublicIpAddressPoolsPool `pulumi:"pools"`
	PublicIpAddressPoolIds  []string                      `pulumi:"publicIpAddressPoolIds"`
	PublicIpAddressPoolName *string                       `pulumi:"publicIpAddressPoolName"`
	Status                  *string                       `pulumi:"status"`
}

A collection of values returned by getPublicIpAddressPools.

func GetPublicIpAddressPools added in v3.29.0

func GetPublicIpAddressPools(ctx *pulumi.Context, args *GetPublicIpAddressPoolsArgs, opts ...pulumi.InvokeOption) (*GetPublicIpAddressPoolsResult, error)

This data source provides the Vpc Public Ip Address Pools of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := vpc.GetPublicIpAddressPools(ctx, &vpc.GetPublicIpAddressPoolsArgs{
			Ids: []string{
				"example_id",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPublicIpAddressPoolId1", ids.Pools[0].Id)
		nameRegex, err := vpc.GetPublicIpAddressPools(ctx, &vpc.GetPublicIpAddressPoolsArgs{
			NameRegex: pulumi.StringRef("example_name"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("vpcPublicIpAddressPoolId2", nameRegex.Pools[0].Id)
		return nil
	})
}

```

type GetPublicIpAddressPoolsResultOutput added in v3.29.0

type GetPublicIpAddressPoolsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPublicIpAddressPools.

func GetPublicIpAddressPoolsOutput added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) ElementType added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) Id added in v3.29.0

The provider-assigned unique ID for this managed resource.

func (GetPublicIpAddressPoolsResultOutput) Ids added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) Isp added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) NameRegex added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) Names added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) OutputFile added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) Pools added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) PublicIpAddressPoolIds added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) PublicIpAddressPoolName added in v3.29.0

func (o GetPublicIpAddressPoolsResultOutput) PublicIpAddressPoolName() pulumi.StringPtrOutput

func (GetPublicIpAddressPoolsResultOutput) Status added in v3.29.0

func (GetPublicIpAddressPoolsResultOutput) ToGetPublicIpAddressPoolsResultOutput added in v3.29.0

func (o GetPublicIpAddressPoolsResultOutput) ToGetPublicIpAddressPoolsResultOutput() GetPublicIpAddressPoolsResultOutput

func (GetPublicIpAddressPoolsResultOutput) ToGetPublicIpAddressPoolsResultOutputWithContext added in v3.29.0

func (o GetPublicIpAddressPoolsResultOutput) ToGetPublicIpAddressPoolsResultOutputWithContext(ctx context.Context) GetPublicIpAddressPoolsResultOutput

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(1),
			MemorySize:       pulumi.Float64Ref(2),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, 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 := "tf-testAccRouteEntryConfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			Name:      pulumi.String(name),
			CidrBlock: pulumi.String("10.1.0.0/21"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
			VpcId:            fooNetwork.ID(),
			CidrBlock:        pulumi.String("10.1.1.0/24"),
			AvailabilityZone: pulumi.String(_default.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tf_test_foo", &ecs.SecurityGroupArgs{
			Name:        pulumi.String(name),
			Description: pulumi.String("foo"),
			VpcId:       fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		fooInstance, err := ecs.NewInstance(ctx, "foo", &ecs.InstanceArgs{
			SecurityGroups: pulumi.StringArray{
				tfTestFoo.ID(),
			},
			VswitchId:               fooSwitch.ID(),
			AllocatePublicIp:        pulumi.Bool(true),
			InstanceChargeType:      pulumi.String("PostPaid"),
			InstanceType:            pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SystemDiskCategory:      pulumi.String("cloud_efficiency"),
			ImageId:                 pulumi.String(defaultGetImages.Images[0].Id),
			InstanceName:            pulumi.String(name),
		})
		if err != nil {
			return err
		}
		fooRouteEntry, err := vpc.NewRouteEntry(ctx, "foo", &vpc.RouteEntryArgs{
			RouteTableId:         fooNetwork.RouteTableId,
			DestinationCidrblock: pulumi.String("172.11.1.1/32"),
			NexthopType:          pulumi.String("Instance"),
			NexthopId:            fooInstance.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "ingress", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: tfTestFoo.ID(),
			CidrIp:          pulumi.String("0.0.0.0/0"),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetRouteEntriesOutput(ctx, vpc.GetRouteEntriesOutputArgs{
			RouteTableId: fooRouteEntry.RouteTableId,
		}, nil)
		return nil
	})
}

```

type GetRouteEntriesResultOutput added in v3.9.0

type GetRouteEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouteEntries.

func GetRouteEntriesOutput added in v3.9.0

func (GetRouteEntriesResultOutput) CidrBlock added in v3.9.0

The destination CIDR block of the route entry.

func (GetRouteEntriesResultOutput) ElementType added in v3.9.0

func (GetRouteEntriesResultOutput) Entries added in v3.9.0

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

func (GetRouteEntriesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetRouteEntriesResultOutput) InstanceId added in v3.9.0

The instance ID of the next hop.

func (GetRouteEntriesResultOutput) OutputFile added in v3.9.0

func (GetRouteEntriesResultOutput) RouteTableId added in v3.9.0

The ID of the router table to which the route entry belongs.

func (GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutput added in v3.9.0

func (o GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutput() GetRouteEntriesResultOutput

func (GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutputWithContext added in v3.9.0

func (o GetRouteEntriesResultOutput) ToGetRouteEntriesResultOutputWithContext(ctx context.Context) GetRouteEntriesResultOutput

func (GetRouteEntriesResultOutput) Type added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile *string `pulumi:"outputFile"`
	PageNumber *int    `pulumi:"pageNumber"`
	PageSize   *int    `pulumi:"pageSize"`
	// The 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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	PageNumber pulumi.IntPtrInput    `pulumi:"pageNumber"`
	PageSize   pulumi.IntPtrInput    `pulumi:"pageSize"`
	// The 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 added in v3.9.0

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+.

## Example Usage

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { cfg := config.New(ctx, "") name := "route-tables-datasource-example-name"; if param := cfg.Get("name"); param != ""{ name = param } fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{ CidrBlock: pulumi.String("172.16.0.0/12"), VpcName: pulumi.String(name), }) if err != nil { return err } fooRouteTable, err := vpc.NewRouteTable(ctx, "foo", &vpc.RouteTableArgs{ VpcId: fooNetwork.ID(), RouteTableName: pulumi.String(name), Description: pulumi.String(name), }) if err != nil { return err } foo := vpc.GetRouteTablesOutput(ctx, vpc.GetRouteTablesOutputArgs{ Ids: pulumi.StringArray{ fooRouteTable.ID(), }, }, nil); ctx.Export("routeTableIds", foo.ApplyT(func(foo vpc.GetRouteTablesResult) (interface{}, error) { return foo.Ids, nil }).(pulumi.Interface{}Output)) return nil }) } ```

type GetRouteTablesResultOutput added in v3.9.0

type GetRouteTablesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouteTables.

func GetRouteTablesOutput added in v3.9.0

func GetRouteTablesOutput(ctx *pulumi.Context, args GetRouteTablesOutputArgs, opts ...pulumi.InvokeOption) GetRouteTablesResultOutput

func (GetRouteTablesResultOutput) ElementType added in v3.9.0

func (GetRouteTablesResultOutput) ElementType() reflect.Type

func (GetRouteTablesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetRouteTablesResultOutput) Ids added in v3.9.0

(Optional) A list of Route Tables IDs.

func (GetRouteTablesResultOutput) NameRegex added in v3.9.0

func (GetRouteTablesResultOutput) Names added in v3.9.0

A list of Route Tables names.

func (GetRouteTablesResultOutput) OutputFile added in v3.9.0

func (GetRouteTablesResultOutput) PageNumber added in v3.16.0

func (GetRouteTablesResultOutput) PageSize added in v3.16.0

func (GetRouteTablesResultOutput) ResourceGroupId added in v3.9.0

The Id of resource group which route tables belongs.

func (GetRouteTablesResultOutput) RouteTableName added in v3.9.0

The route table name.

func (GetRouteTablesResultOutput) RouterId added in v3.9.0

Router Id of the route table.

func (GetRouteTablesResultOutput) RouterType added in v3.9.0

The route type.

func (GetRouteTablesResultOutput) Status added in v3.9.0

The status of route table.

func (GetRouteTablesResultOutput) Tables added in v3.9.0

A list of Route Tables. Each element contains the following attributes:

func (GetRouteTablesResultOutput) Tags added in v3.9.0

func (GetRouteTablesResultOutput) ToGetRouteTablesResultOutput added in v3.9.0

func (o GetRouteTablesResultOutput) ToGetRouteTablesResultOutput() GetRouteTablesResultOutput

func (GetRouteTablesResultOutput) ToGetRouteTablesResultOutputWithContext added in v3.9.0

func (o GetRouteTablesResultOutput) ToGetRouteTablesResultOutputWithContext(ctx context.Context) GetRouteTablesResultOutput

func (GetRouteTablesResultOutput) TotalCount added in v3.16.0

func (GetRouteTablesResultOutput) VpcId added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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/en/express-connect/developer-reference/api-vpc-2016-04-28-describerouterinterfaces-efficiency-channels) that connect VPCs together.

> **DEPRECATED:** This datasource has been deprecated from version `1.199.0`. Please use new data source alicloud_express_connect_router_interfaces.

## Example Usage

```go package main

import (

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

)

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 added in v3.9.0

type GetRouterInterfacesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouterInterfaces.

func GetRouterInterfacesOutput added in v3.9.0

func (GetRouterInterfacesResultOutput) ElementType added in v3.9.0

func (GetRouterInterfacesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetRouterInterfacesResultOutput) Ids added in v3.9.0

A list of router interface IDs.

func (GetRouterInterfacesResultOutput) Interfaces added in v3.9.0

A list of router interfaces. Each element contains the following attributes:

func (GetRouterInterfacesResultOutput) NameRegex added in v3.9.0

func (GetRouterInterfacesResultOutput) Names added in v3.9.0

A list of router interface names.

func (GetRouterInterfacesResultOutput) OppositeInterfaceId added in v3.9.0

func (o GetRouterInterfacesResultOutput) OppositeInterfaceId() pulumi.StringPtrOutput

Peer router interface ID.

func (GetRouterInterfacesResultOutput) OppositeInterfaceOwnerId added in v3.9.0

func (o GetRouterInterfacesResultOutput) OppositeInterfaceOwnerId() pulumi.StringPtrOutput

Account ID of the owner of the peer router interface.

func (GetRouterInterfacesResultOutput) OutputFile added in v3.9.0

func (GetRouterInterfacesResultOutput) Role added in v3.9.0

Router interface role. Possible values: `InitiatingSide` and `AcceptingSide`.

func (GetRouterInterfacesResultOutput) RouterId added in v3.9.0

ID of the VRouter located in the local region.

func (GetRouterInterfacesResultOutput) RouterType added in v3.9.0

Router type in the local region. Possible values: `VRouter` and `VBR`.

func (GetRouterInterfacesResultOutput) Specification added in v3.9.0

Router interface specification. Possible values: `Small.1`, `Middle.1`, `Large.2`, ...etc.

func (GetRouterInterfacesResultOutput) Status added in v3.9.0

Router interface status. Possible values: `Active`, `Inactive` and `Idle`.

func (GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutput added in v3.9.0

func (o GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutput() GetRouterInterfacesResultOutput

func (GetRouterInterfacesResultOutput) ToGetRouterInterfacesResultOutputWithContext added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "snat-entry-example-name"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			Name:      pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "foo", &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, "foo", &vpc.NatGatewayArgs{
			VpcId:         fooNetwork.ID(),
			Specification: pulumi.String("Small"),
			Name:          pulumi.String(name),
		})
		if err != nil {
			return err
		}
		fooEipAddress, err := ecs.NewEipAddress(ctx, "foo", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "foo", &ecs.EipAssociationArgs{
			AllocationId: fooEipAddress.ID(),
			InstanceId:   fooNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		fooSnatEntry, err := vpc.NewSnatEntry(ctx, "foo", &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 added in v3.9.0

type GetSnatEntriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSnatEntries.

func GetSnatEntriesOutput added in v3.9.0

func GetSnatEntriesOutput(ctx *pulumi.Context, args GetSnatEntriesOutputArgs, opts ...pulumi.InvokeOption) GetSnatEntriesResultOutput

func (GetSnatEntriesResultOutput) ElementType added in v3.9.0

func (GetSnatEntriesResultOutput) ElementType() reflect.Type

func (GetSnatEntriesResultOutput) Entries added in v3.9.0

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

func (GetSnatEntriesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetSnatEntriesResultOutput) Ids added in v3.9.0

(Optional) A list of Snat Entries IDs.

func (GetSnatEntriesResultOutput) NameRegex added in v3.9.0

func (GetSnatEntriesResultOutput) Names added in v3.9.0

func (GetSnatEntriesResultOutput) OutputFile added in v3.9.0

func (GetSnatEntriesResultOutput) SnatEntryName added in v3.9.0

The name of snat entry.

func (GetSnatEntriesResultOutput) SnatIp added in v3.9.0

The public IP of the Snat Entry.

func (GetSnatEntriesResultOutput) SnatTableId added in v3.9.0

func (GetSnatEntriesResultOutput) SourceCidr added in v3.9.0

The source CIDR block of the Snat Entry.

func (GetSnatEntriesResultOutput) SourceVswitchId added in v3.9.0

The source vswitch ID.

func (GetSnatEntriesResultOutput) Status added in v3.9.0

The status of the Snat Entry.

func (GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutput added in v3.9.0

func (o GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutput() GetSnatEntriesResultOutput

func (GetSnatEntriesResultOutput) ToGetSnatEntriesResultOutputWithContext added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetSslVpnClientCerts(ctx, &vpc.GetSslVpnClientCertsArgs{
			Ids: []string{
				"fake-cert-id",
			},
			SslVpnServerId: pulumi.StringRef("fake-server-id"),
			OutputFile:     pulumi.StringRef("/tmp/clientcert"),
			NameRegex:      pulumi.StringRef("^foo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSslVpnClientCertsResultOutput added in v3.9.0

type GetSslVpnClientCertsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSslVpnClientCerts.

func GetSslVpnClientCertsOutput added in v3.9.0

func (GetSslVpnClientCertsResultOutput) Certs added in v3.9.0

A list of SSL-VPN client certificates. Each element contains the following attributes:

func (GetSslVpnClientCertsResultOutput) ElementType added in v3.9.0

func (GetSslVpnClientCertsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetSslVpnClientCertsResultOutput) Ids added in v3.9.0

A list of SSL-VPN client cert IDs.

func (GetSslVpnClientCertsResultOutput) NameRegex added in v3.9.0

func (GetSslVpnClientCertsResultOutput) Names added in v3.9.0

A list of SSL-VPN client cert names.

func (GetSslVpnClientCertsResultOutput) OutputFile added in v3.9.0

func (GetSslVpnClientCertsResultOutput) SslVpnServerId added in v3.9.0

ID of the SSL-VPN Server.

func (GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutput added in v3.9.0

func (o GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutput() GetSslVpnClientCertsResultOutput

func (GetSslVpnClientCertsResultOutput) ToGetSslVpnClientCertsResultOutputWithContext added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vpc.GetSslVpnServers(ctx, &vpc.GetSslVpnServersArgs{
			Ids: []string{
				"fake-server-id",
			},
			VpnGatewayId: pulumi.StringRef("fake-vpn-id"),
			OutputFile:   pulumi.StringRef("/tmp/sslserver"),
			NameRegex:    pulumi.StringRef("^foo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSslVpnServersResultOutput added in v3.9.0

type GetSslVpnServersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSslVpnServers.

func GetSslVpnServersOutput added in v3.9.0

func (GetSslVpnServersResultOutput) ElementType added in v3.9.0

func (GetSslVpnServersResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetSslVpnServersResultOutput) Ids added in v3.9.0

A list of SSL-VPN server IDs.

func (GetSslVpnServersResultOutput) NameRegex added in v3.9.0

func (GetSslVpnServersResultOutput) Names added in v3.9.0

A list of SSL-VPN server names.

func (GetSslVpnServersResultOutput) OutputFile added in v3.9.0

func (GetSslVpnServersResultOutput) Servers added in v3.9.0

A list of SSL-VPN servers. Each element contains the following attributes:

func (GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutput added in v3.9.0

func (o GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutput() GetSslVpnServersResultOutput

func (GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutputWithContext added in v3.9.0

func (o GetSslVpnServersResultOutput) ToGetSslVpnServersResultOutputWithContext(ctx context.Context) GetSslVpnServersResultOutput

func (GetSslVpnServersResultOutput) VpnGatewayId added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "vswitchDatasourceName"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, 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{
			VswitchName:      pulumi.String(name),
			CidrBlock:        pulumi.String("172.16.0.0/24"),
			VpcId:            vpc.ID(),
			AvailabilityZone: pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_ = vpc.GetSwitchesOutput(ctx, vpc.GetSwitchesOutputArgs{
			NameRegex: vswitch.VswitchName,
		}, nil)
		return nil
	})
}

```

type GetSwitchesResultOutput added in v3.9.0

type GetSwitchesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSwitches.

func GetSwitchesOutput added in v3.9.0

func GetSwitchesOutput(ctx *pulumi.Context, args GetSwitchesOutputArgs, opts ...pulumi.InvokeOption) GetSwitchesResultOutput

func (GetSwitchesResultOutput) CidrBlock added in v3.9.0

CIDR block of the VSwitch.

func (GetSwitchesResultOutput) DryRun added in v3.9.0

func (GetSwitchesResultOutput) ElementType added in v3.9.0

func (GetSwitchesResultOutput) ElementType() reflect.Type

func (GetSwitchesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetSwitchesResultOutput) Ids added in v3.9.0

A list of VSwitch IDs.

func (GetSwitchesResultOutput) IsDefault added in v3.9.0

Whether the VSwitch is the default one in the region.

func (GetSwitchesResultOutput) NameRegex added in v3.9.0

func (GetSwitchesResultOutput) Names added in v3.9.0

A list of VSwitch names.

func (GetSwitchesResultOutput) OutputFile added in v3.9.0

func (GetSwitchesResultOutput) ResourceGroupId added in v3.9.0

func (o GetSwitchesResultOutput) ResourceGroupId() pulumi.StringPtrOutput

The resource group ID of the VSwitch.

func (GetSwitchesResultOutput) RouteTableId added in v3.9.0

The route table ID of the VSwitch.

func (GetSwitchesResultOutput) Status added in v3.9.0

The status of the VSwitch.

func (GetSwitchesResultOutput) Tags added in v3.9.0

The Tags of the VSwitch.

func (GetSwitchesResultOutput) ToGetSwitchesResultOutput added in v3.9.0

func (o GetSwitchesResultOutput) ToGetSwitchesResultOutput() GetSwitchesResultOutput

func (GetSwitchesResultOutput) ToGetSwitchesResultOutputWithContext added in v3.9.0

func (o GetSwitchesResultOutput) ToGetSwitchesResultOutputWithContext(ctx context.Context) GetSwitchesResultOutput

func (GetSwitchesResultOutput) VpcId added in v3.9.0

ID of the VPC that owns the VSwitch.

func (GetSwitchesResultOutput) VswitchName added in v3.9.0

Name of the VSwitch.

func (GetSwitchesResultOutput) VswitchOwnerId added in v3.9.0

func (o GetSwitchesResultOutput) VswitchOwnerId() pulumi.IntPtrOutput

func (GetSwitchesResultOutput) Vswitches added in v3.9.0

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

func (GetSwitchesResultOutput) ZoneId added in v3.9.0

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 added in v3.29.0

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 added in v3.9.0

type GetTrafficMirrorFilterEgressRulesArgs struct {
	// A list of Traffic Mirror Filter Egress Rule IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetTrafficMirrorFilterEgressRulesOutputArgs struct {
	// A list of Traffic Mirror Filter Egress Rule IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetTrafficMirrorFilterEgressRulesResult added in v3.9.0

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 added in v3.9.0

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

)

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 added in v3.9.0

type GetTrafficMirrorFilterEgressRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorFilterEgressRules.

func (GetTrafficMirrorFilterEgressRulesResultOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorFilterEgressRulesResultOutput) Ids added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesResultOutput) OutputFile added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesResultOutput) Rules added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesResultOutput) Status added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutput added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutput() GetTrafficMirrorFilterEgressRulesResultOutput

func (GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesResultOutput) ToGetTrafficMirrorFilterEgressRulesResultOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesResultOutput

func (GetTrafficMirrorFilterEgressRulesResultOutput) TrafficMirrorFilterId added in v3.9.0

type GetTrafficMirrorFilterEgressRulesRule added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutput added in v3.9.0

func (i GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutput() GetTrafficMirrorFilterEgressRulesRuleOutput

func (GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext added in v3.9.0

func (i GetTrafficMirrorFilterEgressRulesRuleArgs) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleOutput

type GetTrafficMirrorFilterEgressRulesRuleArray added in v3.9.0

type GetTrafficMirrorFilterEgressRulesRuleArray []GetTrafficMirrorFilterEgressRulesRuleInput

func (GetTrafficMirrorFilterEgressRulesRuleArray) ElementType added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput added in v3.9.0

func (i GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput() GetTrafficMirrorFilterEgressRulesRuleArrayOutput

func (GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext added in v3.9.0

func (i GetTrafficMirrorFilterEgressRulesRuleArray) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleArrayOutput

type GetTrafficMirrorFilterEgressRulesRuleArrayInput added in v3.9.0

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 added in v3.9.0

type GetTrafficMirrorFilterEgressRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) Index added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutput() GetTrafficMirrorFilterEgressRulesRuleArrayOutput

func (GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesRuleArrayOutput) ToGetTrafficMirrorFilterEgressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleArrayOutput

type GetTrafficMirrorFilterEgressRulesRuleInput added in v3.9.0

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 added in v3.9.0

type GetTrafficMirrorFilterEgressRulesRuleOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterEgressRulesRuleOutput) DestinationCidrBlock added in v3.9.0

The destination CIDR block of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) DestinationPortRange added in v3.9.0

The destination port range of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Id added in v3.9.0

The ID of the Traffic Mirror Filter Egress Rule.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Priority added in v3.9.0

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 added in v3.9.0

The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) RuleAction added in v3.9.0

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 added in v3.9.0

The source CIDR block of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) SourcePortRange added in v3.9.0

The source port range of the outbound traffic.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) Status added in v3.9.0

The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutput added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutput() GetTrafficMirrorFilterEgressRulesRuleOutput

func (GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesRuleOutput) ToGetTrafficMirrorFilterEgressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterEgressRulesRuleOutput

func (GetTrafficMirrorFilterEgressRulesRuleOutput) TrafficMirrorFilterId added in v3.9.0

The ID of the filter associated with the outbound rule.

func (GetTrafficMirrorFilterEgressRulesRuleOutput) TrafficMirrorFilterRuleId added in v3.9.0

func (o GetTrafficMirrorFilterEgressRulesRuleOutput) TrafficMirrorFilterRuleId() pulumi.StringOutput

The first ID of the resource.

type GetTrafficMirrorFilterIngressRulesArgs added in v3.9.0

type GetTrafficMirrorFilterIngressRulesArgs struct {
	// A list of Traffic Mirror Filter Ingress Rule IDs.
	Ids []string `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetTrafficMirrorFilterIngressRulesOutputArgs struct {
	// A list of Traffic Mirror Filter Ingress Rule IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetTrafficMirrorFilterIngressRulesResult added in v3.9.0

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 added in v3.9.0

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

)

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 added in v3.9.0

type GetTrafficMirrorFilterIngressRulesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorFilterIngressRules.

func (GetTrafficMirrorFilterIngressRulesResultOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorFilterIngressRulesResultOutput) Ids added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesResultOutput) OutputFile added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesResultOutput) Rules added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesResultOutput) Status added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutput added in v3.9.0

func (o GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutput() GetTrafficMirrorFilterIngressRulesResultOutput

func (GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFilterIngressRulesResultOutput) ToGetTrafficMirrorFilterIngressRulesResultOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesResultOutput

func (GetTrafficMirrorFilterIngressRulesResultOutput) TrafficMirrorFilterId added in v3.9.0

type GetTrafficMirrorFilterIngressRulesRule added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutput added in v3.9.0

func (i GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutput() GetTrafficMirrorFilterIngressRulesRuleOutput

func (GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext added in v3.9.0

func (i GetTrafficMirrorFilterIngressRulesRuleArgs) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleOutput

type GetTrafficMirrorFilterIngressRulesRuleArray added in v3.9.0

type GetTrafficMirrorFilterIngressRulesRuleArray []GetTrafficMirrorFilterIngressRulesRuleInput

func (GetTrafficMirrorFilterIngressRulesRuleArray) ElementType added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput added in v3.9.0

func (i GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput() GetTrafficMirrorFilterIngressRulesRuleArrayOutput

func (GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext added in v3.9.0

func (i GetTrafficMirrorFilterIngressRulesRuleArray) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleArrayOutput

type GetTrafficMirrorFilterIngressRulesRuleArrayInput added in v3.9.0

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 added in v3.9.0

type GetTrafficMirrorFilterIngressRulesRuleArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) Index added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput added in v3.9.0

func (o GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutput() GetTrafficMirrorFilterIngressRulesRuleArrayOutput

func (GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFilterIngressRulesRuleArrayOutput) ToGetTrafficMirrorFilterIngressRulesRuleArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleArrayOutput

type GetTrafficMirrorFilterIngressRulesRuleInput added in v3.9.0

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 added in v3.9.0

type GetTrafficMirrorFilterIngressRulesRuleOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFilterIngressRulesRuleOutput) DestinationCidrBlock added in v3.9.0

The destination CIDR block of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) DestinationPortRange added in v3.9.0

The destination port range of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Id added in v3.9.0

The ID of the Traffic Mirror Filter Egress Rule.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Priority added in v3.9.0

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 added in v3.9.0

The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) RuleAction added in v3.9.0

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 added in v3.9.0

The source CIDR block of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) SourcePortRange added in v3.9.0

The source port range of the inbound traffic.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) Status added in v3.9.0

The status of the resource. Valid values:`Creating`, `Created`, `Modifying` and `Deleting`.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutput added in v3.9.0

func (o GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutput() GetTrafficMirrorFilterIngressRulesRuleOutput

func (GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFilterIngressRulesRuleOutput) ToGetTrafficMirrorFilterIngressRulesRuleOutputWithContext(ctx context.Context) GetTrafficMirrorFilterIngressRulesRuleOutput

func (GetTrafficMirrorFilterIngressRulesRuleOutput) TrafficMirrorFilterId added in v3.9.0

The ID of the filter associated with the inbound rule.

func (GetTrafficMirrorFilterIngressRulesRuleOutput) TrafficMirrorFilterRuleId added in v3.9.0

The first ID of the resource.

type GetTrafficMirrorFiltersArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

func (GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutput added in v3.9.0

func (i GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutput() GetTrafficMirrorFiltersFilterOutput

func (GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutputWithContext added in v3.9.0

func (i GetTrafficMirrorFiltersFilterArgs) ToGetTrafficMirrorFiltersFilterOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterOutput

type GetTrafficMirrorFiltersFilterArray added in v3.9.0

type GetTrafficMirrorFiltersFilterArray []GetTrafficMirrorFiltersFilterInput

func (GetTrafficMirrorFiltersFilterArray) ElementType added in v3.9.0

func (GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutput added in v3.9.0

func (i GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutput() GetTrafficMirrorFiltersFilterArrayOutput

func (GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext added in v3.9.0

func (i GetTrafficMirrorFiltersFilterArray) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterArrayOutput

type GetTrafficMirrorFiltersFilterArrayInput added in v3.9.0

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 added in v3.9.0

type GetTrafficMirrorFiltersFilterArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFiltersFilterArrayOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFiltersFilterArrayOutput) Index added in v3.9.0

func (GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutput added in v3.9.0

func (o GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutput() GetTrafficMirrorFiltersFilterArrayOutput

func (GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFiltersFilterArrayOutput) ToGetTrafficMirrorFiltersFilterArrayOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterArrayOutput

type GetTrafficMirrorFiltersFilterInput added in v3.9.0

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 added in v3.9.0

type GetTrafficMirrorFiltersFilterOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorFiltersFilterOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFiltersFilterOutput) Id added in v3.9.0

The ID of the Traffic Mirror Filter.

func (GetTrafficMirrorFiltersFilterOutput) Status added in v3.9.0

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 added in v3.9.0

func (o GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutput() GetTrafficMirrorFiltersFilterOutput

func (GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFiltersFilterOutput) ToGetTrafficMirrorFiltersFilterOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersFilterOutput

func (GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterDescription added in v3.9.0

func (o GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterDescription() pulumi.StringOutput

The description of the filter.

func (GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterId added in v3.9.0

func (o GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterName added in v3.9.0

func (o GetTrafficMirrorFiltersFilterOutput) TrafficMirrorFilterName() pulumi.StringOutput

The name of the filter.

type GetTrafficMirrorFiltersOutputArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

type GetTrafficMirrorFiltersResult added in v3.9.0

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 added in v3.9.0

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

)

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 added in v3.9.0

type GetTrafficMirrorFiltersResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorFilters.

func (GetTrafficMirrorFiltersResultOutput) ElementType added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) Filters added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorFiltersResultOutput) Ids added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) NameRegex added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) Names added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) OutputFile added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) Status added in v3.9.0

func (GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutput added in v3.9.0

func (o GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutput() GetTrafficMirrorFiltersResultOutput

func (GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutputWithContext added in v3.9.0

func (o GetTrafficMirrorFiltersResultOutput) ToGetTrafficMirrorFiltersResultOutputWithContext(ctx context.Context) GetTrafficMirrorFiltersResultOutput

func (GetTrafficMirrorFiltersResultOutput) TrafficMirrorFilterName added in v3.9.0

func (o GetTrafficMirrorFiltersResultOutput) TrafficMirrorFilterName() pulumi.StringPtrOutput

type GetTrafficMirrorServiceArgs added in v3.9.0

type GetTrafficMirrorServiceArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
	//
	// > **NOTE:** Setting `enable = "On"` to open the VPC Traffic Mirror service that means you have read and agreed the [VPC Traffic Mirror Terms of Service](https://help.aliyun.com/zh/vpc/support/vpc-terms-of-service). The service can not closed once it is opened.
	Enable *string `pulumi:"enable"`
}

A collection of arguments for invoking getTrafficMirrorService.

type GetTrafficMirrorServiceOutputArgs added in v3.9.0

type GetTrafficMirrorServiceOutputArgs struct {
	// Setting the value to `On` to enable the service. If has been enabled, return the result. Default value: `Off`. Valid values: `On` and `Off`.
	//
	// > **NOTE:** Setting `enable = "On"` to open the VPC Traffic Mirror service that means you have read and agreed the [VPC Traffic Mirror Terms of Service](https://help.aliyun.com/zh/vpc/support/vpc-terms-of-service). The service can not closed once it is opened.
	Enable pulumi.StringPtrInput `pulumi:"enable"`
}

A collection of arguments for invoking getTrafficMirrorService.

func (GetTrafficMirrorServiceOutputArgs) ElementType added in v3.9.0

type GetTrafficMirrorServiceResult added in v3.9.0

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 added in v3.9.0

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/vpc/user-guide/traffic-mirroring-overview).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

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 added in v3.9.0

type GetTrafficMirrorServiceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorService.

func (GetTrafficMirrorServiceResultOutput) ElementType added in v3.9.0

func (GetTrafficMirrorServiceResultOutput) Enable added in v3.9.0

func (GetTrafficMirrorServiceResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorServiceResultOutput) Status added in v3.9.0

The current service enable status.

func (GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutput added in v3.9.0

func (o GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutput() GetTrafficMirrorServiceResultOutput

func (GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutputWithContext added in v3.9.0

func (o GetTrafficMirrorServiceResultOutput) ToGetTrafficMirrorServiceResultOutputWithContext(ctx context.Context) GetTrafficMirrorServiceResultOutput

type GetTrafficMirrorSessionsArgs added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.10.0

type GetTrafficMirrorSessionsResult added in v3.10.0

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 added in v3.10.0

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

)

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 added in v3.10.0

type GetTrafficMirrorSessionsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getTrafficMirrorSessions.

func (GetTrafficMirrorSessionsResultOutput) ElementType added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) Enabled added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) Id added in v3.10.0

The provider-assigned unique ID for this managed resource.

func (GetTrafficMirrorSessionsResultOutput) Ids added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) NameRegex added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) Names added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) OutputFile added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) Priority added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) Sessions added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) Status added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutput added in v3.10.0

func (o GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutput() GetTrafficMirrorSessionsResultOutput

func (GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutputWithContext added in v3.10.0

func (o GetTrafficMirrorSessionsResultOutput) ToGetTrafficMirrorSessionsResultOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsResultOutput

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorFilterId added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorSessionName added in v3.10.0

func (o GetTrafficMirrorSessionsResultOutput) TrafficMirrorSessionName() pulumi.StringPtrOutput

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorSourceId added in v3.10.0

func (GetTrafficMirrorSessionsResultOutput) TrafficMirrorTargetId added in v3.10.0

type GetTrafficMirrorSessionsSession added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutput added in v3.10.0

func (i GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutput() GetTrafficMirrorSessionsSessionOutput

func (GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutputWithContext added in v3.10.0

func (i GetTrafficMirrorSessionsSessionArgs) ToGetTrafficMirrorSessionsSessionOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionOutput

type GetTrafficMirrorSessionsSessionArray added in v3.10.0

type GetTrafficMirrorSessionsSessionArray []GetTrafficMirrorSessionsSessionInput

func (GetTrafficMirrorSessionsSessionArray) ElementType added in v3.10.0

func (GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutput added in v3.10.0

func (i GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutput() GetTrafficMirrorSessionsSessionArrayOutput

func (GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext added in v3.10.0

func (i GetTrafficMirrorSessionsSessionArray) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionArrayOutput

type GetTrafficMirrorSessionsSessionArrayInput added in v3.10.0

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 added in v3.10.0

type GetTrafficMirrorSessionsSessionArrayOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorSessionsSessionArrayOutput) ElementType added in v3.10.0

func (GetTrafficMirrorSessionsSessionArrayOutput) Index added in v3.10.0

func (GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutput added in v3.10.0

func (o GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutput() GetTrafficMirrorSessionsSessionArrayOutput

func (GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext added in v3.10.0

func (o GetTrafficMirrorSessionsSessionArrayOutput) ToGetTrafficMirrorSessionsSessionArrayOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionArrayOutput

type GetTrafficMirrorSessionsSessionInput added in v3.10.0

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 added in v3.10.0

type GetTrafficMirrorSessionsSessionOutput struct{ *pulumi.OutputState }

func (GetTrafficMirrorSessionsSessionOutput) ElementType added in v3.10.0

func (GetTrafficMirrorSessionsSessionOutput) Enabled added in v3.10.0

Indicates whether traffic mirror sessions are enabled. default to `false`.

func (GetTrafficMirrorSessionsSessionOutput) Id added in v3.10.0

The ID of the Traffic Mirror Session.

func (GetTrafficMirrorSessionsSessionOutput) PacketLength added in v3.10.0

The maximum transmission unit (MTU).

func (GetTrafficMirrorSessionsSessionOutput) Priority added in v3.10.0

The priority of the traffic mirror session. A smaller value indicates a higher priority.

func (GetTrafficMirrorSessionsSessionOutput) Status added in v3.10.0

The state of the traffic mirror session. Valid values: `Creating`, `Created`, `Modifying` and `Deleting`.

func (GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutput added in v3.10.0

func (o GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutput() GetTrafficMirrorSessionsSessionOutput

func (GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutputWithContext added in v3.10.0

func (o GetTrafficMirrorSessionsSessionOutput) ToGetTrafficMirrorSessionsSessionOutputWithContext(ctx context.Context) GetTrafficMirrorSessionsSessionOutput

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorFilterId added in v3.10.0

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionBusinessStatus added in v3.10.0

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 added in v3.10.0

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionDescription() pulumi.StringOutput

The description of the traffic mirror session.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionId added in v3.10.0

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionId() pulumi.StringOutput

The first ID of the resource.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionName added in v3.10.0

func (o GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSessionName() pulumi.StringOutput

The name of the traffic mirror session.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorSourceIds added in v3.10.0

The ID of the mirror source.

func (GetTrafficMirrorSessionsSessionOutput) TrafficMirrorTargetId added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

You can specify VNIs to distinguish different mirrored traffic.

type GetVpcFlowLogsArgs added in v3.1.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.1.0

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 added in v3.1.0

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 added in v3.1.0

func (GetVpcFlowLogsLogArgs) ElementType() reflect.Type

func (GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutput added in v3.1.0

func (i GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutput() GetVpcFlowLogsLogOutput

func (GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutputWithContext added in v3.1.0

func (i GetVpcFlowLogsLogArgs) ToGetVpcFlowLogsLogOutputWithContext(ctx context.Context) GetVpcFlowLogsLogOutput

type GetVpcFlowLogsLogArray added in v3.1.0

type GetVpcFlowLogsLogArray []GetVpcFlowLogsLogInput

func (GetVpcFlowLogsLogArray) ElementType added in v3.1.0

func (GetVpcFlowLogsLogArray) ElementType() reflect.Type

func (GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutput added in v3.1.0

func (i GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutput() GetVpcFlowLogsLogArrayOutput

func (GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutputWithContext added in v3.1.0

func (i GetVpcFlowLogsLogArray) ToGetVpcFlowLogsLogArrayOutputWithContext(ctx context.Context) GetVpcFlowLogsLogArrayOutput

type GetVpcFlowLogsLogArrayInput added in v3.1.0

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 added in v3.1.0

type GetVpcFlowLogsLogArrayOutput struct{ *pulumi.OutputState }

func (GetVpcFlowLogsLogArrayOutput) ElementType added in v3.1.0

func (GetVpcFlowLogsLogArrayOutput) Index added in v3.1.0

func (GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutput added in v3.1.0

func (o GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutput() GetVpcFlowLogsLogArrayOutput

func (GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutputWithContext added in v3.1.0

func (o GetVpcFlowLogsLogArrayOutput) ToGetVpcFlowLogsLogArrayOutputWithContext(ctx context.Context) GetVpcFlowLogsLogArrayOutput

type GetVpcFlowLogsLogInput added in v3.1.0

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 added in v3.1.0

type GetVpcFlowLogsLogOutput struct{ *pulumi.OutputState }

func (GetVpcFlowLogsLogOutput) Description added in v3.1.0

The Description of flow log.

func (GetVpcFlowLogsLogOutput) ElementType added in v3.1.0

func (GetVpcFlowLogsLogOutput) ElementType() reflect.Type

func (GetVpcFlowLogsLogOutput) FlowLogId added in v3.1.0

The flow log ID.

func (GetVpcFlowLogsLogOutput) FlowLogName added in v3.1.0

The flow log name.

func (GetVpcFlowLogsLogOutput) Id added in v3.1.0

The ID of the Flow Log.

func (GetVpcFlowLogsLogOutput) LogStoreName added in v3.1.0

func (o GetVpcFlowLogsLogOutput) LogStoreName() pulumi.StringOutput

The log store name.

func (GetVpcFlowLogsLogOutput) ProjectName added in v3.1.0

The project name.

func (GetVpcFlowLogsLogOutput) ResourceId added in v3.1.0

The resource id.

func (GetVpcFlowLogsLogOutput) ResourceType added in v3.1.0

func (o GetVpcFlowLogsLogOutput) ResourceType() pulumi.StringOutput

The resource type.

func (GetVpcFlowLogsLogOutput) Status added in v3.1.0

The status of flow log.

func (GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutput added in v3.1.0

func (o GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutput() GetVpcFlowLogsLogOutput

func (GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutputWithContext added in v3.1.0

func (o GetVpcFlowLogsLogOutput) ToGetVpcFlowLogsLogOutputWithContext(ctx context.Context) GetVpcFlowLogsLogOutput

func (GetVpcFlowLogsLogOutput) TrafficType added in v3.1.0

The traffic type.

type GetVpcFlowLogsOutputArgs added in v3.9.0

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"`
	// File name where to save data source results (after running `pulumi preview`).
	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 added in v3.9.0

func (GetVpcFlowLogsOutputArgs) ElementType() reflect.Type

type GetVpcFlowLogsResult added in v3.1.0

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 added in v3.1.0

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

)

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 added in v3.9.0

type GetVpcFlowLogsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVpcFlowLogs.

func GetVpcFlowLogsOutput added in v3.9.0

func GetVpcFlowLogsOutput(ctx *pulumi.Context, args GetVpcFlowLogsOutputArgs, opts ...pulumi.InvokeOption) GetVpcFlowLogsResultOutput

func (GetVpcFlowLogsResultOutput) Description added in v3.9.0

func (GetVpcFlowLogsResultOutput) ElementType added in v3.9.0

func (GetVpcFlowLogsResultOutput) ElementType() reflect.Type

func (GetVpcFlowLogsResultOutput) FlowLogName added in v3.9.0

func (GetVpcFlowLogsResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetVpcFlowLogsResultOutput) Ids added in v3.9.0

func (GetVpcFlowLogsResultOutput) LogStoreName added in v3.9.0

func (GetVpcFlowLogsResultOutput) Logs added in v3.9.0

func (GetVpcFlowLogsResultOutput) NameRegex added in v3.9.0

func (GetVpcFlowLogsResultOutput) Names added in v3.9.0

func (GetVpcFlowLogsResultOutput) OutputFile added in v3.9.0

func (GetVpcFlowLogsResultOutput) ProjectName added in v3.9.0

func (GetVpcFlowLogsResultOutput) ResourceId added in v3.9.0

func (GetVpcFlowLogsResultOutput) ResourceType added in v3.9.0

func (GetVpcFlowLogsResultOutput) Status added in v3.9.0

func (GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutput added in v3.9.0

func (o GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutput() GetVpcFlowLogsResultOutput

func (GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutputWithContext added in v3.9.0

func (o GetVpcFlowLogsResultOutput) ToGetVpcFlowLogsResultOutputWithContext(ctx context.Context) GetVpcFlowLogsResultOutput

func (GetVpcFlowLogsResultOutput) TrafficType added in v3.9.0

type HAVip

type HAVip struct {
	pulumi.CustomResourceState

	// The elastic IP address (EIP) associated with the HAVIP.
	AssociatedEipAddresses pulumi.StringArrayOutput `pulumi:"associatedEipAddresses"`
	// The type of the instance with which the HAVIP is associated. Valid values:
	AssociatedInstanceType pulumi.StringOutput `pulumi:"associatedInstanceType"`
	// The ID of the instance with which the HAVIP is associated.
	AssociatedInstances pulumi.StringArrayOutput `pulumi:"associatedInstances"`
	// The time when the HAVIP was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The description of the HaVip instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the HAVIP.
	HaVipId pulumi.StringOutput `pulumi:"haVipId"`
	// The name of the HAVIP.
	HaVipName pulumi.StringOutput `pulumi:"haVipName"`
	// The name of the HaVip instance.
	//
	// Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	HavipName pulumi.StringOutput `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"`
	// The ID of the active instance that is associated with the HAVIP.
	MasterInstanceId pulumi.StringOutput `pulumi:"masterInstanceId"`
	// The ID of the resource group to which the HAVIP belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// (Available in v1.120.0+) The status of the HaVip instance.
	Status pulumi.StringOutput `pulumi:"status"`
	// The list of tags.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of the VPC to which the HAVIP belongs.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// 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-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       example.ID(),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewHAVip(ctx, "example", &vpc.HAVipArgs{
			VswitchId:   exampleSwitch.ID(),
			Description: pulumi.String(name),
		})
		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.
	HaVipName pulumi.StringPtrInput
	// The name of the HaVip instance.
	//
	// Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	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 ID of the resource group to which the HAVIP belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The list of tags.
	Tags pulumi.MapInput
	// 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

	// Whether to force the ECS instance or Eni instance bound to AVIP to be unbound. The value is:
	// - **True**: Force unbinding.
	// - **False** (default): unbinding is not forced.
	// > **NOTE:**  If the value of this parameter is **False**, the Master instance bound to HaVip cannot be unbound.
	Force pulumi.BoolPtrOutput `pulumi:"force"`
	// The ID of the HaVip instance.
	HaVipId pulumi.StringOutput `pulumi:"haVipId"`
	// . Field 'havip_id' has been deprecated from provider version 1.211.0. New field 'ha_vip_id' instead.
	//
	// Deprecated: Field 'havip_id' has been deprecated since provider version 1.211.0. New field 'ha_vip_id' instead.
	HavipId pulumi.StringOutput `pulumi:"havipId"`
	// The ID of the ECS instance bound to the HaVip instance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The type of the instance associated with the VIIP.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
}

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		example, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(1),
			MemorySize:       pulumi.Float64Ref(2),
		}, nil)
		if err != nil {
			return err
		}
		exampleGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex: pulumi.StringRef("^ubuntu_[0-9]+_[0-9]+_x64*"),
			Owners:    pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		exampleNetwork, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       exampleNetwork.ID(),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		exampleHAVip, err := vpc.NewHAVip(ctx, "example", &vpc.HAVipArgs{
			VswitchId:   exampleSwitch.ID(),
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		exampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, "example", &ecs.SecurityGroupArgs{
			Name:        pulumi.String(name),
			Description: pulumi.String(name),
			VpcId:       exampleNetwork.ID(),
		})
		if err != nil {
			return err
		}
		exampleInstance, err := ecs.NewInstance(ctx, "example", &ecs.InstanceArgs{
			AvailabilityZone:        pulumi.String(_default.Zones[0].Id),
			VswitchId:               exampleSwitch.ID(),
			ImageId:                 pulumi.String(exampleGetImages.Images[0].Id),
			InstanceType:            pulumi.String(example.InstanceTypes[0].Id),
			SystemDiskCategory:      pulumi.String("cloud_efficiency"),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SecurityGroups: pulumi.StringArray{
				exampleSecurityGroup.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, "example", &vpc.HAVipAttachmentArgs{
			HavipId:    exampleHAVip.ID(),
			InstanceId: exampleInstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ha Vip Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/hAVipAttachment:HAVipAttachment example <ha_vip_id>:<instance_id> ```

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 {
	// Whether to force the ECS instance or Eni instance bound to AVIP to be unbound. The value is:
	// - **True**: Force unbinding.
	// - **False** (default): unbinding is not forced.
	// > **NOTE:**  If the value of this parameter is **False**, the Master instance bound to HaVip cannot be unbound.
	Force pulumi.BoolPtrInput
	// The ID of the HaVip instance.
	HaVipId pulumi.StringPtrInput
	// . Field 'havip_id' has been deprecated from provider version 1.211.0. New field 'ha_vip_id' instead.
	//
	// Deprecated: Field 'havip_id' has been deprecated since provider version 1.211.0. New field 'ha_vip_id' instead.
	HavipId pulumi.StringPtrInput
	// The ID of the ECS instance bound to the HaVip instance.
	InstanceId pulumi.StringInput
	// The type of the instance associated with the VIIP.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	InstanceType pulumi.StringPtrInput
}

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) Force added in v3.33.0

Whether to force the ECS instance or Eni instance bound to AVIP to be unbound. The value is: - **True**: Force unbinding. - **False** (default): unbinding is not forced. > **NOTE:** If the value of this parameter is **False**, the Master instance bound to HaVip cannot be unbound.

func (HAVipAttachmentOutput) HaVipId added in v3.44.0

The ID of the HaVip instance.

func (HAVipAttachmentOutput) HavipId deprecated added in v3.27.0

. Field 'havip_id' has been deprecated from provider version 1.211.0. New field 'ha_vip_id' instead.

Deprecated: Field 'havip_id' has been deprecated since provider version 1.211.0. New field 'ha_vip_id' instead.

func (HAVipAttachmentOutput) InstanceId added in v3.27.0

func (o HAVipAttachmentOutput) InstanceId() pulumi.StringOutput

The ID of the ECS instance bound to the HaVip instance.

func (HAVipAttachmentOutput) InstanceType added in v3.34.0

func (o HAVipAttachmentOutput) InstanceType() pulumi.StringOutput

The type of the instance associated with the VIIP.

The following arguments will be discarded. Please use new fields as soon as possible:

func (HAVipAttachmentOutput) Status added in v3.34.0

The status of the resource.

func (HAVipAttachmentOutput) ToHAVipAttachmentOutput

func (o HAVipAttachmentOutput) ToHAVipAttachmentOutput() HAVipAttachmentOutput

func (HAVipAttachmentOutput) ToHAVipAttachmentOutputWithContext

func (o HAVipAttachmentOutput) ToHAVipAttachmentOutputWithContext(ctx context.Context) HAVipAttachmentOutput

type HAVipAttachmentState

type HAVipAttachmentState struct {
	// Whether to force the ECS instance or Eni instance bound to AVIP to be unbound. The value is:
	// - **True**: Force unbinding.
	// - **False** (default): unbinding is not forced.
	// > **NOTE:**  If the value of this parameter is **False**, the Master instance bound to HaVip cannot be unbound.
	Force pulumi.BoolPtrInput
	// The ID of the HaVip instance.
	HaVipId pulumi.StringPtrInput
	// . Field 'havip_id' has been deprecated from provider version 1.211.0. New field 'ha_vip_id' instead.
	//
	// Deprecated: Field 'havip_id' has been deprecated since provider version 1.211.0. New field 'ha_vip_id' instead.
	HavipId pulumi.StringPtrInput
	// The ID of the ECS instance bound to the HaVip instance.
	InstanceId pulumi.StringPtrInput
	// The type of the instance associated with the VIIP.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	InstanceType pulumi.StringPtrInput
	// The status of the resource.
	Status 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) AssociatedEipAddresses added in v3.38.0

func (o HAVipOutput) AssociatedEipAddresses() pulumi.StringArrayOutput

The elastic IP address (EIP) associated with the HAVIP.

func (HAVipOutput) AssociatedInstanceType added in v3.38.0

func (o HAVipOutput) AssociatedInstanceType() pulumi.StringOutput

The type of the instance with which the HAVIP is associated. Valid values:

func (HAVipOutput) AssociatedInstances added in v3.38.0

func (o HAVipOutput) AssociatedInstances() pulumi.StringArrayOutput

The ID of the instance with which the HAVIP is associated.

func (HAVipOutput) CreateTime added in v3.38.0

func (o HAVipOutput) CreateTime() pulumi.StringOutput

The time when the HAVIP was created.

func (HAVipOutput) Description added in v3.27.0

func (o HAVipOutput) Description() pulumi.StringPtrOutput

The description of the HaVip instance.

func (HAVipOutput) ElementType

func (HAVipOutput) ElementType() reflect.Type

func (HAVipOutput) HaVipId added in v3.38.0

func (o HAVipOutput) HaVipId() pulumi.StringOutput

The ID of the HAVIP.

func (HAVipOutput) HaVipName added in v3.38.0

func (o HAVipOutput) HaVipName() pulumi.StringOutput

The name of the HAVIP.

func (HAVipOutput) HavipName deprecated added in v3.27.0

func (o HAVipOutput) HavipName() pulumi.StringOutput

The name of the HaVip instance.

Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.

func (HAVipOutput) IpAddress added in v3.27.0

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) MasterInstanceId added in v3.38.0

func (o HAVipOutput) MasterInstanceId() pulumi.StringOutput

The ID of the active instance that is associated with the HAVIP.

func (HAVipOutput) ResourceGroupId added in v3.38.0

func (o HAVipOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the HAVIP belongs.

func (HAVipOutput) Status added in v3.27.0

func (o HAVipOutput) Status() pulumi.StringOutput

(Available in v1.120.0+) The status of the HaVip instance.

func (HAVipOutput) Tags added in v3.38.0

func (o HAVipOutput) Tags() pulumi.MapOutput

The list of tags.

func (HAVipOutput) ToHAVipOutput

func (o HAVipOutput) ToHAVipOutput() HAVipOutput

func (HAVipOutput) ToHAVipOutputWithContext

func (o HAVipOutput) ToHAVipOutputWithContext(ctx context.Context) HAVipOutput

func (HAVipOutput) VpcId added in v3.38.0

func (o HAVipOutput) VpcId() pulumi.StringOutput

The ID of the VPC to which the HAVIP belongs.

func (HAVipOutput) VswitchId added in v3.27.0

func (o HAVipOutput) VswitchId() pulumi.StringOutput

The vswitchId of the HaVip, the field can't be changed.

type HAVipState

type HAVipState struct {
	// The elastic IP address (EIP) associated with the HAVIP.
	AssociatedEipAddresses pulumi.StringArrayInput
	// The type of the instance with which the HAVIP is associated. Valid values:
	AssociatedInstanceType pulumi.StringPtrInput
	// The ID of the instance with which the HAVIP is associated.
	AssociatedInstances pulumi.StringArrayInput
	// The time when the HAVIP was created.
	CreateTime pulumi.StringPtrInput
	// The description of the HaVip instance.
	Description pulumi.StringPtrInput
	// The ID of the HAVIP.
	HaVipId pulumi.StringPtrInput
	// The name of the HAVIP.
	HaVipName pulumi.StringPtrInput
	// The name of the HaVip instance.
	//
	// Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	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 ID of the active instance that is associated with the HAVIP.
	MasterInstanceId pulumi.StringPtrInput
	// The ID of the resource group to which the HAVIP belongs.
	ResourceGroupId pulumi.StringPtrInput
	// (Available in v1.120.0+) The status of the HaVip instance.
	Status pulumi.StringPtrInput
	// The list of tags.
	Tags pulumi.MapInput
	// The ID of the VPC to which the HAVIP belongs.
	VpcId 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 HaVipv2 added in v3.38.0

type HaVipv2 struct {
	pulumi.CustomResourceState

	// EIP bound to HaVip.
	AssociatedEipAddresses pulumi.StringArrayOutput `pulumi:"associatedEipAddresses"`
	// The type of the instance that is bound to the HaVip. Value:-**EcsInstance**: ECS instance.-**NetworkInterface**: ENI instance.
	AssociatedInstanceType pulumi.StringOutput `pulumi:"associatedInstanceType"`
	// An ECS instance that is bound to HaVip.
	AssociatedInstances pulumi.StringArrayOutput `pulumi:"associatedInstances"`
	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The description of the HaVip instance. The length is 2 to 256 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the resource.
	HaVipId pulumi.StringOutput `pulumi:"haVipId"`
	// The name of the HaVip instance.
	HaVipName pulumi.StringOutput `pulumi:"haVipName"`
	// Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	//
	// Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	HavipName pulumi.StringOutput `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"`
	// The primary instance ID bound to HaVip.
	MasterInstanceId pulumi.StringOutput `pulumi:"masterInstanceId"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of this resource instance.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of HaVip.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VPC ID to which the HaVip instance belongs.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The switch ID to which the HaVip instance belongs.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a Vpc Ha Vip resource. Highly available virtual IP

For information about Vpc Ha Vip and how to use it, see [What is Ha Vip](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createhavip).

## Example Usage

Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-testacc-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultVpc, err := vpc.NewNetwork(ctx, "defaultVpc", &vpc.NetworkArgs{
			Description: pulumi.String("tf-test-acc-vpc"),
			VpcName:     pulumi.String(name),
			CidrBlock:   pulumi.String("192.168.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultVswitch, err := vpc.NewSwitch(ctx, "defaultVswitch", &vpc.SwitchArgs{
			VpcId:       defaultVpc.ID(),
			CidrBlock:   pulumi.String("192.168.0.0/21"),
			VswitchName: pulumi.String(fmt.Sprintf("%v1", name)),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			Description: pulumi.String("tf-testacc-vswitch"),
		})
		if err != nil {
			return err
		}
		defaultRg, err := resourcemanager.NewResourceGroup(ctx, "defaultRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testacc-rg819"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v2", name)),
		})
		if err != nil {
			return err
		}
		_, err = resourcemanager.NewResourceGroup(ctx, "changeRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testacc-changerg670"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v3", name)),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewHaVipv2(ctx, "default", &vpc.HaVipv2Args{
			Description:     pulumi.String("test"),
			VswitchId:       defaultVswitch.ID(),
			HaVipName:       pulumi.String(name),
			IpAddress:       pulumi.String("192.168.1.101"),
			ResourceGroupId: defaultRg.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Vpc Ha Vip can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/haVipv2:HaVipv2 example <id> ```

func GetHaVipv2 added in v3.38.0

func GetHaVipv2(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HaVipv2State, opts ...pulumi.ResourceOption) (*HaVipv2, error)

GetHaVipv2 gets an existing HaVipv2 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 NewHaVipv2 added in v3.38.0

func NewHaVipv2(ctx *pulumi.Context,
	name string, args *HaVipv2Args, opts ...pulumi.ResourceOption) (*HaVipv2, error)

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

func (*HaVipv2) ElementType added in v3.38.0

func (*HaVipv2) ElementType() reflect.Type

func (*HaVipv2) ToHaVipv2Output added in v3.38.0

func (i *HaVipv2) ToHaVipv2Output() HaVipv2Output

func (*HaVipv2) ToHaVipv2OutputWithContext added in v3.38.0

func (i *HaVipv2) ToHaVipv2OutputWithContext(ctx context.Context) HaVipv2Output

type HaVipv2Args added in v3.38.0

type HaVipv2Args struct {
	// The description of the HaVip instance. The length is 2 to 256 characters.
	Description pulumi.StringPtrInput
	// The name of the HaVip instance.
	HaVipName pulumi.StringPtrInput
	// Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	//
	// Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	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 ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The tags of HaVip.
	Tags pulumi.MapInput
	// The switch ID to which the HaVip instance belongs.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a HaVipv2 resource.

func (HaVipv2Args) ElementType added in v3.38.0

func (HaVipv2Args) ElementType() reflect.Type

type HaVipv2Array added in v3.38.0

type HaVipv2Array []HaVipv2Input

func (HaVipv2Array) ElementType added in v3.38.0

func (HaVipv2Array) ElementType() reflect.Type

func (HaVipv2Array) ToHaVipv2ArrayOutput added in v3.38.0

func (i HaVipv2Array) ToHaVipv2ArrayOutput() HaVipv2ArrayOutput

func (HaVipv2Array) ToHaVipv2ArrayOutputWithContext added in v3.38.0

func (i HaVipv2Array) ToHaVipv2ArrayOutputWithContext(ctx context.Context) HaVipv2ArrayOutput

type HaVipv2ArrayInput added in v3.38.0

type HaVipv2ArrayInput interface {
	pulumi.Input

	ToHaVipv2ArrayOutput() HaVipv2ArrayOutput
	ToHaVipv2ArrayOutputWithContext(context.Context) HaVipv2ArrayOutput
}

HaVipv2ArrayInput is an input type that accepts HaVipv2Array and HaVipv2ArrayOutput values. You can construct a concrete instance of `HaVipv2ArrayInput` via:

HaVipv2Array{ HaVipv2Args{...} }

type HaVipv2ArrayOutput added in v3.38.0

type HaVipv2ArrayOutput struct{ *pulumi.OutputState }

func (HaVipv2ArrayOutput) ElementType added in v3.38.0

func (HaVipv2ArrayOutput) ElementType() reflect.Type

func (HaVipv2ArrayOutput) Index added in v3.38.0

func (HaVipv2ArrayOutput) ToHaVipv2ArrayOutput added in v3.38.0

func (o HaVipv2ArrayOutput) ToHaVipv2ArrayOutput() HaVipv2ArrayOutput

func (HaVipv2ArrayOutput) ToHaVipv2ArrayOutputWithContext added in v3.38.0

func (o HaVipv2ArrayOutput) ToHaVipv2ArrayOutputWithContext(ctx context.Context) HaVipv2ArrayOutput

type HaVipv2Input added in v3.38.0

type HaVipv2Input interface {
	pulumi.Input

	ToHaVipv2Output() HaVipv2Output
	ToHaVipv2OutputWithContext(ctx context.Context) HaVipv2Output
}

type HaVipv2Map added in v3.38.0

type HaVipv2Map map[string]HaVipv2Input

func (HaVipv2Map) ElementType added in v3.38.0

func (HaVipv2Map) ElementType() reflect.Type

func (HaVipv2Map) ToHaVipv2MapOutput added in v3.38.0

func (i HaVipv2Map) ToHaVipv2MapOutput() HaVipv2MapOutput

func (HaVipv2Map) ToHaVipv2MapOutputWithContext added in v3.38.0

func (i HaVipv2Map) ToHaVipv2MapOutputWithContext(ctx context.Context) HaVipv2MapOutput

type HaVipv2MapInput added in v3.38.0

type HaVipv2MapInput interface {
	pulumi.Input

	ToHaVipv2MapOutput() HaVipv2MapOutput
	ToHaVipv2MapOutputWithContext(context.Context) HaVipv2MapOutput
}

HaVipv2MapInput is an input type that accepts HaVipv2Map and HaVipv2MapOutput values. You can construct a concrete instance of `HaVipv2MapInput` via:

HaVipv2Map{ "key": HaVipv2Args{...} }

type HaVipv2MapOutput added in v3.38.0

type HaVipv2MapOutput struct{ *pulumi.OutputState }

func (HaVipv2MapOutput) ElementType added in v3.38.0

func (HaVipv2MapOutput) ElementType() reflect.Type

func (HaVipv2MapOutput) MapIndex added in v3.38.0

func (HaVipv2MapOutput) ToHaVipv2MapOutput added in v3.38.0

func (o HaVipv2MapOutput) ToHaVipv2MapOutput() HaVipv2MapOutput

func (HaVipv2MapOutput) ToHaVipv2MapOutputWithContext added in v3.38.0

func (o HaVipv2MapOutput) ToHaVipv2MapOutputWithContext(ctx context.Context) HaVipv2MapOutput

type HaVipv2Output added in v3.38.0

type HaVipv2Output struct{ *pulumi.OutputState }

func (HaVipv2Output) AssociatedEipAddresses added in v3.38.0

func (o HaVipv2Output) AssociatedEipAddresses() pulumi.StringArrayOutput

EIP bound to HaVip.

func (HaVipv2Output) AssociatedInstanceType added in v3.38.0

func (o HaVipv2Output) AssociatedInstanceType() pulumi.StringOutput

The type of the instance that is bound to the HaVip. Value:-**EcsInstance**: ECS instance.-**NetworkInterface**: ENI instance.

func (HaVipv2Output) AssociatedInstances added in v3.38.0

func (o HaVipv2Output) AssociatedInstances() pulumi.StringArrayOutput

An ECS instance that is bound to HaVip.

func (HaVipv2Output) CreateTime added in v3.38.0

func (o HaVipv2Output) CreateTime() pulumi.StringOutput

The creation time of the resource.

func (HaVipv2Output) Description added in v3.38.0

func (o HaVipv2Output) Description() pulumi.StringPtrOutput

The description of the HaVip instance. The length is 2 to 256 characters.

func (HaVipv2Output) ElementType added in v3.38.0

func (HaVipv2Output) ElementType() reflect.Type

func (HaVipv2Output) HaVipId added in v3.38.0

func (o HaVipv2Output) HaVipId() pulumi.StringOutput

The ID of the resource.

func (HaVipv2Output) HaVipName added in v3.38.0

func (o HaVipv2Output) HaVipName() pulumi.StringOutput

The name of the HaVip instance.

func (HaVipv2Output) HavipName deprecated added in v3.38.0

func (o HaVipv2Output) HavipName() pulumi.StringOutput

Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.

Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.

func (HaVipv2Output) IpAddress added in v3.38.0

func (o HaVipv2Output) IpAddress() pulumi.StringOutput

The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.

func (HaVipv2Output) MasterInstanceId added in v3.38.0

func (o HaVipv2Output) MasterInstanceId() pulumi.StringOutput

The primary instance ID bound to HaVip.

func (HaVipv2Output) ResourceGroupId added in v3.38.0

func (o HaVipv2Output) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (HaVipv2Output) Status added in v3.38.0

func (o HaVipv2Output) Status() pulumi.StringOutput

The status of this resource instance.

func (HaVipv2Output) Tags added in v3.38.0

func (o HaVipv2Output) Tags() pulumi.MapOutput

The tags of HaVip.

func (HaVipv2Output) ToHaVipv2Output added in v3.38.0

func (o HaVipv2Output) ToHaVipv2Output() HaVipv2Output

func (HaVipv2Output) ToHaVipv2OutputWithContext added in v3.38.0

func (o HaVipv2Output) ToHaVipv2OutputWithContext(ctx context.Context) HaVipv2Output

func (HaVipv2Output) VpcId added in v3.38.0

func (o HaVipv2Output) VpcId() pulumi.StringOutput

The VPC ID to which the HaVip instance belongs.

func (HaVipv2Output) VswitchId added in v3.38.0

func (o HaVipv2Output) VswitchId() pulumi.StringOutput

The switch ID to which the HaVip instance belongs.

The following arguments will be discarded. Please use new fields as soon as possible:

type HaVipv2State added in v3.38.0

type HaVipv2State struct {
	// EIP bound to HaVip.
	AssociatedEipAddresses pulumi.StringArrayInput
	// The type of the instance that is bound to the HaVip. Value:-**EcsInstance**: ECS instance.-**NetworkInterface**: ENI instance.
	AssociatedInstanceType pulumi.StringPtrInput
	// An ECS instance that is bound to HaVip.
	AssociatedInstances pulumi.StringArrayInput
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// The description of the HaVip instance. The length is 2 to 256 characters.
	Description pulumi.StringPtrInput
	// The ID of the resource.
	HaVipId pulumi.StringPtrInput
	// The name of the HaVip instance.
	HaVipName pulumi.StringPtrInput
	// Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	//
	// Deprecated: Field 'havip_name' has been deprecated from provider version 1.205.0. New field 'ha_vip_name' instead.
	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 primary instance ID bound to HaVip.
	MasterInstanceId pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The status of this resource instance.
	Status pulumi.StringPtrInput
	// The tags of HaVip.
	Tags pulumi.MapInput
	// The VPC ID to which the HaVip instance belongs.
	VpcId pulumi.StringPtrInput
	// The switch ID to which the HaVip instance belongs.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VswitchId pulumi.StringPtrInput
}

func (HaVipv2State) ElementType added in v3.38.0

func (HaVipv2State) ElementType() reflect.Type

type Ipv4CidrBlock added in v3.29.0

type Ipv4CidrBlock struct {
	pulumi.CustomResourceState

	// The IPv4 CIDR block. Take note of the following requirements:
	// * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
	// * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
	// * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
	// * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
	SecondaryCidrBlock pulumi.StringOutput `pulumi:"secondaryCidrBlock"`
	// The ID of the VPC.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Ipv4 Cidr Block resource. VPC IPv4 additional network segment.

For information about VPC Ipv4 Cidr Block and how to use it, see [What is Ipv4 Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatevpccidrblock).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultvpc, err := vpc.NewNetwork(ctx, "defaultvpc", &vpc.NetworkArgs{
			Description: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv4CidrBlock(ctx, "default", &vpc.Ipv4CidrBlockArgs{
			SecondaryCidrBlock: pulumi.String("192.168.0.0/16"),
			VpcId:              defaultvpc.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ipv4 Cidr Block can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/ipv4CidrBlock:Ipv4CidrBlock example <vpc_id>:<secondary_cidr_block> ```

func GetIpv4CidrBlock added in v3.29.0

func GetIpv4CidrBlock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ipv4CidrBlockState, opts ...pulumi.ResourceOption) (*Ipv4CidrBlock, error)

GetIpv4CidrBlock gets an existing Ipv4CidrBlock 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 NewIpv4CidrBlock added in v3.29.0

func NewIpv4CidrBlock(ctx *pulumi.Context,
	name string, args *Ipv4CidrBlockArgs, opts ...pulumi.ResourceOption) (*Ipv4CidrBlock, error)

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

func (*Ipv4CidrBlock) ElementType added in v3.29.0

func (*Ipv4CidrBlock) ElementType() reflect.Type

func (*Ipv4CidrBlock) ToIpv4CidrBlockOutput added in v3.29.0

func (i *Ipv4CidrBlock) ToIpv4CidrBlockOutput() Ipv4CidrBlockOutput

func (*Ipv4CidrBlock) ToIpv4CidrBlockOutputWithContext added in v3.29.0

func (i *Ipv4CidrBlock) ToIpv4CidrBlockOutputWithContext(ctx context.Context) Ipv4CidrBlockOutput

type Ipv4CidrBlockArgs added in v3.29.0

type Ipv4CidrBlockArgs struct {
	// The IPv4 CIDR block. Take note of the following requirements:
	// * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
	// * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
	// * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
	// * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
	SecondaryCidrBlock pulumi.StringInput
	// The ID of the VPC.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Ipv4CidrBlock resource.

func (Ipv4CidrBlockArgs) ElementType added in v3.29.0

func (Ipv4CidrBlockArgs) ElementType() reflect.Type

type Ipv4CidrBlockArray added in v3.29.0

type Ipv4CidrBlockArray []Ipv4CidrBlockInput

func (Ipv4CidrBlockArray) ElementType added in v3.29.0

func (Ipv4CidrBlockArray) ElementType() reflect.Type

func (Ipv4CidrBlockArray) ToIpv4CidrBlockArrayOutput added in v3.29.0

func (i Ipv4CidrBlockArray) ToIpv4CidrBlockArrayOutput() Ipv4CidrBlockArrayOutput

func (Ipv4CidrBlockArray) ToIpv4CidrBlockArrayOutputWithContext added in v3.29.0

func (i Ipv4CidrBlockArray) ToIpv4CidrBlockArrayOutputWithContext(ctx context.Context) Ipv4CidrBlockArrayOutput

type Ipv4CidrBlockArrayInput added in v3.29.0

type Ipv4CidrBlockArrayInput interface {
	pulumi.Input

	ToIpv4CidrBlockArrayOutput() Ipv4CidrBlockArrayOutput
	ToIpv4CidrBlockArrayOutputWithContext(context.Context) Ipv4CidrBlockArrayOutput
}

Ipv4CidrBlockArrayInput is an input type that accepts Ipv4CidrBlockArray and Ipv4CidrBlockArrayOutput values. You can construct a concrete instance of `Ipv4CidrBlockArrayInput` via:

Ipv4CidrBlockArray{ Ipv4CidrBlockArgs{...} }

type Ipv4CidrBlockArrayOutput added in v3.29.0

type Ipv4CidrBlockArrayOutput struct{ *pulumi.OutputState }

func (Ipv4CidrBlockArrayOutput) ElementType added in v3.29.0

func (Ipv4CidrBlockArrayOutput) ElementType() reflect.Type

func (Ipv4CidrBlockArrayOutput) Index added in v3.29.0

func (Ipv4CidrBlockArrayOutput) ToIpv4CidrBlockArrayOutput added in v3.29.0

func (o Ipv4CidrBlockArrayOutput) ToIpv4CidrBlockArrayOutput() Ipv4CidrBlockArrayOutput

func (Ipv4CidrBlockArrayOutput) ToIpv4CidrBlockArrayOutputWithContext added in v3.29.0

func (o Ipv4CidrBlockArrayOutput) ToIpv4CidrBlockArrayOutputWithContext(ctx context.Context) Ipv4CidrBlockArrayOutput

type Ipv4CidrBlockInput added in v3.29.0

type Ipv4CidrBlockInput interface {
	pulumi.Input

	ToIpv4CidrBlockOutput() Ipv4CidrBlockOutput
	ToIpv4CidrBlockOutputWithContext(ctx context.Context) Ipv4CidrBlockOutput
}

type Ipv4CidrBlockMap added in v3.29.0

type Ipv4CidrBlockMap map[string]Ipv4CidrBlockInput

func (Ipv4CidrBlockMap) ElementType added in v3.29.0

func (Ipv4CidrBlockMap) ElementType() reflect.Type

func (Ipv4CidrBlockMap) ToIpv4CidrBlockMapOutput added in v3.29.0

func (i Ipv4CidrBlockMap) ToIpv4CidrBlockMapOutput() Ipv4CidrBlockMapOutput

func (Ipv4CidrBlockMap) ToIpv4CidrBlockMapOutputWithContext added in v3.29.0

func (i Ipv4CidrBlockMap) ToIpv4CidrBlockMapOutputWithContext(ctx context.Context) Ipv4CidrBlockMapOutput

type Ipv4CidrBlockMapInput added in v3.29.0

type Ipv4CidrBlockMapInput interface {
	pulumi.Input

	ToIpv4CidrBlockMapOutput() Ipv4CidrBlockMapOutput
	ToIpv4CidrBlockMapOutputWithContext(context.Context) Ipv4CidrBlockMapOutput
}

Ipv4CidrBlockMapInput is an input type that accepts Ipv4CidrBlockMap and Ipv4CidrBlockMapOutput values. You can construct a concrete instance of `Ipv4CidrBlockMapInput` via:

Ipv4CidrBlockMap{ "key": Ipv4CidrBlockArgs{...} }

type Ipv4CidrBlockMapOutput added in v3.29.0

type Ipv4CidrBlockMapOutput struct{ *pulumi.OutputState }

func (Ipv4CidrBlockMapOutput) ElementType added in v3.29.0

func (Ipv4CidrBlockMapOutput) ElementType() reflect.Type

func (Ipv4CidrBlockMapOutput) MapIndex added in v3.29.0

func (Ipv4CidrBlockMapOutput) ToIpv4CidrBlockMapOutput added in v3.29.0

func (o Ipv4CidrBlockMapOutput) ToIpv4CidrBlockMapOutput() Ipv4CidrBlockMapOutput

func (Ipv4CidrBlockMapOutput) ToIpv4CidrBlockMapOutputWithContext added in v3.29.0

func (o Ipv4CidrBlockMapOutput) ToIpv4CidrBlockMapOutputWithContext(ctx context.Context) Ipv4CidrBlockMapOutput

type Ipv4CidrBlockOutput added in v3.29.0

type Ipv4CidrBlockOutput struct{ *pulumi.OutputState }

func (Ipv4CidrBlockOutput) ElementType added in v3.29.0

func (Ipv4CidrBlockOutput) ElementType() reflect.Type

func (Ipv4CidrBlockOutput) SecondaryCidrBlock added in v3.29.0

func (o Ipv4CidrBlockOutput) SecondaryCidrBlock() pulumi.StringOutput

The IPv4 CIDR block. Take note of the following requirements: * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8. * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC. * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length. * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.

func (Ipv4CidrBlockOutput) ToIpv4CidrBlockOutput added in v3.29.0

func (o Ipv4CidrBlockOutput) ToIpv4CidrBlockOutput() Ipv4CidrBlockOutput

func (Ipv4CidrBlockOutput) ToIpv4CidrBlockOutputWithContext added in v3.29.0

func (o Ipv4CidrBlockOutput) ToIpv4CidrBlockOutputWithContext(ctx context.Context) Ipv4CidrBlockOutput

func (Ipv4CidrBlockOutput) VpcId added in v3.29.0

The ID of the VPC.

type Ipv4CidrBlockState added in v3.29.0

type Ipv4CidrBlockState struct {
	// The IPv4 CIDR block. Take note of the following requirements:
	// * You can specify one of the following standard IPv4 CIDR blocks or their subnets as the secondary IPv4 CIDR block: 192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8.
	// * You can also use a custom CIDR block other than 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, 169.254.0.0/16, or their subnets as the secondary IPv4 CIDR block of the VPC.
	// * The CIDR block cannot start with 0. The subnet mask must be 8 to 28 bits in length.
	// * The secondary CIDR block cannot overlap with the primary CIDR block or an existing secondary CIDR block.
	SecondaryCidrBlock pulumi.StringPtrInput
	// The ID of the VPC.
	VpcId pulumi.StringPtrInput
}

func (Ipv4CidrBlockState) ElementType added in v3.29.0

func (Ipv4CidrBlockState) ElementType() reflect.Type

type Ipv4Gateway added in v3.28.0

type Ipv4Gateway struct {
	pulumi.CustomResourceState

	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Whether to PreCheck only this request. Value:-**true**: The check request is sent without creating an IPv4 Gateway. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates an IPv4 Gateway.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Whether the IPv4 gateway is active or not. Valid values are **true** and **false**.
	Enabled pulumi.BoolOutput `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"`
	// Resource primary key field.
	Ipv4GatewayId pulumi.StringOutput `pulumi:"ipv4GatewayId"`
	// 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"`
	// ID of the route table associated with IPv4 Gateway.
	Ipv4GatewayRouteTableId pulumi.StringOutput `pulumi:"ipv4GatewayRouteTableId"`
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of the current resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// 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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-testacc-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := resourcemanager.NewResourceGroup(ctx, "default", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testAcc-rg665"),
			ResourceGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = resourcemanager.NewResourceGroup(ctx, "modify", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testAcc-rg298"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v1", name)),
		})
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(fmt.Sprintf("%v2", name)),
			CidrBlock: pulumi.String("10.0.0.0/8"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv4Gateway(ctx, "default", &vpc.Ipv4GatewayArgs{
			Ipv4GatewayName:        pulumi.String(name),
			Ipv4GatewayDescription: pulumi.String("tf-testAcc-Ipv4Gateway"),
			ResourceGroupId:        _default.ID(),
			VpcId:                  defaultNetwork.ID(),
		})
		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 added in v3.28.0

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 added in v3.28.0

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 added in v3.28.0

func (*Ipv4Gateway) ElementType() reflect.Type

func (*Ipv4Gateway) ToIpv4GatewayOutput added in v3.28.0

func (i *Ipv4Gateway) ToIpv4GatewayOutput() Ipv4GatewayOutput

func (*Ipv4Gateway) ToIpv4GatewayOutputWithContext added in v3.28.0

func (i *Ipv4Gateway) ToIpv4GatewayOutputWithContext(ctx context.Context) Ipv4GatewayOutput

type Ipv4GatewayArgs added in v3.28.0

type Ipv4GatewayArgs struct {
	// Whether to PreCheck only this request. Value:-**true**: The check request is sent without creating an IPv4 Gateway. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates an IPv4 Gateway.
	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 resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The tags of the current resource.
	Tags pulumi.MapInput
	// 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 added in v3.28.0

func (Ipv4GatewayArgs) ElementType() reflect.Type

type Ipv4GatewayArray added in v3.28.0

type Ipv4GatewayArray []Ipv4GatewayInput

func (Ipv4GatewayArray) ElementType added in v3.28.0

func (Ipv4GatewayArray) ElementType() reflect.Type

func (Ipv4GatewayArray) ToIpv4GatewayArrayOutput added in v3.28.0

func (i Ipv4GatewayArray) ToIpv4GatewayArrayOutput() Ipv4GatewayArrayOutput

func (Ipv4GatewayArray) ToIpv4GatewayArrayOutputWithContext added in v3.28.0

func (i Ipv4GatewayArray) ToIpv4GatewayArrayOutputWithContext(ctx context.Context) Ipv4GatewayArrayOutput

type Ipv4GatewayArrayInput added in v3.28.0

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 added in v3.28.0

type Ipv4GatewayArrayOutput struct{ *pulumi.OutputState }

func (Ipv4GatewayArrayOutput) ElementType added in v3.28.0

func (Ipv4GatewayArrayOutput) ElementType() reflect.Type

func (Ipv4GatewayArrayOutput) Index added in v3.28.0

func (Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutput added in v3.28.0

func (o Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutput() Ipv4GatewayArrayOutput

func (Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutputWithContext added in v3.28.0

func (o Ipv4GatewayArrayOutput) ToIpv4GatewayArrayOutputWithContext(ctx context.Context) Ipv4GatewayArrayOutput

type Ipv4GatewayInput added in v3.28.0

type Ipv4GatewayInput interface {
	pulumi.Input

	ToIpv4GatewayOutput() Ipv4GatewayOutput
	ToIpv4GatewayOutputWithContext(ctx context.Context) Ipv4GatewayOutput
}

type Ipv4GatewayMap added in v3.28.0

type Ipv4GatewayMap map[string]Ipv4GatewayInput

func (Ipv4GatewayMap) ElementType added in v3.28.0

func (Ipv4GatewayMap) ElementType() reflect.Type

func (Ipv4GatewayMap) ToIpv4GatewayMapOutput added in v3.28.0

func (i Ipv4GatewayMap) ToIpv4GatewayMapOutput() Ipv4GatewayMapOutput

func (Ipv4GatewayMap) ToIpv4GatewayMapOutputWithContext added in v3.28.0

func (i Ipv4GatewayMap) ToIpv4GatewayMapOutputWithContext(ctx context.Context) Ipv4GatewayMapOutput

type Ipv4GatewayMapInput added in v3.28.0

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 added in v3.28.0

type Ipv4GatewayMapOutput struct{ *pulumi.OutputState }

func (Ipv4GatewayMapOutput) ElementType added in v3.28.0

func (Ipv4GatewayMapOutput) ElementType() reflect.Type

func (Ipv4GatewayMapOutput) MapIndex added in v3.28.0

func (Ipv4GatewayMapOutput) ToIpv4GatewayMapOutput added in v3.28.0

func (o Ipv4GatewayMapOutput) ToIpv4GatewayMapOutput() Ipv4GatewayMapOutput

func (Ipv4GatewayMapOutput) ToIpv4GatewayMapOutputWithContext added in v3.28.0

func (o Ipv4GatewayMapOutput) ToIpv4GatewayMapOutputWithContext(ctx context.Context) Ipv4GatewayMapOutput

type Ipv4GatewayOutput added in v3.28.0

type Ipv4GatewayOutput struct{ *pulumi.OutputState }

func (Ipv4GatewayOutput) CreateTime added in v3.38.0

func (o Ipv4GatewayOutput) CreateTime() pulumi.StringOutput

The creation time of the resource.

func (Ipv4GatewayOutput) DryRun added in v3.28.0

Whether to PreCheck only this request. Value:-**true**: The check request is sent without creating an IPv4 Gateway. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates an IPv4 Gateway.

func (Ipv4GatewayOutput) ElementType added in v3.28.0

func (Ipv4GatewayOutput) ElementType() reflect.Type

func (Ipv4GatewayOutput) Enabled added in v3.29.0

func (o Ipv4GatewayOutput) Enabled() pulumi.BoolOutput

Whether the IPv4 gateway is active or not. Valid values are **true** and **false**.

func (Ipv4GatewayOutput) Ipv4GatewayDescription added in v3.28.0

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) Ipv4GatewayId added in v3.38.0

func (o Ipv4GatewayOutput) Ipv4GatewayId() pulumi.StringOutput

Resource primary key field.

func (Ipv4GatewayOutput) Ipv4GatewayName added in v3.28.0

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) Ipv4GatewayRouteTableId added in v3.38.0

func (o Ipv4GatewayOutput) Ipv4GatewayRouteTableId() pulumi.StringOutput

ID of the route table associated with IPv4 Gateway.

func (Ipv4GatewayOutput) ResourceGroupId added in v3.38.0

func (o Ipv4GatewayOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the instance belongs.

func (Ipv4GatewayOutput) Status added in v3.28.0

The status of the resource.

func (Ipv4GatewayOutput) Tags added in v3.38.0

The tags of the current resource.

func (Ipv4GatewayOutput) ToIpv4GatewayOutput added in v3.28.0

func (o Ipv4GatewayOutput) ToIpv4GatewayOutput() Ipv4GatewayOutput

func (Ipv4GatewayOutput) ToIpv4GatewayOutputWithContext added in v3.28.0

func (o Ipv4GatewayOutput) ToIpv4GatewayOutputWithContext(ctx context.Context) Ipv4GatewayOutput

func (Ipv4GatewayOutput) VpcId added in v3.28.0

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 added in v3.28.0

type Ipv4GatewayState struct {
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// Whether to PreCheck only this request. Value:-**true**: The check request is sent without creating an IPv4 Gateway. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.-**false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates an IPv4 Gateway.
	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
	// Resource primary key field.
	Ipv4GatewayId 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
	// ID of the route table associated with IPv4 Gateway.
	Ipv4GatewayRouteTableId pulumi.StringPtrInput
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The tags of the current resource.
	Tags pulumi.MapInput
	// 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 added in v3.28.0

func (Ipv4GatewayState) ElementType() reflect.Type

type Ipv6Address added in v3.48.0

type Ipv6Address struct {
	pulumi.CustomResourceState

	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// IPv6 address.
	Ipv6Address pulumi.StringOutput `pulumi:"ipv6Address"`
	// The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
	Ipv6AddressDescription pulumi.StringOutput `pulumi:"ipv6AddressDescription"`
	// The name of the IPv6 Address. 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://.
	Ipv6AddressName pulumi.StringPtrOutput `pulumi:"ipv6AddressName"`
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the resource.  Available, Pending and Deleting.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags for the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VSwitchId of the IPv6 address.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a VPC Ipv6 Address resource.

For information about VPC Ipv6 Address and how to use it, see [What is Ipv6 Address](https://next.api.alibabacloud.com/document/Vpc/2016-04-28/AllocateIpv6Address).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, nil, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			Ipv6Isp:    pulumi.String("BGP"),
			CidrBlock:  pulumi.String("172.168.0.0/16"),
			EnableIpv6: pulumi.Bool(true),
			VpcName:    pulumi.String(name),
		})
		if err != nil {
			return err
		}
		vswich, err := vpc.NewSwitch(ctx, "vswich", &vpc.SwitchArgs{
			VpcId:             vpc.ID(),
			CidrBlock:         pulumi.String("172.168.0.0/24"),
			ZoneId:            pulumi.String(defaultGetZones.Zones[0].Id),
			VswitchName:       pulumi.String(name),
			Ipv6CidrBlockMask: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv6Address(ctx, "default", &vpc.Ipv6AddressArgs{
			ResourceGroupId:        pulumi.String(_default.Ids[0]),
			VswitchId:              vswich.ID(),
			Ipv6AddressDescription: pulumi.String("create_description"),
			Ipv6AddressName:        pulumi.String(name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Ipv6 Address can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/ipv6Address:Ipv6Address example <id> ```

func GetIpv6Address added in v3.48.0

func GetIpv6Address(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Ipv6AddressState, opts ...pulumi.ResourceOption) (*Ipv6Address, error)

GetIpv6Address gets an existing Ipv6Address 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 NewIpv6Address added in v3.48.0

func NewIpv6Address(ctx *pulumi.Context,
	name string, args *Ipv6AddressArgs, opts ...pulumi.ResourceOption) (*Ipv6Address, error)

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

func (*Ipv6Address) ElementType added in v3.48.0

func (*Ipv6Address) ElementType() reflect.Type

func (*Ipv6Address) ToIpv6AddressOutput added in v3.48.0

func (i *Ipv6Address) ToIpv6AddressOutput() Ipv6AddressOutput

func (*Ipv6Address) ToIpv6AddressOutputWithContext added in v3.48.0

func (i *Ipv6Address) ToIpv6AddressOutputWithContext(ctx context.Context) Ipv6AddressOutput

type Ipv6AddressArgs added in v3.48.0

type Ipv6AddressArgs struct {
	// The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
	Ipv6AddressDescription pulumi.StringPtrInput
	// The name of the IPv6 Address. 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://.
	Ipv6AddressName pulumi.StringPtrInput
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The tags for the resource.
	Tags pulumi.MapInput
	// The VSwitchId of the IPv6 address.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a Ipv6Address resource.

func (Ipv6AddressArgs) ElementType added in v3.48.0

func (Ipv6AddressArgs) ElementType() reflect.Type

type Ipv6AddressArray added in v3.48.0

type Ipv6AddressArray []Ipv6AddressInput

func (Ipv6AddressArray) ElementType added in v3.48.0

func (Ipv6AddressArray) ElementType() reflect.Type

func (Ipv6AddressArray) ToIpv6AddressArrayOutput added in v3.48.0

func (i Ipv6AddressArray) ToIpv6AddressArrayOutput() Ipv6AddressArrayOutput

func (Ipv6AddressArray) ToIpv6AddressArrayOutputWithContext added in v3.48.0

func (i Ipv6AddressArray) ToIpv6AddressArrayOutputWithContext(ctx context.Context) Ipv6AddressArrayOutput

type Ipv6AddressArrayInput added in v3.48.0

type Ipv6AddressArrayInput interface {
	pulumi.Input

	ToIpv6AddressArrayOutput() Ipv6AddressArrayOutput
	ToIpv6AddressArrayOutputWithContext(context.Context) Ipv6AddressArrayOutput
}

Ipv6AddressArrayInput is an input type that accepts Ipv6AddressArray and Ipv6AddressArrayOutput values. You can construct a concrete instance of `Ipv6AddressArrayInput` via:

Ipv6AddressArray{ Ipv6AddressArgs{...} }

type Ipv6AddressArrayOutput added in v3.48.0

type Ipv6AddressArrayOutput struct{ *pulumi.OutputState }

func (Ipv6AddressArrayOutput) ElementType added in v3.48.0

func (Ipv6AddressArrayOutput) ElementType() reflect.Type

func (Ipv6AddressArrayOutput) Index added in v3.48.0

func (Ipv6AddressArrayOutput) ToIpv6AddressArrayOutput added in v3.48.0

func (o Ipv6AddressArrayOutput) ToIpv6AddressArrayOutput() Ipv6AddressArrayOutput

func (Ipv6AddressArrayOutput) ToIpv6AddressArrayOutputWithContext added in v3.48.0

func (o Ipv6AddressArrayOutput) ToIpv6AddressArrayOutputWithContext(ctx context.Context) Ipv6AddressArrayOutput

type Ipv6AddressInput added in v3.48.0

type Ipv6AddressInput interface {
	pulumi.Input

	ToIpv6AddressOutput() Ipv6AddressOutput
	ToIpv6AddressOutputWithContext(ctx context.Context) Ipv6AddressOutput
}

type Ipv6AddressMap added in v3.48.0

type Ipv6AddressMap map[string]Ipv6AddressInput

func (Ipv6AddressMap) ElementType added in v3.48.0

func (Ipv6AddressMap) ElementType() reflect.Type

func (Ipv6AddressMap) ToIpv6AddressMapOutput added in v3.48.0

func (i Ipv6AddressMap) ToIpv6AddressMapOutput() Ipv6AddressMapOutput

func (Ipv6AddressMap) ToIpv6AddressMapOutputWithContext added in v3.48.0

func (i Ipv6AddressMap) ToIpv6AddressMapOutputWithContext(ctx context.Context) Ipv6AddressMapOutput

type Ipv6AddressMapInput added in v3.48.0

type Ipv6AddressMapInput interface {
	pulumi.Input

	ToIpv6AddressMapOutput() Ipv6AddressMapOutput
	ToIpv6AddressMapOutputWithContext(context.Context) Ipv6AddressMapOutput
}

Ipv6AddressMapInput is an input type that accepts Ipv6AddressMap and Ipv6AddressMapOutput values. You can construct a concrete instance of `Ipv6AddressMapInput` via:

Ipv6AddressMap{ "key": Ipv6AddressArgs{...} }

type Ipv6AddressMapOutput added in v3.48.0

type Ipv6AddressMapOutput struct{ *pulumi.OutputState }

func (Ipv6AddressMapOutput) ElementType added in v3.48.0

func (Ipv6AddressMapOutput) ElementType() reflect.Type

func (Ipv6AddressMapOutput) MapIndex added in v3.48.0

func (Ipv6AddressMapOutput) ToIpv6AddressMapOutput added in v3.48.0

func (o Ipv6AddressMapOutput) ToIpv6AddressMapOutput() Ipv6AddressMapOutput

func (Ipv6AddressMapOutput) ToIpv6AddressMapOutputWithContext added in v3.48.0

func (o Ipv6AddressMapOutput) ToIpv6AddressMapOutputWithContext(ctx context.Context) Ipv6AddressMapOutput

type Ipv6AddressOutput added in v3.48.0

type Ipv6AddressOutput struct{ *pulumi.OutputState }

func (Ipv6AddressOutput) CreateTime added in v3.48.0

func (o Ipv6AddressOutput) CreateTime() pulumi.StringOutput

The creation time of the resource.

func (Ipv6AddressOutput) ElementType added in v3.48.0

func (Ipv6AddressOutput) ElementType() reflect.Type

func (Ipv6AddressOutput) Ipv6Address added in v3.48.0

func (o Ipv6AddressOutput) Ipv6Address() pulumi.StringOutput

IPv6 address.

func (Ipv6AddressOutput) Ipv6AddressDescription added in v3.48.0

func (o Ipv6AddressOutput) Ipv6AddressDescription() pulumi.StringOutput

The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.

func (Ipv6AddressOutput) Ipv6AddressName added in v3.48.0

func (o Ipv6AddressOutput) Ipv6AddressName() pulumi.StringPtrOutput

The name of the IPv6 Address. 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 (Ipv6AddressOutput) ResourceGroupId added in v3.48.0

func (o Ipv6AddressOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the instance belongs.

func (Ipv6AddressOutput) Status added in v3.48.0

The status of the resource. Available, Pending and Deleting.

func (Ipv6AddressOutput) Tags added in v3.48.0

The tags for the resource.

func (Ipv6AddressOutput) ToIpv6AddressOutput added in v3.48.0

func (o Ipv6AddressOutput) ToIpv6AddressOutput() Ipv6AddressOutput

func (Ipv6AddressOutput) ToIpv6AddressOutputWithContext added in v3.48.0

func (o Ipv6AddressOutput) ToIpv6AddressOutputWithContext(ctx context.Context) Ipv6AddressOutput

func (Ipv6AddressOutput) VswitchId added in v3.48.0

func (o Ipv6AddressOutput) VswitchId() pulumi.StringOutput

The VSwitchId of the IPv6 address.

type Ipv6AddressState added in v3.48.0

type Ipv6AddressState struct {
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// IPv6 address.
	Ipv6Address pulumi.StringPtrInput
	// The description of the IPv6 Address. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.
	Ipv6AddressDescription pulumi.StringPtrInput
	// The name of the IPv6 Address. 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://.
	Ipv6AddressName pulumi.StringPtrInput
	// The ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the resource.  Available, Pending and Deleting.
	Status pulumi.StringPtrInput
	// The tags for the resource.
	Tags pulumi.MapInput
	// The VSwitchId of the IPv6 address.
	VswitchId pulumi.StringPtrInput
}

func (Ipv6AddressState) ElementType added in v3.48.0

func (Ipv6AddressState) ElementType() reflect.Type

type Ipv6EgressRule added in v3.10.0

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.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Ipv6 Egress Rule resource. IPv6 address addition only active exit rule.

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 since v1.142.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone:              pulumi.StringRef(_default.Zones[0].Id),
			SystemDiskCategory:            pulumi.StringRef("cloud_efficiency"),
			CpuCoreCount:                  pulumi.IntRef(4),
			MinimumEniIpv6AddressQuantity: pulumi.IntRef(1),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, 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
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:    pulumi.String(name),
			EnableIpv6: pulumi.Bool(true),
			CidrBlock:  pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:             defaultNetwork.ID(),
			CidrBlock:         pulumi.String("172.16.0.0/21"),
			ZoneId:            pulumi.String(_default.Zones[0].Id),
			VswitchName:       pulumi.String(name),
			Ipv6CidrBlockMask: pulumi.Int(64),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:        pulumi.String(name),
			Description: pulumi.String(name),
			VpcId:       defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := ecs.NewInstance(ctx, "default", &ecs.InstanceArgs{
			AvailabilityZone:        pulumi.String(_default.Zones[0].Id),
			Ipv6AddressCount:        pulumi.Int(1),
			InstanceType:            pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			SystemDiskCategory:      pulumi.String("cloud_efficiency"),
			ImageId:                 pulumi.String(defaultGetImages.Images[0].Id),
			InstanceName:            pulumi.String(name),
			VswitchId:               defaultSwitch.ID(),
			InternetMaxBandwidthOut: pulumi.Int(10),
			SecurityGroups: pulumi.StringArray{
				defaultSecurityGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		defaultIpv6Gateway, err := vpc.NewIpv6Gateway(ctx, "default", &vpc.Ipv6GatewayArgs{
			Ipv6GatewayName: pulumi.String(name),
			VpcId:           defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultGetIpv6Addresses := vpc.GetIpv6AddressesOutput(ctx, vpc.GetIpv6AddressesOutputArgs{
			AssociatedInstanceId: defaultInstance.ID(),
			Status:               pulumi.String("Available"),
		}, nil)
		defaultIpv6InternetBandwidth, err := vpc.NewIpv6InternetBandwidth(ctx, "default", &vpc.Ipv6InternetBandwidthArgs{
			Ipv6AddressId: defaultGetIpv6Addresses.ApplyT(func(defaultGetIpv6Addresses vpc.GetIpv6AddressesResult) (*string, error) {
				return &defaultGetIpv6Addresses.Addresses[0].Id, nil
			}).(pulumi.StringPtrOutput),
			Ipv6GatewayId:      defaultIpv6Gateway.Ipv6GatewayId,
			InternetChargeType: pulumi.String("PayByBandwidth"),
			Bandwidth:          pulumi.Int(20),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv6EgressRule(ctx, "default", &vpc.Ipv6EgressRuleArgs{
			InstanceId:         defaultIpv6InternetBandwidth.Ipv6AddressId,
			Ipv6EgressRuleName: pulumi.String(name),
			Description:        pulumi.String(name),
			Ipv6GatewayId:      defaultIpv6InternetBandwidth.Ipv6GatewayId,
			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 added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (*Ipv6EgressRule) ElementType() reflect.Type

func (*Ipv6EgressRule) ToIpv6EgressRuleOutput added in v3.10.0

func (i *Ipv6EgressRule) ToIpv6EgressRuleOutput() Ipv6EgressRuleOutput

func (*Ipv6EgressRule) ToIpv6EgressRuleOutputWithContext added in v3.10.0

func (i *Ipv6EgressRule) ToIpv6EgressRuleOutputWithContext(ctx context.Context) Ipv6EgressRuleOutput

type Ipv6EgressRuleArgs added in v3.10.0

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 added in v3.10.0

func (Ipv6EgressRuleArgs) ElementType() reflect.Type

type Ipv6EgressRuleArray added in v3.10.0

type Ipv6EgressRuleArray []Ipv6EgressRuleInput

func (Ipv6EgressRuleArray) ElementType added in v3.10.0

func (Ipv6EgressRuleArray) ElementType() reflect.Type

func (Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutput added in v3.10.0

func (i Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutput() Ipv6EgressRuleArrayOutput

func (Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutputWithContext added in v3.10.0

func (i Ipv6EgressRuleArray) ToIpv6EgressRuleArrayOutputWithContext(ctx context.Context) Ipv6EgressRuleArrayOutput

type Ipv6EgressRuleArrayInput added in v3.10.0

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 added in v3.10.0

type Ipv6EgressRuleArrayOutput struct{ *pulumi.OutputState }

func (Ipv6EgressRuleArrayOutput) ElementType added in v3.10.0

func (Ipv6EgressRuleArrayOutput) ElementType() reflect.Type

func (Ipv6EgressRuleArrayOutput) Index added in v3.10.0

func (Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutput added in v3.10.0

func (o Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutput() Ipv6EgressRuleArrayOutput

func (Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutputWithContext added in v3.10.0

func (o Ipv6EgressRuleArrayOutput) ToIpv6EgressRuleArrayOutputWithContext(ctx context.Context) Ipv6EgressRuleArrayOutput

type Ipv6EgressRuleInput added in v3.10.0

type Ipv6EgressRuleInput interface {
	pulumi.Input

	ToIpv6EgressRuleOutput() Ipv6EgressRuleOutput
	ToIpv6EgressRuleOutputWithContext(ctx context.Context) Ipv6EgressRuleOutput
}

type Ipv6EgressRuleMap added in v3.10.0

type Ipv6EgressRuleMap map[string]Ipv6EgressRuleInput

func (Ipv6EgressRuleMap) ElementType added in v3.10.0

func (Ipv6EgressRuleMap) ElementType() reflect.Type

func (Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutput added in v3.10.0

func (i Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutput() Ipv6EgressRuleMapOutput

func (Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutputWithContext added in v3.10.0

func (i Ipv6EgressRuleMap) ToIpv6EgressRuleMapOutputWithContext(ctx context.Context) Ipv6EgressRuleMapOutput

type Ipv6EgressRuleMapInput added in v3.10.0

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 added in v3.10.0

type Ipv6EgressRuleMapOutput struct{ *pulumi.OutputState }

func (Ipv6EgressRuleMapOutput) ElementType added in v3.10.0

func (Ipv6EgressRuleMapOutput) ElementType() reflect.Type

func (Ipv6EgressRuleMapOutput) MapIndex added in v3.10.0

func (Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutput added in v3.10.0

func (o Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutput() Ipv6EgressRuleMapOutput

func (Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutputWithContext added in v3.10.0

func (o Ipv6EgressRuleMapOutput) ToIpv6EgressRuleMapOutputWithContext(ctx context.Context) Ipv6EgressRuleMapOutput

type Ipv6EgressRuleOutput added in v3.10.0

type Ipv6EgressRuleOutput struct{ *pulumi.OutputState }

func (Ipv6EgressRuleOutput) Description added in v3.27.0

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 added in v3.10.0

func (Ipv6EgressRuleOutput) ElementType() reflect.Type

func (Ipv6EgressRuleOutput) InstanceId added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

func (o Ipv6EgressRuleOutput) Ipv6GatewayId() pulumi.StringOutput

The ID of the IPv6 gateway.

func (Ipv6EgressRuleOutput) Status added in v3.27.0

The status of the resource.

func (Ipv6EgressRuleOutput) ToIpv6EgressRuleOutput added in v3.10.0

func (o Ipv6EgressRuleOutput) ToIpv6EgressRuleOutput() Ipv6EgressRuleOutput

func (Ipv6EgressRuleOutput) ToIpv6EgressRuleOutputWithContext added in v3.10.0

func (o Ipv6EgressRuleOutput) ToIpv6EgressRuleOutputWithContext(ctx context.Context) Ipv6EgressRuleOutput

type Ipv6EgressRuleState added in v3.10.0

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.
	Status pulumi.StringPtrInput
}

func (Ipv6EgressRuleState) ElementType added in v3.10.0

func (Ipv6EgressRuleState) ElementType() reflect.Type

type Ipv6Gateway added in v3.10.0

type Ipv6Gateway struct {
	pulumi.CustomResourceState

	// The status of the IPv6 gateway.
	BusinessStatus pulumi.StringOutput `pulumi:"businessStatus"`
	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// 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 expiration time of IPv6 gateway.
	ExpiredTime pulumi.StringOutput `pulumi:"expiredTime"`
	// The charge type of IPv6 gateway.
	InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"`
	// Resource primary key attribute field.
	Ipv6GatewayId pulumi.StringOutput `pulumi:"ipv6GatewayId"`
	// 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 ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// IPv6 gateways do not distinguish between specifications. This parameter is no longer used.
	//
	// Deprecated: Field 'Spec' has been deprecated from provider version 1.205.0. IPv6 gateways do not distinguish between specifications. This parameter is no longer used.
	Spec pulumi.StringOutput `pulumi:"spec"`
	// The status of the resource. Valid values: Available, Pending and Deleting.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags for the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// 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. Gateway Based on Internet Protocol Version 6.

For information about Vpc Ipv6 Gateway and how to use it, see [What is Ipv6 Gateway](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createipv6gateway).

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-testacc-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultVpc, err := vpc.NewNetwork(ctx, "defaultVpc", &vpc.NetworkArgs{
			Description: pulumi.String("tf-testacc"),
			EnableIpv6:  pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		defaultRg, err := resourcemanager.NewResourceGroup(ctx, "defaultRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testacc-ipv6gateway503"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v1", name)),
		})
		if err != nil {
			return err
		}
		_, err = resourcemanager.NewResourceGroup(ctx, "changeRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testacc-ipv6gateway311"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v2", name)),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewIpv6Gateway(ctx, "default", &vpc.Ipv6GatewayArgs{
			Description:     pulumi.String("test"),
			Ipv6GatewayName: pulumi.String(name),
			VpcId:           defaultVpc.ID(),
			ResourceGroupId: defaultRg.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 added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (*Ipv6Gateway) ElementType() reflect.Type

func (*Ipv6Gateway) ToIpv6GatewayOutput added in v3.10.0

func (i *Ipv6Gateway) ToIpv6GatewayOutput() Ipv6GatewayOutput

func (*Ipv6Gateway) ToIpv6GatewayOutputWithContext added in v3.10.0

func (i *Ipv6Gateway) ToIpv6GatewayOutputWithContext(ctx context.Context) Ipv6GatewayOutput

type Ipv6GatewayArgs added in v3.10.0

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 ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// IPv6 gateways do not distinguish between specifications. This parameter is no longer used.
	//
	// Deprecated: Field 'Spec' has been deprecated from provider version 1.205.0. IPv6 gateways do not distinguish between specifications. This parameter is no longer used.
	Spec pulumi.StringPtrInput
	// The tags for the resource.
	Tags pulumi.MapInput
	// 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 added in v3.10.0

func (Ipv6GatewayArgs) ElementType() reflect.Type

type Ipv6GatewayArray added in v3.10.0

type Ipv6GatewayArray []Ipv6GatewayInput

func (Ipv6GatewayArray) ElementType added in v3.10.0

func (Ipv6GatewayArray) ElementType() reflect.Type

func (Ipv6GatewayArray) ToIpv6GatewayArrayOutput added in v3.10.0

func (i Ipv6GatewayArray) ToIpv6GatewayArrayOutput() Ipv6GatewayArrayOutput

func (Ipv6GatewayArray) ToIpv6GatewayArrayOutputWithContext added in v3.10.0

func (i Ipv6GatewayArray) ToIpv6GatewayArrayOutputWithContext(ctx context.Context) Ipv6GatewayArrayOutput

type Ipv6GatewayArrayInput added in v3.10.0

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 added in v3.10.0

type Ipv6GatewayArrayOutput struct{ *pulumi.OutputState }

func (Ipv6GatewayArrayOutput) ElementType added in v3.10.0

func (Ipv6GatewayArrayOutput) ElementType() reflect.Type

func (Ipv6GatewayArrayOutput) Index added in v3.10.0

func (Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutput added in v3.10.0

func (o Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutput() Ipv6GatewayArrayOutput

func (Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutputWithContext added in v3.10.0

func (o Ipv6GatewayArrayOutput) ToIpv6GatewayArrayOutputWithContext(ctx context.Context) Ipv6GatewayArrayOutput

type Ipv6GatewayInput added in v3.10.0

type Ipv6GatewayInput interface {
	pulumi.Input

	ToIpv6GatewayOutput() Ipv6GatewayOutput
	ToIpv6GatewayOutputWithContext(ctx context.Context) Ipv6GatewayOutput
}

type Ipv6GatewayMap added in v3.10.0

type Ipv6GatewayMap map[string]Ipv6GatewayInput

func (Ipv6GatewayMap) ElementType added in v3.10.0

func (Ipv6GatewayMap) ElementType() reflect.Type

func (Ipv6GatewayMap) ToIpv6GatewayMapOutput added in v3.10.0

func (i Ipv6GatewayMap) ToIpv6GatewayMapOutput() Ipv6GatewayMapOutput

func (Ipv6GatewayMap) ToIpv6GatewayMapOutputWithContext added in v3.10.0

func (i Ipv6GatewayMap) ToIpv6GatewayMapOutputWithContext(ctx context.Context) Ipv6GatewayMapOutput

type Ipv6GatewayMapInput added in v3.10.0

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 added in v3.10.0

type Ipv6GatewayMapOutput struct{ *pulumi.OutputState }

func (Ipv6GatewayMapOutput) ElementType added in v3.10.0

func (Ipv6GatewayMapOutput) ElementType() reflect.Type

func (Ipv6GatewayMapOutput) MapIndex added in v3.10.0

func (Ipv6GatewayMapOutput) ToIpv6GatewayMapOutput added in v3.10.0

func (o Ipv6GatewayMapOutput) ToIpv6GatewayMapOutput() Ipv6GatewayMapOutput

func (Ipv6GatewayMapOutput) ToIpv6GatewayMapOutputWithContext added in v3.10.0

func (o Ipv6GatewayMapOutput) ToIpv6GatewayMapOutputWithContext(ctx context.Context) Ipv6GatewayMapOutput

type Ipv6GatewayOutput added in v3.10.0

type Ipv6GatewayOutput struct{ *pulumi.OutputState }

func (Ipv6GatewayOutput) BusinessStatus added in v3.38.0

func (o Ipv6GatewayOutput) BusinessStatus() pulumi.StringOutput

The status of the IPv6 gateway.

func (Ipv6GatewayOutput) CreateTime added in v3.38.0

func (o Ipv6GatewayOutput) CreateTime() pulumi.StringOutput

The creation time of the resource.

func (Ipv6GatewayOutput) Description added in v3.27.0

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 added in v3.10.0

func (Ipv6GatewayOutput) ElementType() reflect.Type

func (Ipv6GatewayOutput) ExpiredTime added in v3.38.0

func (o Ipv6GatewayOutput) ExpiredTime() pulumi.StringOutput

The expiration time of IPv6 gateway.

func (Ipv6GatewayOutput) InstanceChargeType added in v3.38.0

func (o Ipv6GatewayOutput) InstanceChargeType() pulumi.StringOutput

The charge type of IPv6 gateway.

func (Ipv6GatewayOutput) Ipv6GatewayId added in v3.38.0

func (o Ipv6GatewayOutput) Ipv6GatewayId() pulumi.StringOutput

Resource primary key attribute field.

func (Ipv6GatewayOutput) Ipv6GatewayName added in v3.27.0

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) ResourceGroupId added in v3.38.0

func (o Ipv6GatewayOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the instance belongs.

func (Ipv6GatewayOutput) Spec deprecated added in v3.27.0

IPv6 gateways do not distinguish between specifications. This parameter is no longer used.

Deprecated: Field 'Spec' has been deprecated from provider version 1.205.0. IPv6 gateways do not distinguish between specifications. This parameter is no longer used.

func (Ipv6GatewayOutput) Status added in v3.27.0

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

func (Ipv6GatewayOutput) Tags added in v3.38.0

The tags for the resource.

func (Ipv6GatewayOutput) ToIpv6GatewayOutput added in v3.10.0

func (o Ipv6GatewayOutput) ToIpv6GatewayOutput() Ipv6GatewayOutput

func (Ipv6GatewayOutput) ToIpv6GatewayOutputWithContext added in v3.10.0

func (o Ipv6GatewayOutput) ToIpv6GatewayOutputWithContext(ctx context.Context) Ipv6GatewayOutput

func (Ipv6GatewayOutput) VpcId added in v3.27.0

The ID of the virtual private cloud (VPC) for which you want to create the IPv6 gateway.

type Ipv6GatewayState added in v3.10.0

type Ipv6GatewayState struct {
	// The status of the IPv6 gateway.
	BusinessStatus pulumi.StringPtrInput
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// 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 expiration time of IPv6 gateway.
	ExpiredTime pulumi.StringPtrInput
	// The charge type of IPv6 gateway.
	InstanceChargeType pulumi.StringPtrInput
	// Resource primary key attribute field.
	Ipv6GatewayId 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 ID of the resource group to which the instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// IPv6 gateways do not distinguish between specifications. This parameter is no longer used.
	//
	// Deprecated: Field 'Spec' has been deprecated from provider version 1.205.0. IPv6 gateways do not distinguish between specifications. This parameter is no longer used.
	Spec pulumi.StringPtrInput
	// The status of the resource. Valid values: Available, Pending and Deleting.
	Status pulumi.StringPtrInput
	// The tags for the resource.
	Tags pulumi.MapInput
	// The ID of the virtual private cloud (VPC) for which you want to create the IPv6 gateway.
	VpcId pulumi.StringPtrInput
}

func (Ipv6GatewayState) ElementType added in v3.10.0

func (Ipv6GatewayState) ElementType() reflect.Type

type Ipv6InternetBandwidth added in v3.10.0

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 instance.
	Ipv6AddressId pulumi.StringOutput `pulumi:"ipv6AddressId"`
	// The ID of the IPv6 gateway to which the IPv6 address belongs.
	Ipv6GatewayId pulumi.StringOutput `pulumi:"ipv6GatewayId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Ipv6 Internet Bandwidth resource. Public network bandwidth of IPv6 address.

For information about VPC Ipv6 Internet Bandwidth and how to use it, see [What is Ipv6 Internet Bandwidth](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/allocateipv6internetbandwidth).

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

## Example Usage

Basic Usage

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { cfg := config.New(ctx, "") name := "terraform-example"; if param := cfg.Get("name"); param != ""{ name = param } _default, err := alicloud.GetZones(ctx, nil, nil); if err != nil { return err } defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{ VpcName: pulumi.String(name), EnableIpv6: pulumi.Bool(true), CidrBlock: pulumi.String("172.16.0.0/12"), }) if err != nil { return err } vsw, err := vpc.NewSwitch(ctx, "vsw", &vpc.SwitchArgs{ VpcId: defaultNetwork.ID(), CidrBlock: pulumi.String("172.16.0.0/21"), AvailabilityZone: pulumi.String(_default.Zones[0].Id), Name: pulumi.String(name), Ipv6CidrBlockMask: pulumi.Int(22), }) if err != nil { return err } group, err := ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{ Name: pulumi.String(name), Description: pulumi.String("foo"), VpcId: defaultNetwork.ID(), }) if err != nil { return err } defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{ AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id), SystemDiskCategory: pulumi.StringRef("cloud_efficiency"), CpuCoreCount: pulumi.IntRef(4), MinimumEniIpv6AddressQuantity: pulumi.IntRef(1), }, nil); if err != nil { return err } defaultGetImages, 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 } var splat0 pulumi.StringArray for _, val0 := range %!v(PANIC=Format method: fatal: An assertion has failed: tok: ) { splat0 = append(splat0, val0.ID()) } vpcInstance, err := ecs.NewInstance(ctx, "vpc_instance", &ecs.InstanceArgs{ AvailabilityZone: pulumi.String(_default.Zones[0].Id), Ipv6AddressCount: pulumi.Int(1), InstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id), SystemDiskCategory: pulumi.String("cloud_efficiency"), ImageId: pulumi.String(defaultGetImages.Images[0].Id), InstanceName: pulumi.String(name), VswitchId: vsw.ID(), InternetMaxBandwidthOut: pulumi.Int(10), SecurityGroups: splat0, }) if err != nil { return err } example, err := vpc.NewIpv6Gateway(ctx, "example", &vpc.Ipv6GatewayArgs{ Ipv6GatewayName: pulumi.String("example_value"), VpcId: defaultNetwork.ID(), }) if err != nil { return err } defaultGetIpv6Addresses := vpc.GetIpv6AddressesOutput(ctx, vpc.GetIpv6AddressesOutputArgs{ AssociatedInstanceId: vpcInstance.ID(), Status: pulumi.String("Available"), }, nil); _, err = vpc.NewIpv6InternetBandwidth(ctx, "example", &vpc.Ipv6InternetBandwidthArgs{ Ipv6AddressId: defaultGetIpv6Addresses.ApplyT(func(defaultGetIpv6Addresses vpc.GetIpv6AddressesResult) (*string, error) { return &defaultGetIpv6Addresses.Addresses[0].Id, nil }).(pulumi.StringPtrOutput), Ipv6GatewayId: example.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 added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (*Ipv6InternetBandwidth) ElementType() reflect.Type

func (*Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutput added in v3.10.0

func (i *Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutput() Ipv6InternetBandwidthOutput

func (*Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutputWithContext added in v3.10.0

func (i *Ipv6InternetBandwidth) ToIpv6InternetBandwidthOutputWithContext(ctx context.Context) Ipv6InternetBandwidthOutput

type Ipv6InternetBandwidthArgs added in v3.10.0

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 instance.
	Ipv6AddressId pulumi.StringInput
	// The ID of the IPv6 gateway to which the IPv6 address belongs.
	Ipv6GatewayId pulumi.StringInput
}

The set of arguments for constructing a Ipv6InternetBandwidth resource.

func (Ipv6InternetBandwidthArgs) ElementType added in v3.10.0

func (Ipv6InternetBandwidthArgs) ElementType() reflect.Type

type Ipv6InternetBandwidthArray added in v3.10.0

type Ipv6InternetBandwidthArray []Ipv6InternetBandwidthInput

func (Ipv6InternetBandwidthArray) ElementType added in v3.10.0

func (Ipv6InternetBandwidthArray) ElementType() reflect.Type

func (Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutput added in v3.10.0

func (i Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutput() Ipv6InternetBandwidthArrayOutput

func (Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutputWithContext added in v3.10.0

func (i Ipv6InternetBandwidthArray) ToIpv6InternetBandwidthArrayOutputWithContext(ctx context.Context) Ipv6InternetBandwidthArrayOutput

type Ipv6InternetBandwidthArrayInput added in v3.10.0

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 added in v3.10.0

type Ipv6InternetBandwidthArrayOutput struct{ *pulumi.OutputState }

func (Ipv6InternetBandwidthArrayOutput) ElementType added in v3.10.0

func (Ipv6InternetBandwidthArrayOutput) Index added in v3.10.0

func (Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutput added in v3.10.0

func (o Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutput() Ipv6InternetBandwidthArrayOutput

func (Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutputWithContext added in v3.10.0

func (o Ipv6InternetBandwidthArrayOutput) ToIpv6InternetBandwidthArrayOutputWithContext(ctx context.Context) Ipv6InternetBandwidthArrayOutput

type Ipv6InternetBandwidthInput added in v3.10.0

type Ipv6InternetBandwidthInput interface {
	pulumi.Input

	ToIpv6InternetBandwidthOutput() Ipv6InternetBandwidthOutput
	ToIpv6InternetBandwidthOutputWithContext(ctx context.Context) Ipv6InternetBandwidthOutput
}

type Ipv6InternetBandwidthMap added in v3.10.0

type Ipv6InternetBandwidthMap map[string]Ipv6InternetBandwidthInput

func (Ipv6InternetBandwidthMap) ElementType added in v3.10.0

func (Ipv6InternetBandwidthMap) ElementType() reflect.Type

func (Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutput added in v3.10.0

func (i Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutput() Ipv6InternetBandwidthMapOutput

func (Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutputWithContext added in v3.10.0

func (i Ipv6InternetBandwidthMap) ToIpv6InternetBandwidthMapOutputWithContext(ctx context.Context) Ipv6InternetBandwidthMapOutput

type Ipv6InternetBandwidthMapInput added in v3.10.0

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 added in v3.10.0

type Ipv6InternetBandwidthMapOutput struct{ *pulumi.OutputState }

func (Ipv6InternetBandwidthMapOutput) ElementType added in v3.10.0

func (Ipv6InternetBandwidthMapOutput) MapIndex added in v3.10.0

func (Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutput added in v3.10.0

func (o Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutput() Ipv6InternetBandwidthMapOutput

func (Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutputWithContext added in v3.10.0

func (o Ipv6InternetBandwidthMapOutput) ToIpv6InternetBandwidthMapOutputWithContext(ctx context.Context) Ipv6InternetBandwidthMapOutput

type Ipv6InternetBandwidthOutput added in v3.10.0

type Ipv6InternetBandwidthOutput struct{ *pulumi.OutputState }

func (Ipv6InternetBandwidthOutput) Bandwidth added in v3.27.0

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 added in v3.10.0

func (Ipv6InternetBandwidthOutput) InternetChargeType added in v3.27.0

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 added in v3.27.0

The ID of the IPv6 address instance.

func (Ipv6InternetBandwidthOutput) Ipv6GatewayId added in v3.27.0

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

func (Ipv6InternetBandwidthOutput) Status added in v3.27.0

The status of the resource.

func (Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutput added in v3.10.0

func (o Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutput() Ipv6InternetBandwidthOutput

func (Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutputWithContext added in v3.10.0

func (o Ipv6InternetBandwidthOutput) ToIpv6InternetBandwidthOutputWithContext(ctx context.Context) Ipv6InternetBandwidthOutput

type Ipv6InternetBandwidthState added in v3.10.0

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 instance.
	Ipv6AddressId pulumi.StringPtrInput
	// The ID of the IPv6 gateway to which the IPv6 address belongs.
	Ipv6GatewayId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
}

func (Ipv6InternetBandwidthState) ElementType added in v3.10.0

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:
	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"`
	// The duration that you will buy the resource, in month. It is valid when `paymentType` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	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 since v1.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:
	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
	// The duration that you will buy the resource, in month. It is valid when `paymentType` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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

func (NatGatewayOutput) EipBindMode added in v3.29.0

func (o NatGatewayOutput) EipBindMode() pulumi.StringOutput

The EIP binding mode of the NAT gateway. Default value: `MULTI_BINDED`. Valid values:

func (NatGatewayOutput) ElementType

func (NatGatewayOutput) ElementType() reflect.Type

func (NatGatewayOutput) Force added in v3.27.0

Specifies whether to forcefully delete the NAT gateway.

func (NatGatewayOutput) ForwardTableIds added in v3.27.0

func (o NatGatewayOutput) ForwardTableIds() pulumi.StringOutput

The nat gateway will auto create a forward item.

func (NatGatewayOutput) InstanceChargeType added in v3.27.0

func (o NatGatewayOutput) InstanceChargeType() pulumi.StringOutput

Field `instanceChargeType` has been deprecated from provider version 1.121.0. New field `paymentType` instead.

func (NatGatewayOutput) InternetChargeType added in v3.27.0

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 added in v3.27.0

Field `name` has been deprecated from provider version 1.121.0. New field `natGatewayName` instead.

func (NatGatewayOutput) NatGatewayName added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

The duration that you will buy the resource, in month. It is valid when `paymentType` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`. > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.

func (NatGatewayOutput) SnatTableIds added in v3.27.0

func (o NatGatewayOutput) SnatTableIds() pulumi.StringOutput

The nat gateway will auto create a snat item.

func (NatGatewayOutput) Specification added in v3.27.0

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 added in v3.27.0

(Available since v1.121.0) The status of NAT gateway.

func (NatGatewayOutput) Tags added in v3.27.0

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 added in v3.27.0

The VPC ID.

func (NatGatewayOutput) VswitchId added in v3.27.0

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:
	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
	// The duration that you will buy the resource, in month. It is valid when `paymentType` is `Subscription`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. **NOTE:** International station only supports `Subscription`.
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	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 since v1.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 added in v3.8.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		exampleNetwork, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
			VpcId:       exampleNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(example.Zones[0].Id),
			VswitchName: pulumi.String("terraform-example"),
		})
		if err != nil {
			return err
		}
		exampleNatGateway, err := vpc.NewNatGateway(ctx, "example", &vpc.NatGatewayArgs{
			VpcId:              exampleNetwork.ID(),
			InternetChargeType: pulumi.String("PayByLcu"),
			NatGatewayName:     pulumi.String("terraform-example"),
			Description:        pulumi.String("terraform-example"),
			NatType:            pulumi.String("Enhanced"),
			VswitchId:          exampleSwitch.ID(),
			NetworkType:        pulumi.String("intranet"),
		})
		if err != nil {
			return err
		}
		exampleNatIpCidr, err := vpc.NewNatIpCidr(ctx, "example", &vpc.NatIpCidrArgs{
			NatIpCidr:            pulumi.String("192.168.0.0/16"),
			NatGatewayId:         exampleNatGateway.ID(),
			NatIpCidrDescription: pulumi.String("terraform-example"),
			NatIpCidrName:        pulumi.String("terraform-example"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNatIp(ctx, "example", &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 added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

func (*NatIp) ElementType() reflect.Type

func (*NatIp) ToNatIpOutput added in v3.8.0

func (i *NatIp) ToNatIpOutput() NatIpOutput

func (*NatIp) ToNatIpOutputWithContext added in v3.8.0

func (i *NatIp) ToNatIpOutputWithContext(ctx context.Context) NatIpOutput

type NatIpArgs added in v3.8.0

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 added in v3.8.0

func (NatIpArgs) ElementType() reflect.Type

type NatIpArray added in v3.8.0

type NatIpArray []NatIpInput

func (NatIpArray) ElementType added in v3.8.0

func (NatIpArray) ElementType() reflect.Type

func (NatIpArray) ToNatIpArrayOutput added in v3.8.0

func (i NatIpArray) ToNatIpArrayOutput() NatIpArrayOutput

func (NatIpArray) ToNatIpArrayOutputWithContext added in v3.8.0

func (i NatIpArray) ToNatIpArrayOutputWithContext(ctx context.Context) NatIpArrayOutput

type NatIpArrayInput added in v3.8.0

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 added in v3.8.0

type NatIpArrayOutput struct{ *pulumi.OutputState }

func (NatIpArrayOutput) ElementType added in v3.8.0

func (NatIpArrayOutput) ElementType() reflect.Type

func (NatIpArrayOutput) Index added in v3.8.0

func (NatIpArrayOutput) ToNatIpArrayOutput added in v3.8.0

func (o NatIpArrayOutput) ToNatIpArrayOutput() NatIpArrayOutput

func (NatIpArrayOutput) ToNatIpArrayOutputWithContext added in v3.8.0

func (o NatIpArrayOutput) ToNatIpArrayOutputWithContext(ctx context.Context) NatIpArrayOutput

type NatIpCidr added in v3.8.0

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		exampleNetwork, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
			VpcId:       exampleNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(example.Zones[0].Id),
			VswitchName: pulumi.String("terraform-example"),
		})
		if err != nil {
			return err
		}
		exampleNatGateway, err := vpc.NewNatGateway(ctx, "example", &vpc.NatGatewayArgs{
			VpcId:              exampleNetwork.ID(),
			InternetChargeType: pulumi.String("PayByLcu"),
			NatGatewayName:     pulumi.String("terraform-example"),
			Description:        pulumi.String("terraform-example"),
			NatType:            pulumi.String("Enhanced"),
			VswitchId:          exampleSwitch.ID(),
			NetworkType:        pulumi.String("intranet"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNatIpCidr(ctx, "example", &vpc.NatIpCidrArgs{
			NatGatewayId:  exampleNatGateway.ID(),
			NatIpCidrName: pulumi.String("terraform-example"),
			NatIpCidr:     pulumi.String("192.168.0.0/16"),
		})
		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 added in v3.8.0

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 added in v3.8.0

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 added in v3.8.0

func (*NatIpCidr) ElementType() reflect.Type

func (*NatIpCidr) ToNatIpCidrOutput added in v3.8.0

func (i *NatIpCidr) ToNatIpCidrOutput() NatIpCidrOutput

func (*NatIpCidr) ToNatIpCidrOutputWithContext added in v3.8.0

func (i *NatIpCidr) ToNatIpCidrOutputWithContext(ctx context.Context) NatIpCidrOutput

type NatIpCidrArgs added in v3.8.0

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 added in v3.8.0

func (NatIpCidrArgs) ElementType() reflect.Type

type NatIpCidrArray added in v3.8.0

type NatIpCidrArray []NatIpCidrInput

func (NatIpCidrArray) ElementType added in v3.8.0

func (NatIpCidrArray) ElementType() reflect.Type

func (NatIpCidrArray) ToNatIpCidrArrayOutput added in v3.8.0

func (i NatIpCidrArray) ToNatIpCidrArrayOutput() NatIpCidrArrayOutput

func (NatIpCidrArray) ToNatIpCidrArrayOutputWithContext added in v3.8.0

func (i NatIpCidrArray) ToNatIpCidrArrayOutputWithContext(ctx context.Context) NatIpCidrArrayOutput

type NatIpCidrArrayInput added in v3.8.0

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 added in v3.8.0

type NatIpCidrArrayOutput struct{ *pulumi.OutputState }

func (NatIpCidrArrayOutput) ElementType added in v3.8.0

func (NatIpCidrArrayOutput) ElementType() reflect.Type

func (NatIpCidrArrayOutput) Index added in v3.8.0

func (NatIpCidrArrayOutput) ToNatIpCidrArrayOutput added in v3.8.0

func (o NatIpCidrArrayOutput) ToNatIpCidrArrayOutput() NatIpCidrArrayOutput

func (NatIpCidrArrayOutput) ToNatIpCidrArrayOutputWithContext added in v3.8.0

func (o NatIpCidrArrayOutput) ToNatIpCidrArrayOutputWithContext(ctx context.Context) NatIpCidrArrayOutput

type NatIpCidrInput added in v3.8.0

type NatIpCidrInput interface {
	pulumi.Input

	ToNatIpCidrOutput() NatIpCidrOutput
	ToNatIpCidrOutputWithContext(ctx context.Context) NatIpCidrOutput
}

type NatIpCidrMap added in v3.8.0

type NatIpCidrMap map[string]NatIpCidrInput

func (NatIpCidrMap) ElementType added in v3.8.0

func (NatIpCidrMap) ElementType() reflect.Type

func (NatIpCidrMap) ToNatIpCidrMapOutput added in v3.8.0

func (i NatIpCidrMap) ToNatIpCidrMapOutput() NatIpCidrMapOutput

func (NatIpCidrMap) ToNatIpCidrMapOutputWithContext added in v3.8.0

func (i NatIpCidrMap) ToNatIpCidrMapOutputWithContext(ctx context.Context) NatIpCidrMapOutput

type NatIpCidrMapInput added in v3.8.0

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 added in v3.8.0

type NatIpCidrMapOutput struct{ *pulumi.OutputState }

func (NatIpCidrMapOutput) ElementType added in v3.8.0

func (NatIpCidrMapOutput) ElementType() reflect.Type

func (NatIpCidrMapOutput) MapIndex added in v3.8.0

func (NatIpCidrMapOutput) ToNatIpCidrMapOutput added in v3.8.0

func (o NatIpCidrMapOutput) ToNatIpCidrMapOutput() NatIpCidrMapOutput

func (NatIpCidrMapOutput) ToNatIpCidrMapOutputWithContext added in v3.8.0

func (o NatIpCidrMapOutput) ToNatIpCidrMapOutputWithContext(ctx context.Context) NatIpCidrMapOutput

type NatIpCidrOutput added in v3.8.0

type NatIpCidrOutput struct{ *pulumi.OutputState }

func (NatIpCidrOutput) DryRun added in v3.27.0

func (o NatIpCidrOutput) DryRun() pulumi.BoolOutput

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

func (NatIpCidrOutput) ElementType added in v3.8.0

func (NatIpCidrOutput) ElementType() reflect.Type

func (NatIpCidrOutput) NatGatewayId added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

func (o NatIpCidrOutput) Status() pulumi.StringOutput

The status of the CIDR block of the NAT gateway. Valid values: `Available`.

func (NatIpCidrOutput) ToNatIpCidrOutput added in v3.8.0

func (o NatIpCidrOutput) ToNatIpCidrOutput() NatIpCidrOutput

func (NatIpCidrOutput) ToNatIpCidrOutputWithContext added in v3.8.0

func (o NatIpCidrOutput) ToNatIpCidrOutputWithContext(ctx context.Context) NatIpCidrOutput

type NatIpCidrState added in v3.8.0

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 added in v3.8.0

func (NatIpCidrState) ElementType() reflect.Type

type NatIpInput added in v3.8.0

type NatIpInput interface {
	pulumi.Input

	ToNatIpOutput() NatIpOutput
	ToNatIpOutputWithContext(ctx context.Context) NatIpOutput
}

type NatIpMap added in v3.8.0

type NatIpMap map[string]NatIpInput

func (NatIpMap) ElementType added in v3.8.0

func (NatIpMap) ElementType() reflect.Type

func (NatIpMap) ToNatIpMapOutput added in v3.8.0

func (i NatIpMap) ToNatIpMapOutput() NatIpMapOutput

func (NatIpMap) ToNatIpMapOutputWithContext added in v3.8.0

func (i NatIpMap) ToNatIpMapOutputWithContext(ctx context.Context) NatIpMapOutput

type NatIpMapInput added in v3.8.0

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 added in v3.8.0

type NatIpMapOutput struct{ *pulumi.OutputState }

func (NatIpMapOutput) ElementType added in v3.8.0

func (NatIpMapOutput) ElementType() reflect.Type

func (NatIpMapOutput) MapIndex added in v3.8.0

func (NatIpMapOutput) ToNatIpMapOutput added in v3.8.0

func (o NatIpMapOutput) ToNatIpMapOutput() NatIpMapOutput

func (NatIpMapOutput) ToNatIpMapOutputWithContext added in v3.8.0

func (o NatIpMapOutput) ToNatIpMapOutputWithContext(ctx context.Context) NatIpMapOutput

type NatIpOutput added in v3.8.0

type NatIpOutput struct{ *pulumi.OutputState }

func (NatIpOutput) DryRun added in v3.27.0

func (o NatIpOutput) DryRun() pulumi.BoolOutput

Specifies whether to check the validity of the request without actually making the request.

func (NatIpOutput) ElementType added in v3.8.0

func (NatIpOutput) ElementType() reflect.Type

func (NatIpOutput) NatGatewayId added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

func (o NatIpOutput) NatIpCidr() pulumi.StringPtrOutput

NAT IP ADDRESS of the address segment.

func (NatIpOutput) NatIpCidrId added in v3.27.0

func (o NatIpOutput) NatIpCidrId() pulumi.StringPtrOutput

The ID of the CIDR block to which the NAT IP address belongs.

func (NatIpOutput) NatIpDescription added in v3.27.0

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 added in v3.27.0

func (o NatIpOutput) NatIpId() pulumi.StringOutput

Ihe ID of the Nat Ip.

func (NatIpOutput) NatIpName added in v3.27.0

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 added in v3.27.0

func (o NatIpOutput) Status() pulumi.StringOutput

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

func (NatIpOutput) ToNatIpOutput added in v3.8.0

func (o NatIpOutput) ToNatIpOutput() NatIpOutput

func (NatIpOutput) ToNatIpOutputWithContext added in v3.8.0

func (o NatIpOutput) ToNatIpOutputWithContext(ctx context.Context) NatIpOutput

type NatIpState added in v3.8.0

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 added in v3.8.0

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.StringOutput `pulumi:"cidrBlock"`
	// The status of ClassicLink function.
	ClassicLinkEnabled pulumi.BoolPtrOutput `pulumi:"classicLinkEnabled"`
	// The creation time of the VPC.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether to PreCheck only this request. Value:
	// - **true**: The check request is sent without creating a VPC. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates a VPC.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Whether to enable the IPv6 network segment. Value:
	// - **false** (default): not enabled.
	// - **true**: on.
	EnableIpv6     pulumi.BoolPtrOutput   `pulumi:"enableIpv6"`
	Ipv4IpamPoolId pulumi.StringPtrOutput `pulumi:"ipv4IpamPoolId"`
	// The IPv6 CIDR block of the VPC.
	Ipv6CidrBlock pulumi.StringOutput `pulumi:"ipv6CidrBlock"`
	// The IPv6 CIDR block information of the VPC.
	Ipv6CidrBlocks NetworkIpv6CidrBlockArrayOutput `pulumi:"ipv6CidrBlocks"`
	// The IPv6 address segment type of the VPC. Value:
	// - **BGP** (default): Alibaba Cloud BGP IPv6.
	// - **ChinaMobile**: China Mobile (single line).
	// - **ChinaUnicom**: China Unicom (single line).
	// - **ChinaTelecom**: China Telecom (single line).
	// > **NOTE:**  If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).
	Ipv6Isp pulumi.StringPtrOutput `pulumi:"ipv6Isp"`
	// . Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.119.0. New field 'vpc_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the resource group to 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"`
	// Field 'router_table_id' has been deprecated from provider version 1.206.0. New field 'route_table_id' instead.
	//
	// Deprecated: Field 'router_table_id' has been deprecated since provider version 1.221.0. New field 'route_table_id' instead.
	RouterTableId pulumi.StringOutput `pulumi:"routerTableId"`
	// 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.
	//
	// Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0. 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.
	SecondaryCidrBlocks pulumi.StringArrayOutput `pulumi:"secondaryCidrBlocks"`
	// The status of the VPC.   **Pending**: The VPC is being configured. **Available**: The VPC is available.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of Vpc.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// A list of user CIDRs.
	UserCidrs pulumi.StringArrayOutput `pulumi:"userCidrs"`
	// The name of the VPC. Defaults to null.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcName pulumi.StringOutput `pulumi:"vpcName"`
}

Provides a Vpc Vpc resource. A VPC instance creates a VPC. You can fully control your own VPC, such as selecting IP address ranges, configuring routing tables, and gateways. You can use Alibaba cloud resources such as cloud servers, apsaradb for RDS, and load balancer in your own VPC.

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

> **NOTE:** This resource will auto build a router and a route table while it uses `vpc.Network` to build a vpc resource.

> **NOTE:** Currently, the IPv4 / IPv6 dual-stack VPC function is under public testing. Only the following regions support IPv4 / IPv6 dual-stack VPC: `cn-hangzhou`, `cn-shanghai`, `cn-shenzhen`, `cn-beijing`, `cn-huhehaote`, `cn-hongkong` and `ap-southeast-1`, and need to apply for public beta qualification. To use, please [submit an application](https://www.alibabacloud.com/help/en/vpc/getting-started/create-a-vpc-with-an-ipv6-cidr-block).

## Module Support

You can use the existing vpc module to create a VPC and several VSwitches one-click.

For information about Vpc Vpc and how to use it, see [What is Vpc](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/what-is-a-vpc).

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			Ipv6Isp:     pulumi.String("BGP"),
			Description: pulumi.String("test"),
			CidrBlock:   pulumi.String("10.0.0.0/8"),
			VpcName:     pulumi.String(name),
			EnableIpv6:  pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Vpc Vpc can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/network:Network example <id> ```

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 creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The description of the network ACL.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Out direction rule information. See `egressAclEntries` below.
	EgressAclEntries NetworkAclEgressAclEntryArrayOutput `pulumi:"egressAclEntries"`
	// Inward direction rule information. See `ingressAclEntries` below.
	IngressAclEntries NetworkAclIngressAclEntryArrayOutput `pulumi:"ingressAclEntries"`
	// . Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.122.0. New field 'network_acl_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the network ACL.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclName pulumi.StringOutput `pulumi:"networkAclName"`
	// The associated resource. See `resources` below.
	Resources NetworkAclResourceArrayOutput `pulumi:"resources"`
	// SOURCE NetworkAcl specified by CopyNetworkAclEntries.
	SourceNetworkAclId pulumi.StringPtrOutput `pulumi:"sourceNetworkAclId"`
	// The state of the network ACL.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of this resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of the associated VPC.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Network Acl resource. Network Access Control List (ACL) is a Network Access Control function in VPC. You can customize the network ACL rules and bind the network ACL to the switch to control the traffic of ECS instances in the switch.

For information about VPC Network Acl and how to use it, see [What is Network Acl](https://www.alibabacloud.com/help/en/ens/latest/createnetworkacl).

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       example.ID(),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAcl(ctx, "example", &vpc.NetworkAclArgs{
			VpcId:          example.ID(),
			NetworkAclName: pulumi.String(name),
			Description:    pulumi.String(name),
			IngressAclEntries: vpc.NetworkAclIngressAclEntryArray{
				&vpc.NetworkAclIngressAclEntryArgs{
					Description:         pulumi.String(fmt.Sprintf("%v-ingress", name)),
					NetworkAclEntryName: pulumi.String(fmt.Sprintf("%v-ingress", name)),
					SourceCidrIp:        pulumi.String("10.0.0.0/24"),
					Policy:              pulumi.String("accept"),
					Port:                pulumi.String("20/80"),
					Protocol:            pulumi.String("tcp"),
				},
			},
			EgressAclEntries: vpc.NetworkAclEgressAclEntryArray{
				&vpc.NetworkAclEgressAclEntryArgs{
					Description:         pulumi.String(fmt.Sprintf("%v-egress", name)),
					NetworkAclEntryName: pulumi.String(fmt.Sprintf("%v-egress", name)),
					DestinationCidrIp:   pulumi.String("10.0.0.0/24"),
					Policy:              pulumi.String("accept"),
					Port:                pulumi.String("20/80"),
					Protocol:            pulumi.String("tcp"),
				},
			},
			Resources: vpc.NetworkAclResourceArray{
				&vpc.NetworkAclResourceArgs{
					ResourceId:   exampleSwitch.ID(),
					ResourceType: pulumi.String("VSwitch"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import alicloud:vpc/networkAcl:NetworkAcl example <id> ```

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 the network ACL.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description pulumi.StringPtrInput
	// Out direction rule information. See `egressAclEntries` below.
	EgressAclEntries NetworkAclEgressAclEntryArrayInput
	// Inward direction rule information. See `ingressAclEntries` below.
	IngressAclEntries NetworkAclIngressAclEntryArrayInput
	// . Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.122.0. New field 'network_acl_name' instead.
	Name pulumi.StringPtrInput
	// The name of the network ACL.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclName pulumi.StringPtrInput
	// The associated resource. See `resources` below.
	Resources NetworkAclResourceArrayInput
	// SOURCE NetworkAcl specified by CopyNetworkAclEntries.
	SourceNetworkAclId pulumi.StringPtrInput
	// The tags of this resource.
	Tags pulumi.MapInput
	// The ID of the associated VPC.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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"`
}

Provides a network acl attachment resource to associate network acls to vswitches.

> **DEPRECATED:** This resource has been deprecated from version `1.124.0`. Replace by `resources` with the resource alicloud_network_acl. Note that because this resource conflicts with the `resources` attribute of `vpc.NetworkAcl`, this resource can no be used.

> **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "NatGatewayConfigSpec"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, "default", &vpc.NetworkAclArgs{
			VpcId:          defaultNetwork.ID(),
			NetworkAclName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclAttachment(ctx, "default", &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 added in v3.27.0

The id of the network acl, the field can't be changed.

func (NetworkAclAttachmentOutput) Resources added in v3.27.0

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 {
	ResourceId   string `pulumi:"resourceId"`
	ResourceType string `pulumi:"resourceType"`
}

type NetworkAclAttachmentResourceArgs

type NetworkAclAttachmentResourceArgs struct {
	ResourceId   pulumi.StringInput `pulumi:"resourceId"`
	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

func (NetworkAclAttachmentResourceOutput) ResourceType

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 added in v3.1.0

type NetworkAclEgressAclEntry struct {
	// The description of the outbound rule.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description *string `pulumi:"description"`
	// The network of the destination address.
	DestinationCidrIp *string `pulumi:"destinationCidrIp"`
	// The route entry type. The value can be `custom`, indicating custom.
	EntryType *string `pulumi:"entryType"`
	// The IP protocol version of the route entry. Valid values: "IPV4" and "IPV4'.
	IpVersion *string `pulumi:"ipVersion"`
	// Name of the outbound rule entry.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclEntryName *string `pulumi:"networkAclEntryName"`
	// Authorization policy. Value:
	// - accept: Allow.
	// - drop: Refused.
	Policy *string `pulumi:"policy"`
	// The destination port range of the outbound rule.  When the Protocol type of the outbound rule is all, icmp, or gre, the port range is - 1/-1, indicating that the port is not restricted. When the Protocol type of the outbound rule is tcp or udp, the port range is 1 to 65535, and the format is 1/200 or 80/80, indicating port 1 to port 200 or port 80.
	Port *string `pulumi:"port"`
	// The protocol type. Value:
	// - icmp: Network Control Message Protocol.
	// - gre: Generic Routing Encapsulation Protocol.
	// - tcp: Transmission Control Protocol.
	// - udp: User Datagram Protocol.
	// - all: Supports all protocols.
	Protocol *string `pulumi:"protocol"`
}

type NetworkAclEgressAclEntryArgs added in v3.1.0

type NetworkAclEgressAclEntryArgs struct {
	// The description of the outbound rule.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The network of the destination address.
	DestinationCidrIp pulumi.StringPtrInput `pulumi:"destinationCidrIp"`
	// The route entry type. The value can be `custom`, indicating custom.
	EntryType pulumi.StringPtrInput `pulumi:"entryType"`
	// The IP protocol version of the route entry. Valid values: "IPV4" and "IPV4'.
	IpVersion pulumi.StringPtrInput `pulumi:"ipVersion"`
	// Name of the outbound rule entry.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclEntryName pulumi.StringPtrInput `pulumi:"networkAclEntryName"`
	// Authorization policy. Value:
	// - accept: Allow.
	// - drop: Refused.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The destination port range of the outbound rule.  When the Protocol type of the outbound rule is all, icmp, or gre, the port range is - 1/-1, indicating that the port is not restricted. When the Protocol type of the outbound rule is tcp or udp, the port range is 1 to 65535, and the format is 1/200 or 80/80, indicating port 1 to port 200 or port 80.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol type. Value:
	// - icmp: Network Control Message Protocol.
	// - gre: Generic Routing Encapsulation Protocol.
	// - tcp: Transmission Control Protocol.
	// - udp: User Datagram Protocol.
	// - all: Supports all protocols.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (NetworkAclEgressAclEntryArgs) ElementType added in v3.1.0

func (NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutput added in v3.1.0

func (i NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutput() NetworkAclEgressAclEntryOutput

func (NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutputWithContext added in v3.1.0

func (i NetworkAclEgressAclEntryArgs) ToNetworkAclEgressAclEntryOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryOutput

type NetworkAclEgressAclEntryArray added in v3.1.0

type NetworkAclEgressAclEntryArray []NetworkAclEgressAclEntryInput

func (NetworkAclEgressAclEntryArray) ElementType added in v3.1.0

func (NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutput added in v3.1.0

func (i NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutput() NetworkAclEgressAclEntryArrayOutput

func (NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutputWithContext added in v3.1.0

func (i NetworkAclEgressAclEntryArray) ToNetworkAclEgressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryArrayOutput

type NetworkAclEgressAclEntryArrayInput added in v3.1.0

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 added in v3.1.0

type NetworkAclEgressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEgressAclEntryArrayOutput) ElementType added in v3.1.0

func (NetworkAclEgressAclEntryArrayOutput) Index added in v3.1.0

func (NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutput added in v3.1.0

func (o NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutput() NetworkAclEgressAclEntryArrayOutput

func (NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutputWithContext added in v3.1.0

func (o NetworkAclEgressAclEntryArrayOutput) ToNetworkAclEgressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclEgressAclEntryArrayOutput

type NetworkAclEgressAclEntryInput added in v3.1.0

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 added in v3.1.0

type NetworkAclEgressAclEntryOutput struct{ *pulumi.OutputState }

func (NetworkAclEgressAclEntryOutput) Description added in v3.1.0

The description of the outbound rule. The description must be 1 to 256 characters in length and cannot start with http:// or https.

func (NetworkAclEgressAclEntryOutput) DestinationCidrIp added in v3.1.0

The network of the destination address.

func (NetworkAclEgressAclEntryOutput) ElementType added in v3.1.0

func (NetworkAclEgressAclEntryOutput) EntryType added in v3.52.0

The route entry type. The value can be `custom`, indicating custom.

func (NetworkAclEgressAclEntryOutput) IpVersion added in v3.52.0

The IP protocol version of the route entry. Valid values: "IPV4" and "IPV4'.

func (NetworkAclEgressAclEntryOutput) NetworkAclEntryName added in v3.1.0

func (o NetworkAclEgressAclEntryOutput) NetworkAclEntryName() pulumi.StringPtrOutput

Name of the outbound rule entry. The name must be 1 to 128 characters in length and cannot start with http:// or https.

func (NetworkAclEgressAclEntryOutput) Policy added in v3.1.0

Authorization policy. Value: - accept: Allow. - drop: Refused.

func (NetworkAclEgressAclEntryOutput) Port added in v3.1.0

The destination port range of the outbound rule. When the Protocol type of the outbound rule is all, icmp, or gre, the port range is - 1/-1, indicating that the port is not restricted. When the Protocol type of the outbound rule is tcp or udp, the port range is 1 to 65535, and the format is 1/200 or 80/80, indicating port 1 to port 200 or port 80.

func (NetworkAclEgressAclEntryOutput) Protocol added in v3.1.0

The protocol type. Value: - icmp: Network Control Message Protocol. - gre: Generic Routing Encapsulation Protocol. - tcp: Transmission Control Protocol. - udp: User Datagram Protocol. - all: Supports all protocols.

func (NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutput added in v3.1.0

func (o NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutput() NetworkAclEgressAclEntryOutput

func (NetworkAclEgressAclEntryOutput) ToNetworkAclEgressAclEntryOutputWithContext added in v3.1.0

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

Provides a network acl entries resource to create ingress and egress entries.

> **NOTE:** Available in 1.45.0+. Currently, the resource are only available in Hongkong(cn-hongkong), and Indonesia(ap-southeast-1) regions.

> **NOTE:** It doesn't support concurrency and the order of the ingress and egress entries determines the priority.

> **NOTE:** Using this resource need to open a whitelist.

> **DEPRECATED:** This resource has been deprecated from version `1.122.0`. Replace by `ingressAclEntries` and `egressAclEntries` with the resource alicloud_network_acl.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "NetworkAclEntries"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			Name:      pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, "default", &vpc.NetworkAclArgs{
			VpcId: defaultNetwork.ID(),
			Name:  pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:     defaultNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/21"),
			ZoneId:    pulumi.String(_default.Zones[0].Id),
			Name:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclAttachment(ctx, "default", &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, "default", &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 {
	Description       *string `pulumi:"description"`
	DestinationCidrIp *string `pulumi:"destinationCidrIp"`
	EntryType         *string `pulumi:"entryType"`
	Name              *string `pulumi:"name"`
	Policy            *string `pulumi:"policy"`
	Port              *string `pulumi:"port"`
	Protocol          *string `pulumi:"protocol"`
}

type NetworkAclEntriesEgressArgs

type NetworkAclEntriesEgressArgs struct {
	Description       pulumi.StringPtrInput `pulumi:"description"`
	DestinationCidrIp pulumi.StringPtrInput `pulumi:"destinationCidrIp"`
	EntryType         pulumi.StringPtrInput `pulumi:"entryType"`
	Name              pulumi.StringPtrInput `pulumi:"name"`
	Policy            pulumi.StringPtrInput `pulumi:"policy"`
	Port              pulumi.StringPtrInput `pulumi:"port"`
	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

func (NetworkAclEntriesEgressOutput) DestinationCidrIp

func (NetworkAclEntriesEgressOutput) ElementType

func (NetworkAclEntriesEgressOutput) EntryType

func (NetworkAclEntriesEgressOutput) Name

func (NetworkAclEntriesEgressOutput) Policy

func (NetworkAclEntriesEgressOutput) Port

func (NetworkAclEntriesEgressOutput) Protocol

func (NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutput

func (o NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput

func (NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutputWithContext

func (o NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutputWithContext(ctx context.Context) NetworkAclEntriesEgressOutput

type NetworkAclEntriesIngress

type NetworkAclEntriesIngress struct {
	Description  *string `pulumi:"description"`
	EntryType    *string `pulumi:"entryType"`
	Name         *string `pulumi:"name"`
	Policy       *string `pulumi:"policy"`
	Port         *string `pulumi:"port"`
	Protocol     *string `pulumi:"protocol"`
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
}

type NetworkAclEntriesIngressArgs

type NetworkAclEntriesIngressArgs struct {
	Description  pulumi.StringPtrInput `pulumi:"description"`
	EntryType    pulumi.StringPtrInput `pulumi:"entryType"`
	Name         pulumi.StringPtrInput `pulumi:"name"`
	Policy       pulumi.StringPtrInput `pulumi:"policy"`
	Port         pulumi.StringPtrInput `pulumi:"port"`
	Protocol     pulumi.StringPtrInput `pulumi:"protocol"`
	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

func (NetworkAclEntriesIngressOutput) ElementType

func (NetworkAclEntriesIngressOutput) EntryType

func (NetworkAclEntriesIngressOutput) Name

func (NetworkAclEntriesIngressOutput) Policy

func (NetworkAclEntriesIngressOutput) Port

func (NetworkAclEntriesIngressOutput) Protocol

func (NetworkAclEntriesIngressOutput) SourceCidrIp

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.1.0

type NetworkAclIngressAclEntry struct {
	// Description of the inbound rule.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description *string `pulumi:"description"`
	// The route entry type. The value can be `custom`, indicating custom.
	EntryType *string `pulumi:"entryType"`
	// The IP protocol version of the route entry. Valid values: "IPV4" and "IPV6'.
	IpVersion *string `pulumi:"ipVersion"`
	// The name of the inbound rule entry.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclEntryName *string `pulumi:"networkAclEntryName"`
	// Authorization policy. Value:
	// - accept: Allow.
	// - drop: Refused.
	Policy *string `pulumi:"policy"`
	// The source port range of the inbound rule.  When the Protocol type of the inbound rule is all, icmp, or gre, the port range is - 1/-1, indicating that the port is not restricted. When the Protocol type of the inbound rule is tcp or udp, the port range is 1 to 65535, and the format is 1/200 or 80/80, indicating port 1 to port 200 or port 80.
	Port *string `pulumi:"port"`
	// The protocol type. Value:
	// - icmp: Network Control Message Protocol.
	// - gre: Generic Routing Encapsulation Protocol.
	// - tcp: Transmission Control Protocol.
	// - udp: User Datagram Protocol.
	// - all: Supports all protocols.
	Protocol *string `pulumi:"protocol"`
	// Source address network segment.
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
}

type NetworkAclIngressAclEntryArgs added in v3.1.0

type NetworkAclIngressAclEntryArgs struct {
	// Description of the inbound rule.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The route entry type. The value can be `custom`, indicating custom.
	EntryType pulumi.StringPtrInput `pulumi:"entryType"`
	// The IP protocol version of the route entry. Valid values: "IPV4" and "IPV6'.
	IpVersion pulumi.StringPtrInput `pulumi:"ipVersion"`
	// The name of the inbound rule entry.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclEntryName pulumi.StringPtrInput `pulumi:"networkAclEntryName"`
	// Authorization policy. Value:
	// - accept: Allow.
	// - drop: Refused.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The source port range of the inbound rule.  When the Protocol type of the inbound rule is all, icmp, or gre, the port range is - 1/-1, indicating that the port is not restricted. When the Protocol type of the inbound rule is tcp or udp, the port range is 1 to 65535, and the format is 1/200 or 80/80, indicating port 1 to port 200 or port 80.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol type. Value:
	// - icmp: Network Control Message Protocol.
	// - gre: Generic Routing Encapsulation Protocol.
	// - tcp: Transmission Control Protocol.
	// - udp: User Datagram Protocol.
	// - all: Supports all protocols.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// Source address network segment.
	SourceCidrIp pulumi.StringPtrInput `pulumi:"sourceCidrIp"`
}

func (NetworkAclIngressAclEntryArgs) ElementType added in v3.1.0

func (NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutput added in v3.1.0

func (i NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutput() NetworkAclIngressAclEntryOutput

func (NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutputWithContext added in v3.1.0

func (i NetworkAclIngressAclEntryArgs) ToNetworkAclIngressAclEntryOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryOutput

type NetworkAclIngressAclEntryArray added in v3.1.0

type NetworkAclIngressAclEntryArray []NetworkAclIngressAclEntryInput

func (NetworkAclIngressAclEntryArray) ElementType added in v3.1.0

func (NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutput added in v3.1.0

func (i NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutput() NetworkAclIngressAclEntryArrayOutput

func (NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutputWithContext added in v3.1.0

func (i NetworkAclIngressAclEntryArray) ToNetworkAclIngressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryArrayOutput

type NetworkAclIngressAclEntryArrayInput added in v3.1.0

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 added in v3.1.0

type NetworkAclIngressAclEntryArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclIngressAclEntryArrayOutput) ElementType added in v3.1.0

func (NetworkAclIngressAclEntryArrayOutput) Index added in v3.1.0

func (NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutput added in v3.1.0

func (o NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutput() NetworkAclIngressAclEntryArrayOutput

func (NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutputWithContext added in v3.1.0

func (o NetworkAclIngressAclEntryArrayOutput) ToNetworkAclIngressAclEntryArrayOutputWithContext(ctx context.Context) NetworkAclIngressAclEntryArrayOutput

type NetworkAclIngressAclEntryInput added in v3.1.0

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 added in v3.1.0

type NetworkAclIngressAclEntryOutput struct{ *pulumi.OutputState }

func (NetworkAclIngressAclEntryOutput) Description added in v3.1.0

Description of the inbound rule. The description must be 1 to 256 characters in length and cannot start with http:// or https.

func (NetworkAclIngressAclEntryOutput) ElementType added in v3.1.0

func (NetworkAclIngressAclEntryOutput) EntryType added in v3.52.0

The route entry type. The value can be `custom`, indicating custom.

func (NetworkAclIngressAclEntryOutput) IpVersion added in v3.52.0

The IP protocol version of the route entry. Valid values: "IPV4" and "IPV6'.

func (NetworkAclIngressAclEntryOutput) NetworkAclEntryName added in v3.1.0

func (o NetworkAclIngressAclEntryOutput) NetworkAclEntryName() pulumi.StringPtrOutput

The name of the inbound rule entry. The name must be 1 to 128 characters in length and cannot start with http:// or https.

func (NetworkAclIngressAclEntryOutput) Policy added in v3.1.0

Authorization policy. Value: - accept: Allow. - drop: Refused.

func (NetworkAclIngressAclEntryOutput) Port added in v3.1.0

The source port range of the inbound rule. When the Protocol type of the inbound rule is all, icmp, or gre, the port range is - 1/-1, indicating that the port is not restricted. When the Protocol type of the inbound rule is tcp or udp, the port range is 1 to 65535, and the format is 1/200 or 80/80, indicating port 1 to port 200 or port 80.

func (NetworkAclIngressAclEntryOutput) Protocol added in v3.1.0

The protocol type. Value: - icmp: Network Control Message Protocol. - gre: Generic Routing Encapsulation Protocol. - tcp: Transmission Control Protocol. - udp: User Datagram Protocol. - all: Supports all protocols.

func (NetworkAclIngressAclEntryOutput) SourceCidrIp added in v3.1.0

Source address network segment.

func (NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutput added in v3.1.0

func (o NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutput() NetworkAclIngressAclEntryOutput

func (NetworkAclIngressAclEntryOutput) ToNetworkAclIngressAclEntryOutputWithContext added in v3.1.0

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) CreateTime added in v3.38.0

func (o NetworkAclOutput) CreateTime() pulumi.StringOutput

The creation time of the resource.

func (NetworkAclOutput) Description added in v3.27.0

func (o NetworkAclOutput) Description() pulumi.StringPtrOutput

The description of the network ACL. The description must be 1 to 256 characters in length and cannot start with http:// or https.

func (NetworkAclOutput) EgressAclEntries added in v3.27.0

Out direction rule information. See `egressAclEntries` below.

func (NetworkAclOutput) ElementType

func (NetworkAclOutput) ElementType() reflect.Type

func (NetworkAclOutput) IngressAclEntries added in v3.27.0

Inward direction rule information. See `ingressAclEntries` below.

func (NetworkAclOutput) Name deprecated added in v3.27.0

. Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead.

Deprecated: Field 'name' has been deprecated since provider version 1.122.0. New field 'network_acl_name' instead.

func (NetworkAclOutput) NetworkAclName added in v3.27.0

func (o NetworkAclOutput) NetworkAclName() pulumi.StringOutput

The name of the network ACL. The name must be 1 to 128 characters in length and cannot start with http:// or https.

func (NetworkAclOutput) Resources added in v3.27.0

The associated resource. See `resources` below.

func (NetworkAclOutput) SourceNetworkAclId added in v3.52.0

func (o NetworkAclOutput) SourceNetworkAclId() pulumi.StringPtrOutput

SOURCE NetworkAcl specified by CopyNetworkAclEntries.

func (NetworkAclOutput) Status added in v3.27.0

The state of the network ACL.

func (NetworkAclOutput) Tags added in v3.38.0

The tags of this resource.

func (NetworkAclOutput) ToNetworkAclOutput

func (o NetworkAclOutput) ToNetworkAclOutput() NetworkAclOutput

func (NetworkAclOutput) ToNetworkAclOutputWithContext

func (o NetworkAclOutput) ToNetworkAclOutputWithContext(ctx context.Context) NetworkAclOutput

func (NetworkAclOutput) VpcId added in v3.27.0

The ID of the associated VPC.

The following arguments will be discarded. Please use new fields as soon as possible:

type NetworkAclResource added in v3.3.0

type NetworkAclResource 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 NetworkAclResourceArgs added in v3.3.0

type NetworkAclResourceArgs 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.StringPtrInput `pulumi:"status"`
}

func (NetworkAclResourceArgs) ElementType added in v3.3.0

func (NetworkAclResourceArgs) ElementType() reflect.Type

func (NetworkAclResourceArgs) ToNetworkAclResourceOutput added in v3.3.0

func (i NetworkAclResourceArgs) ToNetworkAclResourceOutput() NetworkAclResourceOutput

func (NetworkAclResourceArgs) ToNetworkAclResourceOutputWithContext added in v3.3.0

func (i NetworkAclResourceArgs) ToNetworkAclResourceOutputWithContext(ctx context.Context) NetworkAclResourceOutput

type NetworkAclResourceArray added in v3.3.0

type NetworkAclResourceArray []NetworkAclResourceInput

func (NetworkAclResourceArray) ElementType added in v3.3.0

func (NetworkAclResourceArray) ElementType() reflect.Type

func (NetworkAclResourceArray) ToNetworkAclResourceArrayOutput added in v3.3.0

func (i NetworkAclResourceArray) ToNetworkAclResourceArrayOutput() NetworkAclResourceArrayOutput

func (NetworkAclResourceArray) ToNetworkAclResourceArrayOutputWithContext added in v3.3.0

func (i NetworkAclResourceArray) ToNetworkAclResourceArrayOutputWithContext(ctx context.Context) NetworkAclResourceArrayOutput

type NetworkAclResourceArrayInput added in v3.3.0

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 added in v3.3.0

type NetworkAclResourceArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclResourceArrayOutput) ElementType added in v3.3.0

func (NetworkAclResourceArrayOutput) Index added in v3.3.0

func (NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutput added in v3.3.0

func (o NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutput() NetworkAclResourceArrayOutput

func (NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutputWithContext added in v3.3.0

func (o NetworkAclResourceArrayOutput) ToNetworkAclResourceArrayOutputWithContext(ctx context.Context) NetworkAclResourceArrayOutput

type NetworkAclResourceInput added in v3.3.0

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 added in v3.3.0

type NetworkAclResourceOutput struct{ *pulumi.OutputState }

func (NetworkAclResourceOutput) ElementType added in v3.3.0

func (NetworkAclResourceOutput) ElementType() reflect.Type

func (NetworkAclResourceOutput) ResourceId added in v3.3.0

The ID of the associated resource.

func (NetworkAclResourceOutput) ResourceType added in v3.3.0

func (o NetworkAclResourceOutput) ResourceType() pulumi.StringOutput

The type of the associated resource.

func (NetworkAclResourceOutput) Status added in v3.38.0

The state of the network ACL.

func (NetworkAclResourceOutput) ToNetworkAclResourceOutput added in v3.3.0

func (o NetworkAclResourceOutput) ToNetworkAclResourceOutput() NetworkAclResourceOutput

func (NetworkAclResourceOutput) ToNetworkAclResourceOutputWithContext added in v3.3.0

func (o NetworkAclResourceOutput) ToNetworkAclResourceOutputWithContext(ctx context.Context) NetworkAclResourceOutput

type NetworkAclState

type NetworkAclState struct {
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// The description of the network ACL.  The description must be 1 to 256 characters in length and cannot start with http:// or https.
	Description pulumi.StringPtrInput
	// Out direction rule information. See `egressAclEntries` below.
	EgressAclEntries NetworkAclEgressAclEntryArrayInput
	// Inward direction rule information. See `ingressAclEntries` below.
	IngressAclEntries NetworkAclIngressAclEntryArrayInput
	// . Field 'name' has been deprecated from provider version 1.122.0. New field 'network_acl_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.122.0. New field 'network_acl_name' instead.
	Name pulumi.StringPtrInput
	// The name of the network ACL.  The name must be 1 to 128 characters in length and cannot start with http:// or https.
	NetworkAclName pulumi.StringPtrInput
	// The associated resource. See `resources` below.
	Resources NetworkAclResourceArrayInput
	// SOURCE NetworkAcl specified by CopyNetworkAclEntries.
	SourceNetworkAclId pulumi.StringPtrInput
	// The state of the network ACL.
	Status pulumi.StringPtrInput
	// The tags of this resource.
	Tags pulumi.MapInput
	// The ID of the associated VPC.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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 status of ClassicLink function.
	ClassicLinkEnabled pulumi.BoolPtrInput
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrInput
	// Whether to PreCheck only this request. Value:
	// - **true**: The check request is sent without creating a VPC. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates a VPC.
	DryRun pulumi.BoolPtrInput
	// Whether to enable the IPv6 network segment. Value:
	// - **false** (default): not enabled.
	// - **true**: on.
	EnableIpv6     pulumi.BoolPtrInput
	Ipv4IpamPoolId pulumi.StringPtrInput
	// The IPv6 address segment type of the VPC. Value:
	// - **BGP** (default): Alibaba Cloud BGP IPv6.
	// - **ChinaMobile**: China Mobile (single line).
	// - **ChinaUnicom**: China Unicom (single line).
	// - **ChinaTelecom**: China Telecom (single line).
	// > **NOTE:**  If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).
	Ipv6Isp pulumi.StringPtrInput
	// . Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.119.0. New field 'vpc_name' instead.
	Name pulumi.StringPtrInput
	// The ID of the resource group to which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.
	//
	// Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0. 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.
	SecondaryCidrBlocks pulumi.StringArrayInput
	// The tags of Vpc.
	Tags pulumi.MapInput
	// A list of user CIDRs.
	UserCidrs pulumi.StringArrayInput
	// The name of the VPC. Defaults to null.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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"`
	Ipv4PrefixCount  pulumi.IntOutput         `pulumi:"ipv4PrefixCount"`
	Ipv4Prefixes     pulumi.StringArrayOutput `pulumi:"ipv4Prefixes"`
	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"`
}

> **DEPRECATED:** This resource has been renamed to ecs.EcsNetworkInterface from version 1.123.1.

Provides an ECS Elastic Network Interface resource.

For information about Elastic Network Interface and how to use it, see [Elastic Network Interface](https://www.alibabacloud.com/help/doc-detail/58496.html).

> **NOTE** Only one of privateIps or privateIpsCount can be specified when assign private IPs.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "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
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
			Name:      pulumi.String(name),
			CidrBlock: pulumi.String("192.168.0.0/24"),
			ZoneId:    pulumi.String(_default.Zones[0].Id),
			VpcId:     vpc.ID(),
		})
		if err != nil {
			return err
		}
		group, err := ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
			Name:  pulumi.String(name),
			VpcId: vpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkInterface(ctx, "default", &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
	Ipv4PrefixCount  pulumi.IntPtrInput
	Ipv4Prefixes     pulumi.StringArrayInput
	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"`
}

> **DEPRECATED:** This resource has been renamed to ecs.EcsNetworkInterfaceAttachment from version 1.123.1.

Provides an Alicloud ECS Elastic Network Interface Attachment as a resource to attach ENI to or detach ENI from ECS Instances.

For information about Elastic Network Interface and how to use it, see [Elastic Network Interface](https://www.alibabacloud.com/help/doc-detail/58496.html).

## 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 added in v3.27.0

The instance ID to attach.

func (NetworkInterfaceAttachmentOutput) NetworkInterfaceId added in v3.27.0

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 added in v3.27.0

func (o NetworkInterfaceAttachmentOutput) TrunkNetworkInstanceId() pulumi.StringPtrOutput

func (NetworkInterfaceAttachmentOutput) WaitForNetworkConfigurationReady added in v3.27.0

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 added in v3.27.0

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) Ipv4PrefixCount added in v3.45.0

func (o NetworkInterfaceOutput) Ipv4PrefixCount() pulumi.IntOutput

func (NetworkInterfaceOutput) Ipv4Prefixes added in v3.45.0

func (NetworkInterfaceOutput) Ipv6AddressCount added in v3.29.0

func (o NetworkInterfaceOutput) Ipv6AddressCount() pulumi.IntOutput

func (NetworkInterfaceOutput) Ipv6Addresses added in v3.29.0

func (NetworkInterfaceOutput) Mac added in v3.27.0

(Available in 1.54.0+) The MAC address of an ENI.

func (NetworkInterfaceOutput) Name deprecated added in v3.27.0

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 added in v3.27.0

func (o NetworkInterfaceOutput) NetworkInterfaceName() pulumi.StringOutput

func (NetworkInterfaceOutput) PrimaryIpAddress added in v3.27.0

func (o NetworkInterfaceOutput) PrimaryIpAddress() pulumi.StringOutput

func (NetworkInterfaceOutput) PrivateIp deprecated added in v3.27.0

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 added in v3.27.0

func (o NetworkInterfaceOutput) PrivateIpAddresses() pulumi.StringArrayOutput

func (NetworkInterfaceOutput) PrivateIps deprecated added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

func (o NetworkInterfaceOutput) QueueNumber() pulumi.IntOutput

func (NetworkInterfaceOutput) ResourceGroupId added in v3.27.0

func (o NetworkInterfaceOutput) ResourceGroupId() pulumi.StringPtrOutput

The Id of resource group which the network interface belongs.

func (NetworkInterfaceOutput) SecondaryPrivateIpAddressCount added in v3.27.0

func (o NetworkInterfaceOutput) SecondaryPrivateIpAddressCount() pulumi.IntOutput

func (NetworkInterfaceOutput) SecurityGroupIds added in v3.27.0

func (o NetworkInterfaceOutput) SecurityGroupIds() pulumi.StringArrayOutput

func (NetworkInterfaceOutput) SecurityGroups deprecated added in v3.27.0

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 added in v3.27.0

func (NetworkInterfaceOutput) Tags added in v3.27.0

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 added in v3.27.0

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
	Ipv4PrefixCount  pulumi.IntPtrInput
	Ipv4Prefixes     pulumi.StringArrayInput
	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 NetworkIpv6CidrBlock added in v3.38.0

type NetworkIpv6CidrBlock struct {
	// The IPv6 CIDR block of the VPC.
	Ipv6CidrBlock *string `pulumi:"ipv6CidrBlock"`
	// The IPv6 address segment type of the VPC. Value:
	// - **BGP** (default): Alibaba Cloud BGP IPv6.
	// - **ChinaMobile**: China Mobile (single line).
	// - **ChinaUnicom**: China Unicom (single line).
	// - **ChinaTelecom**: China Telecom (single line).
	// > **NOTE:**  If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).
	Ipv6Isp *string `pulumi:"ipv6Isp"`
}

type NetworkIpv6CidrBlockArgs added in v3.38.0

type NetworkIpv6CidrBlockArgs struct {
	// The IPv6 CIDR block of the VPC.
	Ipv6CidrBlock pulumi.StringPtrInput `pulumi:"ipv6CidrBlock"`
	// The IPv6 address segment type of the VPC. Value:
	// - **BGP** (default): Alibaba Cloud BGP IPv6.
	// - **ChinaMobile**: China Mobile (single line).
	// - **ChinaUnicom**: China Unicom (single line).
	// - **ChinaTelecom**: China Telecom (single line).
	// > **NOTE:**  If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).
	Ipv6Isp pulumi.StringPtrInput `pulumi:"ipv6Isp"`
}

func (NetworkIpv6CidrBlockArgs) ElementType added in v3.38.0

func (NetworkIpv6CidrBlockArgs) ElementType() reflect.Type

func (NetworkIpv6CidrBlockArgs) ToNetworkIpv6CidrBlockOutput added in v3.38.0

func (i NetworkIpv6CidrBlockArgs) ToNetworkIpv6CidrBlockOutput() NetworkIpv6CidrBlockOutput

func (NetworkIpv6CidrBlockArgs) ToNetworkIpv6CidrBlockOutputWithContext added in v3.38.0

func (i NetworkIpv6CidrBlockArgs) ToNetworkIpv6CidrBlockOutputWithContext(ctx context.Context) NetworkIpv6CidrBlockOutput

type NetworkIpv6CidrBlockArray added in v3.38.0

type NetworkIpv6CidrBlockArray []NetworkIpv6CidrBlockInput

func (NetworkIpv6CidrBlockArray) ElementType added in v3.38.0

func (NetworkIpv6CidrBlockArray) ElementType() reflect.Type

func (NetworkIpv6CidrBlockArray) ToNetworkIpv6CidrBlockArrayOutput added in v3.38.0

func (i NetworkIpv6CidrBlockArray) ToNetworkIpv6CidrBlockArrayOutput() NetworkIpv6CidrBlockArrayOutput

func (NetworkIpv6CidrBlockArray) ToNetworkIpv6CidrBlockArrayOutputWithContext added in v3.38.0

func (i NetworkIpv6CidrBlockArray) ToNetworkIpv6CidrBlockArrayOutputWithContext(ctx context.Context) NetworkIpv6CidrBlockArrayOutput

type NetworkIpv6CidrBlockArrayInput added in v3.38.0

type NetworkIpv6CidrBlockArrayInput interface {
	pulumi.Input

	ToNetworkIpv6CidrBlockArrayOutput() NetworkIpv6CidrBlockArrayOutput
	ToNetworkIpv6CidrBlockArrayOutputWithContext(context.Context) NetworkIpv6CidrBlockArrayOutput
}

NetworkIpv6CidrBlockArrayInput is an input type that accepts NetworkIpv6CidrBlockArray and NetworkIpv6CidrBlockArrayOutput values. You can construct a concrete instance of `NetworkIpv6CidrBlockArrayInput` via:

NetworkIpv6CidrBlockArray{ NetworkIpv6CidrBlockArgs{...} }

type NetworkIpv6CidrBlockArrayOutput added in v3.38.0

type NetworkIpv6CidrBlockArrayOutput struct{ *pulumi.OutputState }

func (NetworkIpv6CidrBlockArrayOutput) ElementType added in v3.38.0

func (NetworkIpv6CidrBlockArrayOutput) Index added in v3.38.0

func (NetworkIpv6CidrBlockArrayOutput) ToNetworkIpv6CidrBlockArrayOutput added in v3.38.0

func (o NetworkIpv6CidrBlockArrayOutput) ToNetworkIpv6CidrBlockArrayOutput() NetworkIpv6CidrBlockArrayOutput

func (NetworkIpv6CidrBlockArrayOutput) ToNetworkIpv6CidrBlockArrayOutputWithContext added in v3.38.0

func (o NetworkIpv6CidrBlockArrayOutput) ToNetworkIpv6CidrBlockArrayOutputWithContext(ctx context.Context) NetworkIpv6CidrBlockArrayOutput

type NetworkIpv6CidrBlockInput added in v3.38.0

type NetworkIpv6CidrBlockInput interface {
	pulumi.Input

	ToNetworkIpv6CidrBlockOutput() NetworkIpv6CidrBlockOutput
	ToNetworkIpv6CidrBlockOutputWithContext(context.Context) NetworkIpv6CidrBlockOutput
}

NetworkIpv6CidrBlockInput is an input type that accepts NetworkIpv6CidrBlockArgs and NetworkIpv6CidrBlockOutput values. You can construct a concrete instance of `NetworkIpv6CidrBlockInput` via:

NetworkIpv6CidrBlockArgs{...}

type NetworkIpv6CidrBlockOutput added in v3.38.0

type NetworkIpv6CidrBlockOutput struct{ *pulumi.OutputState }

func (NetworkIpv6CidrBlockOutput) ElementType added in v3.38.0

func (NetworkIpv6CidrBlockOutput) ElementType() reflect.Type

func (NetworkIpv6CidrBlockOutput) Ipv6CidrBlock added in v3.38.0

The IPv6 CIDR block of the VPC.

func (NetworkIpv6CidrBlockOutput) Ipv6Isp added in v3.38.0

The IPv6 address segment type of the VPC. Value: - **BGP** (default): Alibaba Cloud BGP IPv6. - **ChinaMobile**: China Mobile (single line). - **ChinaUnicom**: China Unicom (single line). - **ChinaTelecom**: China Telecom (single line). > **NOTE:** If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).

func (NetworkIpv6CidrBlockOutput) ToNetworkIpv6CidrBlockOutput added in v3.38.0

func (o NetworkIpv6CidrBlockOutput) ToNetworkIpv6CidrBlockOutput() NetworkIpv6CidrBlockOutput

func (NetworkIpv6CidrBlockOutput) ToNetworkIpv6CidrBlockOutputWithContext added in v3.38.0

func (o NetworkIpv6CidrBlockOutput) ToNetworkIpv6CidrBlockOutputWithContext(ctx context.Context) NetworkIpv6CidrBlockOutput

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 added in v3.27.0

func (o NetworkOutput) CidrBlock() pulumi.StringOutput

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) ClassicLinkEnabled added in v3.38.0

func (o NetworkOutput) ClassicLinkEnabled() pulumi.BoolPtrOutput

The status of ClassicLink function.

func (NetworkOutput) CreateTime added in v3.38.0

func (o NetworkOutput) CreateTime() pulumi.StringOutput

The creation time of the VPC.

func (NetworkOutput) Description added in v3.27.0

func (o NetworkOutput) Description() pulumi.StringPtrOutput

The VPC description. Defaults to null.

func (NetworkOutput) DryRun added in v3.27.0

func (o NetworkOutput) DryRun() pulumi.BoolPtrOutput

Whether to PreCheck only this request. Value: - **true**: The check request is sent without creating a VPC. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '. - **false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates a VPC.

func (NetworkOutput) ElementType

func (NetworkOutput) ElementType() reflect.Type

func (NetworkOutput) EnableIpv6 added in v3.27.0

func (o NetworkOutput) EnableIpv6() pulumi.BoolPtrOutput

Whether to enable the IPv6 network segment. Value: - **false** (default): not enabled. - **true**: on.

func (NetworkOutput) Ipv4IpamPoolId added in v3.53.0

func (o NetworkOutput) Ipv4IpamPoolId() pulumi.StringPtrOutput

func (NetworkOutput) Ipv6CidrBlock added in v3.27.0

func (o NetworkOutput) Ipv6CidrBlock() pulumi.StringOutput

The IPv6 CIDR block of the VPC.

func (NetworkOutput) Ipv6CidrBlocks added in v3.38.0

The IPv6 CIDR block information of the VPC.

func (NetworkOutput) Ipv6Isp added in v3.38.0

func (o NetworkOutput) Ipv6Isp() pulumi.StringPtrOutput

The IPv6 address segment type of the VPC. Value: - **BGP** (default): Alibaba Cloud BGP IPv6. - **ChinaMobile**: China Mobile (single line). - **ChinaUnicom**: China Unicom (single line). - **ChinaTelecom**: China Telecom (single line). > **NOTE:** If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).

func (NetworkOutput) Name deprecated added in v3.27.0

. Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.

Deprecated: Field 'name' has been deprecated since provider version 1.119.0. New field 'vpc_name' instead.

func (NetworkOutput) ResourceGroupId added in v3.27.0

func (o NetworkOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the VPC belongs.

func (NetworkOutput) RouteTableId added in v3.27.0

func (o NetworkOutput) RouteTableId() pulumi.StringOutput

The route table ID of the router created by default on VPC creation.

func (NetworkOutput) RouterId added in v3.27.0

func (o NetworkOutput) RouterId() pulumi.StringOutput

The ID of the router created by default on VPC creation.

func (NetworkOutput) RouterTableId deprecated added in v3.27.0

func (o NetworkOutput) RouterTableId() pulumi.StringOutput

Field 'router_table_id' has been deprecated from provider version 1.206.0. New field 'route_table_id' instead.

Deprecated: Field 'router_table_id' has been deprecated since provider version 1.221.0. New field 'route_table_id' instead.

func (NetworkOutput) SecondaryCidrBlocks deprecated added in v3.27.0

func (o NetworkOutput) SecondaryCidrBlocks() pulumi.StringArrayOutput

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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.

Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0. 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.

func (NetworkOutput) Status added in v3.27.0

func (o NetworkOutput) Status() pulumi.StringOutput

The status of the VPC. **Pending**: The VPC is being configured. **Available**: The VPC is available.

func (NetworkOutput) Tags added in v3.27.0

func (o NetworkOutput) Tags() pulumi.MapOutput

The tags of Vpc.

func (NetworkOutput) ToNetworkOutput

func (o NetworkOutput) ToNetworkOutput() NetworkOutput

func (NetworkOutput) ToNetworkOutputWithContext

func (o NetworkOutput) ToNetworkOutputWithContext(ctx context.Context) NetworkOutput

func (NetworkOutput) UserCidrs added in v3.27.0

func (o NetworkOutput) UserCidrs() pulumi.StringArrayOutput

A list of user CIDRs.

func (NetworkOutput) VpcName added in v3.27.0

func (o NetworkOutput) VpcName() pulumi.StringOutput

The name of the VPC. Defaults to null.

The following arguments will be discarded. Please use new fields as soon as possible:

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 status of ClassicLink function.
	ClassicLinkEnabled pulumi.BoolPtrInput
	// The creation time of the VPC.
	CreateTime pulumi.StringPtrInput
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrInput
	// Whether to PreCheck only this request. Value:
	// - **true**: The check request is sent without creating a VPC. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request, returns an HTTP 2xx status code and directly creates a VPC.
	DryRun pulumi.BoolPtrInput
	// Whether to enable the IPv6 network segment. Value:
	// - **false** (default): not enabled.
	// - **true**: on.
	EnableIpv6     pulumi.BoolPtrInput
	Ipv4IpamPoolId pulumi.StringPtrInput
	// The IPv6 CIDR block of the VPC.
	Ipv6CidrBlock pulumi.StringPtrInput
	// The IPv6 CIDR block information of the VPC.
	Ipv6CidrBlocks NetworkIpv6CidrBlockArrayInput
	// The IPv6 address segment type of the VPC. Value:
	// - **BGP** (default): Alibaba Cloud BGP IPv6.
	// - **ChinaMobile**: China Mobile (single line).
	// - **ChinaUnicom**: China Unicom (single line).
	// - **ChinaTelecom**: China Telecom (single line).
	// > **NOTE:**  If a single-line bandwidth whitelist is enabled, this field can be set to **ChinaTelecom** (China Telecom), **ChinaUnicom** (China Unicom), or **ChinaMobile** (China Mobile).
	Ipv6Isp pulumi.StringPtrInput
	// . Field 'name' has been deprecated from provider version 1.119.0. New field 'vpc_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated since provider version 1.119.0. New field 'vpc_name' instead.
	Name pulumi.StringPtrInput
	// The ID of the resource group to 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
	// Field 'router_table_id' has been deprecated from provider version 1.206.0. New field 'route_table_id' instead.
	//
	// Deprecated: Field 'router_table_id' has been deprecated since provider version 1.221.0. New field 'route_table_id' instead.
	RouterTableId pulumi.StringPtrInput
	// 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.
	//
	// Deprecated: Field 'secondary_cidr_blocks' has been deprecated from provider version 1.185.0. 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'. `secondaryCidrBlocks` attributes and `vpc.Ipv4CidrBlock` resource cannot be used at the same time.
	SecondaryCidrBlocks pulumi.StringArrayInput
	// The status of the VPC.   **Pending**: The VPC is being configured. **Available**: The VPC is available.
	Status pulumi.StringPtrInput
	// The tags of Vpc.
	Tags pulumi.MapInput
	// A list of user CIDRs.
	UserCidrs pulumi.StringArrayInput
	// The name of the VPC. Defaults to null.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcName pulumi.StringPtrInput
}

func (NetworkState) ElementType

func (NetworkState) ElementType() reflect.Type

type PeerConnection added in v3.29.0

type PeerConnection struct {
	pulumi.CustomResourceState

	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.
	// - Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account.
	// - Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection.
	// > **NOTE:**  If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.
	AcceptingAliUid pulumi.IntPtrOutput `pulumi:"acceptingAliUid"`
	// The region ID of the recipient of the VPC peering connection to be created.
	// - When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator.
	// - When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.
	AcceptingRegionId pulumi.StringOutput `pulumi:"acceptingRegionId"`
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId pulumi.StringOutput `pulumi:"acceptingVpcId"`
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.
	Bandwidth pulumi.IntOutput `pulumi:"bandwidth"`
	// The creation time of the VPC peer connection. Use UTC time in the format `YYYY-MM-DDThh:mm:ssZ`.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The description of the VPC peer connection to be created.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.StringPtrOutput `pulumi:"description"`
	// Whether to PreCheck only this request. Default value: `false`. Valid values:
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The name of the VPC peer connection. The name of the resource. The name must be 2 to 128 characters in length, and must start with a letter. It can contain digits, underscores (_), and hyphens (-).
	PeerConnectionName pulumi.StringPtrOutput `pulumi:"peerConnectionName"`
	// The ID of the resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the VPC peer connection.
	Status pulumi.StringOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of the requester VPC.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Peer Connection resource.

For information about VPC Peer Connection and how to use it, see [What is Peer Connection](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createvpcpeer).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := alicloud.GetAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		acceptingRegion := "cn-beijing"
		if param := cfg.Get("acceptingRegion"); param != "" {
			acceptingRegion = param
		}
		localVpc, err := vpc.NewNetwork(ctx, "local_vpc", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.17.3.0/24"),
		})
		if err != nil {
			return err
		}
		acceptingVpc, err := vpc.NewNetwork(ctx, "accepting_vpc", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.17.3.0/24"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewPeerConnection(ctx, "default", &vpc.PeerConnectionArgs{
			PeerConnectionName: pulumi.String("terraform-example"),
			VpcId:              localVpc.ID(),
			AcceptingAliUid:    pulumi.String(_default.Id),
			AcceptingRegionId:  pulumi.String(acceptingRegion),
			AcceptingVpcId:     acceptingVpc.ID(),
			Description:        pulumi.String("terraform-example"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import alicloud:vpc/peerConnection:PeerConnection example <id> ```

func GetPeerConnection added in v3.29.0

func GetPeerConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PeerConnectionState, opts ...pulumi.ResourceOption) (*PeerConnection, error)

GetPeerConnection gets an existing PeerConnection 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 NewPeerConnection added in v3.29.0

func NewPeerConnection(ctx *pulumi.Context,
	name string, args *PeerConnectionArgs, opts ...pulumi.ResourceOption) (*PeerConnection, error)

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

func (*PeerConnection) ElementType added in v3.29.0

func (*PeerConnection) ElementType() reflect.Type

func (*PeerConnection) ToPeerConnectionOutput added in v3.29.0

func (i *PeerConnection) ToPeerConnectionOutput() PeerConnectionOutput

func (*PeerConnection) ToPeerConnectionOutputWithContext added in v3.29.0

func (i *PeerConnection) ToPeerConnectionOutputWithContext(ctx context.Context) PeerConnectionOutput

type PeerConnectionAccepter added in v3.29.0

type PeerConnectionAccepter struct {
	pulumi.CustomResourceState

	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.-Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account.-Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection.> If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.
	AcceptingOwnerUid pulumi.IntOutput `pulumi:"acceptingOwnerUid"`
	// The region ID of the recipient of the VPC peering connection to be created.-When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator.-When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.
	AcceptingRegionId pulumi.StringOutput `pulumi:"acceptingRegionId"`
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId pulumi.StringOutput `pulumi:"acceptingVpcId"`
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.
	Bandwidth pulumi.IntOutput `pulumi:"bandwidth"`
	// The description of the VPC peer connection to be created.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.StringOutput `pulumi:"description"`
	// The dry run.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// The ID of the instance of the created VPC peer connection.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The name of the resource
	PeerConnectionAccepterName pulumi.StringOutput `pulumi:"peerConnectionAccepterName"`
	// The status of the resource
	Status pulumi.StringOutput `pulumi:"status"`
	// You must create a VPC ID on the initiator of a VPC peer connection.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a Vpc Peer Connection Accepter resource.

For information about Vpc Peer Connection Accepter and how to use it, see [What is Peer Connection Accepter](https://www.alibabacloud.com/help/en/vpc/developer-reference/api-vpcpeer-2022-01-01-acceptvpcpeerconnection).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		acceptingRegion := "cn-beijing"
		if param := cfg.Get("acceptingRegion"); param != "" {
			acceptingRegion = param
		}
		acceptUid := "xxxx"
		if param := cfg.Get("acceptUid"); param != "" {
			acceptUid = param
		}
		local, err := vpc.NewNetwork(ctx, "local", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		acceptingNetwork, err := vpc.NewNetwork(ctx, "accepting", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("192.168.0.0/16"),
		})
		if err != nil {
			return err
		}
		accepting, err := alicloud.GetAccount(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = vpc.NewPeerConnection(ctx, "default", &vpc.PeerConnectionArgs{
			PeerConnectionName: pulumi.String(name),
			VpcId:              local.ID(),
			AcceptingAliUid:    pulumi.String(accepting.Id),
			AcceptingRegionId:  pulumi.String(acceptingRegion),
			AcceptingVpcId:     acceptingNetwork.ID(),
			Description:        pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewPeerConnectionAccepter(ctx, "default", &vpc.PeerConnectionAccepterArgs{
			InstanceId: _default.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Vpc Peer Connection Accepter can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/peerConnectionAccepter:PeerConnectionAccepter example <id> ```

func GetPeerConnectionAccepter added in v3.29.0

func GetPeerConnectionAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PeerConnectionAccepterState, opts ...pulumi.ResourceOption) (*PeerConnectionAccepter, error)

GetPeerConnectionAccepter gets an existing PeerConnectionAccepter 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 NewPeerConnectionAccepter added in v3.29.0

func NewPeerConnectionAccepter(ctx *pulumi.Context,
	name string, args *PeerConnectionAccepterArgs, opts ...pulumi.ResourceOption) (*PeerConnectionAccepter, error)

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

func (*PeerConnectionAccepter) ElementType added in v3.29.0

func (*PeerConnectionAccepter) ElementType() reflect.Type

func (*PeerConnectionAccepter) ToPeerConnectionAccepterOutput added in v3.29.0

func (i *PeerConnectionAccepter) ToPeerConnectionAccepterOutput() PeerConnectionAccepterOutput

func (*PeerConnectionAccepter) ToPeerConnectionAccepterOutputWithContext added in v3.29.0

func (i *PeerConnectionAccepter) ToPeerConnectionAccepterOutputWithContext(ctx context.Context) PeerConnectionAccepterOutput

type PeerConnectionAccepterArgs added in v3.29.0

type PeerConnectionAccepterArgs struct {
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the instance of the created VPC peer connection.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a PeerConnectionAccepter resource.

func (PeerConnectionAccepterArgs) ElementType added in v3.29.0

func (PeerConnectionAccepterArgs) ElementType() reflect.Type

type PeerConnectionAccepterArray added in v3.29.0

type PeerConnectionAccepterArray []PeerConnectionAccepterInput

func (PeerConnectionAccepterArray) ElementType added in v3.29.0

func (PeerConnectionAccepterArray) ToPeerConnectionAccepterArrayOutput added in v3.29.0

func (i PeerConnectionAccepterArray) ToPeerConnectionAccepterArrayOutput() PeerConnectionAccepterArrayOutput

func (PeerConnectionAccepterArray) ToPeerConnectionAccepterArrayOutputWithContext added in v3.29.0

func (i PeerConnectionAccepterArray) ToPeerConnectionAccepterArrayOutputWithContext(ctx context.Context) PeerConnectionAccepterArrayOutput

type PeerConnectionAccepterArrayInput added in v3.29.0

type PeerConnectionAccepterArrayInput interface {
	pulumi.Input

	ToPeerConnectionAccepterArrayOutput() PeerConnectionAccepterArrayOutput
	ToPeerConnectionAccepterArrayOutputWithContext(context.Context) PeerConnectionAccepterArrayOutput
}

PeerConnectionAccepterArrayInput is an input type that accepts PeerConnectionAccepterArray and PeerConnectionAccepterArrayOutput values. You can construct a concrete instance of `PeerConnectionAccepterArrayInput` via:

PeerConnectionAccepterArray{ PeerConnectionAccepterArgs{...} }

type PeerConnectionAccepterArrayOutput added in v3.29.0

type PeerConnectionAccepterArrayOutput struct{ *pulumi.OutputState }

func (PeerConnectionAccepterArrayOutput) ElementType added in v3.29.0

func (PeerConnectionAccepterArrayOutput) Index added in v3.29.0

func (PeerConnectionAccepterArrayOutput) ToPeerConnectionAccepterArrayOutput added in v3.29.0

func (o PeerConnectionAccepterArrayOutput) ToPeerConnectionAccepterArrayOutput() PeerConnectionAccepterArrayOutput

func (PeerConnectionAccepterArrayOutput) ToPeerConnectionAccepterArrayOutputWithContext added in v3.29.0

func (o PeerConnectionAccepterArrayOutput) ToPeerConnectionAccepterArrayOutputWithContext(ctx context.Context) PeerConnectionAccepterArrayOutput

type PeerConnectionAccepterInput added in v3.29.0

type PeerConnectionAccepterInput interface {
	pulumi.Input

	ToPeerConnectionAccepterOutput() PeerConnectionAccepterOutput
	ToPeerConnectionAccepterOutputWithContext(ctx context.Context) PeerConnectionAccepterOutput
}

type PeerConnectionAccepterMap added in v3.29.0

type PeerConnectionAccepterMap map[string]PeerConnectionAccepterInput

func (PeerConnectionAccepterMap) ElementType added in v3.29.0

func (PeerConnectionAccepterMap) ElementType() reflect.Type

func (PeerConnectionAccepterMap) ToPeerConnectionAccepterMapOutput added in v3.29.0

func (i PeerConnectionAccepterMap) ToPeerConnectionAccepterMapOutput() PeerConnectionAccepterMapOutput

func (PeerConnectionAccepterMap) ToPeerConnectionAccepterMapOutputWithContext added in v3.29.0

func (i PeerConnectionAccepterMap) ToPeerConnectionAccepterMapOutputWithContext(ctx context.Context) PeerConnectionAccepterMapOutput

type PeerConnectionAccepterMapInput added in v3.29.0

type PeerConnectionAccepterMapInput interface {
	pulumi.Input

	ToPeerConnectionAccepterMapOutput() PeerConnectionAccepterMapOutput
	ToPeerConnectionAccepterMapOutputWithContext(context.Context) PeerConnectionAccepterMapOutput
}

PeerConnectionAccepterMapInput is an input type that accepts PeerConnectionAccepterMap and PeerConnectionAccepterMapOutput values. You can construct a concrete instance of `PeerConnectionAccepterMapInput` via:

PeerConnectionAccepterMap{ "key": PeerConnectionAccepterArgs{...} }

type PeerConnectionAccepterMapOutput added in v3.29.0

type PeerConnectionAccepterMapOutput struct{ *pulumi.OutputState }

func (PeerConnectionAccepterMapOutput) ElementType added in v3.29.0

func (PeerConnectionAccepterMapOutput) MapIndex added in v3.29.0

func (PeerConnectionAccepterMapOutput) ToPeerConnectionAccepterMapOutput added in v3.29.0

func (o PeerConnectionAccepterMapOutput) ToPeerConnectionAccepterMapOutput() PeerConnectionAccepterMapOutput

func (PeerConnectionAccepterMapOutput) ToPeerConnectionAccepterMapOutputWithContext added in v3.29.0

func (o PeerConnectionAccepterMapOutput) ToPeerConnectionAccepterMapOutputWithContext(ctx context.Context) PeerConnectionAccepterMapOutput

type PeerConnectionAccepterOutput added in v3.29.0

type PeerConnectionAccepterOutput struct{ *pulumi.OutputState }

func (PeerConnectionAccepterOutput) AcceptingOwnerUid added in v3.29.0

func (o PeerConnectionAccepterOutput) AcceptingOwnerUid() pulumi.IntOutput

The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.-Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account.-Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection.> If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.

func (PeerConnectionAccepterOutput) AcceptingRegionId added in v3.29.0

func (o PeerConnectionAccepterOutput) AcceptingRegionId() pulumi.StringOutput

The region ID of the recipient of the VPC peering connection to be created.-When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator.-When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.

func (PeerConnectionAccepterOutput) AcceptingVpcId added in v3.29.0

The VPC ID of the receiving end of the VPC peer connection.

func (PeerConnectionAccepterOutput) Bandwidth added in v3.29.0

The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.

func (PeerConnectionAccepterOutput) Description added in v3.29.0

The description of the VPC peer connection to be created.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 (PeerConnectionAccepterOutput) DryRun added in v3.29.0

The dry run.

func (PeerConnectionAccepterOutput) ElementType added in v3.29.0

func (PeerConnectionAccepterOutput) InstanceId added in v3.29.0

The ID of the instance of the created VPC peer connection.

func (PeerConnectionAccepterOutput) PeerConnectionAccepterName added in v3.29.0

func (o PeerConnectionAccepterOutput) PeerConnectionAccepterName() pulumi.StringOutput

The name of the resource

func (PeerConnectionAccepterOutput) Status added in v3.29.0

The status of the resource

func (PeerConnectionAccepterOutput) ToPeerConnectionAccepterOutput added in v3.29.0

func (o PeerConnectionAccepterOutput) ToPeerConnectionAccepterOutput() PeerConnectionAccepterOutput

func (PeerConnectionAccepterOutput) ToPeerConnectionAccepterOutputWithContext added in v3.29.0

func (o PeerConnectionAccepterOutput) ToPeerConnectionAccepterOutputWithContext(ctx context.Context) PeerConnectionAccepterOutput

func (PeerConnectionAccepterOutput) VpcId added in v3.29.0

You must create a VPC ID on the initiator of a VPC peer connection.

type PeerConnectionAccepterState added in v3.29.0

type PeerConnectionAccepterState struct {
	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.-Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account.-Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection.> If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.
	AcceptingOwnerUid pulumi.IntPtrInput
	// The region ID of the recipient of the VPC peering connection to be created.-When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator.-When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.
	AcceptingRegionId pulumi.StringPtrInput
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId pulumi.StringPtrInput
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.
	Bandwidth pulumi.IntPtrInput
	// The description of the VPC peer connection to be created.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
	// The dry run.
	DryRun pulumi.BoolPtrInput
	// The ID of the instance of the created VPC peer connection.
	InstanceId pulumi.StringPtrInput
	// The name of the resource
	PeerConnectionAccepterName pulumi.StringPtrInput
	// The status of the resource
	Status pulumi.StringPtrInput
	// You must create a VPC ID on the initiator of a VPC peer connection.
	VpcId pulumi.StringPtrInput
}

func (PeerConnectionAccepterState) ElementType added in v3.29.0

type PeerConnectionArgs added in v3.29.0

type PeerConnectionArgs struct {
	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.
	// - Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account.
	// - Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection.
	// > **NOTE:**  If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.
	AcceptingAliUid pulumi.IntPtrInput
	// The region ID of the recipient of the VPC peering connection to be created.
	// - When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator.
	// - When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.
	AcceptingRegionId pulumi.StringInput
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId pulumi.StringInput
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.
	Bandwidth pulumi.IntPtrInput
	// The description of the VPC peer connection to be created.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
	// Whether to PreCheck only this request. Default value: `false`. Valid values:
	DryRun pulumi.BoolPtrInput
	// The name of the VPC peer connection. The name of the resource. The name must be 2 to 128 characters in length, and must start with a letter. It can contain digits, underscores (_), and hyphens (-).
	PeerConnectionName pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the VPC peer connection.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The ID of the requester VPC.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a PeerConnection resource.

func (PeerConnectionArgs) ElementType added in v3.29.0

func (PeerConnectionArgs) ElementType() reflect.Type

type PeerConnectionArray added in v3.29.0

type PeerConnectionArray []PeerConnectionInput

func (PeerConnectionArray) ElementType added in v3.29.0

func (PeerConnectionArray) ElementType() reflect.Type

func (PeerConnectionArray) ToPeerConnectionArrayOutput added in v3.29.0

func (i PeerConnectionArray) ToPeerConnectionArrayOutput() PeerConnectionArrayOutput

func (PeerConnectionArray) ToPeerConnectionArrayOutputWithContext added in v3.29.0

func (i PeerConnectionArray) ToPeerConnectionArrayOutputWithContext(ctx context.Context) PeerConnectionArrayOutput

type PeerConnectionArrayInput added in v3.29.0

type PeerConnectionArrayInput interface {
	pulumi.Input

	ToPeerConnectionArrayOutput() PeerConnectionArrayOutput
	ToPeerConnectionArrayOutputWithContext(context.Context) PeerConnectionArrayOutput
}

PeerConnectionArrayInput is an input type that accepts PeerConnectionArray and PeerConnectionArrayOutput values. You can construct a concrete instance of `PeerConnectionArrayInput` via:

PeerConnectionArray{ PeerConnectionArgs{...} }

type PeerConnectionArrayOutput added in v3.29.0

type PeerConnectionArrayOutput struct{ *pulumi.OutputState }

func (PeerConnectionArrayOutput) ElementType added in v3.29.0

func (PeerConnectionArrayOutput) ElementType() reflect.Type

func (PeerConnectionArrayOutput) Index added in v3.29.0

func (PeerConnectionArrayOutput) ToPeerConnectionArrayOutput added in v3.29.0

func (o PeerConnectionArrayOutput) ToPeerConnectionArrayOutput() PeerConnectionArrayOutput

func (PeerConnectionArrayOutput) ToPeerConnectionArrayOutputWithContext added in v3.29.0

func (o PeerConnectionArrayOutput) ToPeerConnectionArrayOutputWithContext(ctx context.Context) PeerConnectionArrayOutput

type PeerConnectionInput added in v3.29.0

type PeerConnectionInput interface {
	pulumi.Input

	ToPeerConnectionOutput() PeerConnectionOutput
	ToPeerConnectionOutputWithContext(ctx context.Context) PeerConnectionOutput
}

type PeerConnectionMap added in v3.29.0

type PeerConnectionMap map[string]PeerConnectionInput

func (PeerConnectionMap) ElementType added in v3.29.0

func (PeerConnectionMap) ElementType() reflect.Type

func (PeerConnectionMap) ToPeerConnectionMapOutput added in v3.29.0

func (i PeerConnectionMap) ToPeerConnectionMapOutput() PeerConnectionMapOutput

func (PeerConnectionMap) ToPeerConnectionMapOutputWithContext added in v3.29.0

func (i PeerConnectionMap) ToPeerConnectionMapOutputWithContext(ctx context.Context) PeerConnectionMapOutput

type PeerConnectionMapInput added in v3.29.0

type PeerConnectionMapInput interface {
	pulumi.Input

	ToPeerConnectionMapOutput() PeerConnectionMapOutput
	ToPeerConnectionMapOutputWithContext(context.Context) PeerConnectionMapOutput
}

PeerConnectionMapInput is an input type that accepts PeerConnectionMap and PeerConnectionMapOutput values. You can construct a concrete instance of `PeerConnectionMapInput` via:

PeerConnectionMap{ "key": PeerConnectionArgs{...} }

type PeerConnectionMapOutput added in v3.29.0

type PeerConnectionMapOutput struct{ *pulumi.OutputState }

func (PeerConnectionMapOutput) ElementType added in v3.29.0

func (PeerConnectionMapOutput) ElementType() reflect.Type

func (PeerConnectionMapOutput) MapIndex added in v3.29.0

func (PeerConnectionMapOutput) ToPeerConnectionMapOutput added in v3.29.0

func (o PeerConnectionMapOutput) ToPeerConnectionMapOutput() PeerConnectionMapOutput

func (PeerConnectionMapOutput) ToPeerConnectionMapOutputWithContext added in v3.29.0

func (o PeerConnectionMapOutput) ToPeerConnectionMapOutputWithContext(ctx context.Context) PeerConnectionMapOutput

type PeerConnectionOutput added in v3.29.0

type PeerConnectionOutput struct{ *pulumi.OutputState }

func (PeerConnectionOutput) AcceptingAliUid added in v3.29.0

func (o PeerConnectionOutput) AcceptingAliUid() pulumi.IntPtrOutput

The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created. - Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account. - Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection. > **NOTE:** If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.

func (PeerConnectionOutput) AcceptingRegionId added in v3.29.0

func (o PeerConnectionOutput) AcceptingRegionId() pulumi.StringOutput

The region ID of the recipient of the VPC peering connection to be created. - When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator. - When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.

func (PeerConnectionOutput) AcceptingVpcId added in v3.29.0

func (o PeerConnectionOutput) AcceptingVpcId() pulumi.StringOutput

The VPC ID of the receiving end of the VPC peer connection.

func (PeerConnectionOutput) Bandwidth added in v3.29.0

func (o PeerConnectionOutput) Bandwidth() pulumi.IntOutput

The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.

func (PeerConnectionOutput) CreateTime added in v3.39.0

func (o PeerConnectionOutput) CreateTime() pulumi.StringOutput

The creation time of the VPC peer connection. Use UTC time in the format `YYYY-MM-DDThh:mm:ssZ`.

func (PeerConnectionOutput) Description added in v3.29.0

The description of the VPC peer connection to be created.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 (PeerConnectionOutput) DryRun added in v3.29.0

Whether to PreCheck only this request. Default value: `false`. Valid values:

func (PeerConnectionOutput) ElementType added in v3.29.0

func (PeerConnectionOutput) ElementType() reflect.Type

func (PeerConnectionOutput) PeerConnectionName added in v3.29.0

func (o PeerConnectionOutput) PeerConnectionName() pulumi.StringPtrOutput

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

func (PeerConnectionOutput) ResourceGroupId added in v3.39.0

func (o PeerConnectionOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (PeerConnectionOutput) Status added in v3.29.0

The status of the VPC peer connection.

func (PeerConnectionOutput) Tags added in v3.39.0

A mapping of tags to assign to the resource.

func (PeerConnectionOutput) ToPeerConnectionOutput added in v3.29.0

func (o PeerConnectionOutput) ToPeerConnectionOutput() PeerConnectionOutput

func (PeerConnectionOutput) ToPeerConnectionOutputWithContext added in v3.29.0

func (o PeerConnectionOutput) ToPeerConnectionOutputWithContext(ctx context.Context) PeerConnectionOutput

func (PeerConnectionOutput) VpcId added in v3.29.0

The ID of the requester VPC.

type PeerConnectionState added in v3.29.0

type PeerConnectionState struct {
	// The ID of the Alibaba Cloud account (primary account) of the receiving end of the VPC peering connection to be created.
	// - Enter the ID of your Alibaba Cloud account to create a peer-to-peer connection to the VPC account.
	// - Enter the ID of another Alibaba Cloud account to create a cross-account VPC peer-to-peer connection.
	// > **NOTE:**  If the recipient account is a RAM user (sub-account), enter the ID of the Alibaba Cloud account corresponding to the RAM user.
	AcceptingAliUid pulumi.IntPtrInput
	// The region ID of the recipient of the VPC peering connection to be created.
	// - When creating a VPC peer-to-peer connection in the same region, enter the same region ID as the region ID of the initiator.
	// - When creating a cross-region VPC peer-to-peer connection, enter a region ID that is different from the region ID of the initiator.
	AcceptingRegionId pulumi.StringPtrInput
	// The VPC ID of the receiving end of the VPC peer connection.
	AcceptingVpcId pulumi.StringPtrInput
	// The bandwidth of the VPC peering connection to be modified. Unit: Mbps. The value range is an integer greater than 0.
	Bandwidth pulumi.IntPtrInput
	// The creation time of the VPC peer connection. Use UTC time in the format `YYYY-MM-DDThh:mm:ssZ`.
	CreateTime pulumi.StringPtrInput
	// The description of the VPC peer connection to be created.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
	// Whether to PreCheck only this request. Default value: `false`. Valid values:
	DryRun pulumi.BoolPtrInput
	// The name of the VPC peer connection. The name of the resource. The name must be 2 to 128 characters in length, and must start with a letter. It can contain digits, underscores (_), and hyphens (-).
	PeerConnectionName pulumi.StringPtrInput
	// The ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the VPC peer connection.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The ID of the requester VPC.
	VpcId pulumi.StringPtrInput
}

func (PeerConnectionState) ElementType added in v3.29.0

func (PeerConnectionState) ElementType() reflect.Type

type PrefixList added in v3.29.0

type PrefixList struct {
	pulumi.CustomResourceState

	// The time when the prefix list was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// 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. Value:-**IPV4**:IPv4 version.-**IPV6**:IPv6 version.
	IpVersion pulumi.StringOutput `pulumi:"ipVersion"`
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries pulumi.IntOutput `pulumi:"maxEntries"`
	// The association list information of the prefix list.
	PrefixListAssociations PrefixListPrefixListAssociationArrayOutput `pulumi:"prefixListAssociations"`
	// 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 ID of the query Prefix List.
	PrefixListId pulumi.StringOutput `pulumi:"prefixListId"`
	// 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"`
	// The ID of the resource group to which the PrefixList belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The share type of the prefix list. Value:-**Shared**: indicates that the prefix list is a Shared prefix list.-Null: indicates that the prefix list is not a shared prefix list.
	ShareType pulumi.StringOutput `pulumi:"shareType"`
	// Resource attribute fields that represent the status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of PrefixList.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides a Vpc Prefix List resource. This resource is used to create a prefix list.

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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-testacc-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultRg, err := resourcemanager.NewResourceGroup(ctx, "defaultRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testacc-chenyi"),
			ResourceGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = resourcemanager.NewResourceGroup(ctx, "changeRg", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("tf-testacc-chenyi-change"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v1", name)),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewPrefixList(ctx, "default", &vpc.PrefixListArgs{
			MaxEntries:            pulumi.Int(50),
			ResourceGroupId:       defaultRg.ID(),
			PrefixListDescription: pulumi.String("test"),
			IpVersion:             pulumi.String("IPV4"),
			PrefixListName:        pulumi.String(name),
			Entrys: vpc.PrefixListEntryArray{
				&vpc.PrefixListEntryArgs{
					Cidr:        pulumi.String("192.168.0.0/16"),
					Description: pulumi.String("test"),
				},
			},
		})
		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 added in v3.29.0

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 added in v3.29.0

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 added in v3.29.0

func (*PrefixList) ElementType() reflect.Type

func (*PrefixList) ToPrefixListOutput added in v3.29.0

func (i *PrefixList) ToPrefixListOutput() PrefixListOutput

func (*PrefixList) ToPrefixListOutputWithContext added in v3.29.0

func (i *PrefixList) ToPrefixListOutputWithContext(ctx context.Context) PrefixListOutput

type PrefixListArgs added in v3.29.0

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. Value:-**IPV4**:IPv4 version.-**IPV6**:IPv6 version.
	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 ID of the resource group to which the PrefixList belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The tags of PrefixList.
	Tags pulumi.MapInput
}

The set of arguments for constructing a PrefixList resource.

func (PrefixListArgs) ElementType added in v3.29.0

func (PrefixListArgs) ElementType() reflect.Type

type PrefixListArray added in v3.29.0

type PrefixListArray []PrefixListInput

func (PrefixListArray) ElementType added in v3.29.0

func (PrefixListArray) ElementType() reflect.Type

func (PrefixListArray) ToPrefixListArrayOutput added in v3.29.0

func (i PrefixListArray) ToPrefixListArrayOutput() PrefixListArrayOutput

func (PrefixListArray) ToPrefixListArrayOutputWithContext added in v3.29.0

func (i PrefixListArray) ToPrefixListArrayOutputWithContext(ctx context.Context) PrefixListArrayOutput

type PrefixListArrayInput added in v3.29.0

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 added in v3.29.0

type PrefixListArrayOutput struct{ *pulumi.OutputState }

func (PrefixListArrayOutput) ElementType added in v3.29.0

func (PrefixListArrayOutput) ElementType() reflect.Type

func (PrefixListArrayOutput) Index added in v3.29.0

func (PrefixListArrayOutput) ToPrefixListArrayOutput added in v3.29.0

func (o PrefixListArrayOutput) ToPrefixListArrayOutput() PrefixListArrayOutput

func (PrefixListArrayOutput) ToPrefixListArrayOutputWithContext added in v3.29.0

func (o PrefixListArrayOutput) ToPrefixListArrayOutputWithContext(ctx context.Context) PrefixListArrayOutput

type PrefixListEntry added in v3.29.0

type PrefixListEntry struct {
	Cidr        *string `pulumi:"cidr"`
	Description *string `pulumi:"description"`
}

type PrefixListEntryArgs added in v3.29.0

type PrefixListEntryArgs struct {
	Cidr        pulumi.StringPtrInput `pulumi:"cidr"`
	Description pulumi.StringPtrInput `pulumi:"description"`
}

func (PrefixListEntryArgs) ElementType added in v3.29.0

func (PrefixListEntryArgs) ElementType() reflect.Type

func (PrefixListEntryArgs) ToPrefixListEntryOutput added in v3.29.0

func (i PrefixListEntryArgs) ToPrefixListEntryOutput() PrefixListEntryOutput

func (PrefixListEntryArgs) ToPrefixListEntryOutputWithContext added in v3.29.0

func (i PrefixListEntryArgs) ToPrefixListEntryOutputWithContext(ctx context.Context) PrefixListEntryOutput

type PrefixListEntryArray added in v3.29.0

type PrefixListEntryArray []PrefixListEntryInput

func (PrefixListEntryArray) ElementType added in v3.29.0

func (PrefixListEntryArray) ElementType() reflect.Type

func (PrefixListEntryArray) ToPrefixListEntryArrayOutput added in v3.29.0

func (i PrefixListEntryArray) ToPrefixListEntryArrayOutput() PrefixListEntryArrayOutput

func (PrefixListEntryArray) ToPrefixListEntryArrayOutputWithContext added in v3.29.0

func (i PrefixListEntryArray) ToPrefixListEntryArrayOutputWithContext(ctx context.Context) PrefixListEntryArrayOutput

type PrefixListEntryArrayInput added in v3.29.0

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 added in v3.29.0

type PrefixListEntryArrayOutput struct{ *pulumi.OutputState }

func (PrefixListEntryArrayOutput) ElementType added in v3.29.0

func (PrefixListEntryArrayOutput) ElementType() reflect.Type

func (PrefixListEntryArrayOutput) Index added in v3.29.0

func (PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutput added in v3.29.0

func (o PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutput() PrefixListEntryArrayOutput

func (PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutputWithContext added in v3.29.0

func (o PrefixListEntryArrayOutput) ToPrefixListEntryArrayOutputWithContext(ctx context.Context) PrefixListEntryArrayOutput

type PrefixListEntryInput added in v3.29.0

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 added in v3.29.0

type PrefixListEntryOutput struct{ *pulumi.OutputState }

func (PrefixListEntryOutput) Cidr added in v3.29.0

func (PrefixListEntryOutput) Description added in v3.29.0

func (PrefixListEntryOutput) ElementType added in v3.29.0

func (PrefixListEntryOutput) ElementType() reflect.Type

func (PrefixListEntryOutput) ToPrefixListEntryOutput added in v3.29.0

func (o PrefixListEntryOutput) ToPrefixListEntryOutput() PrefixListEntryOutput

func (PrefixListEntryOutput) ToPrefixListEntryOutputWithContext added in v3.29.0

func (o PrefixListEntryOutput) ToPrefixListEntryOutputWithContext(ctx context.Context) PrefixListEntryOutput

type PrefixListInput added in v3.29.0

type PrefixListInput interface {
	pulumi.Input

	ToPrefixListOutput() PrefixListOutput
	ToPrefixListOutputWithContext(ctx context.Context) PrefixListOutput
}

type PrefixListMap added in v3.29.0

type PrefixListMap map[string]PrefixListInput

func (PrefixListMap) ElementType added in v3.29.0

func (PrefixListMap) ElementType() reflect.Type

func (PrefixListMap) ToPrefixListMapOutput added in v3.29.0

func (i PrefixListMap) ToPrefixListMapOutput() PrefixListMapOutput

func (PrefixListMap) ToPrefixListMapOutputWithContext added in v3.29.0

func (i PrefixListMap) ToPrefixListMapOutputWithContext(ctx context.Context) PrefixListMapOutput

type PrefixListMapInput added in v3.29.0

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 added in v3.29.0

type PrefixListMapOutput struct{ *pulumi.OutputState }

func (PrefixListMapOutput) ElementType added in v3.29.0

func (PrefixListMapOutput) ElementType() reflect.Type

func (PrefixListMapOutput) MapIndex added in v3.29.0

func (PrefixListMapOutput) ToPrefixListMapOutput added in v3.29.0

func (o PrefixListMapOutput) ToPrefixListMapOutput() PrefixListMapOutput

func (PrefixListMapOutput) ToPrefixListMapOutputWithContext added in v3.29.0

func (o PrefixListMapOutput) ToPrefixListMapOutputWithContext(ctx context.Context) PrefixListMapOutput

type PrefixListOutput added in v3.29.0

type PrefixListOutput struct{ *pulumi.OutputState }

func (PrefixListOutput) CreateTime added in v3.38.0

func (o PrefixListOutput) CreateTime() pulumi.StringOutput

The time when the prefix list was created.

func (PrefixListOutput) ElementType added in v3.29.0

func (PrefixListOutput) ElementType() reflect.Type

func (PrefixListOutput) Entrys added in v3.29.0

The CIDR address block list of the prefix list.See the following `Block Entrys`.

func (PrefixListOutput) IpVersion added in v3.29.0

func (o PrefixListOutput) IpVersion() pulumi.StringOutput

The IP version of the prefix list. Value:-**IPV4**:IPv4 version.-**IPV6**:IPv6 version.

func (PrefixListOutput) MaxEntries added in v3.29.0

func (o PrefixListOutput) MaxEntries() pulumi.IntOutput

The maximum number of entries for CIDR address blocks in the prefix list.

func (PrefixListOutput) PrefixListAssociations added in v3.38.0

The association list information of the prefix list.

func (PrefixListOutput) PrefixListDescription added in v3.29.0

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) PrefixListId added in v3.38.0

func (o PrefixListOutput) PrefixListId() pulumi.StringOutput

The ID of the query Prefix List.

func (PrefixListOutput) PrefixListName added in v3.29.0

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) ResourceGroupId added in v3.38.0

func (o PrefixListOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the PrefixList belongs.

func (PrefixListOutput) ShareType added in v3.38.0

func (o PrefixListOutput) ShareType() pulumi.StringOutput

The share type of the prefix list. Value:-**Shared**: indicates that the prefix list is a Shared prefix list.-Null: indicates that the prefix list is not a shared prefix list.

func (PrefixListOutput) Status added in v3.29.0

Resource attribute fields that represent the status of the resource.

func (PrefixListOutput) Tags added in v3.38.0

The tags of PrefixList.

func (PrefixListOutput) ToPrefixListOutput added in v3.29.0

func (o PrefixListOutput) ToPrefixListOutput() PrefixListOutput

func (PrefixListOutput) ToPrefixListOutputWithContext added in v3.29.0

func (o PrefixListOutput) ToPrefixListOutputWithContext(ctx context.Context) PrefixListOutput

type PrefixListPrefixListAssociation added in v3.38.0

type PrefixListPrefixListAssociation struct {
	// The ID of the Alibaba Cloud account (primary account) to which the prefix list belongs.
	OwnerId *string `pulumi:"ownerId"`
	// The ID of the query Prefix List.
	PrefixListId *string `pulumi:"prefixListId"`
	// Reason when the association fails.
	Reason *string `pulumi:"reason"`
	// The region ID of the prefix list to be queried.
	RegionId *string `pulumi:"regionId"`
	// The ID of the associated resource.
	ResourceId *string `pulumi:"resourceId"`
	// The associated resource type. Value:-**vpcRouteTable**: The VPC route table.-**trRouteTable**: the routing table of the forwarding router.
	ResourceType *string `pulumi:"resourceType"`
	// The ID of the Alibaba Cloud account (primary account) to which the resource bound to the prefix list belongs.
	ResourceUid *string `pulumi:"resourceUid"`
	// Resource attribute fields that represent the status of the resource.
	Status *string `pulumi:"status"`
}

type PrefixListPrefixListAssociationArgs added in v3.38.0

type PrefixListPrefixListAssociationArgs struct {
	// The ID of the Alibaba Cloud account (primary account) to which the prefix list belongs.
	OwnerId pulumi.StringPtrInput `pulumi:"ownerId"`
	// The ID of the query Prefix List.
	PrefixListId pulumi.StringPtrInput `pulumi:"prefixListId"`
	// Reason when the association fails.
	Reason pulumi.StringPtrInput `pulumi:"reason"`
	// The region ID of the prefix list to be queried.
	RegionId pulumi.StringPtrInput `pulumi:"regionId"`
	// The ID of the associated resource.
	ResourceId pulumi.StringPtrInput `pulumi:"resourceId"`
	// The associated resource type. Value:-**vpcRouteTable**: The VPC route table.-**trRouteTable**: the routing table of the forwarding router.
	ResourceType pulumi.StringPtrInput `pulumi:"resourceType"`
	// The ID of the Alibaba Cloud account (primary account) to which the resource bound to the prefix list belongs.
	ResourceUid pulumi.StringPtrInput `pulumi:"resourceUid"`
	// Resource attribute fields that represent the status of the resource.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

func (PrefixListPrefixListAssociationArgs) ElementType added in v3.38.0

func (PrefixListPrefixListAssociationArgs) ToPrefixListPrefixListAssociationOutput added in v3.38.0

func (i PrefixListPrefixListAssociationArgs) ToPrefixListPrefixListAssociationOutput() PrefixListPrefixListAssociationOutput

func (PrefixListPrefixListAssociationArgs) ToPrefixListPrefixListAssociationOutputWithContext added in v3.38.0

func (i PrefixListPrefixListAssociationArgs) ToPrefixListPrefixListAssociationOutputWithContext(ctx context.Context) PrefixListPrefixListAssociationOutput

type PrefixListPrefixListAssociationArray added in v3.38.0

type PrefixListPrefixListAssociationArray []PrefixListPrefixListAssociationInput

func (PrefixListPrefixListAssociationArray) ElementType added in v3.38.0

func (PrefixListPrefixListAssociationArray) ToPrefixListPrefixListAssociationArrayOutput added in v3.38.0

func (i PrefixListPrefixListAssociationArray) ToPrefixListPrefixListAssociationArrayOutput() PrefixListPrefixListAssociationArrayOutput

func (PrefixListPrefixListAssociationArray) ToPrefixListPrefixListAssociationArrayOutputWithContext added in v3.38.0

func (i PrefixListPrefixListAssociationArray) ToPrefixListPrefixListAssociationArrayOutputWithContext(ctx context.Context) PrefixListPrefixListAssociationArrayOutput

type PrefixListPrefixListAssociationArrayInput added in v3.38.0

type PrefixListPrefixListAssociationArrayInput interface {
	pulumi.Input

	ToPrefixListPrefixListAssociationArrayOutput() PrefixListPrefixListAssociationArrayOutput
	ToPrefixListPrefixListAssociationArrayOutputWithContext(context.Context) PrefixListPrefixListAssociationArrayOutput
}

PrefixListPrefixListAssociationArrayInput is an input type that accepts PrefixListPrefixListAssociationArray and PrefixListPrefixListAssociationArrayOutput values. You can construct a concrete instance of `PrefixListPrefixListAssociationArrayInput` via:

PrefixListPrefixListAssociationArray{ PrefixListPrefixListAssociationArgs{...} }

type PrefixListPrefixListAssociationArrayOutput added in v3.38.0

type PrefixListPrefixListAssociationArrayOutput struct{ *pulumi.OutputState }

func (PrefixListPrefixListAssociationArrayOutput) ElementType added in v3.38.0

func (PrefixListPrefixListAssociationArrayOutput) Index added in v3.38.0

func (PrefixListPrefixListAssociationArrayOutput) ToPrefixListPrefixListAssociationArrayOutput added in v3.38.0

func (o PrefixListPrefixListAssociationArrayOutput) ToPrefixListPrefixListAssociationArrayOutput() PrefixListPrefixListAssociationArrayOutput

func (PrefixListPrefixListAssociationArrayOutput) ToPrefixListPrefixListAssociationArrayOutputWithContext added in v3.38.0

func (o PrefixListPrefixListAssociationArrayOutput) ToPrefixListPrefixListAssociationArrayOutputWithContext(ctx context.Context) PrefixListPrefixListAssociationArrayOutput

type PrefixListPrefixListAssociationInput added in v3.38.0

type PrefixListPrefixListAssociationInput interface {
	pulumi.Input

	ToPrefixListPrefixListAssociationOutput() PrefixListPrefixListAssociationOutput
	ToPrefixListPrefixListAssociationOutputWithContext(context.Context) PrefixListPrefixListAssociationOutput
}

PrefixListPrefixListAssociationInput is an input type that accepts PrefixListPrefixListAssociationArgs and PrefixListPrefixListAssociationOutput values. You can construct a concrete instance of `PrefixListPrefixListAssociationInput` via:

PrefixListPrefixListAssociationArgs{...}

type PrefixListPrefixListAssociationOutput added in v3.38.0

type PrefixListPrefixListAssociationOutput struct{ *pulumi.OutputState }

func (PrefixListPrefixListAssociationOutput) ElementType added in v3.38.0

func (PrefixListPrefixListAssociationOutput) OwnerId added in v3.38.0

The ID of the Alibaba Cloud account (primary account) to which the prefix list belongs.

func (PrefixListPrefixListAssociationOutput) PrefixListId added in v3.38.0

The ID of the query Prefix List.

func (PrefixListPrefixListAssociationOutput) Reason added in v3.38.0

Reason when the association fails.

func (PrefixListPrefixListAssociationOutput) RegionId added in v3.38.0

The region ID of the prefix list to be queried.

func (PrefixListPrefixListAssociationOutput) ResourceId added in v3.38.0

The ID of the associated resource.

func (PrefixListPrefixListAssociationOutput) ResourceType added in v3.38.0

The associated resource type. Value:-**vpcRouteTable**: The VPC route table.-**trRouteTable**: the routing table of the forwarding router.

func (PrefixListPrefixListAssociationOutput) ResourceUid added in v3.38.0

The ID of the Alibaba Cloud account (primary account) to which the resource bound to the prefix list belongs.

func (PrefixListPrefixListAssociationOutput) Status added in v3.38.0

Resource attribute fields that represent the status of the resource.

func (PrefixListPrefixListAssociationOutput) ToPrefixListPrefixListAssociationOutput added in v3.38.0

func (o PrefixListPrefixListAssociationOutput) ToPrefixListPrefixListAssociationOutput() PrefixListPrefixListAssociationOutput

func (PrefixListPrefixListAssociationOutput) ToPrefixListPrefixListAssociationOutputWithContext added in v3.38.0

func (o PrefixListPrefixListAssociationOutput) ToPrefixListPrefixListAssociationOutputWithContext(ctx context.Context) PrefixListPrefixListAssociationOutput

type PrefixListState added in v3.29.0

type PrefixListState struct {
	// The time when the prefix list was created.
	CreateTime pulumi.StringPtrInput
	// The CIDR address block list of the prefix list.See the following `Block Entrys`.
	Entrys PrefixListEntryArrayInput
	// The IP version of the prefix list. Value:-**IPV4**:IPv4 version.-**IPV6**:IPv6 version.
	IpVersion pulumi.StringPtrInput
	// The maximum number of entries for CIDR address blocks in the prefix list.
	MaxEntries pulumi.IntPtrInput
	// The association list information of the prefix list.
	PrefixListAssociations PrefixListPrefixListAssociationArrayInput
	// 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 ID of the query Prefix List.
	PrefixListId 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 ID of the resource group to which the PrefixList belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The share type of the prefix list. Value:-**Shared**: indicates that the prefix list is a Shared prefix list.-Null: indicates that the prefix list is not a shared prefix list.
	ShareType pulumi.StringPtrInput
	// Resource attribute fields that represent the status of the resource.
	Status pulumi.StringPtrInput
	// The tags of PrefixList.
	Tags pulumi.MapInput
}

func (PrefixListState) ElementType added in v3.29.0

func (PrefixListState) ElementType() reflect.Type

type PublicIpAddressPool added in v3.29.0

type PublicIpAddressPool struct {
	pulumi.CustomResourceState

	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether there is a free IP address.
	IpAddressRemaining pulumi.BoolOutput `pulumi:"ipAddressRemaining"`
	// The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
	Isp                   pulumi.StringOutput `pulumi:"isp"`
	PublicIpAddressPoolId pulumi.StringOutput `pulumi:"publicIpAddressPoolId"`
	// The name of the VPC Public IP address pool.
	PublicIpAddressPoolName pulumi.StringPtrOutput `pulumi:"publicIpAddressPoolName"`
	// The resource group ID of the VPC Public IP address pool.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the VPC Public IP address pool.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of PrefixList.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The total number of public IP address pools.
	TotalIpNum pulumi.IntOutput `pulumi:"totalIpNum"`
	// The number of used IP addresses in the public IP address pool.
	UsedIpNum pulumi.IntOutput `pulumi:"usedIpNum"`
}

Provides a Vpc Public Ip Address Pool resource.

For information about Vpc Public Ip Address Pool and how to use it, see [What is Public Ip Address Pool](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/createpublicipaddresspool).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{
			Status: pulumi.StringRef("OK"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = vpc.NewPublicIpAddressPool(ctx, "default", &vpc.PublicIpAddressPoolArgs{
			Description:             pulumi.String(name),
			PublicIpAddressPoolName: pulumi.String(name),
			Isp:                     pulumi.String("BGP"),
			ResourceGroupId:         pulumi.String(_default.Ids[0]),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Vpc Public Ip Address Pool can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/publicIpAddressPool:PublicIpAddressPool example <id> ```

func GetPublicIpAddressPool added in v3.29.0

func GetPublicIpAddressPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicIpAddressPoolState, opts ...pulumi.ResourceOption) (*PublicIpAddressPool, error)

GetPublicIpAddressPool gets an existing PublicIpAddressPool 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 NewPublicIpAddressPool added in v3.29.0

func NewPublicIpAddressPool(ctx *pulumi.Context,
	name string, args *PublicIpAddressPoolArgs, opts ...pulumi.ResourceOption) (*PublicIpAddressPool, error)

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

func (*PublicIpAddressPool) ElementType added in v3.29.0

func (*PublicIpAddressPool) ElementType() reflect.Type

func (*PublicIpAddressPool) ToPublicIpAddressPoolOutput added in v3.29.0

func (i *PublicIpAddressPool) ToPublicIpAddressPoolOutput() PublicIpAddressPoolOutput

func (*PublicIpAddressPool) ToPublicIpAddressPoolOutputWithContext added in v3.29.0

func (i *PublicIpAddressPool) ToPublicIpAddressPoolOutputWithContext(ctx context.Context) PublicIpAddressPoolOutput

type PublicIpAddressPoolArgs added in v3.29.0

type PublicIpAddressPoolArgs struct {
	// Description.
	Description pulumi.StringPtrInput
	// The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
	Isp pulumi.StringPtrInput
	// The name of the VPC Public IP address pool.
	PublicIpAddressPoolName pulumi.StringPtrInput
	// The resource group ID of the VPC Public IP address pool.
	ResourceGroupId pulumi.StringPtrInput
	// The tags of PrefixList.
	Tags pulumi.MapInput
}

The set of arguments for constructing a PublicIpAddressPool resource.

func (PublicIpAddressPoolArgs) ElementType added in v3.29.0

func (PublicIpAddressPoolArgs) ElementType() reflect.Type

type PublicIpAddressPoolArray added in v3.29.0

type PublicIpAddressPoolArray []PublicIpAddressPoolInput

func (PublicIpAddressPoolArray) ElementType added in v3.29.0

func (PublicIpAddressPoolArray) ElementType() reflect.Type

func (PublicIpAddressPoolArray) ToPublicIpAddressPoolArrayOutput added in v3.29.0

func (i PublicIpAddressPoolArray) ToPublicIpAddressPoolArrayOutput() PublicIpAddressPoolArrayOutput

func (PublicIpAddressPoolArray) ToPublicIpAddressPoolArrayOutputWithContext added in v3.29.0

func (i PublicIpAddressPoolArray) ToPublicIpAddressPoolArrayOutputWithContext(ctx context.Context) PublicIpAddressPoolArrayOutput

type PublicIpAddressPoolArrayInput added in v3.29.0

type PublicIpAddressPoolArrayInput interface {
	pulumi.Input

	ToPublicIpAddressPoolArrayOutput() PublicIpAddressPoolArrayOutput
	ToPublicIpAddressPoolArrayOutputWithContext(context.Context) PublicIpAddressPoolArrayOutput
}

PublicIpAddressPoolArrayInput is an input type that accepts PublicIpAddressPoolArray and PublicIpAddressPoolArrayOutput values. You can construct a concrete instance of `PublicIpAddressPoolArrayInput` via:

PublicIpAddressPoolArray{ PublicIpAddressPoolArgs{...} }

type PublicIpAddressPoolArrayOutput added in v3.29.0

type PublicIpAddressPoolArrayOutput struct{ *pulumi.OutputState }

func (PublicIpAddressPoolArrayOutput) ElementType added in v3.29.0

func (PublicIpAddressPoolArrayOutput) Index added in v3.29.0

func (PublicIpAddressPoolArrayOutput) ToPublicIpAddressPoolArrayOutput added in v3.29.0

func (o PublicIpAddressPoolArrayOutput) ToPublicIpAddressPoolArrayOutput() PublicIpAddressPoolArrayOutput

func (PublicIpAddressPoolArrayOutput) ToPublicIpAddressPoolArrayOutputWithContext added in v3.29.0

func (o PublicIpAddressPoolArrayOutput) ToPublicIpAddressPoolArrayOutputWithContext(ctx context.Context) PublicIpAddressPoolArrayOutput

type PublicIpAddressPoolCidrBlock added in v3.29.0

type PublicIpAddressPoolCidrBlock struct {
	pulumi.CustomResourceState

	// The CIDR block.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// IP address and network segment mask. After you enter the mask, the system automatically allocates the IP address network segment. Value range: **24** to **28**.
	// > **NOTE:**  **CidrBlock** and **CidrMask** cannot be configured at the same time. Select one of them to configure.
	CidrMask pulumi.IntPtrOutput `pulumi:"cidrMask"`
	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The ID of the VPC Public IP address pool.
	PublicIpAddressPoolId pulumi.StringOutput `pulumi:"publicIpAddressPoolId"`
	// The status of the VPC Public Ip Address Pool Cidr Block.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Public Ip Address Pool Cidr Block resource. > **NOTE:** Only users who have the required permissions can use the IP address pool feature of Elastic IP Address (EIP). To apply for the required permissions, [submit a ticket](https://smartservice.console.aliyun.com/service/create-ticket).

For information about VPC Public Ip Address Pool Cidr Block and how to use it, see [What is Public Ip Address Pool Cidr Block](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/429100).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{
			Status: pulumi.StringRef("OK"),
		}, nil)
		if err != nil {
			return err
		}
		defaultPublicIpAddressPool, err := vpc.NewPublicIpAddressPool(ctx, "default", &vpc.PublicIpAddressPoolArgs{
			Description:             pulumi.String(name),
			PublicIpAddressPoolName: pulumi.String(name),
			Isp:                     pulumi.String("BGP"),
			ResourceGroupId:         pulumi.String(_default.Ids[0]),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewPublicIpAddressPoolCidrBlock(ctx, "default", &vpc.PublicIpAddressPoolCidrBlockArgs{
			PublicIpAddressPoolId: defaultPublicIpAddressPool.ID(),
			CidrBlock:             pulumi.String("47.118.126.0/25"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Public Ip Address Pool Cidr Block can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/publicIpAddressPoolCidrBlock:PublicIpAddressPoolCidrBlock example <public_ip_address_pool_id>:<cidr_block> ```

func GetPublicIpAddressPoolCidrBlock added in v3.29.0

func GetPublicIpAddressPoolCidrBlock(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PublicIpAddressPoolCidrBlockState, opts ...pulumi.ResourceOption) (*PublicIpAddressPoolCidrBlock, error)

GetPublicIpAddressPoolCidrBlock gets an existing PublicIpAddressPoolCidrBlock 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 NewPublicIpAddressPoolCidrBlock added in v3.29.0

func NewPublicIpAddressPoolCidrBlock(ctx *pulumi.Context,
	name string, args *PublicIpAddressPoolCidrBlockArgs, opts ...pulumi.ResourceOption) (*PublicIpAddressPoolCidrBlock, error)

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

func (*PublicIpAddressPoolCidrBlock) ElementType added in v3.29.0

func (*PublicIpAddressPoolCidrBlock) ElementType() reflect.Type

func (*PublicIpAddressPoolCidrBlock) ToPublicIpAddressPoolCidrBlockOutput added in v3.29.0

func (i *PublicIpAddressPoolCidrBlock) ToPublicIpAddressPoolCidrBlockOutput() PublicIpAddressPoolCidrBlockOutput

func (*PublicIpAddressPoolCidrBlock) ToPublicIpAddressPoolCidrBlockOutputWithContext added in v3.29.0

func (i *PublicIpAddressPoolCidrBlock) ToPublicIpAddressPoolCidrBlockOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockOutput

type PublicIpAddressPoolCidrBlockArgs added in v3.29.0

type PublicIpAddressPoolCidrBlockArgs struct {
	// The CIDR block.
	CidrBlock pulumi.StringPtrInput
	// IP address and network segment mask. After you enter the mask, the system automatically allocates the IP address network segment. Value range: **24** to **28**.
	// > **NOTE:**  **CidrBlock** and **CidrMask** cannot be configured at the same time. Select one of them to configure.
	CidrMask pulumi.IntPtrInput
	// The ID of the VPC Public IP address pool.
	PublicIpAddressPoolId pulumi.StringInput
}

The set of arguments for constructing a PublicIpAddressPoolCidrBlock resource.

func (PublicIpAddressPoolCidrBlockArgs) ElementType added in v3.29.0

type PublicIpAddressPoolCidrBlockArray added in v3.29.0

type PublicIpAddressPoolCidrBlockArray []PublicIpAddressPoolCidrBlockInput

func (PublicIpAddressPoolCidrBlockArray) ElementType added in v3.29.0

func (PublicIpAddressPoolCidrBlockArray) ToPublicIpAddressPoolCidrBlockArrayOutput added in v3.29.0

func (i PublicIpAddressPoolCidrBlockArray) ToPublicIpAddressPoolCidrBlockArrayOutput() PublicIpAddressPoolCidrBlockArrayOutput

func (PublicIpAddressPoolCidrBlockArray) ToPublicIpAddressPoolCidrBlockArrayOutputWithContext added in v3.29.0

func (i PublicIpAddressPoolCidrBlockArray) ToPublicIpAddressPoolCidrBlockArrayOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockArrayOutput

type PublicIpAddressPoolCidrBlockArrayInput added in v3.29.0

type PublicIpAddressPoolCidrBlockArrayInput interface {
	pulumi.Input

	ToPublicIpAddressPoolCidrBlockArrayOutput() PublicIpAddressPoolCidrBlockArrayOutput
	ToPublicIpAddressPoolCidrBlockArrayOutputWithContext(context.Context) PublicIpAddressPoolCidrBlockArrayOutput
}

PublicIpAddressPoolCidrBlockArrayInput is an input type that accepts PublicIpAddressPoolCidrBlockArray and PublicIpAddressPoolCidrBlockArrayOutput values. You can construct a concrete instance of `PublicIpAddressPoolCidrBlockArrayInput` via:

PublicIpAddressPoolCidrBlockArray{ PublicIpAddressPoolCidrBlockArgs{...} }

type PublicIpAddressPoolCidrBlockArrayOutput added in v3.29.0

type PublicIpAddressPoolCidrBlockArrayOutput struct{ *pulumi.OutputState }

func (PublicIpAddressPoolCidrBlockArrayOutput) ElementType added in v3.29.0

func (PublicIpAddressPoolCidrBlockArrayOutput) Index added in v3.29.0

func (PublicIpAddressPoolCidrBlockArrayOutput) ToPublicIpAddressPoolCidrBlockArrayOutput added in v3.29.0

func (o PublicIpAddressPoolCidrBlockArrayOutput) ToPublicIpAddressPoolCidrBlockArrayOutput() PublicIpAddressPoolCidrBlockArrayOutput

func (PublicIpAddressPoolCidrBlockArrayOutput) ToPublicIpAddressPoolCidrBlockArrayOutputWithContext added in v3.29.0

func (o PublicIpAddressPoolCidrBlockArrayOutput) ToPublicIpAddressPoolCidrBlockArrayOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockArrayOutput

type PublicIpAddressPoolCidrBlockInput added in v3.29.0

type PublicIpAddressPoolCidrBlockInput interface {
	pulumi.Input

	ToPublicIpAddressPoolCidrBlockOutput() PublicIpAddressPoolCidrBlockOutput
	ToPublicIpAddressPoolCidrBlockOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockOutput
}

type PublicIpAddressPoolCidrBlockMap added in v3.29.0

type PublicIpAddressPoolCidrBlockMap map[string]PublicIpAddressPoolCidrBlockInput

func (PublicIpAddressPoolCidrBlockMap) ElementType added in v3.29.0

func (PublicIpAddressPoolCidrBlockMap) ToPublicIpAddressPoolCidrBlockMapOutput added in v3.29.0

func (i PublicIpAddressPoolCidrBlockMap) ToPublicIpAddressPoolCidrBlockMapOutput() PublicIpAddressPoolCidrBlockMapOutput

func (PublicIpAddressPoolCidrBlockMap) ToPublicIpAddressPoolCidrBlockMapOutputWithContext added in v3.29.0

func (i PublicIpAddressPoolCidrBlockMap) ToPublicIpAddressPoolCidrBlockMapOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockMapOutput

type PublicIpAddressPoolCidrBlockMapInput added in v3.29.0

type PublicIpAddressPoolCidrBlockMapInput interface {
	pulumi.Input

	ToPublicIpAddressPoolCidrBlockMapOutput() PublicIpAddressPoolCidrBlockMapOutput
	ToPublicIpAddressPoolCidrBlockMapOutputWithContext(context.Context) PublicIpAddressPoolCidrBlockMapOutput
}

PublicIpAddressPoolCidrBlockMapInput is an input type that accepts PublicIpAddressPoolCidrBlockMap and PublicIpAddressPoolCidrBlockMapOutput values. You can construct a concrete instance of `PublicIpAddressPoolCidrBlockMapInput` via:

PublicIpAddressPoolCidrBlockMap{ "key": PublicIpAddressPoolCidrBlockArgs{...} }

type PublicIpAddressPoolCidrBlockMapOutput added in v3.29.0

type PublicIpAddressPoolCidrBlockMapOutput struct{ *pulumi.OutputState }

func (PublicIpAddressPoolCidrBlockMapOutput) ElementType added in v3.29.0

func (PublicIpAddressPoolCidrBlockMapOutput) MapIndex added in v3.29.0

func (PublicIpAddressPoolCidrBlockMapOutput) ToPublicIpAddressPoolCidrBlockMapOutput added in v3.29.0

func (o PublicIpAddressPoolCidrBlockMapOutput) ToPublicIpAddressPoolCidrBlockMapOutput() PublicIpAddressPoolCidrBlockMapOutput

func (PublicIpAddressPoolCidrBlockMapOutput) ToPublicIpAddressPoolCidrBlockMapOutputWithContext added in v3.29.0

func (o PublicIpAddressPoolCidrBlockMapOutput) ToPublicIpAddressPoolCidrBlockMapOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockMapOutput

type PublicIpAddressPoolCidrBlockOutput added in v3.29.0

type PublicIpAddressPoolCidrBlockOutput struct{ *pulumi.OutputState }

func (PublicIpAddressPoolCidrBlockOutput) CidrBlock added in v3.29.0

The CIDR block.

func (PublicIpAddressPoolCidrBlockOutput) CidrMask added in v3.51.0

IP address and network segment mask. After you enter the mask, the system automatically allocates the IP address network segment. Value range: **24** to **28**. > **NOTE:** **CidrBlock** and **CidrMask** cannot be configured at the same time. Select one of them to configure.

func (PublicIpAddressPoolCidrBlockOutput) CreateTime added in v3.39.0

The creation time of the resource.

func (PublicIpAddressPoolCidrBlockOutput) ElementType added in v3.29.0

func (PublicIpAddressPoolCidrBlockOutput) PublicIpAddressPoolId added in v3.29.0

func (o PublicIpAddressPoolCidrBlockOutput) PublicIpAddressPoolId() pulumi.StringOutput

The ID of the VPC Public IP address pool.

func (PublicIpAddressPoolCidrBlockOutput) Status added in v3.29.0

The status of the VPC Public Ip Address Pool Cidr Block.

func (PublicIpAddressPoolCidrBlockOutput) ToPublicIpAddressPoolCidrBlockOutput added in v3.29.0

func (o PublicIpAddressPoolCidrBlockOutput) ToPublicIpAddressPoolCidrBlockOutput() PublicIpAddressPoolCidrBlockOutput

func (PublicIpAddressPoolCidrBlockOutput) ToPublicIpAddressPoolCidrBlockOutputWithContext added in v3.29.0

func (o PublicIpAddressPoolCidrBlockOutput) ToPublicIpAddressPoolCidrBlockOutputWithContext(ctx context.Context) PublicIpAddressPoolCidrBlockOutput

type PublicIpAddressPoolCidrBlockState added in v3.29.0

type PublicIpAddressPoolCidrBlockState struct {
	// The CIDR block.
	CidrBlock pulumi.StringPtrInput
	// IP address and network segment mask. After you enter the mask, the system automatically allocates the IP address network segment. Value range: **24** to **28**.
	// > **NOTE:**  **CidrBlock** and **CidrMask** cannot be configured at the same time. Select one of them to configure.
	CidrMask pulumi.IntPtrInput
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// The ID of the VPC Public IP address pool.
	PublicIpAddressPoolId pulumi.StringPtrInput
	// The status of the VPC Public Ip Address Pool Cidr Block.
	Status pulumi.StringPtrInput
}

func (PublicIpAddressPoolCidrBlockState) ElementType added in v3.29.0

type PublicIpAddressPoolInput added in v3.29.0

type PublicIpAddressPoolInput interface {
	pulumi.Input

	ToPublicIpAddressPoolOutput() PublicIpAddressPoolOutput
	ToPublicIpAddressPoolOutputWithContext(ctx context.Context) PublicIpAddressPoolOutput
}

type PublicIpAddressPoolMap added in v3.29.0

type PublicIpAddressPoolMap map[string]PublicIpAddressPoolInput

func (PublicIpAddressPoolMap) ElementType added in v3.29.0

func (PublicIpAddressPoolMap) ElementType() reflect.Type

func (PublicIpAddressPoolMap) ToPublicIpAddressPoolMapOutput added in v3.29.0

func (i PublicIpAddressPoolMap) ToPublicIpAddressPoolMapOutput() PublicIpAddressPoolMapOutput

func (PublicIpAddressPoolMap) ToPublicIpAddressPoolMapOutputWithContext added in v3.29.0

func (i PublicIpAddressPoolMap) ToPublicIpAddressPoolMapOutputWithContext(ctx context.Context) PublicIpAddressPoolMapOutput

type PublicIpAddressPoolMapInput added in v3.29.0

type PublicIpAddressPoolMapInput interface {
	pulumi.Input

	ToPublicIpAddressPoolMapOutput() PublicIpAddressPoolMapOutput
	ToPublicIpAddressPoolMapOutputWithContext(context.Context) PublicIpAddressPoolMapOutput
}

PublicIpAddressPoolMapInput is an input type that accepts PublicIpAddressPoolMap and PublicIpAddressPoolMapOutput values. You can construct a concrete instance of `PublicIpAddressPoolMapInput` via:

PublicIpAddressPoolMap{ "key": PublicIpAddressPoolArgs{...} }

type PublicIpAddressPoolMapOutput added in v3.29.0

type PublicIpAddressPoolMapOutput struct{ *pulumi.OutputState }

func (PublicIpAddressPoolMapOutput) ElementType added in v3.29.0

func (PublicIpAddressPoolMapOutput) MapIndex added in v3.29.0

func (PublicIpAddressPoolMapOutput) ToPublicIpAddressPoolMapOutput added in v3.29.0

func (o PublicIpAddressPoolMapOutput) ToPublicIpAddressPoolMapOutput() PublicIpAddressPoolMapOutput

func (PublicIpAddressPoolMapOutput) ToPublicIpAddressPoolMapOutputWithContext added in v3.29.0

func (o PublicIpAddressPoolMapOutput) ToPublicIpAddressPoolMapOutputWithContext(ctx context.Context) PublicIpAddressPoolMapOutput

type PublicIpAddressPoolOutput added in v3.29.0

type PublicIpAddressPoolOutput struct{ *pulumi.OutputState }

func (PublicIpAddressPoolOutput) CreateTime added in v3.37.0

The creation time of the resource.

func (PublicIpAddressPoolOutput) Description added in v3.29.0

Description.

func (PublicIpAddressPoolOutput) ElementType added in v3.29.0

func (PublicIpAddressPoolOutput) ElementType() reflect.Type

func (PublicIpAddressPoolOutput) IpAddressRemaining added in v3.37.0

func (o PublicIpAddressPoolOutput) IpAddressRemaining() pulumi.BoolOutput

Whether there is a free IP address.

func (PublicIpAddressPoolOutput) Isp added in v3.29.0

The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.

func (PublicIpAddressPoolOutput) PublicIpAddressPoolId added in v3.37.0

func (o PublicIpAddressPoolOutput) PublicIpAddressPoolId() pulumi.StringOutput

func (PublicIpAddressPoolOutput) PublicIpAddressPoolName added in v3.29.0

func (o PublicIpAddressPoolOutput) PublicIpAddressPoolName() pulumi.StringPtrOutput

The name of the VPC Public IP address pool.

func (PublicIpAddressPoolOutput) ResourceGroupId added in v3.37.0

func (o PublicIpAddressPoolOutput) ResourceGroupId() pulumi.StringOutput

The resource group ID of the VPC Public IP address pool.

func (PublicIpAddressPoolOutput) Status added in v3.29.0

The status of the VPC Public IP address pool.

func (PublicIpAddressPoolOutput) Tags added in v3.37.0

The tags of PrefixList.

func (PublicIpAddressPoolOutput) ToPublicIpAddressPoolOutput added in v3.29.0

func (o PublicIpAddressPoolOutput) ToPublicIpAddressPoolOutput() PublicIpAddressPoolOutput

func (PublicIpAddressPoolOutput) ToPublicIpAddressPoolOutputWithContext added in v3.29.0

func (o PublicIpAddressPoolOutput) ToPublicIpAddressPoolOutputWithContext(ctx context.Context) PublicIpAddressPoolOutput

func (PublicIpAddressPoolOutput) TotalIpNum added in v3.37.0

The total number of public IP address pools.

func (PublicIpAddressPoolOutput) UsedIpNum added in v3.37.0

The number of used IP addresses in the public IP address pool.

type PublicIpAddressPoolState added in v3.29.0

type PublicIpAddressPoolState struct {
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// Description.
	Description pulumi.StringPtrInput
	// Whether there is a free IP address.
	IpAddressRemaining pulumi.BoolPtrInput
	// The Internet service provider. Valid values: `BGP`, `BGP_PRO`, `ChinaTelecom`, `ChinaUnicom`, `ChinaMobile`, `ChinaTelecom_L2`, `ChinaUnicom_L2`, `ChinaMobile_L2`, `BGP_FinanceCloud`. Default Value: `BGP`.
	Isp                   pulumi.StringPtrInput
	PublicIpAddressPoolId pulumi.StringPtrInput
	// The name of the VPC Public IP address pool.
	PublicIpAddressPoolName pulumi.StringPtrInput
	// The resource group ID of the VPC Public IP address pool.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the VPC Public IP address pool.
	Status pulumi.StringPtrInput
	// The tags of PrefixList.
	Tags pulumi.MapInput
	// The total number of public IP address pools.
	TotalIpNum pulumi.IntPtrInput
	// The number of used IP addresses in the public IP address pool.
	UsedIpNum pulumi.IntPtrInput
}

func (PublicIpAddressPoolState) ElementType added in v3.29.0

func (PublicIpAddressPoolState) 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 routerId has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
}

Provides a route entry resource. A route entry represents a route item of one VPC route table.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
			CpuCoreCount:     pulumi.IntRef(1),
			MemorySize:       pulumi.Float64Ref(2),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetImages, 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 := "RouteEntryConfig"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		foo, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.1.0.0/21"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
			VpcId:       foo.ID(),
			CidrBlock:   pulumi.String("10.1.1.0/24"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tf_test_foo", &ecs.SecurityGroupArgs{
			Name:        pulumi.String(name),
			Description: pulumi.String("foo"),
			VpcId:       foo.ID(),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "ingress", &ecs.SecurityGroupRuleArgs{
			Type:            pulumi.String("ingress"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: tfTestFoo.ID(),
			CidrIp:          pulumi.String("0.0.0.0/0"),
		})
		if err != nil {
			return err
		}
		fooInstance, err := ecs.NewInstance(ctx, "foo", &ecs.InstanceArgs{
			SecurityGroups: pulumi.StringArray{
				tfTestFoo.ID(),
			},
			VswitchId:               fooSwitch.ID(),
			InstanceChargeType:      pulumi.String("PostPaid"),
			InstanceType:            pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SystemDiskCategory:      pulumi.String("cloud_efficiency"),
			ImageId:                 pulumi.String(defaultGetImages.Images[0].Id),
			InstanceName:            pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewRouteEntry(ctx, "foo", &vpc.RouteEntryArgs{
			RouteTableId:         foo.RouteTableId,
			DestinationCidrblock: pulumi.String("172.11.1.1/32"),
			NexthopType:          pulumi.String("Instance"),
			NexthopId:            fooInstance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Module Support

You can use to the existing vpc module to create a VPC, several VSwitches and add several route entries one-click.

## 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 routerId 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 added in v3.27.0

func (o RouteEntryOutput) DestinationCidrblock() pulumi.StringPtrOutput

The RouteEntry's target network segment.

func (RouteEntryOutput) ElementType

func (RouteEntryOutput) ElementType() reflect.Type

func (RouteEntryOutput) Name added in v3.27.0

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 added in v3.27.0

func (o RouteEntryOutput) NexthopId() pulumi.StringPtrOutput

The route entry's next hop. ECS instance ID or VPC router interface ID.

func (RouteEntryOutput) NexthopType added in v3.27.0

func (o RouteEntryOutput) NexthopType() pulumi.StringPtrOutput

The next hop type. Available values:

func (RouteEntryOutput) RouteTableId added in v3.27.0

func (o RouteEntryOutput) RouteTableId() pulumi.StringOutput

The ID of the route table.

func (RouteEntryOutput) RouterId deprecated added in v3.27.0

func (o RouteEntryOutput) RouterId() pulumi.StringOutput

This argument has been deprecated. Please use other arguments to launch a custom route entry.

Deprecated: Attribute routerId 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 routerId 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 cloud resource that is bound to the routing table. Value:
	// - **VSwitch**: switch.
	// - **Gateway**:IPv4 Gateway.
	AssociateType pulumi.StringOutput `pulumi:"associateType"`
	// The creation time of the routing table.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Description of the routing table.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Resource group ID.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The name of the routing table.
	RouteTableName pulumi.StringOutput `pulumi:"routeTableName"`
	// Routing table state.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tag.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The ID of VPC.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC Route Table resource. Currently, customized route tables are available in most regions apart from China (Beijing), China (Hangzhou), and China (Shenzhen) regions.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultVpc, err := vpc.NewNetwork(ctx, "defaultVpc", &vpc.NetworkArgs{
			VpcName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewRouteTable(ctx, "default", &vpc.RouteTableArgs{
			Description:    pulumi.String("test-description"),
			VpcId:          defaultVpc.ID(),
			RouteTableName: pulumi.String(name),
			AssociateType:  pulumi.String("VSwitch"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Route Table can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/routeTable:RouteTable example <id> ```

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 cloud resource that is bound to the routing table. Value:
	// - **VSwitch**: switch.
	// - **Gateway**:IPv4 Gateway.
	AssociateType pulumi.StringPtrInput
	// Description of the routing table.
	Description pulumi.StringPtrInput
	// Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' 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 routing table.
	RouteTableName pulumi.StringPtrInput
	// The tag.
	Tags pulumi.MapInput
	// The ID of VPC.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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 ID of the route table to be bound to the switch.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the switch to bind the route table.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a VPC Route Table Attachment resource. Routing table associated resource type.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		foo, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
			Name:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
			VpcId:     foo.ID(),
			CidrBlock: pulumi.String("172.16.0.0/21"),
			ZoneId:    pulumi.String(_default.Zones[0].Id),
			Name:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		fooRouteTable, err := vpc.NewRouteTable(ctx, "foo", &vpc.RouteTableArgs{
			VpcId:          foo.ID(),
			RouteTableName: pulumi.String(name),
			Description:    pulumi.String("route_table_attachment"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewRouteTableAttachment(ctx, "foo", &vpc.RouteTableAttachmentArgs{
			VswitchId:    fooSwitch.ID(),
			RouteTableId: fooRouteTable.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Route Table Attachment can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/routeTableAttachment:RouteTableAttachment example <route_table_id>:<vswitch_id> ```

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 ID of the route table to be bound to the switch.
	RouteTableId pulumi.StringInput
	// The ID of the switch to bind the route table.
	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 added in v3.27.0

The ID of the route table to be bound to the switch.

func (RouteTableAttachmentOutput) Status added in v3.44.0

The status of the resource.

func (RouteTableAttachmentOutput) ToRouteTableAttachmentOutput

func (o RouteTableAttachmentOutput) ToRouteTableAttachmentOutput() RouteTableAttachmentOutput

func (RouteTableAttachmentOutput) ToRouteTableAttachmentOutputWithContext

func (o RouteTableAttachmentOutput) ToRouteTableAttachmentOutputWithContext(ctx context.Context) RouteTableAttachmentOutput

func (RouteTableAttachmentOutput) VswitchId added in v3.27.0

The ID of the switch to bind the route table.

type RouteTableAttachmentState

type RouteTableAttachmentState struct {
	// The ID of the route table to be bound to the switch.
	RouteTableId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The ID of the switch to bind the route table.
	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 added in v3.29.0

func (o RouteTableOutput) AssociateType() pulumi.StringOutput

The type of cloud resource that is bound to the routing table. Value: - **VSwitch**: switch. - **Gateway**:IPv4 Gateway.

func (RouteTableOutput) CreateTime added in v3.38.0

func (o RouteTableOutput) CreateTime() pulumi.StringOutput

The creation time of the routing table.

func (RouteTableOutput) Description added in v3.27.0

func (o RouteTableOutput) Description() pulumi.StringPtrOutput

Description of the routing table.

func (RouteTableOutput) ElementType

func (RouteTableOutput) ElementType() reflect.Type

func (RouteTableOutput) Name deprecated added in v3.27.0

Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.

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

func (RouteTableOutput) ResourceGroupId added in v3.38.0

func (o RouteTableOutput) ResourceGroupId() pulumi.StringOutput

Resource group ID.

func (RouteTableOutput) RouteTableName added in v3.27.0

func (o RouteTableOutput) RouteTableName() pulumi.StringOutput

The name of the routing table.

func (RouteTableOutput) Status added in v3.27.0

Routing table state.

func (RouteTableOutput) Tags added in v3.27.0

The tag.

func (RouteTableOutput) ToRouteTableOutput

func (o RouteTableOutput) ToRouteTableOutput() RouteTableOutput

func (RouteTableOutput) ToRouteTableOutputWithContext

func (o RouteTableOutput) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput

func (RouteTableOutput) VpcId added in v3.27.0

The ID of VPC.

The following arguments will be discarded. Please use new fields as soon as possible:

type RouteTableState

type RouteTableState struct {
	// The type of cloud resource that is bound to the routing table. Value:
	// - **VSwitch**: switch.
	// - **Gateway**:IPv4 Gateway.
	AssociateType pulumi.StringPtrInput
	// The creation time of the routing table.
	CreateTime pulumi.StringPtrInput
	// Description of the routing table.
	Description pulumi.StringPtrInput
	// Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.1. New field 'route_table_name' instead.
	Name pulumi.StringPtrInput
	// Resource group ID.
	ResourceGroupId pulumi.StringPtrInput
	// The name of the routing table.
	RouteTableName pulumi.StringPtrInput
	// Routing table state.
	Status pulumi.StringPtrInput
	// The tag.
	Tags pulumi.MapInput
	// The ID of VPC.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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"`
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	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"`
}

Provides a VPC router interface resource aim to build a connection between two VPCs.

> **DEPRECATED:** This resource has been deprecated from version `1.199.0`. Please use new resource alicloud_express_connect_router_interface.

> **NOTE:** Only one pair of connected router interfaces can exist between two routers. Up to 5 router interfaces can be created for each router and each account.

> **NOTE:** The router interface is not connected when it is created. It can be connected by means of resource alicloud_router_interface_connection.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			VpcName:   pulumi.String("tf_test_foo12345"),
			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"),
			Name:           pulumi.String("test1"),
			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
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	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"`
	// Another side router interface account ID. Log on to the Alibaba Cloud console, select User Info > Account Management to check the account ID. Default to Provider account_id.
	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.
	//
	// > **NOTE:** The value of "oppositeInterfaceOwnerId" or "accountId" must be main account and not be sub account.
	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.

> **DEPRECATED:** This resource has been deprecated from version `1.199.0`. Please use new resource alicloud_express_connect_router_interface.

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		region := "cn-hangzhou"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		name := "alicloudRouterInterfaceConnectionBasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		foo, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		bar, err := vpc.NewNetwork(ctx, "bar", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("192.168.0.0/16"),
		})
		if err != nil {
			return err
		}
		initiate, err := vpc.NewRouterInterface(ctx, "initiate", &vpc.RouterInterfaceArgs{
			OppositeRegion:     pulumi.String(region),
			RouterType:         pulumi.String("VRouter"),
			RouterId:           foo.RouterId,
			Role:               pulumi.String("InitiatingSide"),
			Specification:      pulumi.String("Large.2"),
			Name:               pulumi.String(name),
			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:       bar.RouterId,
			Role:           pulumi.String("AcceptingSide"),
			Specification:  pulumi.String("Large.1"),
			Name:           pulumi.String(fmt.Sprintf("%v-opposite", name)),
			Description:    pulumi.String(fmt.Sprintf("%v-opposite", name)),
		})
		if err != nil {
			return err
		}
		barRouterInterfaceConnection, err := vpc.NewRouterInterfaceConnection(ctx, "bar", &vpc.RouterInterfaceConnectionArgs{
			InterfaceId:         opposite.ID(),
			OppositeInterfaceId: initiate.ID(),
		})
		if err != nil {
			return err
		}
		// A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.
		_, err = vpc.NewRouterInterfaceConnection(ctx, "foo", &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
	// Another side router interface account ID. Log on to the Alibaba Cloud console, select User Info > Account Management to check the account ID. Default to Provider account_id.
	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.
	//
	// > **NOTE:** The value of "oppositeInterfaceOwnerId" or "accountId" must be main account and not be sub account.
	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 added in v3.27.0

One side router interface ID.

func (RouterInterfaceConnectionOutput) OppositeInterfaceId added in v3.27.0

func (o RouterInterfaceConnectionOutput) OppositeInterfaceId() pulumi.StringOutput

Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.

func (RouterInterfaceConnectionOutput) OppositeInterfaceOwnerId added in v3.27.0

func (o RouterInterfaceConnectionOutput) OppositeInterfaceOwnerId() pulumi.StringOutput

Another side router interface account ID. Log on to the Alibaba Cloud console, select User Info > Account Management to check the account ID. Default to Provider account_id.

func (RouterInterfaceConnectionOutput) OppositeRouterId added in v3.27.0

Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.

func (RouterInterfaceConnectionOutput) OppositeRouterType added in v3.27.0

Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.

> **NOTE:** The value of "oppositeInterfaceOwnerId" or "accountId" must be main account and not be sub account.

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
	// Another side router interface account ID. Log on to the Alibaba Cloud console, select User Info > Account Management to check the account ID. Default to Provider account_id.
	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.
	//
	// > **NOTE:** The value of "oppositeInterfaceOwnerId" or "accountId" must be main account and not be sub account.
	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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

func (o RouterInterfaceOutput) OppositeRegion() pulumi.StringOutput

The Region of peer side.

func (RouterInterfaceOutput) OppositeRouterId deprecated added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console. > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.

func (RouterInterfaceOutput) Role added in v3.27.0

The role the router interface plays. Optional value: `InitiatingSide`, `AcceptingSide`.

func (RouterInterfaceOutput) RouterId added in v3.27.0

The Router ID.

func (RouterInterfaceOutput) RouterType added in v3.27.0

func (o RouterInterfaceOutput) RouterType() pulumi.StringOutput

Router Type. Optional value: VRouter, VBR. Accepting side router interface type only be VRouter.

func (RouterInterfaceOutput) Specification added in v3.27.0

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
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	// > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
	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 since v1.119.1) The status of snat entry.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a snat resource.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf_example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "default", &vpc.NatGatewayArgs{
			VpcId:          defaultNetwork.ID(),
			NatGatewayName: pulumi.String(name),
			PaymentType:    pulumi.String("PayAsYouGo"),
			VswitchId:      defaultSwitch.ID(),
			NatType:        pulumi.String("Enhanced"),
		})
		if err != nil {
			return err
		}
		defaultEipAddress, err := ecs.NewEipAddress(ctx, "default", &ecs.EipAddressArgs{
			AddressName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "default", &ecs.EipAssociationArgs{
			AllocationId: defaultEipAddress.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSnatEntry(ctx, "default", &vpc.SnatEntryArgs{
			SnatTableId:     defaultNatGateway.SnatTableIds,
			SourceVswitchId: defaultSwitch.ID(),
			SnatIp:          defaultEipAddress.IpAddress,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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 added in v3.27.0

func (o SnatEntryOutput) SnatEntryId() pulumi.StringOutput

The id of the snat entry on the server.

func (SnatEntryOutput) SnatEntryName added in v3.27.0

func (o SnatEntryOutput) SnatEntryName() pulumi.StringPtrOutput

The name of snat entry.

func (SnatEntryOutput) SnatIp added in v3.27.0

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 added in v3.27.0

func (o SnatEntryOutput) SnatTableId() pulumi.StringOutput

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

func (SnatEntryOutput) SourceCidr added in v3.27.0

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 added in v3.27.0

func (o SnatEntryOutput) SourceVswitchId() pulumi.StringOutput

The vswitch ID.

func (SnatEntryOutput) Status added in v3.27.0

func (o SnatEntryOutput) Status() pulumi.StringOutput

(Available since v1.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 since v1.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"`
	CreateTime        pulumi.StringOutput    `pulumi:"createTime"`
	Description       pulumi.StringPtrOutput `pulumi:"description"`
	EnableIpv6        pulumi.BoolPtrOutput   `pulumi:"enableIpv6"`
	Ipv6CidrBlock     pulumi.StringOutput    `pulumi:"ipv6CidrBlock"`
	Ipv6CidrBlockMask pulumi.IntOutput       `pulumi:"ipv6CidrBlockMask"`
	// 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
	EnableIpv6        pulumi.BoolPtrInput
	Ipv6CidrBlockMask pulumi.IntPtrInput
	// 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 added in v3.27.0

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 added in v3.27.0

func (o SubnetOutput) CidrBlock() pulumi.StringOutput

func (SubnetOutput) CreateTime added in v3.38.0

func (o SubnetOutput) CreateTime() pulumi.StringOutput

func (SubnetOutput) Description added in v3.27.0

func (o SubnetOutput) Description() pulumi.StringPtrOutput

func (SubnetOutput) ElementType

func (SubnetOutput) ElementType() reflect.Type

func (SubnetOutput) EnableIpv6 added in v3.34.0

func (o SubnetOutput) EnableIpv6() pulumi.BoolPtrOutput

func (SubnetOutput) Ipv6CidrBlock added in v3.34.0

func (o SubnetOutput) Ipv6CidrBlock() pulumi.StringOutput

func (SubnetOutput) Ipv6CidrBlockMask added in v3.34.0

func (o SubnetOutput) Ipv6CidrBlockMask() pulumi.IntOutput

func (SubnetOutput) Name deprecated added in v3.27.0

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 added in v3.27.0

func (o SubnetOutput) Status() pulumi.StringOutput

func (SubnetOutput) Tags added in v3.27.0

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 added in v3.27.0

func (o SubnetOutput) VpcId() pulumi.StringOutput

func (SubnetOutput) VswitchName added in v3.27.0

func (o SubnetOutput) VswitchName() pulumi.StringOutput

func (SubnetOutput) ZoneId added in v3.27.0

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
	CreateTime        pulumi.StringPtrInput
	Description       pulumi.StringPtrInput
	EnableIpv6        pulumi.BoolPtrInput
	Ipv6CidrBlock     pulumi.StringPtrInput
	Ipv6CidrBlockMask pulumi.IntPtrInput
	// 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 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' 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 IPv4 CIDR block of the VSwitch.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// The creation time of the VSwitch.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The description of VSwitch.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether the IPv6 function is enabled in the switch. Value:
	// - **true**: enables IPv6.
	// - **false** (default): IPv6 is not enabled.
	EnableIpv6 pulumi.BoolPtrOutput `pulumi:"enableIpv6"`
	// The IPv6 CIDR block of the VSwitch.
	Ipv6CidrBlock pulumi.StringOutput `pulumi:"ipv6CidrBlock"`
	// The IPv6 CIDR block of the VSwitch.
	Ipv6CidrBlockMask pulumi.IntOutput `pulumi:"ipv6CidrBlockMask"`
	// Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of VSwitch.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VPC ID.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The name of the VSwitch.
	VswitchName pulumi.StringOutput `pulumi:"vswitchName"`
	// The AZ for the VSwitch. **Note:** Required for a VPC VSwitch.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a VPC Vswitch resource. ## Module Support

You can use to the existing vpc module to create a VPC and several VSwitches one-click.

For information about VPC Vswitch and how to use it, see [What is Vswitch](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/work-with-vswitches).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
			VswitchName: pulumi.String("terraform-example"),
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			VpcId:       fooNetwork.ID(),
			ZoneId:      pulumi.String(foo.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		cidrBlocks, err := vpc.NewIpv4CidrBlock(ctx, "cidr_blocks", &vpc.Ipv4CidrBlockArgs{
			VpcId:              vpc.ID(),
			SecondaryCidrBlock: pulumi.String("192.163.0.0/16"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "island-nat", &vpc.SwitchArgs{
			VpcId:       cidrBlocks.VpcId,
			CidrBlock:   pulumi.String("172.16.0.0/21"),
			ZoneId:      pulumi.String(foo.Zones[0].Id),
			VswitchName: pulumi.String("terraform-example"),
			Tags: pulumi.Map{
				"BuiltBy":     pulumi.Any("example_value"),
				"cnm_version": pulumi.Any("example_value"),
				"Environment": pulumi.Any("example_value"),
				"ManagedBy":   pulumi.Any("example_value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

Create a switch associated with the additional network segment

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "foo", &vpc.NetworkArgs{
			VpcName:   pulumi.String("terraform-example"),
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooIpv4CidrBlock, err := vpc.NewIpv4CidrBlock(ctx, "foo", &vpc.Ipv4CidrBlockArgs{
			VpcId:              fooNetwork.ID(),
			SecondaryCidrBlock: pulumi.String("192.163.0.0/16"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "foo", &vpc.SwitchArgs{
			VpcId:     fooIpv4CidrBlock.VpcId,
			CidrBlock: pulumi.String("192.163.0.0/24"),
			ZoneId:    pulumi.String(foo.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Vswitch can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/switch:Switch example <id> ```

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 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	//
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringPtrInput
	// The IPv4 CIDR block of the VSwitch.
	CidrBlock pulumi.StringInput
	// The description of VSwitch.
	Description pulumi.StringPtrInput
	// Whether the IPv6 function is enabled in the switch. Value:
	// - **true**: enables IPv6.
	// - **false** (default): IPv6 is not enabled.
	EnableIpv6 pulumi.BoolPtrInput
	// The IPv6 CIDR block of the VSwitch.
	Ipv6CidrBlockMask pulumi.IntPtrInput
	// Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name pulumi.StringPtrInput
	// The tags of VSwitch.
	Tags pulumi.MapInput
	// The VPC ID.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringInput
	// The name of the VSwitch.
	VswitchName pulumi.StringPtrInput
	// The AZ for the VSwitch. **Note:** Required for a VPC VSwitch.
	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 added in v3.27.0

func (o SwitchOutput) AvailabilityZone() pulumi.StringOutput

Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.

Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.

func (SwitchOutput) CidrBlock added in v3.27.0

func (o SwitchOutput) CidrBlock() pulumi.StringOutput

The IPv4 CIDR block of the VSwitch.

func (SwitchOutput) CreateTime added in v3.38.0

func (o SwitchOutput) CreateTime() pulumi.StringOutput

The creation time of the VSwitch.

func (SwitchOutput) Description added in v3.27.0

func (o SwitchOutput) Description() pulumi.StringPtrOutput

The description of VSwitch.

func (SwitchOutput) ElementType

func (SwitchOutput) ElementType() reflect.Type

func (SwitchOutput) EnableIpv6 added in v3.34.0

func (o SwitchOutput) EnableIpv6() pulumi.BoolPtrOutput

Whether the IPv6 function is enabled in the switch. Value: - **true**: enables IPv6. - **false** (default): IPv6 is not enabled.

func (SwitchOutput) Ipv6CidrBlock added in v3.34.0

func (o SwitchOutput) Ipv6CidrBlock() pulumi.StringOutput

The IPv6 CIDR block of the VSwitch.

func (SwitchOutput) Ipv6CidrBlockMask added in v3.34.0

func (o SwitchOutput) Ipv6CidrBlockMask() pulumi.IntOutput

The IPv6 CIDR block of the VSwitch.

func (SwitchOutput) Name deprecated added in v3.27.0

func (o SwitchOutput) Name() pulumi.StringOutput

Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.

Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.

func (SwitchOutput) Status added in v3.27.0

func (o SwitchOutput) Status() pulumi.StringOutput

The status of the resource.

func (SwitchOutput) Tags added in v3.27.0

func (o SwitchOutput) Tags() pulumi.MapOutput

The tags of VSwitch.

func (SwitchOutput) ToSwitchOutput

func (o SwitchOutput) ToSwitchOutput() SwitchOutput

func (SwitchOutput) ToSwitchOutputWithContext

func (o SwitchOutput) ToSwitchOutputWithContext(ctx context.Context) SwitchOutput

func (SwitchOutput) VpcId added in v3.27.0

func (o SwitchOutput) VpcId() pulumi.StringOutput

The VPC ID.

The following arguments will be discarded. Please use new fields as soon as possible:

func (SwitchOutput) VswitchName added in v3.27.0

func (o SwitchOutput) VswitchName() pulumi.StringOutput

The name of the VSwitch.

func (SwitchOutput) ZoneId added in v3.27.0

func (o SwitchOutput) ZoneId() pulumi.StringOutput

The AZ for the VSwitch. **Note:** Required for a VPC VSwitch.

type SwitchState

type SwitchState struct {
	// Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	//
	// Deprecated: Field 'availability_zone' has been deprecated from provider version 1.119.0. New field 'zone_id' instead.
	AvailabilityZone pulumi.StringPtrInput
	// The IPv4 CIDR block of the VSwitch.
	CidrBlock pulumi.StringPtrInput
	// The creation time of the VSwitch.
	CreateTime pulumi.StringPtrInput
	// The description of VSwitch.
	Description pulumi.StringPtrInput
	// Whether the IPv6 function is enabled in the switch. Value:
	// - **true**: enables IPv6.
	// - **false** (default): IPv6 is not enabled.
	EnableIpv6 pulumi.BoolPtrInput
	// The IPv6 CIDR block of the VSwitch.
	Ipv6CidrBlock pulumi.StringPtrInput
	// The IPv6 CIDR block of the VSwitch.
	Ipv6CidrBlockMask pulumi.IntPtrInput
	// Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.119.0. New field 'vswitch_name' instead.
	Name pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The tags of VSwitch.
	Tags pulumi.MapInput
	// The VPC ID.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	VpcId pulumi.StringPtrInput
	// The name of the VSwitch.
	VswitchName pulumi.StringPtrInput
	// The AZ for the VSwitch. **Note:** Required for a VPC VSwitch.
	ZoneId pulumi.StringPtrInput
}

func (SwitchState) ElementType

func (SwitchState) ElementType() reflect.Type

type TrafficMirrorFilter added in v3.9.0

type TrafficMirrorFilter struct {
	pulumi.CustomResourceState

	// Whether to PreCheck only this request. Value:
	// - **true**: The check request is sent without creating traffic Image filter conditions. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request, returns a 2xx HTTP status code after passing the check, and directly creates a filter condition.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Information about the outbound rule. See the following `Block EgressRules`.
	EgressRules TrafficMirrorFilterEgressRuleTypeArrayOutput `pulumi:"egressRules"`
	// Inward direction rule information. See the following `Block IngressRules`.
	IngressRules TrafficMirrorFilterIngressRuleTypeArrayOutput `pulumi:"ingressRules"`
	// The ID of the resource group to which the VPC belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of this resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The description of the TrafficMirrorFilter.
	TrafficMirrorFilterDescription pulumi.StringPtrOutput `pulumi:"trafficMirrorFilterDescription"`
	// The name of the TrafficMirrorFilter.
	TrafficMirrorFilterName pulumi.StringPtrOutput `pulumi:"trafficMirrorFilterName"`
}

Provides a VPC Traffic Mirror Filter resource. Traffic mirror filter criteria.

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 (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		default3iXhoa, err := resourcemanager.NewResourceGroup(ctx, "default3iXhoa", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("testname03"),
			ResourceGroupName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = resourcemanager.NewResourceGroup(ctx, "defaultdNz2qk", &resourcemanager.ResourceGroupArgs{
			DisplayName:       pulumi.String("testname04"),
			ResourceGroupName: pulumi.String(fmt.Sprintf("%v1", name)),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewTrafficMirrorFilter(ctx, "default", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterDescription: pulumi.String("test"),
			TrafficMirrorFilterName:        pulumi.String(name),
			ResourceGroupId:                default3iXhoa.ID(),
			EgressRules: vpc.TrafficMirrorFilterEgressRuleTypeArray{
				&vpc.TrafficMirrorFilterEgressRuleTypeArgs{
					Priority:             pulumi.Int(1),
					Protocol:             pulumi.String("TCP"),
					Action:               pulumi.String("accept"),
					DestinationCidrBlock: pulumi.String("32.0.0.0/4"),
					DestinationPortRange: pulumi.String("80/80"),
					SourceCidrBlock:      pulumi.String("16.0.0.0/4"),
					SourcePortRange:      pulumi.String("80/80"),
				},
			},
			IngressRules: vpc.TrafficMirrorFilterIngressRuleTypeArray{
				&vpc.TrafficMirrorFilterIngressRuleTypeArgs{
					Priority:             pulumi.Int(1),
					Protocol:             pulumi.String("TCP"),
					Action:               pulumi.String("accept"),
					DestinationCidrBlock: pulumi.String("10.64.0.0/10"),
					DestinationPortRange: pulumi.String("80/80"),
					SourceCidrBlock:      pulumi.String("10.0.0.0/8"),
					SourcePortRange:      pulumi.String("80/80"),
				},
			},
		})
		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 added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

func (*TrafficMirrorFilter) ElementType() reflect.Type

func (*TrafficMirrorFilter) ToTrafficMirrorFilterOutput added in v3.9.0

func (i *TrafficMirrorFilter) ToTrafficMirrorFilterOutput() TrafficMirrorFilterOutput

func (*TrafficMirrorFilter) ToTrafficMirrorFilterOutputWithContext added in v3.9.0

func (i *TrafficMirrorFilter) ToTrafficMirrorFilterOutputWithContext(ctx context.Context) TrafficMirrorFilterOutput

type TrafficMirrorFilterArgs added in v3.9.0

type TrafficMirrorFilterArgs struct {
	// Whether to PreCheck only this request. Value:
	// - **true**: The check request is sent without creating traffic Image filter conditions. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request, returns a 2xx HTTP status code after passing the check, and directly creates a filter condition.
	DryRun pulumi.BoolPtrInput
	// Information about the outbound rule. See the following `Block EgressRules`.
	EgressRules TrafficMirrorFilterEgressRuleTypeArrayInput
	// Inward direction rule information. See the following `Block IngressRules`.
	IngressRules TrafficMirrorFilterIngressRuleTypeArrayInput
	// The ID of the resource group to which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The tags of this resource.
	Tags pulumi.MapInput
	// The description of the TrafficMirrorFilter.
	TrafficMirrorFilterDescription pulumi.StringPtrInput
	// The name of the TrafficMirrorFilter.
	TrafficMirrorFilterName pulumi.StringPtrInput
}

The set of arguments for constructing a TrafficMirrorFilter resource.

func (TrafficMirrorFilterArgs) ElementType added in v3.9.0

func (TrafficMirrorFilterArgs) ElementType() reflect.Type

type TrafficMirrorFilterArray added in v3.9.0

type TrafficMirrorFilterArray []TrafficMirrorFilterInput

func (TrafficMirrorFilterArray) ElementType added in v3.9.0

func (TrafficMirrorFilterArray) ElementType() reflect.Type

func (TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutput added in v3.9.0

func (i TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutput() TrafficMirrorFilterArrayOutput

func (TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutputWithContext added in v3.9.0

func (i TrafficMirrorFilterArray) ToTrafficMirrorFilterArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterArrayOutput

type TrafficMirrorFilterArrayInput added in v3.9.0

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 added in v3.9.0

type TrafficMirrorFilterArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterArrayOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterArrayOutput) Index added in v3.9.0

func (TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutput added in v3.9.0

func (o TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutput() TrafficMirrorFilterArrayOutput

func (TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterArrayOutput) ToTrafficMirrorFilterArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterArrayOutput

type TrafficMirrorFilterEgressRule added in v3.9.0

type TrafficMirrorFilterEgressRule struct {
	pulumi.CustomResourceState

	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	Action pulumi.StringOutput `pulumi:"action"`
	// 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 PreCheck this request only. Value:
	// - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.
	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"`
	// . Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.
	//
	// Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.
	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. `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.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	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 since v1.140.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := vpc.NewTrafficMirrorFilter(ctx, "example", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterName: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewTrafficMirrorFilterEgressRule(ctx, "default", &vpc.TrafficMirrorFilterEgressRuleArgs{
			Action:                pulumi.String("drop"),
			Priority:              pulumi.Int(2),
			SourceCidrBlock:       pulumi.String("10.0.0.0/11"),
			DestinationCidrBlock:  pulumi.String("10.0.0.0/12"),
			TrafficMirrorFilterId: example.ID(),
			Protocol:              pulumi.String("ALL"),
		})
		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 added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

func (*TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutput added in v3.9.0

func (i *TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutput() TrafficMirrorFilterEgressRuleOutput

func (*TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutputWithContext added in v3.9.0

func (i *TrafficMirrorFilterEgressRule) ToTrafficMirrorFilterEgressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleOutput

type TrafficMirrorFilterEgressRuleArgs added in v3.9.0

type TrafficMirrorFilterEgressRuleArgs struct {
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	Action pulumi.StringPtrInput
	// 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 PreCheck this request only. Value:
	// - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.
	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
	// . Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.
	//
	// Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.
	RuleAction pulumi.StringPtrInput
	// 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.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	TrafficMirrorFilterId pulumi.StringInput
}

The set of arguments for constructing a TrafficMirrorFilterEgressRule resource.

func (TrafficMirrorFilterEgressRuleArgs) ElementType added in v3.9.0

type TrafficMirrorFilterEgressRuleArray added in v3.9.0

type TrafficMirrorFilterEgressRuleArray []TrafficMirrorFilterEgressRuleInput

func (TrafficMirrorFilterEgressRuleArray) ElementType added in v3.9.0

func (TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutput added in v3.9.0

func (i TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutput() TrafficMirrorFilterEgressRuleArrayOutput

func (TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext added in v3.9.0

func (i TrafficMirrorFilterEgressRuleArray) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleArrayOutput

type TrafficMirrorFilterEgressRuleArrayInput added in v3.9.0

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 added in v3.9.0

type TrafficMirrorFilterEgressRuleArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleArrayOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterEgressRuleArrayOutput) Index added in v3.9.0

func (TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutput added in v3.9.0

func (o TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutput() TrafficMirrorFilterEgressRuleArrayOutput

func (TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterEgressRuleArrayOutput) ToTrafficMirrorFilterEgressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleArrayOutput

type TrafficMirrorFilterEgressRuleInput added in v3.9.0

type TrafficMirrorFilterEgressRuleInput interface {
	pulumi.Input

	ToTrafficMirrorFilterEgressRuleOutput() TrafficMirrorFilterEgressRuleOutput
	ToTrafficMirrorFilterEgressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleOutput
}

type TrafficMirrorFilterEgressRuleMap added in v3.9.0

type TrafficMirrorFilterEgressRuleMap map[string]TrafficMirrorFilterEgressRuleInput

func (TrafficMirrorFilterEgressRuleMap) ElementType added in v3.9.0

func (TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutput added in v3.9.0

func (i TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutput() TrafficMirrorFilterEgressRuleMapOutput

func (TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutputWithContext added in v3.9.0

func (i TrafficMirrorFilterEgressRuleMap) ToTrafficMirrorFilterEgressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleMapOutput

type TrafficMirrorFilterEgressRuleMapInput added in v3.9.0

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 added in v3.9.0

type TrafficMirrorFilterEgressRuleMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleMapOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterEgressRuleMapOutput) MapIndex added in v3.9.0

func (TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutput added in v3.9.0

func (o TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutput() TrafficMirrorFilterEgressRuleMapOutput

func (TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterEgressRuleMapOutput) ToTrafficMirrorFilterEgressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleMapOutput

type TrafficMirrorFilterEgressRuleOutput added in v3.9.0

type TrafficMirrorFilterEgressRuleOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleOutput) Action added in v3.44.0

The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.

func (TrafficMirrorFilterEgressRuleOutput) DestinationCidrBlock added in v3.27.0

func (o TrafficMirrorFilterEgressRuleOutput) DestinationCidrBlock() pulumi.StringOutput

The destination CIDR block of the outbound traffic.

func (TrafficMirrorFilterEgressRuleOutput) DestinationPortRange added in v3.27.0

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 added in v3.27.0

Whether to PreCheck this request only. Value: - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '. - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.

func (TrafficMirrorFilterEgressRuleOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterEgressRuleOutput) Priority added in v3.27.0

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 added in v3.27.0

The transport protocol used by outbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (TrafficMirrorFilterEgressRuleOutput) RuleAction deprecated added in v3.27.0

. Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.

Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.

func (TrafficMirrorFilterEgressRuleOutput) SourceCidrBlock added in v3.27.0

The source CIDR block of the outbound traffic.

func (TrafficMirrorFilterEgressRuleOutput) SourcePortRange added in v3.27.0

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 added in v3.27.0

The state of the inbound rule. `Creating`, `Created`, `Modifying` and `Deleting`.

func (TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutput added in v3.9.0

func (o TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutput() TrafficMirrorFilterEgressRuleOutput

func (TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterEgressRuleOutput) ToTrafficMirrorFilterEgressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleOutput

func (TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterEgressRuleId added in v3.27.0

func (o TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterEgressRuleId() pulumi.StringOutput

The ID of the outbound rule.

func (TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterId added in v3.27.0

func (o TrafficMirrorFilterEgressRuleOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

The following arguments will be discarded. Please use new fields as soon as possible:

type TrafficMirrorFilterEgressRuleState added in v3.9.0

type TrafficMirrorFilterEgressRuleState struct {
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	Action pulumi.StringPtrInput
	// 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 PreCheck this request only. Value:
	// - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.
	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
	// . Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.
	//
	// Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.
	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. `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput
	// The ID of the outbound rule.
	TrafficMirrorFilterEgressRuleId pulumi.StringPtrInput
	// The ID of the filter.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	TrafficMirrorFilterId pulumi.StringPtrInput
}

func (TrafficMirrorFilterEgressRuleState) ElementType added in v3.9.0

type TrafficMirrorFilterEgressRuleType added in v3.38.0

type TrafficMirrorFilterEgressRuleType struct {
	Action                        string  `pulumi:"action"`
	DestinationCidrBlock          *string `pulumi:"destinationCidrBlock"`
	DestinationPortRange          *string `pulumi:"destinationPortRange"`
	Priority                      *int    `pulumi:"priority"`
	Protocol                      string  `pulumi:"protocol"`
	SourceCidrBlock               *string `pulumi:"sourceCidrBlock"`
	SourcePortRange               *string `pulumi:"sourcePortRange"`
	TrafficMirrorFilterRuleStatus *string `pulumi:"trafficMirrorFilterRuleStatus"`
}

type TrafficMirrorFilterEgressRuleTypeArgs added in v3.38.0

type TrafficMirrorFilterEgressRuleTypeArgs struct {
	Action                        pulumi.StringInput    `pulumi:"action"`
	DestinationCidrBlock          pulumi.StringPtrInput `pulumi:"destinationCidrBlock"`
	DestinationPortRange          pulumi.StringPtrInput `pulumi:"destinationPortRange"`
	Priority                      pulumi.IntPtrInput    `pulumi:"priority"`
	Protocol                      pulumi.StringInput    `pulumi:"protocol"`
	SourceCidrBlock               pulumi.StringPtrInput `pulumi:"sourceCidrBlock"`
	SourcePortRange               pulumi.StringPtrInput `pulumi:"sourcePortRange"`
	TrafficMirrorFilterRuleStatus pulumi.StringPtrInput `pulumi:"trafficMirrorFilterRuleStatus"`
}

func (TrafficMirrorFilterEgressRuleTypeArgs) ElementType added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeArgs) ToTrafficMirrorFilterEgressRuleTypeOutput added in v3.38.0

func (i TrafficMirrorFilterEgressRuleTypeArgs) ToTrafficMirrorFilterEgressRuleTypeOutput() TrafficMirrorFilterEgressRuleTypeOutput

func (TrafficMirrorFilterEgressRuleTypeArgs) ToTrafficMirrorFilterEgressRuleTypeOutputWithContext added in v3.38.0

func (i TrafficMirrorFilterEgressRuleTypeArgs) ToTrafficMirrorFilterEgressRuleTypeOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleTypeOutput

type TrafficMirrorFilterEgressRuleTypeArray added in v3.38.0

type TrafficMirrorFilterEgressRuleTypeArray []TrafficMirrorFilterEgressRuleTypeInput

func (TrafficMirrorFilterEgressRuleTypeArray) ElementType added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeArray) ToTrafficMirrorFilterEgressRuleTypeArrayOutput added in v3.38.0

func (i TrafficMirrorFilterEgressRuleTypeArray) ToTrafficMirrorFilterEgressRuleTypeArrayOutput() TrafficMirrorFilterEgressRuleTypeArrayOutput

func (TrafficMirrorFilterEgressRuleTypeArray) ToTrafficMirrorFilterEgressRuleTypeArrayOutputWithContext added in v3.38.0

func (i TrafficMirrorFilterEgressRuleTypeArray) ToTrafficMirrorFilterEgressRuleTypeArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleTypeArrayOutput

type TrafficMirrorFilterEgressRuleTypeArrayInput added in v3.38.0

type TrafficMirrorFilterEgressRuleTypeArrayInput interface {
	pulumi.Input

	ToTrafficMirrorFilterEgressRuleTypeArrayOutput() TrafficMirrorFilterEgressRuleTypeArrayOutput
	ToTrafficMirrorFilterEgressRuleTypeArrayOutputWithContext(context.Context) TrafficMirrorFilterEgressRuleTypeArrayOutput
}

TrafficMirrorFilterEgressRuleTypeArrayInput is an input type that accepts TrafficMirrorFilterEgressRuleTypeArray and TrafficMirrorFilterEgressRuleTypeArrayOutput values. You can construct a concrete instance of `TrafficMirrorFilterEgressRuleTypeArrayInput` via:

TrafficMirrorFilterEgressRuleTypeArray{ TrafficMirrorFilterEgressRuleTypeArgs{...} }

type TrafficMirrorFilterEgressRuleTypeArrayOutput added in v3.38.0

type TrafficMirrorFilterEgressRuleTypeArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleTypeArrayOutput) ElementType added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeArrayOutput) Index added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeArrayOutput) ToTrafficMirrorFilterEgressRuleTypeArrayOutput added in v3.38.0

func (o TrafficMirrorFilterEgressRuleTypeArrayOutput) ToTrafficMirrorFilterEgressRuleTypeArrayOutput() TrafficMirrorFilterEgressRuleTypeArrayOutput

func (TrafficMirrorFilterEgressRuleTypeArrayOutput) ToTrafficMirrorFilterEgressRuleTypeArrayOutputWithContext added in v3.38.0

func (o TrafficMirrorFilterEgressRuleTypeArrayOutput) ToTrafficMirrorFilterEgressRuleTypeArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleTypeArrayOutput

type TrafficMirrorFilterEgressRuleTypeInput added in v3.38.0

type TrafficMirrorFilterEgressRuleTypeInput interface {
	pulumi.Input

	ToTrafficMirrorFilterEgressRuleTypeOutput() TrafficMirrorFilterEgressRuleTypeOutput
	ToTrafficMirrorFilterEgressRuleTypeOutputWithContext(context.Context) TrafficMirrorFilterEgressRuleTypeOutput
}

TrafficMirrorFilterEgressRuleTypeInput is an input type that accepts TrafficMirrorFilterEgressRuleTypeArgs and TrafficMirrorFilterEgressRuleTypeOutput values. You can construct a concrete instance of `TrafficMirrorFilterEgressRuleTypeInput` via:

TrafficMirrorFilterEgressRuleTypeArgs{...}

type TrafficMirrorFilterEgressRuleTypeOutput added in v3.38.0

type TrafficMirrorFilterEgressRuleTypeOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterEgressRuleTypeOutput) Action added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) DestinationCidrBlock added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) DestinationPortRange added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) ElementType added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) Priority added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) Protocol added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) SourceCidrBlock added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) SourcePortRange added in v3.38.0

func (TrafficMirrorFilterEgressRuleTypeOutput) ToTrafficMirrorFilterEgressRuleTypeOutput added in v3.38.0

func (o TrafficMirrorFilterEgressRuleTypeOutput) ToTrafficMirrorFilterEgressRuleTypeOutput() TrafficMirrorFilterEgressRuleTypeOutput

func (TrafficMirrorFilterEgressRuleTypeOutput) ToTrafficMirrorFilterEgressRuleTypeOutputWithContext added in v3.38.0

func (o TrafficMirrorFilterEgressRuleTypeOutput) ToTrafficMirrorFilterEgressRuleTypeOutputWithContext(ctx context.Context) TrafficMirrorFilterEgressRuleTypeOutput

func (TrafficMirrorFilterEgressRuleTypeOutput) TrafficMirrorFilterRuleStatus added in v3.38.0

func (o TrafficMirrorFilterEgressRuleTypeOutput) TrafficMirrorFilterRuleStatus() pulumi.StringPtrOutput

type TrafficMirrorFilterIngressRule added in v3.9.0

type TrafficMirrorFilterIngressRule struct {
	pulumi.CustomResourceState

	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	Action pulumi.StringOutput `pulumi:"action"`
	// 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 PreCheck this request only. Value:
	// - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.
	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"`
	// . Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.
	//
	// Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.
	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. `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of the filter.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	TrafficMirrorFilterId pulumi.StringOutput `pulumi:"trafficMirrorFilterId"`
	// The ID of the outbound rule.
	TrafficMirrorFilterIngressRuleId pulumi.StringOutput `pulumi:"trafficMirrorFilterIngressRuleId"`
}

Provides a VPC Traffic Mirror Filter Ingress Rule resource. Traffic mirror entry rule.

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 since v1.141.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := vpc.NewTrafficMirrorFilter(ctx, "example", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterName: pulumi.String("example_value"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewTrafficMirrorFilterIngressRule(ctx, "example", &vpc.TrafficMirrorFilterIngressRuleArgs{
			TrafficMirrorFilterId: example.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 added in v3.9.0

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 added in v3.9.0

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 added in v3.9.0

func (*TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutput added in v3.9.0

func (i *TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutput() TrafficMirrorFilterIngressRuleOutput

func (*TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutputWithContext added in v3.9.0

func (i *TrafficMirrorFilterIngressRule) ToTrafficMirrorFilterIngressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleOutput

type TrafficMirrorFilterIngressRuleArgs added in v3.9.0

type TrafficMirrorFilterIngressRuleArgs struct {
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	Action pulumi.StringPtrInput
	// 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 PreCheck this request only. Value:
	// - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.
	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
	// . Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.
	//
	// Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.
	RuleAction pulumi.StringPtrInput
	// 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.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	TrafficMirrorFilterId pulumi.StringInput
}

The set of arguments for constructing a TrafficMirrorFilterIngressRule resource.

func (TrafficMirrorFilterIngressRuleArgs) ElementType added in v3.9.0

type TrafficMirrorFilterIngressRuleArray added in v3.9.0

type TrafficMirrorFilterIngressRuleArray []TrafficMirrorFilterIngressRuleInput

func (TrafficMirrorFilterIngressRuleArray) ElementType added in v3.9.0

func (TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutput added in v3.9.0

func (i TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutput() TrafficMirrorFilterIngressRuleArrayOutput

func (TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext added in v3.9.0

func (i TrafficMirrorFilterIngressRuleArray) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleArrayOutput

type TrafficMirrorFilterIngressRuleArrayInput added in v3.9.0

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 added in v3.9.0

type TrafficMirrorFilterIngressRuleArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleArrayOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterIngressRuleArrayOutput) Index added in v3.9.0

func (TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutput added in v3.9.0

func (o TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutput() TrafficMirrorFilterIngressRuleArrayOutput

func (TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterIngressRuleArrayOutput) ToTrafficMirrorFilterIngressRuleArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleArrayOutput

type TrafficMirrorFilterIngressRuleInput added in v3.9.0

type TrafficMirrorFilterIngressRuleInput interface {
	pulumi.Input

	ToTrafficMirrorFilterIngressRuleOutput() TrafficMirrorFilterIngressRuleOutput
	ToTrafficMirrorFilterIngressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleOutput
}

type TrafficMirrorFilterIngressRuleMap added in v3.9.0

type TrafficMirrorFilterIngressRuleMap map[string]TrafficMirrorFilterIngressRuleInput

func (TrafficMirrorFilterIngressRuleMap) ElementType added in v3.9.0

func (TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutput added in v3.9.0

func (i TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutput() TrafficMirrorFilterIngressRuleMapOutput

func (TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutputWithContext added in v3.9.0

func (i TrafficMirrorFilterIngressRuleMap) ToTrafficMirrorFilterIngressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleMapOutput

type TrafficMirrorFilterIngressRuleMapInput added in v3.9.0

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 added in v3.9.0

type TrafficMirrorFilterIngressRuleMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleMapOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterIngressRuleMapOutput) MapIndex added in v3.9.0

func (TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutput added in v3.9.0

func (o TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutput() TrafficMirrorFilterIngressRuleMapOutput

func (TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterIngressRuleMapOutput) ToTrafficMirrorFilterIngressRuleMapOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleMapOutput

type TrafficMirrorFilterIngressRuleOutput added in v3.9.0

type TrafficMirrorFilterIngressRuleOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleOutput) Action added in v3.44.0

The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.

func (TrafficMirrorFilterIngressRuleOutput) DestinationCidrBlock added in v3.27.0

func (o TrafficMirrorFilterIngressRuleOutput) DestinationCidrBlock() pulumi.StringOutput

The destination CIDR block of the inbound traffic.

func (TrafficMirrorFilterIngressRuleOutput) DestinationPortRange added in v3.27.0

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 added in v3.27.0

Whether to PreCheck this request only. Value: - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '. - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.

func (TrafficMirrorFilterIngressRuleOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterIngressRuleOutput) Priority added in v3.27.0

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 added in v3.27.0

The transport protocol used by inbound traffic that needs to be mirrored. Valid values: `ALL`, `ICMP`, `TCP`, `UDP`.

func (TrafficMirrorFilterIngressRuleOutput) RuleAction deprecated added in v3.27.0

. Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.

Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.

func (TrafficMirrorFilterIngressRuleOutput) SourceCidrBlock added in v3.27.0

The source CIDR block of the inbound traffic.

func (TrafficMirrorFilterIngressRuleOutput) SourcePortRange added in v3.27.0

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 added in v3.27.0

The state of the inbound rule. `Creating`, `Created`, `Modifying` and `Deleting`.

func (TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutput added in v3.9.0

func (o TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutput() TrafficMirrorFilterIngressRuleOutput

func (TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterIngressRuleOutput) ToTrafficMirrorFilterIngressRuleOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleOutput

func (TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterId added in v3.27.0

func (o TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

The following arguments will be discarded. Please use new fields as soon as possible:

func (TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterIngressRuleId added in v3.27.0

func (o TrafficMirrorFilterIngressRuleOutput) TrafficMirrorFilterIngressRuleId() pulumi.StringOutput

The ID of the outbound rule.

type TrafficMirrorFilterIngressRuleState added in v3.9.0

type TrafficMirrorFilterIngressRuleState struct {
	// The collection policy of the inbound rule. Valid values: `accept` or `drop`. `accept`: collects network traffic. `drop`: does not collect network traffic.
	Action pulumi.StringPtrInput
	// 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 PreCheck this request only. Value:
	// - **true**: sends a check request and does not create inbound or outbound rules. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates an inbound or outbound direction rule after checking.
	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
	// . Field 'rule_action' has been deprecated from provider version 1.211.0. New field 'action' instead.
	//
	// Deprecated: Field 'rule_action' has been deprecated since provider version 1.211.0. New field 'action' instead.
	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. `Creating`, `Created`, `Modifying` and `Deleting`.
	Status pulumi.StringPtrInput
	// The ID of the filter.
	//
	// The following arguments will be discarded. Please use new fields as soon as possible:
	TrafficMirrorFilterId pulumi.StringPtrInput
	// The ID of the outbound rule.
	TrafficMirrorFilterIngressRuleId pulumi.StringPtrInput
}

func (TrafficMirrorFilterIngressRuleState) ElementType added in v3.9.0

type TrafficMirrorFilterIngressRuleType added in v3.38.0

type TrafficMirrorFilterIngressRuleType struct {
	Action                        string  `pulumi:"action"`
	DestinationCidrBlock          *string `pulumi:"destinationCidrBlock"`
	DestinationPortRange          *string `pulumi:"destinationPortRange"`
	Priority                      *int    `pulumi:"priority"`
	Protocol                      string  `pulumi:"protocol"`
	SourceCidrBlock               *string `pulumi:"sourceCidrBlock"`
	SourcePortRange               *string `pulumi:"sourcePortRange"`
	TrafficMirrorFilterRuleStatus *string `pulumi:"trafficMirrorFilterRuleStatus"`
}

type TrafficMirrorFilterIngressRuleTypeArgs added in v3.38.0

type TrafficMirrorFilterIngressRuleTypeArgs struct {
	Action                        pulumi.StringInput    `pulumi:"action"`
	DestinationCidrBlock          pulumi.StringPtrInput `pulumi:"destinationCidrBlock"`
	DestinationPortRange          pulumi.StringPtrInput `pulumi:"destinationPortRange"`
	Priority                      pulumi.IntPtrInput    `pulumi:"priority"`
	Protocol                      pulumi.StringInput    `pulumi:"protocol"`
	SourceCidrBlock               pulumi.StringPtrInput `pulumi:"sourceCidrBlock"`
	SourcePortRange               pulumi.StringPtrInput `pulumi:"sourcePortRange"`
	TrafficMirrorFilterRuleStatus pulumi.StringPtrInput `pulumi:"trafficMirrorFilterRuleStatus"`
}

func (TrafficMirrorFilterIngressRuleTypeArgs) ElementType added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeArgs) ToTrafficMirrorFilterIngressRuleTypeOutput added in v3.38.0

func (i TrafficMirrorFilterIngressRuleTypeArgs) ToTrafficMirrorFilterIngressRuleTypeOutput() TrafficMirrorFilterIngressRuleTypeOutput

func (TrafficMirrorFilterIngressRuleTypeArgs) ToTrafficMirrorFilterIngressRuleTypeOutputWithContext added in v3.38.0

func (i TrafficMirrorFilterIngressRuleTypeArgs) ToTrafficMirrorFilterIngressRuleTypeOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleTypeOutput

type TrafficMirrorFilterIngressRuleTypeArray added in v3.38.0

type TrafficMirrorFilterIngressRuleTypeArray []TrafficMirrorFilterIngressRuleTypeInput

func (TrafficMirrorFilterIngressRuleTypeArray) ElementType added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeArray) ToTrafficMirrorFilterIngressRuleTypeArrayOutput added in v3.38.0

func (i TrafficMirrorFilterIngressRuleTypeArray) ToTrafficMirrorFilterIngressRuleTypeArrayOutput() TrafficMirrorFilterIngressRuleTypeArrayOutput

func (TrafficMirrorFilterIngressRuleTypeArray) ToTrafficMirrorFilterIngressRuleTypeArrayOutputWithContext added in v3.38.0

func (i TrafficMirrorFilterIngressRuleTypeArray) ToTrafficMirrorFilterIngressRuleTypeArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleTypeArrayOutput

type TrafficMirrorFilterIngressRuleTypeArrayInput added in v3.38.0

type TrafficMirrorFilterIngressRuleTypeArrayInput interface {
	pulumi.Input

	ToTrafficMirrorFilterIngressRuleTypeArrayOutput() TrafficMirrorFilterIngressRuleTypeArrayOutput
	ToTrafficMirrorFilterIngressRuleTypeArrayOutputWithContext(context.Context) TrafficMirrorFilterIngressRuleTypeArrayOutput
}

TrafficMirrorFilterIngressRuleTypeArrayInput is an input type that accepts TrafficMirrorFilterIngressRuleTypeArray and TrafficMirrorFilterIngressRuleTypeArrayOutput values. You can construct a concrete instance of `TrafficMirrorFilterIngressRuleTypeArrayInput` via:

TrafficMirrorFilterIngressRuleTypeArray{ TrafficMirrorFilterIngressRuleTypeArgs{...} }

type TrafficMirrorFilterIngressRuleTypeArrayOutput added in v3.38.0

type TrafficMirrorFilterIngressRuleTypeArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleTypeArrayOutput) ElementType added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeArrayOutput) Index added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeArrayOutput) ToTrafficMirrorFilterIngressRuleTypeArrayOutput added in v3.38.0

func (o TrafficMirrorFilterIngressRuleTypeArrayOutput) ToTrafficMirrorFilterIngressRuleTypeArrayOutput() TrafficMirrorFilterIngressRuleTypeArrayOutput

func (TrafficMirrorFilterIngressRuleTypeArrayOutput) ToTrafficMirrorFilterIngressRuleTypeArrayOutputWithContext added in v3.38.0

func (o TrafficMirrorFilterIngressRuleTypeArrayOutput) ToTrafficMirrorFilterIngressRuleTypeArrayOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleTypeArrayOutput

type TrafficMirrorFilterIngressRuleTypeInput added in v3.38.0

type TrafficMirrorFilterIngressRuleTypeInput interface {
	pulumi.Input

	ToTrafficMirrorFilterIngressRuleTypeOutput() TrafficMirrorFilterIngressRuleTypeOutput
	ToTrafficMirrorFilterIngressRuleTypeOutputWithContext(context.Context) TrafficMirrorFilterIngressRuleTypeOutput
}

TrafficMirrorFilterIngressRuleTypeInput is an input type that accepts TrafficMirrorFilterIngressRuleTypeArgs and TrafficMirrorFilterIngressRuleTypeOutput values. You can construct a concrete instance of `TrafficMirrorFilterIngressRuleTypeInput` via:

TrafficMirrorFilterIngressRuleTypeArgs{...}

type TrafficMirrorFilterIngressRuleTypeOutput added in v3.38.0

type TrafficMirrorFilterIngressRuleTypeOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterIngressRuleTypeOutput) Action added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) DestinationCidrBlock added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) DestinationPortRange added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) ElementType added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) Priority added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) Protocol added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) SourceCidrBlock added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) SourcePortRange added in v3.38.0

func (TrafficMirrorFilterIngressRuleTypeOutput) ToTrafficMirrorFilterIngressRuleTypeOutput added in v3.38.0

func (o TrafficMirrorFilterIngressRuleTypeOutput) ToTrafficMirrorFilterIngressRuleTypeOutput() TrafficMirrorFilterIngressRuleTypeOutput

func (TrafficMirrorFilterIngressRuleTypeOutput) ToTrafficMirrorFilterIngressRuleTypeOutputWithContext added in v3.38.0

func (o TrafficMirrorFilterIngressRuleTypeOutput) ToTrafficMirrorFilterIngressRuleTypeOutputWithContext(ctx context.Context) TrafficMirrorFilterIngressRuleTypeOutput

func (TrafficMirrorFilterIngressRuleTypeOutput) TrafficMirrorFilterRuleStatus added in v3.38.0

func (o TrafficMirrorFilterIngressRuleTypeOutput) TrafficMirrorFilterRuleStatus() pulumi.StringPtrOutput

type TrafficMirrorFilterInput added in v3.9.0

type TrafficMirrorFilterInput interface {
	pulumi.Input

	ToTrafficMirrorFilterOutput() TrafficMirrorFilterOutput
	ToTrafficMirrorFilterOutputWithContext(ctx context.Context) TrafficMirrorFilterOutput
}

type TrafficMirrorFilterMap added in v3.9.0

type TrafficMirrorFilterMap map[string]TrafficMirrorFilterInput

func (TrafficMirrorFilterMap) ElementType added in v3.9.0

func (TrafficMirrorFilterMap) ElementType() reflect.Type

func (TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutput added in v3.9.0

func (i TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutput() TrafficMirrorFilterMapOutput

func (TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutputWithContext added in v3.9.0

func (i TrafficMirrorFilterMap) ToTrafficMirrorFilterMapOutputWithContext(ctx context.Context) TrafficMirrorFilterMapOutput

type TrafficMirrorFilterMapInput added in v3.9.0

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 added in v3.9.0

type TrafficMirrorFilterMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterMapOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterMapOutput) MapIndex added in v3.9.0

func (TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutput added in v3.9.0

func (o TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutput() TrafficMirrorFilterMapOutput

func (TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterMapOutput) ToTrafficMirrorFilterMapOutputWithContext(ctx context.Context) TrafficMirrorFilterMapOutput

type TrafficMirrorFilterOutput added in v3.9.0

type TrafficMirrorFilterOutput struct{ *pulumi.OutputState }

func (TrafficMirrorFilterOutput) DryRun added in v3.27.0

Whether to PreCheck only this request. Value: - **true**: The check request is sent without creating traffic Image filter conditions. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '. - **false** (default): Sends a normal request, returns a 2xx HTTP status code after passing the check, and directly creates a filter condition.

func (TrafficMirrorFilterOutput) EgressRules added in v3.38.0

Information about the outbound rule. See the following `Block EgressRules`.

func (TrafficMirrorFilterOutput) ElementType added in v3.9.0

func (TrafficMirrorFilterOutput) ElementType() reflect.Type

func (TrafficMirrorFilterOutput) IngressRules added in v3.38.0

Inward direction rule information. See the following `Block IngressRules`.

func (TrafficMirrorFilterOutput) ResourceGroupId added in v3.38.0

func (o TrafficMirrorFilterOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group to which the VPC belongs.

func (TrafficMirrorFilterOutput) Status added in v3.27.0

The status of the resource.

func (TrafficMirrorFilterOutput) Tags added in v3.38.0

The tags of this resource.

func (TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutput added in v3.9.0

func (o TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutput() TrafficMirrorFilterOutput

func (TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutputWithContext added in v3.9.0

func (o TrafficMirrorFilterOutput) ToTrafficMirrorFilterOutputWithContext(ctx context.Context) TrafficMirrorFilterOutput

func (TrafficMirrorFilterOutput) TrafficMirrorFilterDescription added in v3.27.0

func (o TrafficMirrorFilterOutput) TrafficMirrorFilterDescription() pulumi.StringPtrOutput

The description of the TrafficMirrorFilter.

func (TrafficMirrorFilterOutput) TrafficMirrorFilterName added in v3.27.0

func (o TrafficMirrorFilterOutput) TrafficMirrorFilterName() pulumi.StringPtrOutput

The name of the TrafficMirrorFilter.

type TrafficMirrorFilterState added in v3.9.0

type TrafficMirrorFilterState struct {
	// Whether to PreCheck only this request. Value:
	// - **true**: The check request is sent without creating traffic Image filter conditions. Check items include whether required parameters, request format, and business restrictions are filled in. If the check does not pass, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request, returns a 2xx HTTP status code after passing the check, and directly creates a filter condition.
	DryRun pulumi.BoolPtrInput
	// Information about the outbound rule. See the following `Block EgressRules`.
	EgressRules TrafficMirrorFilterEgressRuleTypeArrayInput
	// Inward direction rule information. See the following `Block IngressRules`.
	IngressRules TrafficMirrorFilterIngressRuleTypeArrayInput
	// The ID of the resource group to which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The tags of this resource.
	Tags pulumi.MapInput
	// The description of the TrafficMirrorFilter.
	TrafficMirrorFilterDescription pulumi.StringPtrInput
	// The name of the TrafficMirrorFilter.
	TrafficMirrorFilterName pulumi.StringPtrInput
}

func (TrafficMirrorFilterState) ElementType added in v3.9.0

func (TrafficMirrorFilterState) ElementType() reflect.Type

type TrafficMirrorSession added in v3.10.0

type TrafficMirrorSession struct {
	pulumi.CustomResourceState

	// Whether to PreCheck only this request, value:
	// - **true**: sends a check request and does not create a mirror session. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates a mirror session after checking.
	DryRun pulumi.BoolPtrOutput `pulumi:"dryRun"`
	// Specifies whether to enable traffic mirror sessions. default to `false`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// Maximum Transmission Unit (MTU).
	PacketLength pulumi.IntOutput `pulumi:"packetLength"`
	// 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 ID of the resource group.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The tags of this resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// 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 image source instance. Currently, the Eni is supported as the image source. The default value of N is 1, that is, only one mirror source can be added to a 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. Traffic mirroring session.

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 since v1.142.0.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			InstanceTypeFamily: pulumi.StringRef("ecs.g7"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("Instance"),
			AvailableInstanceType:     pulumi.StringRef(_default.InstanceTypes[0].Id),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.4.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
			VswitchName: pulumi.String(name),
			CidrBlock:   pulumi.String("10.4.0.0/24"),
			VpcId:       defaultNetwork.ID(),
			ZoneId:      pulumi.String(defaultGetZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
			Name:        pulumi.String(name),
			Description: pulumi.String(name),
			VpcId:       defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			NameRegex:  pulumi.StringRef("^ubuntu_[0-9]+_[0-9]+_x64*"),
			MostRecent: pulumi.BoolRef(true),
			Owners:     pulumi.StringRef("system"),
		}, nil)
		if err != nil {
			return err
		}
		var defaultInstance []*ecs.Instance
		for index := 0; index < 2; index++ {
			key0 := index
			_ := index
			__res, err := ecs.NewInstance(ctx, fmt.Sprintf("default-%v", key0), &ecs.InstanceArgs{
				AvailabilityZone: pulumi.String(defaultGetZones.Zones[0].Id),
				InstanceName:     pulumi.String(name),
				HostName:         pulumi.String(name),
				ImageId:          pulumi.String(defaultGetImages.Images[0].Id),
				InstanceType:     pulumi.String(_default.InstanceTypes[0].Id),
				SecurityGroups: pulumi.StringArray{
					defaultSecurityGroup.ID(),
				},
				VswitchId:          defaultSwitch.ID(),
				SystemDiskCategory: pulumi.String("cloud_essd"),
			})
			if err != nil {
				return err
			}
			defaultInstance = append(defaultInstance, __res)
		}
		var defaultEcsNetworkInterface []*ecs.EcsNetworkInterface
		for index := 0; index < 2; index++ {
			key0 := index
			_ := index
			__res, err := ecs.NewEcsNetworkInterface(ctx, fmt.Sprintf("default-%v", key0), &ecs.EcsNetworkInterfaceArgs{
				NetworkInterfaceName: pulumi.String(name),
				VswitchId:            defaultSwitch.ID(),
				SecurityGroupIds: pulumi.StringArray{
					defaultSecurityGroup.ID(),
				},
			})
			if err != nil {
				return err
			}
			defaultEcsNetworkInterface = append(defaultEcsNetworkInterface, __res)
		}
		var defaultEcsNetworkInterfaceAttachment []*ecs.EcsNetworkInterfaceAttachment
		for index := 0; index < 2; index++ {
			key0 := index
			val0 := index
			__res, err := ecs.NewEcsNetworkInterfaceAttachment(ctx, fmt.Sprintf("default-%v", key0), &ecs.EcsNetworkInterfaceAttachmentArgs{
				InstanceId:         defaultInstance[val0].ID(),
				NetworkInterfaceId: defaultEcsNetworkInterface[val0].ID(),
			})
			if err != nil {
				return err
			}
			defaultEcsNetworkInterfaceAttachment = append(defaultEcsNetworkInterfaceAttachment, __res)
		}
		defaultTrafficMirrorFilter, err := vpc.NewTrafficMirrorFilter(ctx, "default", &vpc.TrafficMirrorFilterArgs{
			TrafficMirrorFilterName:        pulumi.String(name),
			TrafficMirrorFilterDescription: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewTrafficMirrorSession(ctx, "default", &vpc.TrafficMirrorSessionArgs{
			Priority:                        pulumi.Int(1),
			VirtualNetworkId:                pulumi.Int(10),
			TrafficMirrorSessionDescription: pulumi.String(name),
			TrafficMirrorSessionName:        pulumi.String(name),
			TrafficMirrorTargetId:           defaultEcsNetworkInterfaceAttachment[0].NetworkInterfaceId,
			TrafficMirrorSourceIds: pulumi.StringArray{
				defaultEcsNetworkInterfaceAttachment[1].NetworkInterfaceId,
			},
			TrafficMirrorFilterId:   defaultTrafficMirrorFilter.ID(),
			TrafficMirrorTargetType: pulumi.String("NetworkInterface"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC Traffic Mirror Session can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/trafficMirrorSession:TrafficMirrorSession example <id> ```

func GetTrafficMirrorSession added in v3.10.0

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 added in v3.10.0

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 added in v3.10.0

func (*TrafficMirrorSession) ElementType() reflect.Type

func (*TrafficMirrorSession) ToTrafficMirrorSessionOutput added in v3.10.0

func (i *TrafficMirrorSession) ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput

func (*TrafficMirrorSession) ToTrafficMirrorSessionOutputWithContext added in v3.10.0

func (i *TrafficMirrorSession) ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput

type TrafficMirrorSessionArgs added in v3.10.0

type TrafficMirrorSessionArgs struct {
	// Whether to PreCheck only this request, value:
	// - **true**: sends a check request and does not create a mirror session. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates a mirror session after checking.
	DryRun pulumi.BoolPtrInput
	// Specifies whether to enable traffic mirror sessions. default to `false`.
	Enabled pulumi.BoolPtrInput
	// Maximum Transmission Unit (MTU).
	PacketLength pulumi.IntPtrInput
	// 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 resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The tags of this resource.
	Tags pulumi.MapInput
	// 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 image source instance. Currently, the Eni is supported as the image source. The default value of N is 1, that is, only one mirror source can be added to a 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 added in v3.10.0

func (TrafficMirrorSessionArgs) ElementType() reflect.Type

type TrafficMirrorSessionArray added in v3.10.0

type TrafficMirrorSessionArray []TrafficMirrorSessionInput

func (TrafficMirrorSessionArray) ElementType added in v3.10.0

func (TrafficMirrorSessionArray) ElementType() reflect.Type

func (TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutput added in v3.10.0

func (i TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput

func (TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutputWithContext added in v3.10.0

func (i TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutputWithContext(ctx context.Context) TrafficMirrorSessionArrayOutput

type TrafficMirrorSessionArrayInput added in v3.10.0

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 added in v3.10.0

type TrafficMirrorSessionArrayOutput struct{ *pulumi.OutputState }

func (TrafficMirrorSessionArrayOutput) ElementType added in v3.10.0

func (TrafficMirrorSessionArrayOutput) Index added in v3.10.0

func (TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutput added in v3.10.0

func (o TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput

func (TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutputWithContext added in v3.10.0

func (o TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutputWithContext(ctx context.Context) TrafficMirrorSessionArrayOutput

type TrafficMirrorSessionInput added in v3.10.0

type TrafficMirrorSessionInput interface {
	pulumi.Input

	ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput
	ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput
}

type TrafficMirrorSessionMap added in v3.10.0

type TrafficMirrorSessionMap map[string]TrafficMirrorSessionInput

func (TrafficMirrorSessionMap) ElementType added in v3.10.0

func (TrafficMirrorSessionMap) ElementType() reflect.Type

func (TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutput added in v3.10.0

func (i TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput

func (TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutputWithContext added in v3.10.0

func (i TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutputWithContext(ctx context.Context) TrafficMirrorSessionMapOutput

type TrafficMirrorSessionMapInput added in v3.10.0

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 added in v3.10.0

type TrafficMirrorSessionMapOutput struct{ *pulumi.OutputState }

func (TrafficMirrorSessionMapOutput) ElementType added in v3.10.0

func (TrafficMirrorSessionMapOutput) MapIndex added in v3.10.0

func (TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutput added in v3.10.0

func (o TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput

func (TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutputWithContext added in v3.10.0

func (o TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutputWithContext(ctx context.Context) TrafficMirrorSessionMapOutput

type TrafficMirrorSessionOutput added in v3.10.0

type TrafficMirrorSessionOutput struct{ *pulumi.OutputState }

func (TrafficMirrorSessionOutput) DryRun added in v3.27.0

Whether to PreCheck only this request, value: - **true**: sends a check request and does not create a mirror session. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '. - **false** (default): Sends a normal request and directly creates a mirror session after checking.

func (TrafficMirrorSessionOutput) ElementType added in v3.10.0

func (TrafficMirrorSessionOutput) ElementType() reflect.Type

func (TrafficMirrorSessionOutput) Enabled added in v3.27.0

Specifies whether to enable traffic mirror sessions. default to `false`.

func (TrafficMirrorSessionOutput) PacketLength added in v3.38.0

func (o TrafficMirrorSessionOutput) PacketLength() pulumi.IntOutput

Maximum Transmission Unit (MTU).

func (TrafficMirrorSessionOutput) Priority added in v3.27.0

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) ResourceGroupId added in v3.38.0

func (o TrafficMirrorSessionOutput) ResourceGroupId() pulumi.StringOutput

The ID of the resource group.

func (TrafficMirrorSessionOutput) Status added in v3.27.0

The status of the resource.

func (TrafficMirrorSessionOutput) Tags added in v3.38.0

The tags of this resource.

func (TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutput added in v3.10.0

func (o TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput

func (TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutputWithContext added in v3.10.0

func (o TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput

func (TrafficMirrorSessionOutput) TrafficMirrorFilterId added in v3.27.0

func (o TrafficMirrorSessionOutput) TrafficMirrorFilterId() pulumi.StringOutput

The ID of the filter.

func (TrafficMirrorSessionOutput) TrafficMirrorSessionDescription added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

func (o TrafficMirrorSessionOutput) TrafficMirrorSourceIds() pulumi.StringArrayOutput

The ID of the image source instance. Currently, the Eni is supported as the image source. The default value of N is 1, that is, only one mirror source can be added to a mirror session.

func (TrafficMirrorSessionOutput) TrafficMirrorTargetId added in v3.27.0

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 added in v3.27.0

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 added in v3.27.0

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 added in v3.10.0

type TrafficMirrorSessionState struct {
	// Whether to PreCheck only this request, value:
	// - **true**: sends a check request and does not create a mirror session. Check items include whether required parameters are filled in, request format, and restrictions. If the check fails, the corresponding error is returned. If the check passes, the error code 'DryRunOperation' is returned '.
	// - **false** (default): Sends a normal request and directly creates a mirror session after checking.
	DryRun pulumi.BoolPtrInput
	// Specifies whether to enable traffic mirror sessions. default to `false`.
	Enabled pulumi.BoolPtrInput
	// Maximum Transmission Unit (MTU).
	PacketLength pulumi.IntPtrInput
	// 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 ID of the resource group.
	ResourceGroupId pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The tags of this resource.
	Tags pulumi.MapInput
	// 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 image source instance. Currently, the Eni is supported as the image source. The default value of N is 1, that is, only one mirror source can be added to a 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 added in v3.10.0

func (TrafficMirrorSessionState) ElementType() reflect.Type

type VbrHa added in v3.15.0

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 since 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 added in v3.15.0

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 added in v3.15.0

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 added in v3.15.0

func (*VbrHa) ElementType() reflect.Type

func (*VbrHa) ToVbrHaOutput added in v3.15.0

func (i *VbrHa) ToVbrHaOutput() VbrHaOutput

func (*VbrHa) ToVbrHaOutputWithContext added in v3.15.0

func (i *VbrHa) ToVbrHaOutputWithContext(ctx context.Context) VbrHaOutput

type VbrHaArgs added in v3.15.0

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 added in v3.15.0

func (VbrHaArgs) ElementType() reflect.Type

type VbrHaArray added in v3.15.0

type VbrHaArray []VbrHaInput

func (VbrHaArray) ElementType added in v3.15.0

func (VbrHaArray) ElementType() reflect.Type

func (VbrHaArray) ToVbrHaArrayOutput added in v3.15.0

func (i VbrHaArray) ToVbrHaArrayOutput() VbrHaArrayOutput

func (VbrHaArray) ToVbrHaArrayOutputWithContext added in v3.15.0

func (i VbrHaArray) ToVbrHaArrayOutputWithContext(ctx context.Context) VbrHaArrayOutput

type VbrHaArrayInput added in v3.15.0

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 added in v3.15.0

type VbrHaArrayOutput struct{ *pulumi.OutputState }

func (VbrHaArrayOutput) ElementType added in v3.15.0

func (VbrHaArrayOutput) ElementType() reflect.Type

func (VbrHaArrayOutput) Index added in v3.15.0

func (VbrHaArrayOutput) ToVbrHaArrayOutput added in v3.15.0

func (o VbrHaArrayOutput) ToVbrHaArrayOutput() VbrHaArrayOutput

func (VbrHaArrayOutput) ToVbrHaArrayOutputWithContext added in v3.15.0

func (o VbrHaArrayOutput) ToVbrHaArrayOutputWithContext(ctx context.Context) VbrHaArrayOutput

type VbrHaInput added in v3.15.0

type VbrHaInput interface {
	pulumi.Input

	ToVbrHaOutput() VbrHaOutput
	ToVbrHaOutputWithContext(ctx context.Context) VbrHaOutput
}

type VbrHaMap added in v3.15.0

type VbrHaMap map[string]VbrHaInput

func (VbrHaMap) ElementType added in v3.15.0

func (VbrHaMap) ElementType() reflect.Type

func (VbrHaMap) ToVbrHaMapOutput added in v3.15.0

func (i VbrHaMap) ToVbrHaMapOutput() VbrHaMapOutput

func (VbrHaMap) ToVbrHaMapOutputWithContext added in v3.15.0

func (i VbrHaMap) ToVbrHaMapOutputWithContext(ctx context.Context) VbrHaMapOutput

type VbrHaMapInput added in v3.15.0

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 added in v3.15.0

type VbrHaMapOutput struct{ *pulumi.OutputState }

func (VbrHaMapOutput) ElementType added in v3.15.0

func (VbrHaMapOutput) ElementType() reflect.Type

func (VbrHaMapOutput) MapIndex added in v3.15.0

func (VbrHaMapOutput) ToVbrHaMapOutput added in v3.15.0

func (o VbrHaMapOutput) ToVbrHaMapOutput() VbrHaMapOutput

func (VbrHaMapOutput) ToVbrHaMapOutputWithContext added in v3.15.0

func (o VbrHaMapOutput) ToVbrHaMapOutputWithContext(ctx context.Context) VbrHaMapOutput

type VbrHaOutput added in v3.15.0

type VbrHaOutput struct{ *pulumi.OutputState }

func (VbrHaOutput) Description added in v3.27.0

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 added in v3.27.0

func (o VbrHaOutput) DryRun() pulumi.BoolPtrOutput

The dry run.

func (VbrHaOutput) ElementType added in v3.15.0

func (VbrHaOutput) ElementType() reflect.Type

func (VbrHaOutput) PeerVbrId added in v3.27.0

func (o VbrHaOutput) PeerVbrId() pulumi.StringOutput

The ID of the other VBR in the VBR failover group.

func (VbrHaOutput) Status added in v3.27.0

func (o VbrHaOutput) Status() pulumi.StringOutput

The state of the VBR failover group.

func (VbrHaOutput) ToVbrHaOutput added in v3.15.0

func (o VbrHaOutput) ToVbrHaOutput() VbrHaOutput

func (VbrHaOutput) ToVbrHaOutputWithContext added in v3.15.0

func (o VbrHaOutput) ToVbrHaOutputWithContext(ctx context.Context) VbrHaOutput

func (VbrHaOutput) VbrHaName added in v3.27.0

func (o VbrHaOutput) VbrHaName() pulumi.StringPtrOutput

The name of the VBR failover group.

func (VbrHaOutput) VbrId added in v3.27.0

func (o VbrHaOutput) VbrId() pulumi.StringOutput

The ID of the VBR instance.

type VbrHaState added in v3.15.0

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 added in v3.15.0

func (VbrHaState) ElementType() reflect.Type

type VpcNetworkAclAttachment added in v3.29.0

type VpcNetworkAclAttachment struct {
	pulumi.CustomResourceState

	// The ID of the network ACL.
	NetworkAclId pulumi.StringOutput `pulumi:"networkAclId"`
	// The ID of the associated resource.
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The type of the associated resource. Valid values: `VSwitch`.
	ResourceType pulumi.StringOutput `pulumi:"resourceType"`
	// The status of the Network Acl Attachment.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a VPC Network Acl Attachment resource. Resources associated with network Acl.

For information about VPC Network Acl Attachment and how to use it, see [What is Network Acl Attachment](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/associatenetworkacl).

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

## Import

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

```sh $ pulumi import alicloud:vpc/vpcNetworkAclAttachment:VpcNetworkAclAttachment example <network_acl_id>:<resource_id> ```

func GetVpcNetworkAclAttachment added in v3.29.0

func GetVpcNetworkAclAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcNetworkAclAttachmentState, opts ...pulumi.ResourceOption) (*VpcNetworkAclAttachment, error)

GetVpcNetworkAclAttachment gets an existing VpcNetworkAclAttachment 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 NewVpcNetworkAclAttachment added in v3.29.0

func NewVpcNetworkAclAttachment(ctx *pulumi.Context,
	name string, args *VpcNetworkAclAttachmentArgs, opts ...pulumi.ResourceOption) (*VpcNetworkAclAttachment, error)

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

func (*VpcNetworkAclAttachment) ElementType added in v3.29.0

func (*VpcNetworkAclAttachment) ElementType() reflect.Type

func (*VpcNetworkAclAttachment) ToVpcNetworkAclAttachmentOutput added in v3.29.0

func (i *VpcNetworkAclAttachment) ToVpcNetworkAclAttachmentOutput() VpcNetworkAclAttachmentOutput

func (*VpcNetworkAclAttachment) ToVpcNetworkAclAttachmentOutputWithContext added in v3.29.0

func (i *VpcNetworkAclAttachment) ToVpcNetworkAclAttachmentOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentOutput

type VpcNetworkAclAttachmentArgs added in v3.29.0

type VpcNetworkAclAttachmentArgs struct {
	// The ID of the network ACL.
	NetworkAclId pulumi.StringInput
	// The ID of the associated resource.
	ResourceId pulumi.StringInput
	// The type of the associated resource. Valid values: `VSwitch`.
	ResourceType pulumi.StringInput
}

The set of arguments for constructing a VpcNetworkAclAttachment resource.

func (VpcNetworkAclAttachmentArgs) ElementType added in v3.29.0

type VpcNetworkAclAttachmentArray added in v3.29.0

type VpcNetworkAclAttachmentArray []VpcNetworkAclAttachmentInput

func (VpcNetworkAclAttachmentArray) ElementType added in v3.29.0

func (VpcNetworkAclAttachmentArray) ToVpcNetworkAclAttachmentArrayOutput added in v3.29.0

func (i VpcNetworkAclAttachmentArray) ToVpcNetworkAclAttachmentArrayOutput() VpcNetworkAclAttachmentArrayOutput

func (VpcNetworkAclAttachmentArray) ToVpcNetworkAclAttachmentArrayOutputWithContext added in v3.29.0

func (i VpcNetworkAclAttachmentArray) ToVpcNetworkAclAttachmentArrayOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentArrayOutput

type VpcNetworkAclAttachmentArrayInput added in v3.29.0

type VpcNetworkAclAttachmentArrayInput interface {
	pulumi.Input

	ToVpcNetworkAclAttachmentArrayOutput() VpcNetworkAclAttachmentArrayOutput
	ToVpcNetworkAclAttachmentArrayOutputWithContext(context.Context) VpcNetworkAclAttachmentArrayOutput
}

VpcNetworkAclAttachmentArrayInput is an input type that accepts VpcNetworkAclAttachmentArray and VpcNetworkAclAttachmentArrayOutput values. You can construct a concrete instance of `VpcNetworkAclAttachmentArrayInput` via:

VpcNetworkAclAttachmentArray{ VpcNetworkAclAttachmentArgs{...} }

type VpcNetworkAclAttachmentArrayOutput added in v3.29.0

type VpcNetworkAclAttachmentArrayOutput struct{ *pulumi.OutputState }

func (VpcNetworkAclAttachmentArrayOutput) ElementType added in v3.29.0

func (VpcNetworkAclAttachmentArrayOutput) Index added in v3.29.0

func (VpcNetworkAclAttachmentArrayOutput) ToVpcNetworkAclAttachmentArrayOutput added in v3.29.0

func (o VpcNetworkAclAttachmentArrayOutput) ToVpcNetworkAclAttachmentArrayOutput() VpcNetworkAclAttachmentArrayOutput

func (VpcNetworkAclAttachmentArrayOutput) ToVpcNetworkAclAttachmentArrayOutputWithContext added in v3.29.0

func (o VpcNetworkAclAttachmentArrayOutput) ToVpcNetworkAclAttachmentArrayOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentArrayOutput

type VpcNetworkAclAttachmentInput added in v3.29.0

type VpcNetworkAclAttachmentInput interface {
	pulumi.Input

	ToVpcNetworkAclAttachmentOutput() VpcNetworkAclAttachmentOutput
	ToVpcNetworkAclAttachmentOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentOutput
}

type VpcNetworkAclAttachmentMap added in v3.29.0

type VpcNetworkAclAttachmentMap map[string]VpcNetworkAclAttachmentInput

func (VpcNetworkAclAttachmentMap) ElementType added in v3.29.0

func (VpcNetworkAclAttachmentMap) ElementType() reflect.Type

func (VpcNetworkAclAttachmentMap) ToVpcNetworkAclAttachmentMapOutput added in v3.29.0

func (i VpcNetworkAclAttachmentMap) ToVpcNetworkAclAttachmentMapOutput() VpcNetworkAclAttachmentMapOutput

func (VpcNetworkAclAttachmentMap) ToVpcNetworkAclAttachmentMapOutputWithContext added in v3.29.0

func (i VpcNetworkAclAttachmentMap) ToVpcNetworkAclAttachmentMapOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentMapOutput

type VpcNetworkAclAttachmentMapInput added in v3.29.0

type VpcNetworkAclAttachmentMapInput interface {
	pulumi.Input

	ToVpcNetworkAclAttachmentMapOutput() VpcNetworkAclAttachmentMapOutput
	ToVpcNetworkAclAttachmentMapOutputWithContext(context.Context) VpcNetworkAclAttachmentMapOutput
}

VpcNetworkAclAttachmentMapInput is an input type that accepts VpcNetworkAclAttachmentMap and VpcNetworkAclAttachmentMapOutput values. You can construct a concrete instance of `VpcNetworkAclAttachmentMapInput` via:

VpcNetworkAclAttachmentMap{ "key": VpcNetworkAclAttachmentArgs{...} }

type VpcNetworkAclAttachmentMapOutput added in v3.29.0

type VpcNetworkAclAttachmentMapOutput struct{ *pulumi.OutputState }

func (VpcNetworkAclAttachmentMapOutput) ElementType added in v3.29.0

func (VpcNetworkAclAttachmentMapOutput) MapIndex added in v3.29.0

func (VpcNetworkAclAttachmentMapOutput) ToVpcNetworkAclAttachmentMapOutput added in v3.29.0

func (o VpcNetworkAclAttachmentMapOutput) ToVpcNetworkAclAttachmentMapOutput() VpcNetworkAclAttachmentMapOutput

func (VpcNetworkAclAttachmentMapOutput) ToVpcNetworkAclAttachmentMapOutputWithContext added in v3.29.0

func (o VpcNetworkAclAttachmentMapOutput) ToVpcNetworkAclAttachmentMapOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentMapOutput

type VpcNetworkAclAttachmentOutput added in v3.29.0

type VpcNetworkAclAttachmentOutput struct{ *pulumi.OutputState }

func (VpcNetworkAclAttachmentOutput) ElementType added in v3.29.0

func (VpcNetworkAclAttachmentOutput) NetworkAclId added in v3.29.0

The ID of the network ACL.

func (VpcNetworkAclAttachmentOutput) ResourceId added in v3.29.0

The ID of the associated resource.

func (VpcNetworkAclAttachmentOutput) ResourceType added in v3.29.0

The type of the associated resource. Valid values: `VSwitch`.

func (VpcNetworkAclAttachmentOutput) Status added in v3.29.0

The status of the Network Acl Attachment.

func (VpcNetworkAclAttachmentOutput) ToVpcNetworkAclAttachmentOutput added in v3.29.0

func (o VpcNetworkAclAttachmentOutput) ToVpcNetworkAclAttachmentOutput() VpcNetworkAclAttachmentOutput

func (VpcNetworkAclAttachmentOutput) ToVpcNetworkAclAttachmentOutputWithContext added in v3.29.0

func (o VpcNetworkAclAttachmentOutput) ToVpcNetworkAclAttachmentOutputWithContext(ctx context.Context) VpcNetworkAclAttachmentOutput

type VpcNetworkAclAttachmentState added in v3.29.0

type VpcNetworkAclAttachmentState struct {
	// The ID of the network ACL.
	NetworkAclId pulumi.StringPtrInput
	// The ID of the associated resource.
	ResourceId pulumi.StringPtrInput
	// The type of the associated resource. Valid values: `VSwitch`.
	ResourceType pulumi.StringPtrInput
	// The status of the Network Acl Attachment.
	Status pulumi.StringPtrInput
}

func (VpcNetworkAclAttachmentState) ElementType added in v3.29.0

type VswitchCidrReservation added in v3.38.0

type VswitchCidrReservation struct {
	pulumi.CustomResourceState

	// Reserved network segment CIdrBlock.
	CidrReservationCidr pulumi.StringOutput `pulumi:"cidrReservationCidr"`
	// The description of the reserved CIDR block.
	CidrReservationDescription pulumi.StringPtrOutput `pulumi:"cidrReservationDescription"`
	// Reserved segment mask.
	CidrReservationMask pulumi.StringPtrOutput `pulumi:"cidrReservationMask"`
	// Reserved CIDR Block Type.Valid values: `Prefix`. Default value: Prefix.
	CidrReservationType pulumi.StringOutput `pulumi:"cidrReservationType"`
	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Reserved ip version of network segment, valid values: `IPv4`, `IPv6`, default IPv4.
	IpVersion pulumi.StringOutput `pulumi:"ipVersion"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// The id of the vpc instance to which the reserved CIDR block belongs.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The resource attribute field of the resource ID.
	VswitchCidrReservationId pulumi.StringOutput `pulumi:"vswitchCidrReservationId"`
	// The name of the resource.
	VswitchCidrReservationName pulumi.StringPtrOutput `pulumi:"vswitchCidrReservationName"`
	// The Id of the switch instance.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a Vpc Vswitch Cidr Reservation resource. The reserved network segment of the vswitch. This resource type can be used only in ap-southeast region.

For information about Vpc Vswitch Cidr Reservation and how to use it, see [What is Vswitch Cidr Reservation](https://www.alibabacloud.com/help/en/virtual-private-cloud/latest/610154).

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

## Example Usage

Basic Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		defaultVpc, err := vpc.NewNetwork(ctx, "defaultVpc", &vpc.NetworkArgs{
			VpcName:   pulumi.String(name),
			CidrBlock: pulumi.String("10.0.0.0/8"),
		})
		if err != nil {
			return err
		}
		defaultVSwitch, err := vpc.NewSwitch(ctx, "defaultVSwitch", &vpc.SwitchArgs{
			VpcId:       defaultVpc.ID(),
			CidrBlock:   pulumi.String("10.0.0.0/20"),
			VswitchName: pulumi.String(fmt.Sprintf("%v1", name)),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewVswitchCidrReservation(ctx, "default", &vpc.VswitchCidrReservationArgs{
			IpVersion:                  pulumi.String("IPv4"),
			VswitchId:                  defaultVSwitch.ID(),
			CidrReservationDescription: pulumi.String(name),
			CidrReservationCidr:        pulumi.String("10.0.10.0/24"),
			VswitchCidrReservationName: pulumi.String(name),
			CidrReservationType:        pulumi.String("Prefix"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Vpc Vswitch Cidr Reservation can be imported using the id, e.g.

```sh $ pulumi import alicloud:vpc/vswitchCidrReservation:VswitchCidrReservation example <vswitch_id>:<vswitch_cidr_reservation_id> ```

func GetVswitchCidrReservation added in v3.38.0

func GetVswitchCidrReservation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VswitchCidrReservationState, opts ...pulumi.ResourceOption) (*VswitchCidrReservation, error)

GetVswitchCidrReservation gets an existing VswitchCidrReservation 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 NewVswitchCidrReservation added in v3.38.0

func NewVswitchCidrReservation(ctx *pulumi.Context,
	name string, args *VswitchCidrReservationArgs, opts ...pulumi.ResourceOption) (*VswitchCidrReservation, error)

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

func (*VswitchCidrReservation) ElementType added in v3.38.0

func (*VswitchCidrReservation) ElementType() reflect.Type

func (*VswitchCidrReservation) ToVswitchCidrReservationOutput added in v3.38.0

func (i *VswitchCidrReservation) ToVswitchCidrReservationOutput() VswitchCidrReservationOutput

func (*VswitchCidrReservation) ToVswitchCidrReservationOutputWithContext added in v3.38.0

func (i *VswitchCidrReservation) ToVswitchCidrReservationOutputWithContext(ctx context.Context) VswitchCidrReservationOutput

type VswitchCidrReservationArgs added in v3.38.0

type VswitchCidrReservationArgs struct {
	// Reserved network segment CIdrBlock.
	CidrReservationCidr pulumi.StringPtrInput
	// The description of the reserved CIDR block.
	CidrReservationDescription pulumi.StringPtrInput
	// Reserved segment mask.
	CidrReservationMask pulumi.StringPtrInput
	// Reserved CIDR Block Type.Valid values: `Prefix`. Default value: Prefix.
	CidrReservationType pulumi.StringPtrInput
	// Reserved ip version of network segment, valid values: `IPv4`, `IPv6`, default IPv4.
	IpVersion pulumi.StringPtrInput
	// The name of the resource.
	VswitchCidrReservationName pulumi.StringPtrInput
	// The Id of the switch instance.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a VswitchCidrReservation resource.

func (VswitchCidrReservationArgs) ElementType added in v3.38.0

func (VswitchCidrReservationArgs) ElementType() reflect.Type

type VswitchCidrReservationArray added in v3.38.0

type VswitchCidrReservationArray []VswitchCidrReservationInput

func (VswitchCidrReservationArray) ElementType added in v3.38.0

func (VswitchCidrReservationArray) ToVswitchCidrReservationArrayOutput added in v3.38.0

func (i VswitchCidrReservationArray) ToVswitchCidrReservationArrayOutput() VswitchCidrReservationArrayOutput

func (VswitchCidrReservationArray) ToVswitchCidrReservationArrayOutputWithContext added in v3.38.0

func (i VswitchCidrReservationArray) ToVswitchCidrReservationArrayOutputWithContext(ctx context.Context) VswitchCidrReservationArrayOutput

type VswitchCidrReservationArrayInput added in v3.38.0

type VswitchCidrReservationArrayInput interface {
	pulumi.Input

	ToVswitchCidrReservationArrayOutput() VswitchCidrReservationArrayOutput
	ToVswitchCidrReservationArrayOutputWithContext(context.Context) VswitchCidrReservationArrayOutput
}

VswitchCidrReservationArrayInput is an input type that accepts VswitchCidrReservationArray and VswitchCidrReservationArrayOutput values. You can construct a concrete instance of `VswitchCidrReservationArrayInput` via:

VswitchCidrReservationArray{ VswitchCidrReservationArgs{...} }

type VswitchCidrReservationArrayOutput added in v3.38.0

type VswitchCidrReservationArrayOutput struct{ *pulumi.OutputState }

func (VswitchCidrReservationArrayOutput) ElementType added in v3.38.0

func (VswitchCidrReservationArrayOutput) Index added in v3.38.0

func (VswitchCidrReservationArrayOutput) ToVswitchCidrReservationArrayOutput added in v3.38.0

func (o VswitchCidrReservationArrayOutput) ToVswitchCidrReservationArrayOutput() VswitchCidrReservationArrayOutput

func (VswitchCidrReservationArrayOutput) ToVswitchCidrReservationArrayOutputWithContext added in v3.38.0

func (o VswitchCidrReservationArrayOutput) ToVswitchCidrReservationArrayOutputWithContext(ctx context.Context) VswitchCidrReservationArrayOutput

type VswitchCidrReservationInput added in v3.38.0

type VswitchCidrReservationInput interface {
	pulumi.Input

	ToVswitchCidrReservationOutput() VswitchCidrReservationOutput
	ToVswitchCidrReservationOutputWithContext(ctx context.Context) VswitchCidrReservationOutput
}

type VswitchCidrReservationMap added in v3.38.0

type VswitchCidrReservationMap map[string]VswitchCidrReservationInput

func (VswitchCidrReservationMap) ElementType added in v3.38.0

func (VswitchCidrReservationMap) ElementType() reflect.Type

func (VswitchCidrReservationMap) ToVswitchCidrReservationMapOutput added in v3.38.0

func (i VswitchCidrReservationMap) ToVswitchCidrReservationMapOutput() VswitchCidrReservationMapOutput

func (VswitchCidrReservationMap) ToVswitchCidrReservationMapOutputWithContext added in v3.38.0

func (i VswitchCidrReservationMap) ToVswitchCidrReservationMapOutputWithContext(ctx context.Context) VswitchCidrReservationMapOutput

type VswitchCidrReservationMapInput added in v3.38.0

type VswitchCidrReservationMapInput interface {
	pulumi.Input

	ToVswitchCidrReservationMapOutput() VswitchCidrReservationMapOutput
	ToVswitchCidrReservationMapOutputWithContext(context.Context) VswitchCidrReservationMapOutput
}

VswitchCidrReservationMapInput is an input type that accepts VswitchCidrReservationMap and VswitchCidrReservationMapOutput values. You can construct a concrete instance of `VswitchCidrReservationMapInput` via:

VswitchCidrReservationMap{ "key": VswitchCidrReservationArgs{...} }

type VswitchCidrReservationMapOutput added in v3.38.0

type VswitchCidrReservationMapOutput struct{ *pulumi.OutputState }

func (VswitchCidrReservationMapOutput) ElementType added in v3.38.0

func (VswitchCidrReservationMapOutput) MapIndex added in v3.38.0

func (VswitchCidrReservationMapOutput) ToVswitchCidrReservationMapOutput added in v3.38.0

func (o VswitchCidrReservationMapOutput) ToVswitchCidrReservationMapOutput() VswitchCidrReservationMapOutput

func (VswitchCidrReservationMapOutput) ToVswitchCidrReservationMapOutputWithContext added in v3.38.0

func (o VswitchCidrReservationMapOutput) ToVswitchCidrReservationMapOutputWithContext(ctx context.Context) VswitchCidrReservationMapOutput

type VswitchCidrReservationOutput added in v3.38.0

type VswitchCidrReservationOutput struct{ *pulumi.OutputState }

func (VswitchCidrReservationOutput) CidrReservationCidr added in v3.38.0

func (o VswitchCidrReservationOutput) CidrReservationCidr() pulumi.StringOutput

Reserved network segment CIdrBlock.

func (VswitchCidrReservationOutput) CidrReservationDescription added in v3.38.0

func (o VswitchCidrReservationOutput) CidrReservationDescription() pulumi.StringPtrOutput

The description of the reserved CIDR block.

func (VswitchCidrReservationOutput) CidrReservationMask added in v3.38.0

func (o VswitchCidrReservationOutput) CidrReservationMask() pulumi.StringPtrOutput

Reserved segment mask.

func (VswitchCidrReservationOutput) CidrReservationType added in v3.38.0

func (o VswitchCidrReservationOutput) CidrReservationType() pulumi.StringOutput

Reserved CIDR Block Type.Valid values: `Prefix`. Default value: Prefix.

func (VswitchCidrReservationOutput) CreateTime added in v3.38.0

The creation time of the resource.

func (VswitchCidrReservationOutput) ElementType added in v3.38.0

func (VswitchCidrReservationOutput) IpVersion added in v3.38.0

Reserved ip version of network segment, valid values: `IPv4`, `IPv6`, default IPv4.

func (VswitchCidrReservationOutput) Status added in v3.38.0

The status of the resource.

func (VswitchCidrReservationOutput) ToVswitchCidrReservationOutput added in v3.38.0

func (o VswitchCidrReservationOutput) ToVswitchCidrReservationOutput() VswitchCidrReservationOutput

func (VswitchCidrReservationOutput) ToVswitchCidrReservationOutputWithContext added in v3.38.0

func (o VswitchCidrReservationOutput) ToVswitchCidrReservationOutputWithContext(ctx context.Context) VswitchCidrReservationOutput

func (VswitchCidrReservationOutput) VpcId added in v3.38.0

The id of the vpc instance to which the reserved CIDR block belongs.

func (VswitchCidrReservationOutput) VswitchCidrReservationId added in v3.38.0

func (o VswitchCidrReservationOutput) VswitchCidrReservationId() pulumi.StringOutput

The resource attribute field of the resource ID.

func (VswitchCidrReservationOutput) VswitchCidrReservationName added in v3.38.0

func (o VswitchCidrReservationOutput) VswitchCidrReservationName() pulumi.StringPtrOutput

The name of the resource.

func (VswitchCidrReservationOutput) VswitchId added in v3.38.0

The Id of the switch instance.

type VswitchCidrReservationState added in v3.38.0

type VswitchCidrReservationState struct {
	// Reserved network segment CIdrBlock.
	CidrReservationCidr pulumi.StringPtrInput
	// The description of the reserved CIDR block.
	CidrReservationDescription pulumi.StringPtrInput
	// Reserved segment mask.
	CidrReservationMask pulumi.StringPtrInput
	// Reserved CIDR Block Type.Valid values: `Prefix`. Default value: Prefix.
	CidrReservationType pulumi.StringPtrInput
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// Reserved ip version of network segment, valid values: `IPv4`, `IPv6`, default IPv4.
	IpVersion pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// The id of the vpc instance to which the reserved CIDR block belongs.
	VpcId pulumi.StringPtrInput
	// The resource attribute field of the resource ID.
	VswitchCidrReservationId pulumi.StringPtrInput
	// The name of the resource.
	VswitchCidrReservationName pulumi.StringPtrInput
	// The Id of the switch instance.
	VswitchId pulumi.StringPtrInput
}

func (VswitchCidrReservationState) ElementType added in v3.38.0

Source Files

Jump to

Keyboard shortcuts

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