vpc

package
v2.20.0 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CommonBandwithPackage

type CommonBandwithPackage struct {
	pulumi.CustomResourceState

	// The bandwidth of the common bandwidth package, in Mbps.
	Bandwidth pulumi.IntOutput `pulumi:"bandwidth"`
	// The description of the common bandwidth package instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The billing method of the common bandwidth package. Valid values are "PayByBandwidth" and "PayBy95" and "PayByTraffic". "PayBy95" is pay by classic 95th percentile pricing. International Account doesn't supports "PayByBandwidth" and "PayBy95". Default to "PayByTraffic".
	InternetChargeType pulumi.StringPtrOutput `pulumi:"internetChargeType"`
	// The type of the Internet Service Provider. Default to `BGP`.
	Isp pulumi.StringPtrOutput `pulumi:"isp"`
	// The name of the common bandwidth package.
	Name pulumi.StringOutput `pulumi:"name"`
	// Ratio of the common bandwidth package. It is valid when `internetChargeType` is `PayBy95`. Default to 100. Valid values: [10-100].
	Ratio pulumi.IntPtrOutput `pulumi:"ratio"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
}

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.

type CommonBandwithPackageArgs

type CommonBandwithPackageArgs struct {
	// The bandwidth of the common bandwidth package, in Mbps.
	Bandwidth pulumi.IntInput
	// The description of the common bandwidth package instance.
	Description pulumi.StringPtrInput
	// The billing method of the common bandwidth package. Valid values are "PayByBandwidth" and "PayBy95" and "PayByTraffic". "PayBy95" is pay by classic 95th percentile pricing. International Account doesn't supports "PayByBandwidth" and "PayBy95". Default to "PayByTraffic".
	InternetChargeType pulumi.StringPtrInput
	// The type of the Internet Service Provider. Default to `BGP`.
	Isp pulumi.StringPtrInput
	// The name of the common bandwidth package.
	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 set of arguments for constructing a CommonBandwithPackage resource.

func (CommonBandwithPackageArgs) ElementType

func (CommonBandwithPackageArgs) ElementType() reflect.Type

type CommonBandwithPackageAttachment

type CommonBandwithPackageAttachment struct {
	pulumi.CustomResourceState

	// The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.
	BandwidthPackageId pulumi.StringOutput `pulumi:"bandwidthPackageId"`
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

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.

type CommonBandwithPackageAttachmentArgs

type CommonBandwithPackageAttachmentArgs struct {
	// The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.
	BandwidthPackageId pulumi.StringInput
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a CommonBandwithPackageAttachment resource.

func (CommonBandwithPackageAttachmentArgs) ElementType

type CommonBandwithPackageAttachmentState

type CommonBandwithPackageAttachmentState struct {
	// The bandwidthPackageId of the common bandwidth package attachment, the field can't be changed.
	BandwidthPackageId pulumi.StringPtrInput
	// The instanceId of the common bandwidth package attachment, the field can't be changed.
	InstanceId pulumi.StringPtrInput
}

func (CommonBandwithPackageAttachmentState) ElementType

type CommonBandwithPackageState

type CommonBandwithPackageState struct {
	// The bandwidth of the common bandwidth package, in Mbps.
	Bandwidth pulumi.IntPtrInput
	// The description of the common bandwidth package instance.
	Description pulumi.StringPtrInput
	// The billing method of the common bandwidth package. Valid values are "PayByBandwidth" and "PayBy95" and "PayByTraffic". "PayBy95" is pay by classic 95th percentile pricing. International Account doesn't supports "PayByBandwidth" and "PayBy95". Default to "PayByTraffic".
	InternetChargeType pulumi.StringPtrInput
	// The type of the Internet Service Provider. Default to `BGP`.
	Isp pulumi.StringPtrInput
	// The name of the common bandwidth package.
	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
}

func (CommonBandwithPackageState) ElementType

func (CommonBandwithPackageState) 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 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 protocal, valid value is tcp|udp|any.
	IpProtocol pulumi.StringOutput `pulumi:"ipProtocol"`
	// The name of forward entry.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a forward resource.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "defaultNatGateway", &vpc.NatGatewayArgs{
			VpcId:         defaultNetwork.ID(),
			Specification: pulumi.String("Small"),
		})
		if err != nil {
			return err
		}
		defaultEip, err := ecs.NewEip(ctx, "defaultEip", nil)
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "defaultEipAssociation", &ecs.EipAssociationArgs{
			AllocationId: defaultEip.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewForwardEntry(ctx, "defaultForwardEntry", &vpc.ForwardEntryArgs{
			ForwardTableId: defaultNatGateway.ForwardTableIds,
			ExternalIp:     defaultEip.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
	})
}

```

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.

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 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 protocal, valid value is tcp|udp|any.
	IpProtocol pulumi.StringInput
	// The name of forward entry.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ForwardEntry resource.

func (ForwardEntryArgs) ElementType

func (ForwardEntryArgs) ElementType() reflect.Type

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 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 protocal, valid value is tcp|udp|any.
	IpProtocol pulumi.StringPtrInput
	// The name of forward entry.
	Name pulumi.StringPtrInput
}

func (ForwardEntryState) ElementType

func (ForwardEntryState) ElementType() reflect.Type

type GetCommonBandwidthPackagesArgs

type GetCommonBandwidthPackagesArgs struct {
	// A list of Common Bandwidth Packages IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
}

A collection of arguments for invoking getCommonBandwidthPackages.

type GetCommonBandwidthPackagesPackage

type GetCommonBandwidthPackagesPackage struct {
	// The peak bandwidth of the Internet Shared Bandwidth instance.
	Bandwidth string `pulumi:"bandwidth"`
	// The business status of the Common Bandwidth Package instance.
	BusinessStatus string `pulumi:"businessStatus"`
	// Time of creation.
	CreationTime string `pulumi:"creationTime"`
	// The description of the Common Bandwidth Package instance.
	Description string `pulumi:"description"`
	// ID of the Common Bandwidth Package.
	Id string `pulumi:"id"`
	// ISP of the Common Bandwidth Package.
	Isp string `pulumi:"isp"`
	// Name of the Common Bandwidth Package.
	Name string `pulumi:"name"`
	// Public ip addresses that in the Common Bandwidth Pakcage.
	PublicIpAddresses []GetCommonBandwidthPackagesPackagePublicIpAddress `pulumi:"publicIpAddresses"`
	// 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"`
}

type GetCommonBandwidthPackagesPackageArgs

type GetCommonBandwidthPackagesPackageArgs struct {
	// The peak bandwidth of the Internet Shared Bandwidth instance.
	Bandwidth pulumi.StringInput `pulumi:"bandwidth"`
	// The business status of the Common Bandwidth Package instance.
	BusinessStatus pulumi.StringInput `pulumi:"businessStatus"`
	// Time of creation.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// The description of the Common Bandwidth Package instance.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the Common Bandwidth Package.
	Id pulumi.StringInput `pulumi:"id"`
	// ISP of the Common Bandwidth Package.
	Isp pulumi.StringInput `pulumi:"isp"`
	// Name of the Common Bandwidth Package.
	Name pulumi.StringInput `pulumi:"name"`
	// Public ip addresses that in the Common Bandwidth Pakcage.
	PublicIpAddresses GetCommonBandwidthPackagesPackagePublicIpAddressArrayInput `pulumi:"publicIpAddresses"`
	// The Id of resource group which the common bandwidth package belongs.
	ResourceGroupId pulumi.StringPtrInput `pulumi:"resourceGroupId"`
	// Status of the Common Bandwidth Package.
	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) BusinessStatus

The business status of the Common Bandwidth Package instance.

func (GetCommonBandwidthPackagesPackageOutput) CreationTime

Time of creation.

func (GetCommonBandwidthPackagesPackageOutput) Description

The description of the Common Bandwidth Package instance.

func (GetCommonBandwidthPackagesPackageOutput) ElementType

func (GetCommonBandwidthPackagesPackageOutput) Id

ID of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesPackageOutput) Isp

ISP of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesPackageOutput) Name

Name of the Common Bandwidth Package.

func (GetCommonBandwidthPackagesPackageOutput) PublicIpAddresses

Public ip addresses that in the Common Bandwidth Pakcage.

func (GetCommonBandwidthPackagesPackageOutput) ResourceGroupId

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

func (GetCommonBandwidthPackagesPackageOutput) Status

Status of the Common Bandwidth Package.

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"`
	IpAddress    string `pulumi:"ipAddress"`
}

type GetCommonBandwidthPackagesPackagePublicIpAddressArgs

type GetCommonBandwidthPackagesPackagePublicIpAddressArgs struct {
	AllocationId pulumi.StringInput `pulumi:"allocationId"`
	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) ElementType

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) IpAddress

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutput

func (GetCommonBandwidthPackagesPackagePublicIpAddressOutput) ToGetCommonBandwidthPackagesPackagePublicIpAddressOutputWithContext

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

type GetCommonBandwidthPackagesResult

type GetCommonBandwidthPackagesResult struct {
	// 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"`
	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"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooCommonBandwithPackage, err := vpc.NewCommonBandwithPackage(ctx, "fooCommonBandwithPackage", &vpc.CommonBandwithPackageArgs{
			Bandwidth:   pulumi.Int(2),
			Description: pulumi.String("tf-testAcc-CommonBandwidthPackage"),
		})
		if err != nil {
			return err
		}
		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.

type GetForwardEntriesArgs

type GetForwardEntriesArgs struct {
	// The public IP address.
	ExternalIp *string `pulumi:"externalIp"`
	// 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"`
	// A regex string to filter results by forward entry name.
	NameRegex *string `pulumi:"nameRegex"`
	// A list of Forward Entries names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

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 ID of the Forward Entry.
	Id string `pulumi:"id"`
	// The private IP address.
	InternalIp string `pulumi:"internalIp"`
	// The private port.
	InternalPort string `pulumi:"internalPort"`
	// The protocol type.
	IpProtocol string `pulumi:"ipProtocol"`
	// The forward entry name.
	Name string `pulumi:"name"`
	// The status of the Forward Entry.
	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 ID of the Forward Entry.
	Id pulumi.StringInput `pulumi:"id"`
	// The private IP address.
	InternalIp pulumi.StringInput `pulumi:"internalIp"`
	// The private port.
	InternalPort pulumi.StringInput `pulumi:"internalPort"`
	// The protocol type.
	IpProtocol pulumi.StringInput `pulumi:"ipProtocol"`
	// The forward entry name.
	Name pulumi.StringInput `pulumi:"name"`
	// The status of the Forward Entry.
	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) Id

The ID of the Forward Entry.

func (GetForwardEntriesEntryOutput) InternalIp

The private IP address.

func (GetForwardEntriesEntryOutput) InternalPort

The private port.

func (GetForwardEntriesEntryOutput) IpProtocol

The protocol type.

func (GetForwardEntriesEntryOutput) Name

The forward entry name.

func (GetForwardEntriesEntryOutput) Status

The status of the Forward Entry.

func (GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutput

func (o GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutput() GetForwardEntriesEntryOutput

func (GetForwardEntriesEntryOutput) ToGetForwardEntriesEntryOutputWithContext

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

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"`
	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"`
	NameRegex  *string `pulumi:"nameRegex"`
	// A list of Forward Entries names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			VpcId:            defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultNatGateway, err := vpc.NewNatGateway(ctx, "defaultNatGateway", &vpc.NatGatewayArgs{
			Specification: pulumi.String("Small"),
			VpcId:         defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultEip, err := ecs.NewEip(ctx, "defaultEip", nil)
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "defaultEipAssociation", &ecs.EipAssociationArgs{
			AllocationId: defaultEip.ID(),
			InstanceId:   defaultNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		defaultForwardEntry, err := vpc.NewForwardEntry(ctx, "defaultForwardEntry", &vpc.ForwardEntryArgs{
			ExternalIp:     defaultEip.IpAddress,
			ExternalPort:   pulumi.String("80"),
			ForwardTableId: defaultNatGateway.ForwardTableIds,
			InternalIp:     pulumi.String("172.16.0.3"),
			InternalPort:   pulumi.String("8080"),
			IpProtocol:     pulumi.String("tcp"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetNatGatewaysArgs

type GetNatGatewaysArgs struct {
	// A list of NAT gateways IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter nat gateways by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the VPC.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getNatGateways.

type GetNatGatewaysGateway

type GetNatGatewaysGateway struct {
	// Time of creation.
	CreationTime string `pulumi:"creationTime"`
	// The description of the NAT gateway.
	Description string `pulumi:"description"`
	// The forward table id.
	ForwardTableId string `pulumi:"forwardTableId"`
	// The ID of the NAT gateway.
	Id string `pulumi:"id"`
	// The ip address of the bind eip.
	IpLists []string `pulumi:"ipLists"`
	// Name of the NAT gateway.
	Name string `pulumi:"name"`
	// The snat table id.
	SnatTableId string `pulumi:"snatTableId"`
	// The specification of the NAT gateway.
	Spec string `pulumi:"spec"`
	// The status of the NAT gateway.
	Status string `pulumi:"status"`
	// The ID of the VPC.
	VpcId string `pulumi:"vpcId"`
}

type GetNatGatewaysGatewayArgs

type GetNatGatewaysGatewayArgs struct {
	// Time of creation.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// The description of the NAT gateway.
	Description pulumi.StringInput `pulumi:"description"`
	// The forward table id.
	ForwardTableId pulumi.StringInput `pulumi:"forwardTableId"`
	// The ID of the NAT gateway.
	Id pulumi.StringInput `pulumi:"id"`
	// The ip address of the bind eip.
	IpLists pulumi.StringArrayInput `pulumi:"ipLists"`
	// Name of the NAT gateway.
	Name pulumi.StringInput `pulumi:"name"`
	// The snat table id.
	SnatTableId pulumi.StringInput `pulumi:"snatTableId"`
	// The specification of the NAT gateway.
	Spec pulumi.StringInput `pulumi:"spec"`
	// The status of the NAT gateway.
	Status pulumi.StringInput `pulumi:"status"`
	// The ID of the VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

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

Time of creation.

func (GetNatGatewaysGatewayOutput) Description

The description of the NAT gateway.

func (GetNatGatewaysGatewayOutput) ElementType

func (GetNatGatewaysGatewayOutput) ForwardTableId

func (o GetNatGatewaysGatewayOutput) ForwardTableId() pulumi.StringOutput

The forward table id.

func (GetNatGatewaysGatewayOutput) Id

The ID of the NAT gateway.

func (GetNatGatewaysGatewayOutput) IpLists added in v2.13.0

The ip address of the bind eip.

func (GetNatGatewaysGatewayOutput) Name

Name of the NAT gateway.

func (GetNatGatewaysGatewayOutput) SnatTableId

The snat table id.

func (GetNatGatewaysGatewayOutput) Spec

The specification of the NAT gateway.

func (GetNatGatewaysGatewayOutput) Status

The status of the 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.

type GetNatGatewaysResult

type GetNatGatewaysResult struct {
	// 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"`
	OutputFile *string  `pulumi:"outputFile"`
	// 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+.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		_, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooNatGateway, err := vpc.NewNatGateway(ctx, "fooNatGateway", &vpc.NatGatewayArgs{
			Specification: pulumi.String("Small"),
			VpcId:         fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetNetworksArgs

type GetNetworksArgs struct {
	// Filter results by a specific CIDR block. For example: "172.16.0.0/12".
	CidrBlock *string `pulumi:"cidrBlock"`
	// A list of VPC IDs.
	Ids []string `pulumi:"ids"`
	// Indicate whether the VPC is the default one in the specified region.
	IsDefault *bool `pulumi:"isDefault"`
	// A regex string to filter VPCs by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// 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"`
	// Filter results by the specified VSwitch.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getNetworks.

type GetNetworksResult

type GetNetworksResult struct {
	// CIDR block of the VPC.
	CidrBlock *string `pulumi:"cidrBlock"`
	// 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"`
	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"`
	// 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/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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"`
	// 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"`
	// Route table ID of the VRouter.
	RouteTableId string `pulumi:"routeTableId"`
	// 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"`
	// 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"`
	// 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"`
	// Route table ID of the VRouter.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// 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"`
	// 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) 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) RouteTableId

func (o GetNetworksVpcOutput) RouteTableId() pulumi.StringOutput

Route table ID of the VRouter.

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

Name of the VPC.

func (GetNetworksVpcOutput) VrouterId

ID of the VRouter.

func (GetNetworksVpcOutput) VswitchIds

List of VSwitch IDs in the specified VPC

type GetRouteEntriesArgs

type GetRouteEntriesArgs struct {
	// The destination CIDR block of the route entry.
	CidrBlock *string `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId *string `pulumi:"instanceId"`
	OutputFile *string `pulumi:"outputFile"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId string `pulumi:"routeTableId"`
	// The type of the route entry.
	Type *string `pulumi:"type"`
}

A collection of arguments for invoking getRouteEntries.

type GetRouteEntriesEntry

type GetRouteEntriesEntry struct {
	// The destination CIDR block of the route entry.
	CidrBlock string `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId string `pulumi:"instanceId"`
	// The type of the next hop.
	NextHopType string `pulumi:"nextHopType"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId string `pulumi:"routeTableId"`
	// The status of the route entry.
	Status string `pulumi:"status"`
	// The type of the route entry.
	Type string `pulumi:"type"`
}

type GetRouteEntriesEntryArgs

type GetRouteEntriesEntryArgs struct {
	// The destination CIDR block of the route entry.
	CidrBlock pulumi.StringInput `pulumi:"cidrBlock"`
	// The instance ID of the next hop.
	InstanceId pulumi.StringInput `pulumi:"instanceId"`
	// The type of the next hop.
	NextHopType pulumi.StringInput `pulumi:"nextHopType"`
	// The ID of the router table to which the route entry belongs.
	RouteTableId pulumi.StringInput `pulumi:"routeTableId"`
	// The status of the route entry.
	Status pulumi.StringInput `pulumi:"status"`
	// The type of the route entry.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetRouteEntriesEntryArgs) ElementType

func (GetRouteEntriesEntryArgs) ElementType() reflect.Type

func (GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutput

func (i GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutput() GetRouteEntriesEntryOutput

func (GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutputWithContext

func (i GetRouteEntriesEntryArgs) ToGetRouteEntriesEntryOutputWithContext(ctx context.Context) GetRouteEntriesEntryOutput

type GetRouteEntriesEntryArray

type GetRouteEntriesEntryArray []GetRouteEntriesEntryInput

func (GetRouteEntriesEntryArray) ElementType

func (GetRouteEntriesEntryArray) ElementType() reflect.Type

func (GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutput

func (i GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutput() GetRouteEntriesEntryArrayOutput

func (GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutputWithContext

func (i GetRouteEntriesEntryArray) ToGetRouteEntriesEntryArrayOutputWithContext(ctx context.Context) GetRouteEntriesEntryArrayOutput

type GetRouteEntriesEntryArrayInput

type GetRouteEntriesEntryArrayInput interface {
	pulumi.Input

	ToGetRouteEntriesEntryArrayOutput() GetRouteEntriesEntryArrayOutput
	ToGetRouteEntriesEntryArrayOutputWithContext(context.Context) GetRouteEntriesEntryArrayOutput
}

GetRouteEntriesEntryArrayInput is an input type that accepts GetRouteEntriesEntryArray and GetRouteEntriesEntryArrayOutput values. You can construct a concrete instance of `GetRouteEntriesEntryArrayInput` via:

GetRouteEntriesEntryArray{ GetRouteEntriesEntryArgs{...} }

type GetRouteEntriesEntryArrayOutput

type GetRouteEntriesEntryArrayOutput struct{ *pulumi.OutputState }

func (GetRouteEntriesEntryArrayOutput) ElementType

func (GetRouteEntriesEntryArrayOutput) Index

func (GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutput

func (o GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutput() GetRouteEntriesEntryArrayOutput

func (GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutputWithContext

func (o GetRouteEntriesEntryArrayOutput) ToGetRouteEntriesEntryArrayOutputWithContext(ctx context.Context) GetRouteEntriesEntryArrayOutput

type GetRouteEntriesEntryInput

type GetRouteEntriesEntryInput interface {
	pulumi.Input

	ToGetRouteEntriesEntryOutput() GetRouteEntriesEntryOutput
	ToGetRouteEntriesEntryOutputWithContext(context.Context) GetRouteEntriesEntryOutput
}

GetRouteEntriesEntryInput is an input type that accepts GetRouteEntriesEntryArgs and GetRouteEntriesEntryOutput values. You can construct a concrete instance of `GetRouteEntriesEntryInput` via:

GetRouteEntriesEntryArgs{...}

type GetRouteEntriesEntryOutput

type GetRouteEntriesEntryOutput struct{ *pulumi.OutputState }

func (GetRouteEntriesEntryOutput) CidrBlock

The destination CIDR block of the route entry.

func (GetRouteEntriesEntryOutput) ElementType

func (GetRouteEntriesEntryOutput) ElementType() reflect.Type

func (GetRouteEntriesEntryOutput) InstanceId

The instance ID of the next hop.

func (GetRouteEntriesEntryOutput) NextHopType

The type of the next hop.

func (GetRouteEntriesEntryOutput) RouteTableId

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

func (GetRouteEntriesEntryOutput) Status

The status of the route entry.

func (GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutput

func (o GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutput() GetRouteEntriesEntryOutput

func (GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutputWithContext

func (o GetRouteEntriesEntryOutput) ToGetRouteEntriesEntryOutputWithContext(ctx context.Context) GetRouteEntriesEntryOutput

func (GetRouteEntriesEntryOutput) Type

The type of the route entry.

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		opt1 := defaultZones.Zones[0].Id
		opt2 := 1
		opt3 := 2
		defaultInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
			AvailabilityZone: &opt1,
			CpuCoreCount:     &opt2,
			MemorySize:       &opt3,
		}, nil)
		if err != nil {
			return err
		}
		opt4 := true
		opt5 := "^ubuntu_18.*64"
		opt6 := "system"
		defaultImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
			MostRecent: &opt4,
			NameRegex:  &opt5,
			Owners:     &opt6,
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("10.1.0.0/21"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			CidrBlock:        pulumi.String("10.1.1.0/24"),
			VpcId:            fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		tfTestFoo, err := ecs.NewSecurityGroup(ctx, "tfTestFoo", &ecs.SecurityGroupArgs{
			Description: pulumi.String("foo"),
			VpcId:       fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		fooInstance, err := ecs.NewInstance(ctx, "fooInstance", &ecs.InstanceArgs{
			AllocatePublicIp:        pulumi.Bool(true),
			ImageId:                 pulumi.String(defaultImages.Images[0].Id),
			InstanceChargeType:      pulumi.String("PostPaid"),
			InstanceName:            pulumi.String(name),
			InstanceType:            pulumi.String(defaultInstanceTypes.InstanceTypes[0].Id),
			InternetChargeType:      pulumi.String("PayByTraffic"),
			InternetMaxBandwidthOut: pulumi.Int(5),
			SecurityGroups: pulumi.StringArray{
				tfTestFoo.ID(),
			},
			SystemDiskCategory: pulumi.String("cloud_efficiency"),
			VswitchId:          fooSwitch.ID(),
		})
		if err != nil {
			return err
		}
		fooRouteEntry, err := vpc.NewRouteEntry(ctx, "fooRouteEntry", &vpc.RouteEntryArgs{
			DestinationCidrblock: pulumi.String("172.11.1.1/32"),
			NexthopId:            fooInstance.ID(),
			NexthopType:          pulumi.String("Instance"),
			RouteTableId:         fooNetwork.RouteTableId,
		})
		if err != nil {
			return err
		}
		_, err = ecs.NewSecurityGroupRule(ctx, "ingress", &ecs.SecurityGroupRuleArgs{
			CidrIp:          pulumi.String("0.0.0.0/0"),
			IpProtocol:      pulumi.String("tcp"),
			NicType:         pulumi.String("intranet"),
			Policy:          pulumi.String("accept"),
			PortRange:       pulumi.String("22/22"),
			Priority:        pulumi.Int(1),
			SecurityGroupId: tfTestFoo.ID(),
			Type:            pulumi.String("ingress"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetRouteTablesArgs

type GetRouteTablesArgs struct {
	// A list of Route Tables IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter route tables by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// 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 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"`
	// The Id of resource group which route tables belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// A list of Route Tables. Each element contains the following attributes:
	Tables []GetRouteTablesTable  `pulumi:"tables"`
	Tags   map[string]interface{} `pulumi:"tags"`
	VpcId  *string                `pulumi:"vpcId"`
}

A collection of values returned by getRouteTables.

func GetRouteTables

func GetRouteTables(ctx *pulumi.Context, args *GetRouteTablesArgs, opts ...pulumi.InvokeOption) (*GetRouteTablesResult, error)

This data source provides a list of Route Tables owned by an Alibaba Cloud account.

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

type GetRouteTablesTable

type GetRouteTablesTable struct {
	// Time of creation.
	CreationTime string `pulumi:"creationTime"`
	// 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 type of route table.
	RouteTableType string `pulumi:"routeTableType"`
	// Router Id of the route table.
	RouterId string `pulumi:"routerId"`
}

type GetRouteTablesTableArgs

type GetRouteTablesTableArgs struct {
	// Time of creation.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// 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 type of route table.
	RouteTableType pulumi.StringInput `pulumi:"routeTableType"`
	// Router Id of the route table.
	RouterId pulumi.StringInput `pulumi:"routerId"`
}

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

Time of creation.

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

func (o GetRouteTablesTableOutput) RouteTableType() pulumi.StringOutput

The type of route table.

func (GetRouteTablesTableOutput) RouterId

Router Id of the route table.

func (GetRouteTablesTableOutput) ToGetRouteTablesTableOutput

func (o GetRouteTablesTableOutput) ToGetRouteTablesTableOutput() GetRouteTablesTableOutput

func (GetRouteTablesTableOutput) ToGetRouteTablesTableOutputWithContext

func (o GetRouteTablesTableOutput) ToGetRouteTablesTableOutputWithContext(ctx context.Context) GetRouteTablesTableOutput

type GetRouterInterfacesArgs

type GetRouterInterfacesArgs struct {
	// A list of router interface IDs.
	Ids []string `pulumi:"ids"`
	// A regex string used to filter by router interface name.
	NameRegex *string `pulumi:"nameRegex"`
	// ID of the peer router interface.
	OppositeInterfaceId *string `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId *string `pulumi:"oppositeInterfaceOwnerId"`
	OutputFile               *string `pulumi:"outputFile"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role *string `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId *string `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType *string `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification *string `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getRouterInterfaces.

type GetRouterInterfacesInterface

type GetRouterInterfacesInterface struct {
	// ID of the access point used by the VBR.
	AccessPointId string `pulumi:"accessPointId"`
	// Router interface creation time.
	CreationTime string `pulumi:"creationTime"`
	// Router interface description.
	Description string `pulumi:"description"`
	// Source IP address used to perform health check on the physical connection.
	HealthCheckSourceIp string `pulumi:"healthCheckSourceIp"`
	// Destination IP address used to perform health check on the physical connection.
	HealthCheckTargetIp string `pulumi:"healthCheckTargetIp"`
	// Router interface ID.
	Id string `pulumi:"id"`
	// Router interface name.
	Name string `pulumi:"name"`
	// ID of the peer router interface.
	OppositeInterfaceId string `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId string `pulumi:"oppositeInterfaceOwnerId"`
	// Peer router region ID.
	OppositeRegionId string `pulumi:"oppositeRegionId"`
	// Peer router ID.
	OppositeRouterId string `pulumi:"oppositeRouterId"`
	// Router type in the peer region. Possible values: `VRouter` and `VBR`.
	OppositeRouterType string `pulumi:"oppositeRouterType"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role string `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId string `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType string `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification string `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status string `pulumi:"status"`
	// ID of the VPC that owns the router in the local region.
	VpcId string `pulumi:"vpcId"`
}

type GetRouterInterfacesInterfaceArgs

type GetRouterInterfacesInterfaceArgs struct {
	// ID of the access point used by the VBR.
	AccessPointId pulumi.StringInput `pulumi:"accessPointId"`
	// Router interface creation time.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// Router interface description.
	Description pulumi.StringInput `pulumi:"description"`
	// Source IP address used to perform health check on the physical connection.
	HealthCheckSourceIp pulumi.StringInput `pulumi:"healthCheckSourceIp"`
	// Destination IP address used to perform health check on the physical connection.
	HealthCheckTargetIp pulumi.StringInput `pulumi:"healthCheckTargetIp"`
	// Router interface ID.
	Id pulumi.StringInput `pulumi:"id"`
	// Router interface name.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of the peer router interface.
	OppositeInterfaceId pulumi.StringInput `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId pulumi.StringInput `pulumi:"oppositeInterfaceOwnerId"`
	// Peer router region ID.
	OppositeRegionId pulumi.StringInput `pulumi:"oppositeRegionId"`
	// Peer router ID.
	OppositeRouterId pulumi.StringInput `pulumi:"oppositeRouterId"`
	// Router type in the peer region. Possible values: `VRouter` and `VBR`.
	OppositeRouterType pulumi.StringInput `pulumi:"oppositeRouterType"`
	// Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and
	// `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.
	Role pulumi.StringInput `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId pulumi.StringInput `pulumi:"routerId"`
	// Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).
	RouterType pulumi.StringInput `pulumi:"routerType"`
	// Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.
	Specification pulumi.StringInput `pulumi:"specification"`
	// Expected status. Valid values are `Active`, `Inactive` and `Idle`.
	Status pulumi.StringInput `pulumi:"status"`
	// ID of the VPC that owns the router in the local region.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetRouterInterfacesInterfaceArgs) ElementType

func (GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutput

func (i GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutput() GetRouterInterfacesInterfaceOutput

func (GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutputWithContext

func (i GetRouterInterfacesInterfaceArgs) ToGetRouterInterfacesInterfaceOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceOutput

type GetRouterInterfacesInterfaceArray

type GetRouterInterfacesInterfaceArray []GetRouterInterfacesInterfaceInput

func (GetRouterInterfacesInterfaceArray) ElementType

func (GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutput

func (i GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutput() GetRouterInterfacesInterfaceArrayOutput

func (GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutputWithContext

func (i GetRouterInterfacesInterfaceArray) ToGetRouterInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceArrayOutput

type GetRouterInterfacesInterfaceArrayInput

type GetRouterInterfacesInterfaceArrayInput interface {
	pulumi.Input

	ToGetRouterInterfacesInterfaceArrayOutput() GetRouterInterfacesInterfaceArrayOutput
	ToGetRouterInterfacesInterfaceArrayOutputWithContext(context.Context) GetRouterInterfacesInterfaceArrayOutput
}

GetRouterInterfacesInterfaceArrayInput is an input type that accepts GetRouterInterfacesInterfaceArray and GetRouterInterfacesInterfaceArrayOutput values. You can construct a concrete instance of `GetRouterInterfacesInterfaceArrayInput` via:

GetRouterInterfacesInterfaceArray{ GetRouterInterfacesInterfaceArgs{...} }

type GetRouterInterfacesInterfaceArrayOutput

type GetRouterInterfacesInterfaceArrayOutput struct{ *pulumi.OutputState }

func (GetRouterInterfacesInterfaceArrayOutput) ElementType

func (GetRouterInterfacesInterfaceArrayOutput) Index

func (GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutput

func (o GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutput() GetRouterInterfacesInterfaceArrayOutput

func (GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutputWithContext

func (o GetRouterInterfacesInterfaceArrayOutput) ToGetRouterInterfacesInterfaceArrayOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceArrayOutput

type GetRouterInterfacesInterfaceInput

type GetRouterInterfacesInterfaceInput interface {
	pulumi.Input

	ToGetRouterInterfacesInterfaceOutput() GetRouterInterfacesInterfaceOutput
	ToGetRouterInterfacesInterfaceOutputWithContext(context.Context) GetRouterInterfacesInterfaceOutput
}

GetRouterInterfacesInterfaceInput is an input type that accepts GetRouterInterfacesInterfaceArgs and GetRouterInterfacesInterfaceOutput values. You can construct a concrete instance of `GetRouterInterfacesInterfaceInput` via:

GetRouterInterfacesInterfaceArgs{...}

type GetRouterInterfacesInterfaceOutput

type GetRouterInterfacesInterfaceOutput struct{ *pulumi.OutputState }

func (GetRouterInterfacesInterfaceOutput) AccessPointId

ID of the access point used by the VBR.

func (GetRouterInterfacesInterfaceOutput) CreationTime

Router interface creation time.

func (GetRouterInterfacesInterfaceOutput) Description

Router interface description.

func (GetRouterInterfacesInterfaceOutput) ElementType

func (GetRouterInterfacesInterfaceOutput) HealthCheckSourceIp

func (o GetRouterInterfacesInterfaceOutput) HealthCheckSourceIp() pulumi.StringOutput

Source IP address used to perform health check on the physical connection.

func (GetRouterInterfacesInterfaceOutput) HealthCheckTargetIp

func (o GetRouterInterfacesInterfaceOutput) HealthCheckTargetIp() pulumi.StringOutput

Destination IP address used to perform health check on the physical connection.

func (GetRouterInterfacesInterfaceOutput) Id

Router interface ID.

func (GetRouterInterfacesInterfaceOutput) Name

Router interface name.

func (GetRouterInterfacesInterfaceOutput) OppositeInterfaceId

func (o GetRouterInterfacesInterfaceOutput) OppositeInterfaceId() pulumi.StringOutput

ID of the peer router interface.

func (GetRouterInterfacesInterfaceOutput) OppositeInterfaceOwnerId

func (o GetRouterInterfacesInterfaceOutput) OppositeInterfaceOwnerId() pulumi.StringOutput

Account ID of the owner of the peer router interface.

func (GetRouterInterfacesInterfaceOutput) OppositeRegionId

Peer router region ID.

func (GetRouterInterfacesInterfaceOutput) OppositeRouterId

Peer router ID.

func (GetRouterInterfacesInterfaceOutput) OppositeRouterType

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

func (GetRouterInterfacesInterfaceOutput) Role

Role of the router interface. Valid values are `InitiatingSide` (connection initiator) and `AcceptingSide` (connection receiver). The value of this parameter must be `InitiatingSide` if the `routerType` is set to `VBR`.

func (GetRouterInterfacesInterfaceOutput) RouterId

ID of the VRouter located in the local region.

func (GetRouterInterfacesInterfaceOutput) RouterType

Router type in the local region. Valid values are `VRouter` and `VBR` (physical connection).

func (GetRouterInterfacesInterfaceOutput) Specification

Specification of the link, such as `Small.1` (10Mb), `Middle.1` (100Mb), `Large.2` (2Gb), ...etc.

func (GetRouterInterfacesInterfaceOutput) Status

Expected status. Valid values are `Active`, `Inactive` and `Idle`.

func (GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutput

func (o GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutput() GetRouterInterfacesInterfaceOutput

func (GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutputWithContext

func (o GetRouterInterfacesInterfaceOutput) ToGetRouterInterfacesInterfaceOutputWithContext(ctx context.Context) GetRouterInterfacesInterfaceOutput

func (GetRouterInterfacesInterfaceOutput) VpcId

ID of the VPC that owns the router in the local region.

type GetRouterInterfacesResult

type GetRouterInterfacesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of router interface IDs.
	Ids []string `pulumi:"ids"`
	// A list of router interfaces. Each element contains the following attributes:
	Interfaces []GetRouterInterfacesInterface `pulumi:"interfaces"`
	NameRegex  *string                        `pulumi:"nameRegex"`
	// A list of router interface names.
	Names []string `pulumi:"names"`
	// Peer router interface ID.
	OppositeInterfaceId *string `pulumi:"oppositeInterfaceId"`
	// Account ID of the owner of the peer router interface.
	OppositeInterfaceOwnerId *string `pulumi:"oppositeInterfaceOwnerId"`
	OutputFile               *string `pulumi:"outputFile"`
	// Router interface role. Possible values: `InitiatingSide` and `AcceptingSide`.
	Role *string `pulumi:"role"`
	// ID of the VRouter located in the local region.
	RouterId *string `pulumi:"routerId"`
	// Router type in the local region. Possible values: `VRouter` and `VBR`.
	RouterType *string `pulumi:"routerType"`
	// Router interface specification. Possible values: `Small.1`, `Middle.1`, `Large.2`, ...etc.
	Specification *string `pulumi:"specification"`
	// Router interface status. Possible values: `Active`, `Inactive` and `Idle`.
	Status *string `pulumi:"status"`
}

A collection of values returned by getRouterInterfaces.

func GetRouterInterfaces

func GetRouterInterfaces(ctx *pulumi.Context, args *GetRouterInterfacesArgs, opts ...pulumi.InvokeOption) (*GetRouterInterfacesResult, error)

This data source provides information about [router interfaces](https://www.alibabacloud.com/help/doc-detail/52412.htm) that connect VPCs together.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "^testenv"
		opt1 := "Active"
		routerInterfacesDs, err := vpc.GetRouterInterfaces(ctx, &vpc.GetRouterInterfacesArgs{
			NameRegex: &opt0,
			Status:    &opt1,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstRouterInterfaceId", routerInterfacesDs.Interfaces[0].Id)
		return nil
	})
}

```

type GetSnatEntriesArgs

type GetSnatEntriesArgs struct {
	// A list of Snat Entries IDs.
	Ids        []string `pulumi:"ids"`
	OutputFile *string  `pulumi:"outputFile"`
	// 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"`
}

A collection of arguments for invoking getSnatEntries.

type GetSnatEntriesEntry

type GetSnatEntriesEntry struct {
	// The ID of the Snat Entry.
	Id string `pulumi:"id"`
	// The public IP of the Snat Entry.
	SnatIp string `pulumi:"snatIp"`
	// The source CIDR block of the Snat Entry.
	SourceCidr string `pulumi:"sourceCidr"`
	// The status of the Snat Entry.
	Status string `pulumi:"status"`
}

type GetSnatEntriesEntryArgs

type GetSnatEntriesEntryArgs struct {
	// The ID of the Snat Entry.
	Id pulumi.StringInput `pulumi:"id"`
	// 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 status of the Snat Entry.
	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) SnatIp

The public IP of the Snat Entry.

func (GetSnatEntriesEntryOutput) SourceCidr

The source CIDR block of the Snat Entry.

func (GetSnatEntriesEntryOutput) Status

The status of the Snat Entry.

func (GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutput

func (o GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutput() GetSnatEntriesEntryOutput

func (GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutputWithContext

func (o GetSnatEntriesEntryOutput) ToGetSnatEntriesEntryOutputWithContext(ctx context.Context) GetSnatEntriesEntryOutput

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"`
	OutputFile *string  `pulumi:"outputFile"`
	// 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"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		fooSwitch, err := vpc.NewSwitch(ctx, "fooSwitch", &vpc.SwitchArgs{
			AvailabilityZone: pulumi.String(_default.Zones[0].Id),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			VpcId:            fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		fooNatGateway, err := vpc.NewNatGateway(ctx, "fooNatGateway", &vpc.NatGatewayArgs{
			Specification: pulumi.String("Small"),
			VpcId:         fooNetwork.ID(),
		})
		if err != nil {
			return err
		}
		fooEip, err := ecs.NewEip(ctx, "fooEip", nil)
		if err != nil {
			return err
		}
		_, err = ecs.NewEipAssociation(ctx, "fooEipAssociation", &ecs.EipAssociationArgs{
			AllocationId: fooEip.ID(),
			InstanceId:   fooNatGateway.ID(),
		})
		if err != nil {
			return err
		}
		fooSnatEntry, err := vpc.NewSnatEntry(ctx, "fooSnatEntry", &vpc.SnatEntryArgs{
			SnatIp:          fooEip.IpAddress,
			SnatTableId:     fooNatGateway.SnatTableIds,
			SourceVswitchId: fooSwitch.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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 GetSslVpnClientCertsResult

type GetSslVpnClientCertsResult struct {
	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/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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

)

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

```

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"`
	// A list of VSwitch IDs.
	Ids []string `pulumi:"ids"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault *bool `pulumi:"isDefault"`
	// A regex string to filter results by name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The Id of resource group which VSWitch belongs.
	ResourceGroupId *string `pulumi:"resourceGroupId"`
	// 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 availability zone of the VSwitch.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getSwitches.

type GetSwitchesResult

type GetSwitchesResult struct {
	// CIDR block of the VSwitch.
	CidrBlock *string `pulumi:"cidrBlock"`
	// 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"`
	ResourceGroupId *string                `pulumi:"resourceGroupId"`
	Tags            map[string]interface{} `pulumi:"tags"`
	// ID of the VPC that owns the VSwitch.
	VpcId *string `pulumi:"vpcId"`
	// 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/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			CidrBlock:        pulumi.String("172.16.0.0/24"),
			VpcId:            vpc.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSwitchesVswitch

type GetSwitchesVswitch 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 VSwitch.
	Description string `pulumi:"description"`
	// ID of the VSwitch.
	Id string `pulumi:"id"`
	// List of ECS instance IDs in the specified VSwitch.
	InstanceIds []string `pulumi:"instanceIds"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault bool `pulumi:"isDefault"`
	// Name of the VSwitch.
	Name string `pulumi:"name"`
	// ID of the VPC that owns the VSwitch.
	VpcId string `pulumi:"vpcId"`
	// The availability zone of the VSwitch.
	ZoneId string `pulumi:"zoneId"`
}

type GetSwitchesVswitchArgs

type GetSwitchesVswitchArgs 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 VSwitch.
	Description pulumi.StringInput `pulumi:"description"`
	// ID of the VSwitch.
	Id pulumi.StringInput `pulumi:"id"`
	// List of ECS instance IDs in the specified VSwitch.
	InstanceIds pulumi.StringArrayInput `pulumi:"instanceIds"`
	// Indicate whether the VSwitch is created by the system.
	IsDefault pulumi.BoolInput `pulumi:"isDefault"`
	// Name of the VSwitch.
	Name pulumi.StringInput `pulumi:"name"`
	// ID of the VPC that owns the VSwitch.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// 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) 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) InstanceIds

List of ECS instance IDs in the specified VSwitch.

func (GetSwitchesVswitchOutput) IsDefault

Indicate whether the VSwitch is created by the system.

func (GetSwitchesVswitchOutput) Name

Name of the VSwitch.

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

The availability zone of the VSwitch.

type HAVip

type HAVip struct {
	pulumi.CustomResourceState

	// The description of the HaVip instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// The vswitchId of the HaVip, the field can't be changed.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

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.

type HAVipArgs

type HAVipArgs struct {
	// The description of the HaVip instance.
	Description pulumi.StringPtrInput
	// The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.
	IpAddress pulumi.StringPtrInput
	// The vswitchId of the HaVip, the field can't be changed.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a HAVip resource.

func (HAVipArgs) ElementType

func (HAVipArgs) ElementType() reflect.Type

type HAVipAttachment

type HAVipAttachment struct {
	pulumi.CustomResourceState

	// The havipId of the havip attachment, the field can't be changed.
	HavipId pulumi.StringOutput `pulumi:"havipId"`
	// The instanceId of the havip attachment, the field can't be changed.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

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.

type HAVipAttachmentArgs

type HAVipAttachmentArgs struct {
	// The havipId of the havip attachment, the field can't be changed.
	HavipId pulumi.StringInput
	// The instanceId of the havip attachment, the field can't be changed.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a HAVipAttachment resource.

func (HAVipAttachmentArgs) ElementType

func (HAVipAttachmentArgs) ElementType() reflect.Type

type HAVipAttachmentState

type HAVipAttachmentState struct {
	// The havipId of the havip attachment, the field can't be changed.
	HavipId pulumi.StringPtrInput
	// The instanceId of the havip attachment, the field can't be changed.
	InstanceId pulumi.StringPtrInput
}

func (HAVipAttachmentState) ElementType

func (HAVipAttachmentState) ElementType() reflect.Type

type HAVipState

type HAVipState struct {
	// The description of the HaVip instance.
	Description pulumi.StringPtrInput
	// The ip address of the HaVip. If not filled, the default will be assigned one from the vswitch.
	IpAddress pulumi.StringPtrInput
	// The vswitchId of the HaVip, the field can't be changed.
	VswitchId pulumi.StringPtrInput
}

func (HAVipState) ElementType

func (HAVipState) ElementType() reflect.Type

type NatGateway

type NatGateway struct {
	pulumi.CustomResourceState

	// A list ID of the bandwidth packages, and split them with commas.
	BandwidthPackageIds pulumi.StringOutput `pulumi:"bandwidthPackageIds"`
	// A list of bandwidth packages for the nat gatway. Only support nat gateway created before 00:00 on November 4, 2017. Available in v1.13.0+ and v1.7.1-.
	BandwidthPackages NatGatewayBandwidthPackageArrayOutput `pulumi:"bandwidthPackages"`
	// 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"`
	// The nat gateway will auto create a snap and forward item, the `forwardTableIds` is the created one.
	ForwardTableIds pulumi.StringOutput `pulumi:"forwardTableIds"`
	// The billing method of the nat gateway. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
	InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"`
	// 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.
	Name pulumi.StringOutput `pulumi:"name"`
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The nat gateway will auto create a snap and forward item, the `snatTableIds` is the created one.
	SnatTableIds pulumi.StringOutput `pulumi:"snatTableIds"`
	// It has been deprecated from provider version 1.7.1, and new field 'specification' can replace it.
	//
	// Deprecated: Field 'spec' has been deprecated from provider version 1.7.1, and new field 'specification' can replace it.
	Spec pulumi.StringPtrOutput `pulumi:"spec"`
	// The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Default to `Small`. Details refer to [Nat Gateway Specification](https://www.alibabacloud.com/help/doc-detail/42757.htm).
	Specification pulumi.StringPtrOutput `pulumi:"specification"`
	// The VPC ID.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

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.

type NatGatewayArgs

type NatGatewayArgs struct {
	// A list of bandwidth packages for the nat gatway. Only support nat gateway created before 00:00 on November 4, 2017. Available in v1.13.0+ and v1.7.1-.
	BandwidthPackages NatGatewayBandwidthPackageArrayInput
	// 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
	// The billing method of the nat gateway. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
	InstanceChargeType 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.
	Name pulumi.StringPtrInput
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	Period pulumi.IntPtrInput
	// It has been deprecated from provider version 1.7.1, and new field 'specification' can replace it.
	//
	// Deprecated: Field 'spec' has been deprecated from provider version 1.7.1, and new field 'specification' can replace it.
	Spec pulumi.StringPtrInput
	// The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Default to `Small`. Details refer to [Nat Gateway Specification](https://www.alibabacloud.com/help/doc-detail/42757.htm).
	Specification pulumi.StringPtrInput
	// The VPC ID.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a NatGateway resource.

func (NatGatewayArgs) ElementType

func (NatGatewayArgs) ElementType() reflect.Type

type NatGatewayBandwidthPackage

type NatGatewayBandwidthPackage struct {
	Bandwidth         int     `pulumi:"bandwidth"`
	IpCount           int     `pulumi:"ipCount"`
	PublicIpAddresses *string `pulumi:"publicIpAddresses"`
	Zone              *string `pulumi:"zone"`
}

type NatGatewayBandwidthPackageArgs

type NatGatewayBandwidthPackageArgs struct {
	Bandwidth         pulumi.IntInput       `pulumi:"bandwidth"`
	IpCount           pulumi.IntInput       `pulumi:"ipCount"`
	PublicIpAddresses pulumi.StringPtrInput `pulumi:"publicIpAddresses"`
	Zone              pulumi.StringPtrInput `pulumi:"zone"`
}

func (NatGatewayBandwidthPackageArgs) ElementType

func (NatGatewayBandwidthPackageArgs) ToNatGatewayBandwidthPackageOutput

func (i NatGatewayBandwidthPackageArgs) ToNatGatewayBandwidthPackageOutput() NatGatewayBandwidthPackageOutput

func (NatGatewayBandwidthPackageArgs) ToNatGatewayBandwidthPackageOutputWithContext

func (i NatGatewayBandwidthPackageArgs) ToNatGatewayBandwidthPackageOutputWithContext(ctx context.Context) NatGatewayBandwidthPackageOutput

type NatGatewayBandwidthPackageArray

type NatGatewayBandwidthPackageArray []NatGatewayBandwidthPackageInput

func (NatGatewayBandwidthPackageArray) ElementType

func (NatGatewayBandwidthPackageArray) ToNatGatewayBandwidthPackageArrayOutput

func (i NatGatewayBandwidthPackageArray) ToNatGatewayBandwidthPackageArrayOutput() NatGatewayBandwidthPackageArrayOutput

func (NatGatewayBandwidthPackageArray) ToNatGatewayBandwidthPackageArrayOutputWithContext

func (i NatGatewayBandwidthPackageArray) ToNatGatewayBandwidthPackageArrayOutputWithContext(ctx context.Context) NatGatewayBandwidthPackageArrayOutput

type NatGatewayBandwidthPackageArrayInput

type NatGatewayBandwidthPackageArrayInput interface {
	pulumi.Input

	ToNatGatewayBandwidthPackageArrayOutput() NatGatewayBandwidthPackageArrayOutput
	ToNatGatewayBandwidthPackageArrayOutputWithContext(context.Context) NatGatewayBandwidthPackageArrayOutput
}

NatGatewayBandwidthPackageArrayInput is an input type that accepts NatGatewayBandwidthPackageArray and NatGatewayBandwidthPackageArrayOutput values. You can construct a concrete instance of `NatGatewayBandwidthPackageArrayInput` via:

NatGatewayBandwidthPackageArray{ NatGatewayBandwidthPackageArgs{...} }

type NatGatewayBandwidthPackageArrayOutput

type NatGatewayBandwidthPackageArrayOutput struct{ *pulumi.OutputState }

func (NatGatewayBandwidthPackageArrayOutput) ElementType

func (NatGatewayBandwidthPackageArrayOutput) Index

func (NatGatewayBandwidthPackageArrayOutput) ToNatGatewayBandwidthPackageArrayOutput

func (o NatGatewayBandwidthPackageArrayOutput) ToNatGatewayBandwidthPackageArrayOutput() NatGatewayBandwidthPackageArrayOutput

func (NatGatewayBandwidthPackageArrayOutput) ToNatGatewayBandwidthPackageArrayOutputWithContext

func (o NatGatewayBandwidthPackageArrayOutput) ToNatGatewayBandwidthPackageArrayOutputWithContext(ctx context.Context) NatGatewayBandwidthPackageArrayOutput

type NatGatewayBandwidthPackageInput

type NatGatewayBandwidthPackageInput interface {
	pulumi.Input

	ToNatGatewayBandwidthPackageOutput() NatGatewayBandwidthPackageOutput
	ToNatGatewayBandwidthPackageOutputWithContext(context.Context) NatGatewayBandwidthPackageOutput
}

NatGatewayBandwidthPackageInput is an input type that accepts NatGatewayBandwidthPackageArgs and NatGatewayBandwidthPackageOutput values. You can construct a concrete instance of `NatGatewayBandwidthPackageInput` via:

NatGatewayBandwidthPackageArgs{...}

type NatGatewayBandwidthPackageOutput

type NatGatewayBandwidthPackageOutput struct{ *pulumi.OutputState }

func (NatGatewayBandwidthPackageOutput) Bandwidth

func (NatGatewayBandwidthPackageOutput) ElementType

func (NatGatewayBandwidthPackageOutput) IpCount

func (NatGatewayBandwidthPackageOutput) PublicIpAddresses

func (NatGatewayBandwidthPackageOutput) ToNatGatewayBandwidthPackageOutput

func (o NatGatewayBandwidthPackageOutput) ToNatGatewayBandwidthPackageOutput() NatGatewayBandwidthPackageOutput

func (NatGatewayBandwidthPackageOutput) ToNatGatewayBandwidthPackageOutputWithContext

func (o NatGatewayBandwidthPackageOutput) ToNatGatewayBandwidthPackageOutputWithContext(ctx context.Context) NatGatewayBandwidthPackageOutput

func (NatGatewayBandwidthPackageOutput) Zone

type NatGatewayState

type NatGatewayState struct {
	// A list ID of the bandwidth packages, and split them with commas.
	BandwidthPackageIds pulumi.StringPtrInput
	// A list of bandwidth packages for the nat gatway. Only support nat gateway created before 00:00 on November 4, 2017. Available in v1.13.0+ and v1.7.1-.
	BandwidthPackages NatGatewayBandwidthPackageArrayInput
	// 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
	// The nat gateway will auto create a snap and forward item, the `forwardTableIds` is the created one.
	ForwardTableIds pulumi.StringPtrInput
	// The billing method of the nat gateway. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
	InstanceChargeType 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.
	Name pulumi.StringPtrInput
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	Period pulumi.IntPtrInput
	// The nat gateway will auto create a snap and forward item, the `snatTableIds` is the created one.
	SnatTableIds pulumi.StringPtrInput
	// It has been deprecated from provider version 1.7.1, and new field 'specification' can replace it.
	//
	// Deprecated: Field 'spec' has been deprecated from provider version 1.7.1, and new field 'specification' can replace it.
	Spec pulumi.StringPtrInput
	// The specification of the nat gateway. Valid values are `Small`, `Middle` and `Large`. Default to `Small`. Details refer to [Nat Gateway Specification](https://www.alibabacloud.com/help/doc-detail/42757.htm).
	Specification pulumi.StringPtrInput
	// The VPC ID.
	VpcId pulumi.StringPtrInput
}

func (NatGatewayState) ElementType

func (NatGatewayState) ElementType() reflect.Type

type Network

type Network struct {
	pulumi.CustomResourceState

	// The CIDR block for the VPC.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the VPC. Defaults to null.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Id of resource group which the VPC belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// The route table ID of the router created by default on VPC creation.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The ID of the router created by default on VPC creation.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
	// Deprecated: Attribute router_table_id has been deprecated and replaced with route_table_id.
	RouterTableId pulumi.StringOutput `pulumi:"routerTableId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
}

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.

type NetworkAcl

type NetworkAcl struct {
	pulumi.CustomResourceState

	// The description of the network acl instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the network acl.
	Name pulumi.StringOutput `pulumi:"name"`
	// The vpcId of the network acl, the field can't be changed.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a network acl resource to add network acls.

> **NOTE:** Available in 1.43.0+. Currently, the resource are only available in Hongkong(cn-hongkong), India(ap-south-1), and Indonesia(ap-southeast-1) regions.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAcl(ctx, "defaultNetworkAcl", &vpc.NetworkAclArgs{
			VpcId:       defaultNetwork.ID(),
			Description: pulumi.String("network_acl"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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.

type NetworkAclArgs

type NetworkAclArgs struct {
	// The description of the network acl instance.
	Description pulumi.StringPtrInput
	// The name of the network acl.
	Name pulumi.StringPtrInput
	// The vpcId of the network acl, the field can't be changed.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a NetworkAcl resource.

func (NetworkAclArgs) ElementType

func (NetworkAclArgs) ElementType() reflect.Type

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

> **NOTE:** Available in 1.44.0+. Currently, the resource are only available in Hongkong(cn-hongkong), India(ap-south-1), and Indonesia(ap-southeast-1) regions.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, "defaultNetworkAcl", &vpc.NetworkAclArgs{
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclAttachment(ctx, "defaultNetworkAclAttachment", &vpc.NetworkAclAttachmentArgs{
			NetworkAclId: defaultNetworkAcl.ID(),
			Resources: vpc.NetworkAclAttachmentResourceArray{
				&vpc.NetworkAclAttachmentResourceArgs{
					ResourceId:   defaultSwitch.ID(),
					ResourceType: pulumi.String("VSwitch"),
				},
			},
		})
		if err != nil {
			return err
		}
		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.

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 NetworkAclAttachmentResource

type NetworkAclAttachmentResource struct {
	// The resource id that the network acl will associate with.
	ResourceId string `pulumi:"resourceId"`
	// The resource id that the network acl will associate with. Only support `VSwitch` now.
	ResourceType string `pulumi:"resourceType"`
}

type NetworkAclAttachmentResourceArgs

type NetworkAclAttachmentResourceArgs struct {
	// The resource id that the network acl will associate with.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
	// The resource id that the network acl will associate with. Only support `VSwitch` now.
	ResourceType pulumi.StringInput `pulumi:"resourceType"`
}

func (NetworkAclAttachmentResourceArgs) ElementType

func (NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutput

func (i NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutput() NetworkAclAttachmentResourceOutput

func (NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutputWithContext

func (i NetworkAclAttachmentResourceArgs) ToNetworkAclAttachmentResourceOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceOutput

type NetworkAclAttachmentResourceArray

type NetworkAclAttachmentResourceArray []NetworkAclAttachmentResourceInput

func (NetworkAclAttachmentResourceArray) ElementType

func (NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutput

func (i NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutput() NetworkAclAttachmentResourceArrayOutput

func (NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutputWithContext

func (i NetworkAclAttachmentResourceArray) ToNetworkAclAttachmentResourceArrayOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceArrayOutput

type NetworkAclAttachmentResourceArrayInput

type NetworkAclAttachmentResourceArrayInput interface {
	pulumi.Input

	ToNetworkAclAttachmentResourceArrayOutput() NetworkAclAttachmentResourceArrayOutput
	ToNetworkAclAttachmentResourceArrayOutputWithContext(context.Context) NetworkAclAttachmentResourceArrayOutput
}

NetworkAclAttachmentResourceArrayInput is an input type that accepts NetworkAclAttachmentResourceArray and NetworkAclAttachmentResourceArrayOutput values. You can construct a concrete instance of `NetworkAclAttachmentResourceArrayInput` via:

NetworkAclAttachmentResourceArray{ NetworkAclAttachmentResourceArgs{...} }

type NetworkAclAttachmentResourceArrayOutput

type NetworkAclAttachmentResourceArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentResourceArrayOutput) ElementType

func (NetworkAclAttachmentResourceArrayOutput) Index

func (NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutput

func (o NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutput() NetworkAclAttachmentResourceArrayOutput

func (NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutputWithContext

func (o NetworkAclAttachmentResourceArrayOutput) ToNetworkAclAttachmentResourceArrayOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceArrayOutput

type NetworkAclAttachmentResourceInput

type NetworkAclAttachmentResourceInput interface {
	pulumi.Input

	ToNetworkAclAttachmentResourceOutput() NetworkAclAttachmentResourceOutput
	ToNetworkAclAttachmentResourceOutputWithContext(context.Context) NetworkAclAttachmentResourceOutput
}

NetworkAclAttachmentResourceInput is an input type that accepts NetworkAclAttachmentResourceArgs and NetworkAclAttachmentResourceOutput values. You can construct a concrete instance of `NetworkAclAttachmentResourceInput` via:

NetworkAclAttachmentResourceArgs{...}

type NetworkAclAttachmentResourceOutput

type NetworkAclAttachmentResourceOutput struct{ *pulumi.OutputState }

func (NetworkAclAttachmentResourceOutput) ElementType

func (NetworkAclAttachmentResourceOutput) ResourceId

The resource id that the network acl will associate with.

func (NetworkAclAttachmentResourceOutput) ResourceType

The resource id that the network acl will associate with. Only support `VSwitch` now.

func (NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutput

func (o NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutput() NetworkAclAttachmentResourceOutput

func (NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutputWithContext

func (o NetworkAclAttachmentResourceOutput) ToNetworkAclAttachmentResourceOutputWithContext(ctx context.Context) NetworkAclAttachmentResourceOutput

type NetworkAclAttachmentState

type NetworkAclAttachmentState struct {
	// The id of the network acl, the field can't be changed.
	NetworkAclId pulumi.StringPtrInput
	// List of the resources associated with the network acl. The details see Block Resources.
	Resources NetworkAclAttachmentResourceArrayInput
}

func (NetworkAclAttachmentState) ElementType

func (NetworkAclAttachmentState) ElementType() reflect.Type

type 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), India(ap-south-1), 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.

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		defaultNetworkAcl, err := vpc.NewNetworkAcl(ctx, "defaultNetworkAcl", &vpc.NetworkAclArgs{
			VpcId: defaultNetwork.ID(),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:            defaultNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/21"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclAttachment(ctx, "defaultNetworkAclAttachment", &vpc.NetworkAclAttachmentArgs{
			NetworkAclId: defaultNetworkAcl.ID(),
			Resources: vpc.NetworkAclAttachmentResourceArray{
				&vpc.NetworkAclAttachmentResourceArgs{
					ResourceId:   defaultSwitch.ID(),
					ResourceType: pulumi.String("VSwitch"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkAclEntries(ctx, "defaultNetworkAclEntries", &vpc.NetworkAclEntriesArgs{
			NetworkAclId: defaultNetworkAcl.ID(),
			Ingresses: vpc.NetworkAclEntriesIngressArray{
				&vpc.NetworkAclEntriesIngressArgs{
					Protocol:     pulumi.String("all"),
					Port:         pulumi.String("-1/-1"),
					SourceCidrIp: pulumi.String("0.0.0.0/32"),
					Name:         pulumi.String(name),
					EntryType:    pulumi.String("custom"),
					Policy:       pulumi.String("accept"),
					Description:  pulumi.String(name),
				},
			},
			Egresses: vpc.NetworkAclEntriesEgressArray{
				&vpc.NetworkAclEntriesEgressArgs{
					Protocol:          pulumi.String("all"),
					Port:              pulumi.String("-1/-1"),
					DestinationCidrIp: pulumi.String("0.0.0.0/32"),
					Name:              pulumi.String(name),
					EntryType:         pulumi.String("custom"),
					Policy:            pulumi.String("accept"),
					Description:       pulumi.String(name),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetNetworkAclEntries

func GetNetworkAclEntries(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NetworkAclEntriesState, opts ...pulumi.ResourceOption) (*NetworkAclEntries, error)

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

func NewNetworkAclEntries

func NewNetworkAclEntries(ctx *pulumi.Context,
	name string, args *NetworkAclEntriesArgs, opts ...pulumi.ResourceOption) (*NetworkAclEntries, error)

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

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 NetworkAclEntriesEgress

type NetworkAclEntriesEgress struct {
	// The description of the egress entry.
	Description *string `pulumi:"description"`
	// The destination ip of the egress entry.
	DestinationCidrIp *string `pulumi:"destinationCidrIp"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType *string `pulumi:"entryType"`
	// The name of the egress entry.
	Name *string `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy *string `pulumi:"policy"`
	// The port of the egress entry.
	Port *string `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol *string `pulumi:"protocol"`
}

type NetworkAclEntriesEgressArgs

type NetworkAclEntriesEgressArgs struct {
	// The description of the egress entry.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The destination ip of the egress entry.
	DestinationCidrIp pulumi.StringPtrInput `pulumi:"destinationCidrIp"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType pulumi.StringPtrInput `pulumi:"entryType"`
	// The name of the egress entry.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The port of the egress entry.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
}

func (NetworkAclEntriesEgressArgs) ElementType

func (NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutput

func (i NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput

func (NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutputWithContext

func (i NetworkAclEntriesEgressArgs) ToNetworkAclEntriesEgressOutputWithContext(ctx context.Context) NetworkAclEntriesEgressOutput

type NetworkAclEntriesEgressArray

type NetworkAclEntriesEgressArray []NetworkAclEntriesEgressInput

func (NetworkAclEntriesEgressArray) ElementType

func (NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutput

func (i NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutput() NetworkAclEntriesEgressArrayOutput

func (NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutputWithContext

func (i NetworkAclEntriesEgressArray) ToNetworkAclEntriesEgressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesEgressArrayOutput

type NetworkAclEntriesEgressArrayInput

type NetworkAclEntriesEgressArrayInput interface {
	pulumi.Input

	ToNetworkAclEntriesEgressArrayOutput() NetworkAclEntriesEgressArrayOutput
	ToNetworkAclEntriesEgressArrayOutputWithContext(context.Context) NetworkAclEntriesEgressArrayOutput
}

NetworkAclEntriesEgressArrayInput is an input type that accepts NetworkAclEntriesEgressArray and NetworkAclEntriesEgressArrayOutput values. You can construct a concrete instance of `NetworkAclEntriesEgressArrayInput` via:

NetworkAclEntriesEgressArray{ NetworkAclEntriesEgressArgs{...} }

type NetworkAclEntriesEgressArrayOutput

type NetworkAclEntriesEgressArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesEgressArrayOutput) ElementType

func (NetworkAclEntriesEgressArrayOutput) Index

func (NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutput

func (o NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutput() NetworkAclEntriesEgressArrayOutput

func (NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutputWithContext

func (o NetworkAclEntriesEgressArrayOutput) ToNetworkAclEntriesEgressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesEgressArrayOutput

type NetworkAclEntriesEgressInput

type NetworkAclEntriesEgressInput interface {
	pulumi.Input

	ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput
	ToNetworkAclEntriesEgressOutputWithContext(context.Context) NetworkAclEntriesEgressOutput
}

NetworkAclEntriesEgressInput is an input type that accepts NetworkAclEntriesEgressArgs and NetworkAclEntriesEgressOutput values. You can construct a concrete instance of `NetworkAclEntriesEgressInput` via:

NetworkAclEntriesEgressArgs{...}

type NetworkAclEntriesEgressOutput

type NetworkAclEntriesEgressOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesEgressOutput) Description

The description of the egress entry.

func (NetworkAclEntriesEgressOutput) DestinationCidrIp

The destination ip of the egress entry.

func (NetworkAclEntriesEgressOutput) ElementType

func (NetworkAclEntriesEgressOutput) EntryType

The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.

func (NetworkAclEntriesEgressOutput) Name

The name of the egress entry.

func (NetworkAclEntriesEgressOutput) Policy

The policy of the egress entry. It must be `accept` or `drop`.

func (NetworkAclEntriesEgressOutput) Port

The port of the egress entry.

func (NetworkAclEntriesEgressOutput) Protocol

The protocol of the egress entry.

func (NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutput

func (o NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutput() NetworkAclEntriesEgressOutput

func (NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutputWithContext

func (o NetworkAclEntriesEgressOutput) ToNetworkAclEntriesEgressOutputWithContext(ctx context.Context) NetworkAclEntriesEgressOutput

type NetworkAclEntriesIngress

type NetworkAclEntriesIngress struct {
	// The description of the egress entry.
	Description *string `pulumi:"description"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType *string `pulumi:"entryType"`
	// The name of the egress entry.
	Name *string `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy *string `pulumi:"policy"`
	// The port of the egress entry.
	Port *string `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol *string `pulumi:"protocol"`
	// The source ip of the ingress entry.
	SourceCidrIp *string `pulumi:"sourceCidrIp"`
}

type NetworkAclEntriesIngressArgs

type NetworkAclEntriesIngressArgs struct {
	// The description of the egress entry.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.
	EntryType pulumi.StringPtrInput `pulumi:"entryType"`
	// The name of the egress entry.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The policy of the egress entry. It must be `accept` or `drop`.
	Policy pulumi.StringPtrInput `pulumi:"policy"`
	// The port of the egress entry.
	Port pulumi.StringPtrInput `pulumi:"port"`
	// The protocol of the egress entry.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// The source ip of the ingress entry.
	SourceCidrIp pulumi.StringPtrInput `pulumi:"sourceCidrIp"`
}

func (NetworkAclEntriesIngressArgs) ElementType

func (NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutput

func (i NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutput() NetworkAclEntriesIngressOutput

func (NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutputWithContext

func (i NetworkAclEntriesIngressArgs) ToNetworkAclEntriesIngressOutputWithContext(ctx context.Context) NetworkAclEntriesIngressOutput

type NetworkAclEntriesIngressArray

type NetworkAclEntriesIngressArray []NetworkAclEntriesIngressInput

func (NetworkAclEntriesIngressArray) ElementType

func (NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutput

func (i NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutput() NetworkAclEntriesIngressArrayOutput

func (NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutputWithContext

func (i NetworkAclEntriesIngressArray) ToNetworkAclEntriesIngressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesIngressArrayOutput

type NetworkAclEntriesIngressArrayInput

type NetworkAclEntriesIngressArrayInput interface {
	pulumi.Input

	ToNetworkAclEntriesIngressArrayOutput() NetworkAclEntriesIngressArrayOutput
	ToNetworkAclEntriesIngressArrayOutputWithContext(context.Context) NetworkAclEntriesIngressArrayOutput
}

NetworkAclEntriesIngressArrayInput is an input type that accepts NetworkAclEntriesIngressArray and NetworkAclEntriesIngressArrayOutput values. You can construct a concrete instance of `NetworkAclEntriesIngressArrayInput` via:

NetworkAclEntriesIngressArray{ NetworkAclEntriesIngressArgs{...} }

type NetworkAclEntriesIngressArrayOutput

type NetworkAclEntriesIngressArrayOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesIngressArrayOutput) ElementType

func (NetworkAclEntriesIngressArrayOutput) Index

func (NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutput

func (o NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutput() NetworkAclEntriesIngressArrayOutput

func (NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutputWithContext

func (o NetworkAclEntriesIngressArrayOutput) ToNetworkAclEntriesIngressArrayOutputWithContext(ctx context.Context) NetworkAclEntriesIngressArrayOutput

type NetworkAclEntriesIngressInput

type NetworkAclEntriesIngressInput interface {
	pulumi.Input

	ToNetworkAclEntriesIngressOutput() NetworkAclEntriesIngressOutput
	ToNetworkAclEntriesIngressOutputWithContext(context.Context) NetworkAclEntriesIngressOutput
}

NetworkAclEntriesIngressInput is an input type that accepts NetworkAclEntriesIngressArgs and NetworkAclEntriesIngressOutput values. You can construct a concrete instance of `NetworkAclEntriesIngressInput` via:

NetworkAclEntriesIngressArgs{...}

type NetworkAclEntriesIngressOutput

type NetworkAclEntriesIngressOutput struct{ *pulumi.OutputState }

func (NetworkAclEntriesIngressOutput) Description

The description of the egress entry.

func (NetworkAclEntriesIngressOutput) ElementType

func (NetworkAclEntriesIngressOutput) EntryType

The entry type of the egress entry. It must be `custom` or `system`. Default value is `custom`.

func (NetworkAclEntriesIngressOutput) Name

The name of the egress entry.

func (NetworkAclEntriesIngressOutput) Policy

The policy of the egress entry. It must be `accept` or `drop`.

func (NetworkAclEntriesIngressOutput) Port

The port of the egress entry.

func (NetworkAclEntriesIngressOutput) Protocol

The protocol of the egress entry.

func (NetworkAclEntriesIngressOutput) SourceCidrIp

The source ip of the ingress entry.

func (NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutput

func (o NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutput() NetworkAclEntriesIngressOutput

func (NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutputWithContext

func (o NetworkAclEntriesIngressOutput) ToNetworkAclEntriesIngressOutputWithContext(ctx context.Context) NetworkAclEntriesIngressOutput

type 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 NetworkAclState

type NetworkAclState struct {
	// The description of the network acl instance.
	Description pulumi.StringPtrInput
	// The name of the network acl.
	Name pulumi.StringPtrInput
	// The vpcId of the network acl, the field can't be changed.
	VpcId pulumi.StringPtrInput
}

func (NetworkAclState) ElementType

func (NetworkAclState) ElementType() reflect.Type

type NetworkArgs

type NetworkArgs struct {
	// The CIDR block for the VPC.
	CidrBlock pulumi.StringInput
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrInput
	// The name of the VPC. Defaults to null.
	Name pulumi.StringPtrInput
	// The Id of resource group which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

The set of arguments for constructing a Network resource.

func (NetworkArgs) ElementType

func (NetworkArgs) ElementType() reflect.Type

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"`
	// (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.
	Name pulumi.StringOutput `pulumi:"name"`
	// The primary private IP of the ENI.
	PrivateIp pulumi.StringOutput `pulumi:"privateIp"`
	// List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	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.
	PrivateIpsCount pulumi.IntOutput `pulumi:"privateIpsCount"`
	// The Id of resource group which the network interface belongs.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// A list of security group ids to associate with.
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	// 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"`
}

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("192.168.0.0/24"),
		})
		if err != nil {
			return err
		}
		opt0 := "VSwitch"
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
			CidrBlock:        pulumi.String("192.168.0.0/24"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VpcId:            vpc.ID(),
		})
		if err != nil {
			return err
		}
		group, err := ecs.NewSecurityGroup(ctx, "group", &ecs.SecurityGroupArgs{
			VpcId: vpc.ID(),
		})
		if err != nil {
			return err
		}
		_, err = vpc.NewNetworkInterface(ctx, "defaultNetworkInterface", &vpc.NetworkInterfaceArgs{
			VswitchId: vswitch.ID(),
			SecurityGroups: pulumi.StringArray{
				group.ID(),
			},
			PrivateIp:       pulumi.String("192.168.0.2"),
			PrivateIpsCount: pulumi.Int(3),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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.

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
	// 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.
	Name pulumi.StringPtrInput
	// The primary private IP of the ENI.
	PrivateIp pulumi.StringPtrInput
	// List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	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.
	PrivateIpsCount pulumi.IntPtrInput
	// The Id of resource group which the network interface belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A list of security group ids to associate with.
	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 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"`
}

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

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.

type NetworkInterfaceAttachmentArgs

type NetworkInterfaceAttachmentArgs struct {
	// The instance ID to attach.
	InstanceId pulumi.StringInput
	// The ENI ID to attach.
	NetworkInterfaceId pulumi.StringInput
}

The set of arguments for constructing a NetworkInterfaceAttachment resource.

func (NetworkInterfaceAttachmentArgs) ElementType

type NetworkInterfaceAttachmentState

type NetworkInterfaceAttachmentState struct {
	// The instance ID to attach.
	InstanceId pulumi.StringPtrInput
	// The ENI ID to attach.
	NetworkInterfaceId pulumi.StringPtrInput
}

func (NetworkInterfaceAttachmentState) ElementType

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
	// (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.
	Name pulumi.StringPtrInput
	// The primary private IP of the ENI.
	PrivateIp pulumi.StringPtrInput
	// List of secondary private IPs to assign to the ENI. Don't use both privateIps and privateIpsCount in the same ENI resource block.
	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.
	PrivateIpsCount pulumi.IntPtrInput
	// The Id of resource group which the network interface belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A list of security group ids to associate with.
	SecurityGroups pulumi.StringArrayInput
	// 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 NetworkState

type NetworkState struct {
	// The CIDR block for the VPC.
	CidrBlock pulumi.StringPtrInput
	// The VPC description. Defaults to null.
	Description pulumi.StringPtrInput
	// The name of the VPC. Defaults to null.
	Name pulumi.StringPtrInput
	// The Id of resource group which the VPC belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The route table ID of the router created by default on VPC creation.
	RouteTableId pulumi.StringPtrInput
	// The ID of the router created by default on VPC creation.
	RouterId pulumi.StringPtrInput
	// Deprecated: Attribute router_table_id has been deprecated and replaced with route_table_id.
	RouterTableId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
}

func (NetworkState) ElementType

func (NetworkState) 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 beeb deprecated. Please use other arguments to launch a custom route entry.
	//
	// Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringOutput `pulumi:"routerId"`
}

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.

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 beeb deprecated. Please use other arguments to launch a custom route entry.
	//
	// Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringPtrInput
}

The set of arguments for constructing a RouteEntry resource.

func (RouteEntryArgs) ElementType

func (RouteEntryArgs) ElementType() reflect.Type

type 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 beeb deprecated. Please use other arguments to launch a custom route entry.
	//
	// Deprecated: Attribute router_id has been deprecated and suggest removing it from your template.
	RouterId pulumi.StringPtrInput
}

func (RouteEntryState) ElementType

func (RouteEntryState) ElementType() reflect.Type

type RouteTable

type RouteTable struct {
	pulumi.CustomResourceState

	// The description of the route table instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the route table.
	Name pulumi.StringOutput `pulumi:"name"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The vpcId of the route table, the field can't be changed.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

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.

type RouteTableArgs

type RouteTableArgs struct {
	// The description of the route table instance.
	Description pulumi.StringPtrInput
	// The name of the route table.
	Name pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The vpcId of the route table, the field can't be changed.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a RouteTable resource.

func (RouteTableArgs) ElementType

func (RouteTableArgs) ElementType() reflect.Type

type RouteTableAttachment

type RouteTableAttachment struct {
	pulumi.CustomResourceState

	// The routeTableId of the route table attachment, the field can't be changed.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The vswitchId of the route table attachment, the field can't be changed.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

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.

type RouteTableAttachmentArgs

type RouteTableAttachmentArgs struct {
	// The routeTableId of the route table attachment, the field can't be changed.
	RouteTableId pulumi.StringInput
	// The vswitchId of the route table attachment, the field can't be changed.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a RouteTableAttachment resource.

func (RouteTableAttachmentArgs) ElementType

func (RouteTableAttachmentArgs) ElementType() reflect.Type

type RouteTableAttachmentState

type RouteTableAttachmentState struct {
	// The routeTableId of the route table attachment, the field can't be changed.
	RouteTableId pulumi.StringPtrInput
	// The vswitchId of the route table attachment, the field can't be changed.
	VswitchId pulumi.StringPtrInput
}

func (RouteTableAttachmentState) ElementType

func (RouteTableAttachmentState) ElementType() reflect.Type

type RouteTableState

type RouteTableState struct {
	// The description of the route table instance.
	Description pulumi.StringPtrInput
	// The name of the route table.
	Name pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The vpcId of the route table, the field can't be changed.
	VpcId pulumi.StringPtrInput
}

func (RouteTableState) ElementType

func (RouteTableState) ElementType() reflect.Type

type RouterInterface

type RouterInterface struct {
	pulumi.CustomResourceState

	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	AccessPointId pulumi.StringOutput `pulumi:"accessPointId"`
	// Description of the router interface. It can be 2-256 characters long or left blank. It cannot start with http:// and https://.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Used as the Packet Source IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckTargetIp` must be specified at the same time.
	HealthCheckSourceIp pulumi.StringPtrOutput `pulumi:"healthCheckSourceIp"`
	// Used as the Packet Target IP of health check for disaster recovery or ECMP. It is only valid when `routerType` is `VBR`. The IP must be an unused IP in the local VPC. It and `healthCheckSourceIp` must be specified at the same time.
	HealthCheckTargetIp pulumi.StringPtrOutput `pulumi:"healthCheckTargetIp"`
	// The billing method of the router interface. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid". Router Interface doesn't support "PrePaid" when region and oppositeRegion are the same.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// Name of the router interface. Length must be 2-80 characters long. Only Chinese characters, English letters, numbers, period (.), underline (_), or dash (-) are permitted.
	// If it is not specified, the default value is interface ID. The name cannot start with http:// and https://.
	Name pulumi.StringOutput `pulumi:"name"`
	// It has been deprecated from version 1.11.0.
	//
	// Deprecated: Attribute 'opposite_access_point_id' has been deprecated from version 1.11.0.
	OppositeAccessPointId pulumi.StringPtrOutput `pulumi:"oppositeAccessPointId"`
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	//
	// Deprecated: Attribute 'opposite_interface_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
	OppositeInterfaceId pulumi.StringOutput `pulumi:"oppositeInterfaceId"`
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_id' instead.
	//
	// Deprecated: Attribute 'opposite_interface_owner_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_interface_owner_id' instead.
	OppositeInterfaceOwnerId pulumi.StringOutput `pulumi:"oppositeInterfaceOwnerId"`
	// The Region of peer side.
	OppositeRegion pulumi.StringOutput `pulumi:"oppositeRegion"`
	// It has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	//
	// Deprecated: Attribute 'opposite_router_id' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_id' instead.
	OppositeRouterId pulumi.StringOutput `pulumi:"oppositeRouterId"`
	// It has been deprecated from version 1.11.0. resource alicloud_router_interface_connection's 'opposite_router_type' instead.
	//
	// Deprecated: Attribute 'opposite_router_type' has been deprecated from version 1.11.0. Use resource alicloud_router_interface_connection's 'opposite_router_type' instead.
	OppositeRouterType pulumi.StringOutput `pulumi:"oppositeRouterType"`
	// The duration that you will buy the resource, in month. It is valid when `instanceChargeType` is `PrePaid`. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	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"`
}

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.

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`. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	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 RouterInterfaceConnection

type RouterInterfaceConnection struct {
	pulumi.CustomResourceState

	// One side router interface ID.
	InterfaceId pulumi.StringOutput `pulumi:"interfaceId"`
	// Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.
	OppositeInterfaceId      pulumi.StringOutput `pulumi:"oppositeInterfaceId"`
	OppositeInterfaceOwnerId pulumi.StringOutput `pulumi:"oppositeInterfaceOwnerId"`
	// Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterId pulumi.StringOutput `pulumi:"oppositeRouterId"`
	// Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterType pulumi.StringPtrOutput `pulumi:"oppositeRouterType"`
}

Provides a VPC router interface connection resource to connect two router interfaces which are in two different VPCs. After that, all of the two router interfaces will be active.

> **NOTE:** At present, Router interface does not support changing opposite router interface, the connection delete action is only deactivating it to inactive, not modifying the connection to empty.

> **NOTE:** If you want to changing opposite router interface, you can delete router interface and re-build them.

> **NOTE:** A integrated router interface connection tunnel requires both InitiatingSide and AcceptingSide configuring opposite router interface.

> **NOTE:** Please remember to add a `dependsOn` clause in the router interface connection from the InitiatingSide to the AcceptingSide, because the connection from the AcceptingSide to the InitiatingSide must be done first.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooNetwork, err := vpc.NewNetwork(ctx, "fooNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/12"),
		})
		if err != nil {
			return err
		}
		barNetwork, err := vpc.NewNetwork(ctx, "barNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("192.168.0.0/16"),
		}, pulumi.Provider(alicloud))
		if err != nil {
			return err
		}
		initiate, err := vpc.NewRouterInterface(ctx, "initiate", &vpc.RouterInterfaceArgs{
			OppositeRegion:     pulumi.String(region),
			RouterType:         pulumi.String("VRouter"),
			RouterId:           fooNetwork.RouterId,
			Role:               pulumi.String("InitiatingSide"),
			Specification:      pulumi.String("Large.2"),
			Description:        pulumi.String(name),
			InstanceChargeType: pulumi.String("PostPaid"),
		})
		if err != nil {
			return err
		}
		opposite, err := vpc.NewRouterInterface(ctx, "opposite", &vpc.RouterInterfaceArgs{
			OppositeRegion: pulumi.String(region),
			RouterType:     pulumi.String("VRouter"),
			RouterId:       barNetwork.RouterId,
			Role:           pulumi.String("AcceptingSide"),
			Specification:  pulumi.String("Large.1"),
			Description:    pulumi.String(fmt.Sprintf("%v%v", name, "-opposite")),
		}, pulumi.Provider(alicloud))
		if err != nil {
			return err
		}
		barRouterInterfaceConnection, err := vpc.NewRouterInterfaceConnection(ctx, "barRouterInterfaceConnection", &vpc.RouterInterfaceConnectionArgs{
			InterfaceId:         opposite.ID(),
			OppositeInterfaceId: initiate.ID(),
		}, pulumi.Provider(alicloud))
		if err != nil {
			return err
		}
		_, err = vpc.NewRouterInterfaceConnection(ctx, "fooRouterInterfaceConnection", &vpc.RouterInterfaceConnectionArgs{
			InterfaceId:         initiate.ID(),
			OppositeInterfaceId: opposite.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			barRouterInterfaceConnection,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

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.

type RouterInterfaceConnectionArgs

type RouterInterfaceConnectionArgs struct {
	// One side router interface ID.
	InterfaceId pulumi.StringInput
	// Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.
	OppositeInterfaceId      pulumi.StringInput
	OppositeInterfaceOwnerId pulumi.StringPtrInput
	// Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterId pulumi.StringPtrInput
	// Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterType pulumi.StringPtrInput
}

The set of arguments for constructing a RouterInterfaceConnection resource.

func (RouterInterfaceConnectionArgs) ElementType

type RouterInterfaceConnectionState

type RouterInterfaceConnectionState struct {
	// One side router interface ID.
	InterfaceId pulumi.StringPtrInput
	// Another side router interface ID. It must belong the specified "oppositeInterfaceOwnerId" account.
	OppositeInterfaceId      pulumi.StringPtrInput
	OppositeInterfaceOwnerId pulumi.StringPtrInput
	// Another side router ID. It must belong the specified "oppositeInterfaceOwnerId" account. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterId pulumi.StringPtrInput
	// Another side router Type. Optional value: VRouter, VBR. It is valid when field "oppositeInterfaceOwnerId" is specified.
	OppositeRouterType pulumi.StringPtrInput
}

func (RouterInterfaceConnectionState) ElementType

type 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`. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify "period" and you can do that via web console.
	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.StringPtrOutput `pulumi:"sourceCidr"`
	// The vswitch ID.
	SourceVswitchId pulumi.StringPtrOutput `pulumi:"sourceVswitchId"`
}

Provides a snat resource.

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.

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

func (SnatEntryState) ElementType

func (SnatEntryState) ElementType() reflect.Type

type Subnet

type Subnet struct {
	pulumi.CustomResourceState

	AvailabilityZone pulumi.StringOutput    `pulumi:"availabilityZone"`
	CidrBlock        pulumi.StringOutput    `pulumi:"cidrBlock"`
	Description      pulumi.StringPtrOutput `pulumi:"description"`
	Name             pulumi.StringOutput    `pulumi:"name"`
	Tags             pulumi.MapOutput       `pulumi:"tags"`
	VpcId            pulumi.StringOutput    `pulumi:"vpcId"`
}

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.

type SubnetArgs

type SubnetArgs struct {
	AvailabilityZone pulumi.StringInput
	CidrBlock        pulumi.StringInput
	Description      pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	Tags             pulumi.MapInput
	VpcId            pulumi.StringInput
}

The set of arguments for constructing a Subnet resource.

func (SubnetArgs) ElementType

func (SubnetArgs) ElementType() reflect.Type

type SubnetState

type SubnetState struct {
	AvailabilityZone pulumi.StringPtrInput
	CidrBlock        pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	Tags             pulumi.MapInput
	VpcId            pulumi.StringPtrInput
}

func (SubnetState) ElementType

func (SubnetState) ElementType() reflect.Type

type Switch

type Switch struct {
	pulumi.CustomResourceState

	// The AZ for the switch.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The CIDR block for the switch.
	CidrBlock pulumi.StringOutput `pulumi:"cidrBlock"`
	// The switch description. Defaults to null.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the switch. Defaults to null.
	Name pulumi.StringOutput `pulumi:"name"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The VPC ID.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

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.

type SwitchArgs

type SwitchArgs struct {
	// The AZ for the switch.
	AvailabilityZone pulumi.StringInput
	// The CIDR block for the switch.
	CidrBlock pulumi.StringInput
	// The switch description. Defaults to null.
	Description pulumi.StringPtrInput
	// The name of the switch. Defaults to null.
	Name pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The VPC ID.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Switch resource.

func (SwitchArgs) ElementType

func (SwitchArgs) ElementType() reflect.Type

type SwitchState

type SwitchState struct {
	// The AZ for the switch.
	AvailabilityZone pulumi.StringPtrInput
	// The CIDR block for the switch.
	CidrBlock pulumi.StringPtrInput
	// The switch description. Defaults to null.
	Description pulumi.StringPtrInput
	// The name of the switch. Defaults to null.
	Name pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The VPC ID.
	VpcId pulumi.StringPtrInput
}

func (SwitchState) ElementType

func (SwitchState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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