vpc

package
v0.0.8 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PkgVersion added in v0.0.2

func PkgVersion() (semver.Version, error)

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

Types

type AddressGroup

type AddressGroup struct {
	pulumi.CustomResourceState

	// Specifies an array of one or more IP addresses. The address can be a single IP
	// address, IP address range or IP address CIDR. The maximum length is 20.
	Addresses pulumi.StringArrayOutput `pulumi:"addresses"`
	// Specifies the supplementary information about the IP address group.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the enterprise project ID.
	// Changing this creates a new address group.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies whether to forcibly destroy the address group if it is associated with
	// a security group rule, the address group and the associated security group rule will be deleted together.
	// The default value is **false**.
	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
	// Specifies the IP version, either `4` (default) or `6`.
	// Changing this creates a new address group.
	IpVersion pulumi.IntPtrOutput `pulumi:"ipVersion"`
	// Specifies the maximum number of addresses that an address group can contain.
	// Value range: **1**-**20**, the default value is **20**.
	MaxCapacity pulumi.IntOutput `pulumi:"maxCapacity"`
	// Specifies the IP address group name. The value is a string of 1 to 64 characters that can contain
	// letters, digits, underscores (_), hyphens (-) and periods (.).
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the region in which to create the IP address group. If omitted, the
	// provider-level region will be used. Changing this creates a new address group.
	Region pulumi.StringOutput `pulumi:"region"`
}

Manages a VPC IP address group resource within HuaweiCloud.

## Example Usage ### IPv4 Address Group

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Vpc.NewAddressGroup(ctx, "ipv4", &Vpc.AddressGroupArgs{
			Addresses: pulumi.StringArray{
				pulumi.String("192.168.10.10"),
				pulumi.String("192.168.1.1-192.168.1.50"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### IPv6 Address Group

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Vpc.NewAddressGroup(ctx, "ipv6", &Vpc.AddressGroupArgs{
			Addresses: pulumi.StringArray{
				pulumi.String("2001:db8:a583:6e::/64"),
			},
			IpVersion: pulumi.Int(6),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IP address groups can be imported using the `id`, e.g. bash

```sh

$ pulumi import huaweicloud:Vpc/addressGroup:AddressGroup test bc96f6b0-ca2c-42ee-b719-0f26bc9c8661

```

Note that the imported state may not be identical to your resource definition, due to some attributes missing from the API response. The missing attributes include`force_destroy`. It is generally recommended running `terraform plan` after importing the image. You can then decide if changes should be applied to the image, or the resource definition should be updated to align with the image. Also you can ignore changes as below. hcl resource "huaweicloud_vpc_address_group" "test" {

...

lifecycle {

ignore_changes = [

force_destroy,

]

} }

func GetAddressGroup

func GetAddressGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AddressGroupState, opts ...pulumi.ResourceOption) (*AddressGroup, error)

GetAddressGroup gets an existing AddressGroup 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 NewAddressGroup

func NewAddressGroup(ctx *pulumi.Context,
	name string, args *AddressGroupArgs, opts ...pulumi.ResourceOption) (*AddressGroup, error)

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

func (*AddressGroup) ElementType

func (*AddressGroup) ElementType() reflect.Type

func (*AddressGroup) ToAddressGroupOutput

func (i *AddressGroup) ToAddressGroupOutput() AddressGroupOutput

func (*AddressGroup) ToAddressGroupOutputWithContext

func (i *AddressGroup) ToAddressGroupOutputWithContext(ctx context.Context) AddressGroupOutput

type AddressGroupArgs

type AddressGroupArgs struct {
	// Specifies an array of one or more IP addresses. The address can be a single IP
	// address, IP address range or IP address CIDR. The maximum length is 20.
	Addresses pulumi.StringArrayInput
	// Specifies the supplementary information about the IP address group.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the enterprise project ID.
	// Changing this creates a new address group.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies whether to forcibly destroy the address group if it is associated with
	// a security group rule, the address group and the associated security group rule will be deleted together.
	// The default value is **false**.
	ForceDestroy pulumi.BoolPtrInput
	// Specifies the IP version, either `4` (default) or `6`.
	// Changing this creates a new address group.
	IpVersion pulumi.IntPtrInput
	// Specifies the maximum number of addresses that an address group can contain.
	// Value range: **1**-**20**, the default value is **20**.
	MaxCapacity pulumi.IntPtrInput
	// Specifies the IP address group name. The value is a string of 1 to 64 characters that can contain
	// letters, digits, underscores (_), hyphens (-) and periods (.).
	Name pulumi.StringPtrInput
	// Specifies the region in which to create the IP address group. If omitted, the
	// provider-level region will be used. Changing this creates a new address group.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a AddressGroup resource.

func (AddressGroupArgs) ElementType

func (AddressGroupArgs) ElementType() reflect.Type

type AddressGroupArray

type AddressGroupArray []AddressGroupInput

func (AddressGroupArray) ElementType

func (AddressGroupArray) ElementType() reflect.Type

func (AddressGroupArray) ToAddressGroupArrayOutput

func (i AddressGroupArray) ToAddressGroupArrayOutput() AddressGroupArrayOutput

func (AddressGroupArray) ToAddressGroupArrayOutputWithContext

func (i AddressGroupArray) ToAddressGroupArrayOutputWithContext(ctx context.Context) AddressGroupArrayOutput

type AddressGroupArrayInput

type AddressGroupArrayInput interface {
	pulumi.Input

	ToAddressGroupArrayOutput() AddressGroupArrayOutput
	ToAddressGroupArrayOutputWithContext(context.Context) AddressGroupArrayOutput
}

AddressGroupArrayInput is an input type that accepts AddressGroupArray and AddressGroupArrayOutput values. You can construct a concrete instance of `AddressGroupArrayInput` via:

AddressGroupArray{ AddressGroupArgs{...} }

type AddressGroupArrayOutput

type AddressGroupArrayOutput struct{ *pulumi.OutputState }

func (AddressGroupArrayOutput) ElementType

func (AddressGroupArrayOutput) ElementType() reflect.Type

func (AddressGroupArrayOutput) Index

func (AddressGroupArrayOutput) ToAddressGroupArrayOutput

func (o AddressGroupArrayOutput) ToAddressGroupArrayOutput() AddressGroupArrayOutput

func (AddressGroupArrayOutput) ToAddressGroupArrayOutputWithContext

func (o AddressGroupArrayOutput) ToAddressGroupArrayOutputWithContext(ctx context.Context) AddressGroupArrayOutput

type AddressGroupInput

type AddressGroupInput interface {
	pulumi.Input

	ToAddressGroupOutput() AddressGroupOutput
	ToAddressGroupOutputWithContext(ctx context.Context) AddressGroupOutput
}

type AddressGroupMap

type AddressGroupMap map[string]AddressGroupInput

func (AddressGroupMap) ElementType

func (AddressGroupMap) ElementType() reflect.Type

func (AddressGroupMap) ToAddressGroupMapOutput

func (i AddressGroupMap) ToAddressGroupMapOutput() AddressGroupMapOutput

func (AddressGroupMap) ToAddressGroupMapOutputWithContext

func (i AddressGroupMap) ToAddressGroupMapOutputWithContext(ctx context.Context) AddressGroupMapOutput

type AddressGroupMapInput

type AddressGroupMapInput interface {
	pulumi.Input

	ToAddressGroupMapOutput() AddressGroupMapOutput
	ToAddressGroupMapOutputWithContext(context.Context) AddressGroupMapOutput
}

AddressGroupMapInput is an input type that accepts AddressGroupMap and AddressGroupMapOutput values. You can construct a concrete instance of `AddressGroupMapInput` via:

AddressGroupMap{ "key": AddressGroupArgs{...} }

type AddressGroupMapOutput

type AddressGroupMapOutput struct{ *pulumi.OutputState }

func (AddressGroupMapOutput) ElementType

func (AddressGroupMapOutput) ElementType() reflect.Type

func (AddressGroupMapOutput) MapIndex

func (AddressGroupMapOutput) ToAddressGroupMapOutput

func (o AddressGroupMapOutput) ToAddressGroupMapOutput() AddressGroupMapOutput

func (AddressGroupMapOutput) ToAddressGroupMapOutputWithContext

func (o AddressGroupMapOutput) ToAddressGroupMapOutputWithContext(ctx context.Context) AddressGroupMapOutput

type AddressGroupOutput

type AddressGroupOutput struct{ *pulumi.OutputState }

func (AddressGroupOutput) Addresses

Specifies an array of one or more IP addresses. The address can be a single IP address, IP address range or IP address CIDR. The maximum length is 20.

func (AddressGroupOutput) Description

func (o AddressGroupOutput) Description() pulumi.StringPtrOutput

Specifies the supplementary information about the IP address group. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (AddressGroupOutput) ElementType

func (AddressGroupOutput) ElementType() reflect.Type

func (AddressGroupOutput) EnterpriseProjectId added in v0.0.8

func (o AddressGroupOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project ID. Changing this creates a new address group.

func (AddressGroupOutput) ForceDestroy added in v0.0.8

func (o AddressGroupOutput) ForceDestroy() pulumi.BoolPtrOutput

Specifies whether to forcibly destroy the address group if it is associated with a security group rule, the address group and the associated security group rule will be deleted together. The default value is **false**.

func (AddressGroupOutput) IpVersion

func (o AddressGroupOutput) IpVersion() pulumi.IntPtrOutput

Specifies the IP version, either `4` (default) or `6`. Changing this creates a new address group.

func (AddressGroupOutput) MaxCapacity added in v0.0.8

func (o AddressGroupOutput) MaxCapacity() pulumi.IntOutput

Specifies the maximum number of addresses that an address group can contain. Value range: **1**-**20**, the default value is **20**.

func (AddressGroupOutput) Name

Specifies the IP address group name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-) and periods (.).

func (AddressGroupOutput) Region

Specifies the region in which to create the IP address group. If omitted, the provider-level region will be used. Changing this creates a new address group.

func (AddressGroupOutput) ToAddressGroupOutput

func (o AddressGroupOutput) ToAddressGroupOutput() AddressGroupOutput

func (AddressGroupOutput) ToAddressGroupOutputWithContext

func (o AddressGroupOutput) ToAddressGroupOutputWithContext(ctx context.Context) AddressGroupOutput

type AddressGroupState

type AddressGroupState struct {
	// Specifies an array of one or more IP addresses. The address can be a single IP
	// address, IP address range or IP address CIDR. The maximum length is 20.
	Addresses pulumi.StringArrayInput
	// Specifies the supplementary information about the IP address group.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the enterprise project ID.
	// Changing this creates a new address group.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies whether to forcibly destroy the address group if it is associated with
	// a security group rule, the address group and the associated security group rule will be deleted together.
	// The default value is **false**.
	ForceDestroy pulumi.BoolPtrInput
	// Specifies the IP version, either `4` (default) or `6`.
	// Changing this creates a new address group.
	IpVersion pulumi.IntPtrInput
	// Specifies the maximum number of addresses that an address group can contain.
	// Value range: **1**-**20**, the default value is **20**.
	MaxCapacity pulumi.IntPtrInput
	// Specifies the IP address group name. The value is a string of 1 to 64 characters that can contain
	// letters, digits, underscores (_), hyphens (-) and periods (.).
	Name pulumi.StringPtrInput
	// Specifies the region in which to create the IP address group. If omitted, the
	// provider-level region will be used. Changing this creates a new address group.
	Region pulumi.StringPtrInput
}

func (AddressGroupState) ElementType

func (AddressGroupState) ElementType() reflect.Type

type Bandwidth

type Bandwidth struct {
	pulumi.CustomResourceState

	// Indicates the bandwidth type.
	BandwidthType pulumi.StringOutput `pulumi:"bandwidthType"`
	// Specifies whether the billing is based on bandwidth or
	// 95th percentile bandwidth (enhanced). Possible values can be **bandwidth** and **95peak_plus**.
	// The default value is **bandwidth**, and **95peak_plus** is only valid for v4 and v5 Customer.
	// Changing this creates a new bandwidth.
	ChargeMode pulumi.StringOutput `pulumi:"chargeMode"`
	// Specifies the enterprise project id of the Shared Bandwidth.
	// Changing this creates a new bandwidth.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies the bandwidth name. The value is a string of 1 to 64 characters that
	// can contain letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringOutput `pulumi:"name"`
	// An array of EIPs that use the bandwidth. The object includes the following:
	Publicips BandwidthPublicipArrayOutput `pulumi:"publicips"`
	// Specifies the region in which to create the Shared Bandwidth.
	// If omitted, the provider-level region will be used. Changing this creates a new bandwidth.
	Region pulumi.StringOutput `pulumi:"region"`
	// Indicates whether the bandwidth is shared or dedicated.
	ShareType pulumi.StringOutput `pulumi:"shareType"`
	// Specifies the size of the Shared Bandwidth. The value ranges from 5 Mbit/s to 2000 Mbit/s.
	Size pulumi.IntOutput `pulumi:"size"`
	// Indicates the bandwidth status.
	Status pulumi.StringOutput `pulumi:"status"`
}

Manages a **Shared** Bandwidth resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Vpc.NewBandwidth(ctx, "bandwidth1", &Vpc.BandwidthArgs{
			Size: pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Shared Bandwidths can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/bandwidth:Bandwidth bandwidth_1 7117d38e-4c8f-4624-a505-bd96b97d024c

```

func GetBandwidth

func GetBandwidth(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BandwidthState, opts ...pulumi.ResourceOption) (*Bandwidth, error)

GetBandwidth gets an existing Bandwidth 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 NewBandwidth

func NewBandwidth(ctx *pulumi.Context,
	name string, args *BandwidthArgs, opts ...pulumi.ResourceOption) (*Bandwidth, error)

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

func (*Bandwidth) ElementType

func (*Bandwidth) ElementType() reflect.Type

func (*Bandwidth) ToBandwidthOutput

func (i *Bandwidth) ToBandwidthOutput() BandwidthOutput

func (*Bandwidth) ToBandwidthOutputWithContext

func (i *Bandwidth) ToBandwidthOutputWithContext(ctx context.Context) BandwidthOutput

type BandwidthArgs

type BandwidthArgs struct {
	// Specifies whether the billing is based on bandwidth or
	// 95th percentile bandwidth (enhanced). Possible values can be **bandwidth** and **95peak_plus**.
	// The default value is **bandwidth**, and **95peak_plus** is only valid for v4 and v5 Customer.
	// Changing this creates a new bandwidth.
	ChargeMode pulumi.StringPtrInput
	// Specifies the enterprise project id of the Shared Bandwidth.
	// Changing this creates a new bandwidth.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the bandwidth name. The value is a string of 1 to 64 characters that
	// can contain letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringPtrInput
	// Specifies the region in which to create the Shared Bandwidth.
	// If omitted, the provider-level region will be used. Changing this creates a new bandwidth.
	Region pulumi.StringPtrInput
	// Specifies the size of the Shared Bandwidth. The value ranges from 5 Mbit/s to 2000 Mbit/s.
	Size pulumi.IntInput
}

The set of arguments for constructing a Bandwidth resource.

func (BandwidthArgs) ElementType

func (BandwidthArgs) ElementType() reflect.Type

type BandwidthArray

type BandwidthArray []BandwidthInput

func (BandwidthArray) ElementType

func (BandwidthArray) ElementType() reflect.Type

func (BandwidthArray) ToBandwidthArrayOutput

func (i BandwidthArray) ToBandwidthArrayOutput() BandwidthArrayOutput

func (BandwidthArray) ToBandwidthArrayOutputWithContext

func (i BandwidthArray) ToBandwidthArrayOutputWithContext(ctx context.Context) BandwidthArrayOutput

type BandwidthArrayInput

type BandwidthArrayInput interface {
	pulumi.Input

	ToBandwidthArrayOutput() BandwidthArrayOutput
	ToBandwidthArrayOutputWithContext(context.Context) BandwidthArrayOutput
}

BandwidthArrayInput is an input type that accepts BandwidthArray and BandwidthArrayOutput values. You can construct a concrete instance of `BandwidthArrayInput` via:

BandwidthArray{ BandwidthArgs{...} }

type BandwidthArrayOutput

type BandwidthArrayOutput struct{ *pulumi.OutputState }

func (BandwidthArrayOutput) ElementType

func (BandwidthArrayOutput) ElementType() reflect.Type

func (BandwidthArrayOutput) Index

func (BandwidthArrayOutput) ToBandwidthArrayOutput

func (o BandwidthArrayOutput) ToBandwidthArrayOutput() BandwidthArrayOutput

func (BandwidthArrayOutput) ToBandwidthArrayOutputWithContext

func (o BandwidthArrayOutput) ToBandwidthArrayOutputWithContext(ctx context.Context) BandwidthArrayOutput

type BandwidthInput

type BandwidthInput interface {
	pulumi.Input

	ToBandwidthOutput() BandwidthOutput
	ToBandwidthOutputWithContext(ctx context.Context) BandwidthOutput
}

type BandwidthMap

type BandwidthMap map[string]BandwidthInput

func (BandwidthMap) ElementType

func (BandwidthMap) ElementType() reflect.Type

func (BandwidthMap) ToBandwidthMapOutput

func (i BandwidthMap) ToBandwidthMapOutput() BandwidthMapOutput

func (BandwidthMap) ToBandwidthMapOutputWithContext

func (i BandwidthMap) ToBandwidthMapOutputWithContext(ctx context.Context) BandwidthMapOutput

type BandwidthMapInput

type BandwidthMapInput interface {
	pulumi.Input

	ToBandwidthMapOutput() BandwidthMapOutput
	ToBandwidthMapOutputWithContext(context.Context) BandwidthMapOutput
}

BandwidthMapInput is an input type that accepts BandwidthMap and BandwidthMapOutput values. You can construct a concrete instance of `BandwidthMapInput` via:

BandwidthMap{ "key": BandwidthArgs{...} }

type BandwidthMapOutput

type BandwidthMapOutput struct{ *pulumi.OutputState }

func (BandwidthMapOutput) ElementType

func (BandwidthMapOutput) ElementType() reflect.Type

func (BandwidthMapOutput) MapIndex

func (BandwidthMapOutput) ToBandwidthMapOutput

func (o BandwidthMapOutput) ToBandwidthMapOutput() BandwidthMapOutput

func (BandwidthMapOutput) ToBandwidthMapOutputWithContext

func (o BandwidthMapOutput) ToBandwidthMapOutputWithContext(ctx context.Context) BandwidthMapOutput

type BandwidthOutput

type BandwidthOutput struct{ *pulumi.OutputState }

func (BandwidthOutput) BandwidthType

func (o BandwidthOutput) BandwidthType() pulumi.StringOutput

Indicates the bandwidth type.

func (BandwidthOutput) ChargeMode

func (o BandwidthOutput) ChargeMode() pulumi.StringOutput

Specifies whether the billing is based on bandwidth or 95th percentile bandwidth (enhanced). Possible values can be **bandwidth** and **95peak_plus**. The default value is **bandwidth**, and **95peak_plus** is only valid for v4 and v5 Customer. Changing this creates a new bandwidth.

func (BandwidthOutput) ElementType

func (BandwidthOutput) ElementType() reflect.Type

func (BandwidthOutput) EnterpriseProjectId

func (o BandwidthOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project id of the Shared Bandwidth. Changing this creates a new bandwidth.

func (BandwidthOutput) Name

Specifies the bandwidth name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).

func (BandwidthOutput) Publicips

An array of EIPs that use the bandwidth. The object includes the following:

func (BandwidthOutput) Region

func (o BandwidthOutput) Region() pulumi.StringOutput

Specifies the region in which to create the Shared Bandwidth. If omitted, the provider-level region will be used. Changing this creates a new bandwidth.

func (BandwidthOutput) ShareType

func (o BandwidthOutput) ShareType() pulumi.StringOutput

Indicates whether the bandwidth is shared or dedicated.

func (BandwidthOutput) Size

func (o BandwidthOutput) Size() pulumi.IntOutput

Specifies the size of the Shared Bandwidth. The value ranges from 5 Mbit/s to 2000 Mbit/s.

func (BandwidthOutput) Status

func (o BandwidthOutput) Status() pulumi.StringOutput

Indicates the bandwidth status.

func (BandwidthOutput) ToBandwidthOutput

func (o BandwidthOutput) ToBandwidthOutput() BandwidthOutput

func (BandwidthOutput) ToBandwidthOutputWithContext

func (o BandwidthOutput) ToBandwidthOutputWithContext(ctx context.Context) BandwidthOutput

type BandwidthPublicip

type BandwidthPublicip struct {
	// The ID of the EIP or IPv6 port that uses the bandwidth.
	Id *string `pulumi:"id"`
	// The IPv4 or IPv6 address.
	IpAddress *string `pulumi:"ipAddress"`
	// The IP version, either 4 or 6.
	IpVersion *int `pulumi:"ipVersion"`
	// The EIP type. Possible values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP).
	Type *string `pulumi:"type"`
}

type BandwidthPublicipArgs

type BandwidthPublicipArgs struct {
	// The ID of the EIP or IPv6 port that uses the bandwidth.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The IPv4 or IPv6 address.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// The IP version, either 4 or 6.
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// The EIP type. Possible values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP).
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (BandwidthPublicipArgs) ElementType

func (BandwidthPublicipArgs) ElementType() reflect.Type

func (BandwidthPublicipArgs) ToBandwidthPublicipOutput

func (i BandwidthPublicipArgs) ToBandwidthPublicipOutput() BandwidthPublicipOutput

func (BandwidthPublicipArgs) ToBandwidthPublicipOutputWithContext

func (i BandwidthPublicipArgs) ToBandwidthPublicipOutputWithContext(ctx context.Context) BandwidthPublicipOutput

type BandwidthPublicipArray

type BandwidthPublicipArray []BandwidthPublicipInput

func (BandwidthPublicipArray) ElementType

func (BandwidthPublicipArray) ElementType() reflect.Type

func (BandwidthPublicipArray) ToBandwidthPublicipArrayOutput

func (i BandwidthPublicipArray) ToBandwidthPublicipArrayOutput() BandwidthPublicipArrayOutput

func (BandwidthPublicipArray) ToBandwidthPublicipArrayOutputWithContext

func (i BandwidthPublicipArray) ToBandwidthPublicipArrayOutputWithContext(ctx context.Context) BandwidthPublicipArrayOutput

type BandwidthPublicipArrayInput

type BandwidthPublicipArrayInput interface {
	pulumi.Input

	ToBandwidthPublicipArrayOutput() BandwidthPublicipArrayOutput
	ToBandwidthPublicipArrayOutputWithContext(context.Context) BandwidthPublicipArrayOutput
}

BandwidthPublicipArrayInput is an input type that accepts BandwidthPublicipArray and BandwidthPublicipArrayOutput values. You can construct a concrete instance of `BandwidthPublicipArrayInput` via:

BandwidthPublicipArray{ BandwidthPublicipArgs{...} }

type BandwidthPublicipArrayOutput

type BandwidthPublicipArrayOutput struct{ *pulumi.OutputState }

func (BandwidthPublicipArrayOutput) ElementType

func (BandwidthPublicipArrayOutput) Index

func (BandwidthPublicipArrayOutput) ToBandwidthPublicipArrayOutput

func (o BandwidthPublicipArrayOutput) ToBandwidthPublicipArrayOutput() BandwidthPublicipArrayOutput

func (BandwidthPublicipArrayOutput) ToBandwidthPublicipArrayOutputWithContext

func (o BandwidthPublicipArrayOutput) ToBandwidthPublicipArrayOutputWithContext(ctx context.Context) BandwidthPublicipArrayOutput

type BandwidthPublicipInput

type BandwidthPublicipInput interface {
	pulumi.Input

	ToBandwidthPublicipOutput() BandwidthPublicipOutput
	ToBandwidthPublicipOutputWithContext(context.Context) BandwidthPublicipOutput
}

BandwidthPublicipInput is an input type that accepts BandwidthPublicipArgs and BandwidthPublicipOutput values. You can construct a concrete instance of `BandwidthPublicipInput` via:

BandwidthPublicipArgs{...}

type BandwidthPublicipOutput

type BandwidthPublicipOutput struct{ *pulumi.OutputState }

func (BandwidthPublicipOutput) ElementType

func (BandwidthPublicipOutput) ElementType() reflect.Type

func (BandwidthPublicipOutput) Id

The ID of the EIP or IPv6 port that uses the bandwidth.

func (BandwidthPublicipOutput) IpAddress

The IPv4 or IPv6 address.

func (BandwidthPublicipOutput) IpVersion

The IP version, either 4 or 6.

func (BandwidthPublicipOutput) ToBandwidthPublicipOutput

func (o BandwidthPublicipOutput) ToBandwidthPublicipOutput() BandwidthPublicipOutput

func (BandwidthPublicipOutput) ToBandwidthPublicipOutputWithContext

func (o BandwidthPublicipOutput) ToBandwidthPublicipOutputWithContext(ctx context.Context) BandwidthPublicipOutput

func (BandwidthPublicipOutput) Type

The EIP type. Possible values are *5_bgp* (dynamic BGP) and *5_sbgp* (static BGP).

type BandwidthState

type BandwidthState struct {
	// Indicates the bandwidth type.
	BandwidthType pulumi.StringPtrInput
	// Specifies whether the billing is based on bandwidth or
	// 95th percentile bandwidth (enhanced). Possible values can be **bandwidth** and **95peak_plus**.
	// The default value is **bandwidth**, and **95peak_plus** is only valid for v4 and v5 Customer.
	// Changing this creates a new bandwidth.
	ChargeMode pulumi.StringPtrInput
	// Specifies the enterprise project id of the Shared Bandwidth.
	// Changing this creates a new bandwidth.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the bandwidth name. The value is a string of 1 to 64 characters that
	// can contain letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringPtrInput
	// An array of EIPs that use the bandwidth. The object includes the following:
	Publicips BandwidthPublicipArrayInput
	// Specifies the region in which to create the Shared Bandwidth.
	// If omitted, the provider-level region will be used. Changing this creates a new bandwidth.
	Region pulumi.StringPtrInput
	// Indicates whether the bandwidth is shared or dedicated.
	ShareType pulumi.StringPtrInput
	// Specifies the size of the Shared Bandwidth. The value ranges from 5 Mbit/s to 2000 Mbit/s.
	Size pulumi.IntPtrInput
	// Indicates the bandwidth status.
	Status pulumi.StringPtrInput
}

func (BandwidthState) ElementType

func (BandwidthState) ElementType() reflect.Type

type Eip

type Eip struct {
	pulumi.CustomResourceState

	// The IPv4 address of the EIP.
	Address pulumi.StringOutput `pulumi:"address"`
	// Deprecated: Deprecated
	AutoPay pulumi.StringPtrOutput `pulumi:"autoPay"`
	// Specifies whether auto renew is enabled.\
	// Valid values are **true** and **false**. Defaults to **false**.
	AutoRenew pulumi.StringPtrOutput `pulumi:"autoRenew"`
	// Specifies the bandwidth configuration.\
	// The object structure is documented below.
	Bandwidth EipBandwidthOutput `pulumi:"bandwidth"`
	// Specifies the charging mode of the EIP.\
	// The valid values are **prePaid** and **postPaid**, defaults to **postPaid**. Changing this will create a new resource.
	ChargingMode pulumi.StringOutput `pulumi:"chargingMode"`
	// Specifies the enterprise project ID to which the EIP belongs.\
	// Changing this will create a new resource.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// The IPv6 address of the EIP.
	Ipv6Address pulumi.StringOutput `pulumi:"ipv6Address"`
	// Specifies the bandwidth name.\
	// The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
	// This parameter is mandatory when `shareType` is set to **PER**.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the charging period of the EIP.
	// + If `periodUnit` is set to **month**, the value ranges from `1` to `9`.
	// + If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// Specifies the charging period unit of the EIP.\
	// Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this will create a new resource.
	PeriodUnit pulumi.StringPtrOutput `pulumi:"periodUnit"`
	// The port ID which the EIP associated with.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// The private IP address bound to the EIP.
	PrivateIp pulumi.StringOutput `pulumi:"privateIp"`
	// Specifies the EIP configuration.\
	// The object structure is documented below.
	Publicip EipPublicipOutput `pulumi:"publicip"`
	// Specifies the region in which to create the EIP resource.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The status of EIP.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the key/value pairs to associate with the EIP.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an EIP resource within HuaweiCloud.

## Example Usage ### Create an EIP with Dedicated Bandwidth

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Vpc.NewEip(ctx, "dedicated", &Vpc.EipArgs{
			Publicip: &vpc.EipPublicipArgs{
				Type: pulumi.String("5_bgp"),
			},
			Bandwidth: &vpc.EipBandwidthArgs{
				ShareType:  pulumi.String("PER"),
				Name:       pulumi.Any(_var.Bandwidth_name),
				Size:       pulumi.Int(10),
				ChargeMode: pulumi.String("traffic"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create an EIP with Shared Bandwidth

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := Vpc.NewBandwidth(ctx, "test", &Vpc.BandwidthArgs{
			Size: pulumi.Int(5),
		})
		if err != nil {
			return err
		}
		_, err = Vpc.NewEip(ctx, "shared", &Vpc.EipArgs{
			Publicip: &vpc.EipPublicipArgs{
				Type: pulumi.String("5_bgp"),
			},
			Bandwidth: &vpc.EipBandwidthArgs{
				ShareType: pulumi.String("WHOLE"),
				Id:        test.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

EIPs can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/eip:Eip test 2c7f39f3-702b-48d1-940c-b50384177ee1

```

func GetEip

func GetEip(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EipState, opts ...pulumi.ResourceOption) (*Eip, error)

GetEip gets an existing Eip 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 NewEip

func NewEip(ctx *pulumi.Context,
	name string, args *EipArgs, opts ...pulumi.ResourceOption) (*Eip, error)

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

func (*Eip) ElementType

func (*Eip) ElementType() reflect.Type

func (*Eip) ToEipOutput

func (i *Eip) ToEipOutput() EipOutput

func (*Eip) ToEipOutputWithContext

func (i *Eip) ToEipOutputWithContext(ctx context.Context) EipOutput

type EipArgs

type EipArgs struct {
	// Deprecated: Deprecated
	AutoPay pulumi.StringPtrInput
	// Specifies whether auto renew is enabled.\
	// Valid values are **true** and **false**. Defaults to **false**.
	AutoRenew pulumi.StringPtrInput
	// Specifies the bandwidth configuration.\
	// The object structure is documented below.
	Bandwidth EipBandwidthInput
	// Specifies the charging mode of the EIP.\
	// The valid values are **prePaid** and **postPaid**, defaults to **postPaid**. Changing this will create a new resource.
	ChargingMode pulumi.StringPtrInput
	// Specifies the enterprise project ID to which the EIP belongs.\
	// Changing this will create a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the bandwidth name.\
	// The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
	// This parameter is mandatory when `shareType` is set to **PER**.
	Name pulumi.StringPtrInput
	// Specifies the charging period of the EIP.
	// + If `periodUnit` is set to **month**, the value ranges from `1` to `9`.
	// + If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
	Period pulumi.IntPtrInput
	// Specifies the charging period unit of the EIP.\
	// Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this will create a new resource.
	PeriodUnit pulumi.StringPtrInput
	// Specifies the EIP configuration.\
	// The object structure is documented below.
	Publicip EipPublicipInput
	// Specifies the region in which to create the EIP resource.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the EIP.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Eip resource.

func (EipArgs) ElementType

func (EipArgs) ElementType() reflect.Type

type EipArray

type EipArray []EipInput

func (EipArray) ElementType

func (EipArray) ElementType() reflect.Type

func (EipArray) ToEipArrayOutput

func (i EipArray) ToEipArrayOutput() EipArrayOutput

func (EipArray) ToEipArrayOutputWithContext

func (i EipArray) ToEipArrayOutputWithContext(ctx context.Context) EipArrayOutput

type EipArrayInput

type EipArrayInput interface {
	pulumi.Input

	ToEipArrayOutput() EipArrayOutput
	ToEipArrayOutputWithContext(context.Context) EipArrayOutput
}

EipArrayInput is an input type that accepts EipArray and EipArrayOutput values. You can construct a concrete instance of `EipArrayInput` via:

EipArray{ EipArgs{...} }

type EipArrayOutput

type EipArrayOutput struct{ *pulumi.OutputState }

func (EipArrayOutput) ElementType

func (EipArrayOutput) ElementType() reflect.Type

func (EipArrayOutput) Index

func (EipArrayOutput) ToEipArrayOutput

func (o EipArrayOutput) ToEipArrayOutput() EipArrayOutput

func (EipArrayOutput) ToEipArrayOutputWithContext

func (o EipArrayOutput) ToEipArrayOutputWithContext(ctx context.Context) EipArrayOutput

type EipAssociate

type EipAssociate struct {
	pulumi.CustomResourceState

	// Specifies a private IP address to associate with the EIP.
	// Changing this creates a new resource.
	FixedIp pulumi.StringOutput `pulumi:"fixedIp"`
	// The MAC address of the private IP.
	MacAddress pulumi.StringOutput `pulumi:"macAddress"`
	// Specifies the ID of the network to which the **fixed_ip** belongs.
	// It is mandatory when `fixedIp` is set. Changing this creates a new resource.
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// Specifies an existing port ID to associate with the EIP.
	// This parameter and `fixedIp` are alternative. Changing this creates a new resource.
	PortId pulumi.StringOutput `pulumi:"portId"`
	// Specifies the EIP address to associate. Changing this creates a new resource.
	PublicIp pulumi.StringOutput `pulumi:"publicIp"`
	// Specifies the region in which to associate the EIP. If omitted, the provider-level
	// region will be used. Changing this creates a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The status of EIP, should be **BOUND**.
	Status pulumi.StringOutput `pulumi:"status"`
}

Associates an EIP to a specified IP address or port.

## Example Usage ### Associate with a fixed IP

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		publicAddress := cfg.RequireObject("publicAddress")
		networkId := cfg.RequireObject("networkId")
		_, err := Vpc.NewEipAssociate(ctx, "associated", &Vpc.EipAssociateArgs{
			PublicIp:  pulumi.Any(publicAddress),
			NetworkId: pulumi.Any(networkId),
			FixedIp:   pulumi.String("192.168.0.100"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Associate with a port

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		networkId := cfg.RequireObject("networkId")
		myport, err := Vpc.GetPort(ctx, &vpc.GetPortArgs{
			NetworkId: pulumi.StringRef(networkId),
			FixedIp:   pulumi.StringRef("192.168.0.100"),
		}, nil)
		if err != nil {
			return err
		}
		myeip, err := Vpc.NewEip(ctx, "myeip", &Vpc.EipArgs{
			Publicip: &vpc.EipPublicipArgs{
				Type: pulumi.String("5_bgp"),
			},
			Bandwidth: &vpc.EipBandwidthArgs{
				Name:       pulumi.String("test"),
				Size:       pulumi.Int(5),
				ShareType:  pulumi.String("PER"),
				ChargeMode: pulumi.String("traffic"),
			},
		})
		if err != nil {
			return err
		}
		_, err = Vpc.NewEipAssociate(ctx, "associated", &Vpc.EipAssociateArgs{
			PublicIp: myeip.Address,
			PortId:   pulumi.String(myport.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

EIP associations can be imported using the `id` of the EIP, e.g.

```sh

$ pulumi import huaweicloud:Vpc/eipAssociate:EipAssociate eip 2c7f39f3-702b-48d1-940c-b50384177ee1

```

func GetEipAssociate

func GetEipAssociate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EipAssociateState, opts ...pulumi.ResourceOption) (*EipAssociate, error)

GetEipAssociate gets an existing EipAssociate 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 NewEipAssociate

func NewEipAssociate(ctx *pulumi.Context,
	name string, args *EipAssociateArgs, opts ...pulumi.ResourceOption) (*EipAssociate, error)

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

func (*EipAssociate) ElementType

func (*EipAssociate) ElementType() reflect.Type

func (*EipAssociate) ToEipAssociateOutput

func (i *EipAssociate) ToEipAssociateOutput() EipAssociateOutput

func (*EipAssociate) ToEipAssociateOutputWithContext

func (i *EipAssociate) ToEipAssociateOutputWithContext(ctx context.Context) EipAssociateOutput

type EipAssociateArgs

type EipAssociateArgs struct {
	// Specifies a private IP address to associate with the EIP.
	// Changing this creates a new resource.
	FixedIp pulumi.StringPtrInput
	// Specifies the ID of the network to which the **fixed_ip** belongs.
	// It is mandatory when `fixedIp` is set. Changing this creates a new resource.
	NetworkId pulumi.StringPtrInput
	// Specifies an existing port ID to associate with the EIP.
	// This parameter and `fixedIp` are alternative. Changing this creates a new resource.
	PortId pulumi.StringPtrInput
	// Specifies the EIP address to associate. Changing this creates a new resource.
	PublicIp pulumi.StringInput
	// Specifies the region in which to associate the EIP. If omitted, the provider-level
	// region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a EipAssociate resource.

func (EipAssociateArgs) ElementType

func (EipAssociateArgs) ElementType() reflect.Type

type EipAssociateArray

type EipAssociateArray []EipAssociateInput

func (EipAssociateArray) ElementType

func (EipAssociateArray) ElementType() reflect.Type

func (EipAssociateArray) ToEipAssociateArrayOutput

func (i EipAssociateArray) ToEipAssociateArrayOutput() EipAssociateArrayOutput

func (EipAssociateArray) ToEipAssociateArrayOutputWithContext

func (i EipAssociateArray) ToEipAssociateArrayOutputWithContext(ctx context.Context) EipAssociateArrayOutput

type EipAssociateArrayInput

type EipAssociateArrayInput interface {
	pulumi.Input

	ToEipAssociateArrayOutput() EipAssociateArrayOutput
	ToEipAssociateArrayOutputWithContext(context.Context) EipAssociateArrayOutput
}

EipAssociateArrayInput is an input type that accepts EipAssociateArray and EipAssociateArrayOutput values. You can construct a concrete instance of `EipAssociateArrayInput` via:

EipAssociateArray{ EipAssociateArgs{...} }

type EipAssociateArrayOutput

type EipAssociateArrayOutput struct{ *pulumi.OutputState }

func (EipAssociateArrayOutput) ElementType

func (EipAssociateArrayOutput) ElementType() reflect.Type

func (EipAssociateArrayOutput) Index

func (EipAssociateArrayOutput) ToEipAssociateArrayOutput

func (o EipAssociateArrayOutput) ToEipAssociateArrayOutput() EipAssociateArrayOutput

func (EipAssociateArrayOutput) ToEipAssociateArrayOutputWithContext

func (o EipAssociateArrayOutput) ToEipAssociateArrayOutputWithContext(ctx context.Context) EipAssociateArrayOutput

type EipAssociateInput

type EipAssociateInput interface {
	pulumi.Input

	ToEipAssociateOutput() EipAssociateOutput
	ToEipAssociateOutputWithContext(ctx context.Context) EipAssociateOutput
}

type EipAssociateMap

type EipAssociateMap map[string]EipAssociateInput

func (EipAssociateMap) ElementType

func (EipAssociateMap) ElementType() reflect.Type

func (EipAssociateMap) ToEipAssociateMapOutput

func (i EipAssociateMap) ToEipAssociateMapOutput() EipAssociateMapOutput

func (EipAssociateMap) ToEipAssociateMapOutputWithContext

func (i EipAssociateMap) ToEipAssociateMapOutputWithContext(ctx context.Context) EipAssociateMapOutput

type EipAssociateMapInput

type EipAssociateMapInput interface {
	pulumi.Input

	ToEipAssociateMapOutput() EipAssociateMapOutput
	ToEipAssociateMapOutputWithContext(context.Context) EipAssociateMapOutput
}

EipAssociateMapInput is an input type that accepts EipAssociateMap and EipAssociateMapOutput values. You can construct a concrete instance of `EipAssociateMapInput` via:

EipAssociateMap{ "key": EipAssociateArgs{...} }

type EipAssociateMapOutput

type EipAssociateMapOutput struct{ *pulumi.OutputState }

func (EipAssociateMapOutput) ElementType

func (EipAssociateMapOutput) ElementType() reflect.Type

func (EipAssociateMapOutput) MapIndex

func (EipAssociateMapOutput) ToEipAssociateMapOutput

func (o EipAssociateMapOutput) ToEipAssociateMapOutput() EipAssociateMapOutput

func (EipAssociateMapOutput) ToEipAssociateMapOutputWithContext

func (o EipAssociateMapOutput) ToEipAssociateMapOutputWithContext(ctx context.Context) EipAssociateMapOutput

type EipAssociateOutput

type EipAssociateOutput struct{ *pulumi.OutputState }

func (EipAssociateOutput) ElementType

func (EipAssociateOutput) ElementType() reflect.Type

func (EipAssociateOutput) FixedIp

Specifies a private IP address to associate with the EIP. Changing this creates a new resource.

func (EipAssociateOutput) MacAddress

func (o EipAssociateOutput) MacAddress() pulumi.StringOutput

The MAC address of the private IP.

func (EipAssociateOutput) NetworkId

func (o EipAssociateOutput) NetworkId() pulumi.StringOutput

Specifies the ID of the network to which the **fixed_ip** belongs. It is mandatory when `fixedIp` is set. Changing this creates a new resource.

func (EipAssociateOutput) PortId

Specifies an existing port ID to associate with the EIP. This parameter and `fixedIp` are alternative. Changing this creates a new resource.

func (EipAssociateOutput) PublicIp

func (o EipAssociateOutput) PublicIp() pulumi.StringOutput

Specifies the EIP address to associate. Changing this creates a new resource.

func (EipAssociateOutput) Region

Specifies the region in which to associate the EIP. If omitted, the provider-level region will be used. Changing this creates a new resource.

func (EipAssociateOutput) Status

The status of EIP, should be **BOUND**.

func (EipAssociateOutput) ToEipAssociateOutput

func (o EipAssociateOutput) ToEipAssociateOutput() EipAssociateOutput

func (EipAssociateOutput) ToEipAssociateOutputWithContext

func (o EipAssociateOutput) ToEipAssociateOutputWithContext(ctx context.Context) EipAssociateOutput

type EipAssociateState

type EipAssociateState struct {
	// Specifies a private IP address to associate with the EIP.
	// Changing this creates a new resource.
	FixedIp pulumi.StringPtrInput
	// The MAC address of the private IP.
	MacAddress pulumi.StringPtrInput
	// Specifies the ID of the network to which the **fixed_ip** belongs.
	// It is mandatory when `fixedIp` is set. Changing this creates a new resource.
	NetworkId pulumi.StringPtrInput
	// Specifies an existing port ID to associate with the EIP.
	// This parameter and `fixedIp` are alternative. Changing this creates a new resource.
	PortId pulumi.StringPtrInput
	// Specifies the EIP address to associate. Changing this creates a new resource.
	PublicIp pulumi.StringPtrInput
	// Specifies the region in which to associate the EIP. If omitted, the provider-level
	// region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// The status of EIP, should be **BOUND**.
	Status pulumi.StringPtrInput
}

func (EipAssociateState) ElementType

func (EipAssociateState) ElementType() reflect.Type

type EipBandwidth

type EipBandwidth struct {
	// Specifies whether the bandwidth is billed by traffic or by bandwidth
	// size. The value can be **traffic** or **bandwidth**. Changing this will create a new resource.
	ChargeMode *string `pulumi:"chargeMode"`
	// The shared bandwidth ID.\
	// This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this will create a new resource.
	Id *string `pulumi:"id"`
	// Specifies the bandwidth name.\
	// The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
	// This parameter is mandatory when `shareType` is set to **PER**.
	Name *string `pulumi:"name"`
	// Specifies whether the bandwidth is dedicated or shared.\
	// Changing this will create a new resource. Possible values are as follows:
	// + **PER**: Dedicated bandwidth
	// + **WHOLE**: Shared bandwidth
	ShareType string `pulumi:"shareType"`
	// The bandwidth size.\
	// The value ranges from `1` to `300` Mbit/s. This parameter is mandatory when `shareType` is set to **PER**.
	Size *int `pulumi:"size"`
}

type EipBandwidthArgs

type EipBandwidthArgs struct {
	// Specifies whether the bandwidth is billed by traffic or by bandwidth
	// size. The value can be **traffic** or **bandwidth**. Changing this will create a new resource.
	ChargeMode pulumi.StringPtrInput `pulumi:"chargeMode"`
	// The shared bandwidth ID.\
	// This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this will create a new resource.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the bandwidth name.\
	// The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
	// This parameter is mandatory when `shareType` is set to **PER**.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies whether the bandwidth is dedicated or shared.\
	// Changing this will create a new resource. Possible values are as follows:
	// + **PER**: Dedicated bandwidth
	// + **WHOLE**: Shared bandwidth
	ShareType pulumi.StringInput `pulumi:"shareType"`
	// The bandwidth size.\
	// The value ranges from `1` to `300` Mbit/s. This parameter is mandatory when `shareType` is set to **PER**.
	Size pulumi.IntPtrInput `pulumi:"size"`
}

func (EipBandwidthArgs) ElementType

func (EipBandwidthArgs) ElementType() reflect.Type

func (EipBandwidthArgs) ToEipBandwidthOutput

func (i EipBandwidthArgs) ToEipBandwidthOutput() EipBandwidthOutput

func (EipBandwidthArgs) ToEipBandwidthOutputWithContext

func (i EipBandwidthArgs) ToEipBandwidthOutputWithContext(ctx context.Context) EipBandwidthOutput

func (EipBandwidthArgs) ToEipBandwidthPtrOutput

func (i EipBandwidthArgs) ToEipBandwidthPtrOutput() EipBandwidthPtrOutput

func (EipBandwidthArgs) ToEipBandwidthPtrOutputWithContext

func (i EipBandwidthArgs) ToEipBandwidthPtrOutputWithContext(ctx context.Context) EipBandwidthPtrOutput

type EipBandwidthInput

type EipBandwidthInput interface {
	pulumi.Input

	ToEipBandwidthOutput() EipBandwidthOutput
	ToEipBandwidthOutputWithContext(context.Context) EipBandwidthOutput
}

EipBandwidthInput is an input type that accepts EipBandwidthArgs and EipBandwidthOutput values. You can construct a concrete instance of `EipBandwidthInput` via:

EipBandwidthArgs{...}

type EipBandwidthOutput

type EipBandwidthOutput struct{ *pulumi.OutputState }

func (EipBandwidthOutput) ChargeMode

func (o EipBandwidthOutput) ChargeMode() pulumi.StringPtrOutput

Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be **traffic** or **bandwidth**. Changing this will create a new resource.

func (EipBandwidthOutput) ElementType

func (EipBandwidthOutput) ElementType() reflect.Type

func (EipBandwidthOutput) Id

The shared bandwidth ID.\ This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this will create a new resource.

func (EipBandwidthOutput) Name

Specifies the bandwidth name.\ The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.). This parameter is mandatory when `shareType` is set to **PER**.

func (EipBandwidthOutput) ShareType

func (o EipBandwidthOutput) ShareType() pulumi.StringOutput

Specifies whether the bandwidth is dedicated or shared.\ Changing this will create a new resource. Possible values are as follows: + **PER**: Dedicated bandwidth + **WHOLE**: Shared bandwidth

func (EipBandwidthOutput) Size

The bandwidth size.\ The value ranges from `1` to `300` Mbit/s. This parameter is mandatory when `shareType` is set to **PER**.

func (EipBandwidthOutput) ToEipBandwidthOutput

func (o EipBandwidthOutput) ToEipBandwidthOutput() EipBandwidthOutput

func (EipBandwidthOutput) ToEipBandwidthOutputWithContext

func (o EipBandwidthOutput) ToEipBandwidthOutputWithContext(ctx context.Context) EipBandwidthOutput

func (EipBandwidthOutput) ToEipBandwidthPtrOutput

func (o EipBandwidthOutput) ToEipBandwidthPtrOutput() EipBandwidthPtrOutput

func (EipBandwidthOutput) ToEipBandwidthPtrOutputWithContext

func (o EipBandwidthOutput) ToEipBandwidthPtrOutputWithContext(ctx context.Context) EipBandwidthPtrOutput

type EipBandwidthPtrInput

type EipBandwidthPtrInput interface {
	pulumi.Input

	ToEipBandwidthPtrOutput() EipBandwidthPtrOutput
	ToEipBandwidthPtrOutputWithContext(context.Context) EipBandwidthPtrOutput
}

EipBandwidthPtrInput is an input type that accepts EipBandwidthArgs, EipBandwidthPtr and EipBandwidthPtrOutput values. You can construct a concrete instance of `EipBandwidthPtrInput` via:

        EipBandwidthArgs{...}

or:

        nil

type EipBandwidthPtrOutput

type EipBandwidthPtrOutput struct{ *pulumi.OutputState }

func (EipBandwidthPtrOutput) ChargeMode

Specifies whether the bandwidth is billed by traffic or by bandwidth size. The value can be **traffic** or **bandwidth**. Changing this will create a new resource.

func (EipBandwidthPtrOutput) Elem

func (EipBandwidthPtrOutput) ElementType

func (EipBandwidthPtrOutput) ElementType() reflect.Type

func (EipBandwidthPtrOutput) Id

The shared bandwidth ID.\ This parameter is mandatory when `shareType` is set to **WHOLE**. Changing this will create a new resource.

func (EipBandwidthPtrOutput) Name

Specifies the bandwidth name.\ The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.). This parameter is mandatory when `shareType` is set to **PER**.

func (EipBandwidthPtrOutput) ShareType

Specifies whether the bandwidth is dedicated or shared.\ Changing this will create a new resource. Possible values are as follows: + **PER**: Dedicated bandwidth + **WHOLE**: Shared bandwidth

func (EipBandwidthPtrOutput) Size

The bandwidth size.\ The value ranges from `1` to `300` Mbit/s. This parameter is mandatory when `shareType` is set to **PER**.

func (EipBandwidthPtrOutput) ToEipBandwidthPtrOutput

func (o EipBandwidthPtrOutput) ToEipBandwidthPtrOutput() EipBandwidthPtrOutput

func (EipBandwidthPtrOutput) ToEipBandwidthPtrOutputWithContext

func (o EipBandwidthPtrOutput) ToEipBandwidthPtrOutputWithContext(ctx context.Context) EipBandwidthPtrOutput

type EipInput

type EipInput interface {
	pulumi.Input

	ToEipOutput() EipOutput
	ToEipOutputWithContext(ctx context.Context) EipOutput
}

type EipMap

type EipMap map[string]EipInput

func (EipMap) ElementType

func (EipMap) ElementType() reflect.Type

func (EipMap) ToEipMapOutput

func (i EipMap) ToEipMapOutput() EipMapOutput

func (EipMap) ToEipMapOutputWithContext

func (i EipMap) ToEipMapOutputWithContext(ctx context.Context) EipMapOutput

type EipMapInput

type EipMapInput interface {
	pulumi.Input

	ToEipMapOutput() EipMapOutput
	ToEipMapOutputWithContext(context.Context) EipMapOutput
}

EipMapInput is an input type that accepts EipMap and EipMapOutput values. You can construct a concrete instance of `EipMapInput` via:

EipMap{ "key": EipArgs{...} }

type EipMapOutput

type EipMapOutput struct{ *pulumi.OutputState }

func (EipMapOutput) ElementType

func (EipMapOutput) ElementType() reflect.Type

func (EipMapOutput) MapIndex

func (o EipMapOutput) MapIndex(k pulumi.StringInput) EipOutput

func (EipMapOutput) ToEipMapOutput

func (o EipMapOutput) ToEipMapOutput() EipMapOutput

func (EipMapOutput) ToEipMapOutputWithContext

func (o EipMapOutput) ToEipMapOutputWithContext(ctx context.Context) EipMapOutput

type EipOutput

type EipOutput struct{ *pulumi.OutputState }

func (EipOutput) Address

func (o EipOutput) Address() pulumi.StringOutput

The IPv4 address of the EIP.

func (EipOutput) AutoPay deprecated

func (o EipOutput) AutoPay() pulumi.StringPtrOutput

Deprecated: Deprecated

func (EipOutput) AutoRenew

func (o EipOutput) AutoRenew() pulumi.StringPtrOutput

Specifies whether auto renew is enabled.\ Valid values are **true** and **false**. Defaults to **false**.

func (EipOutput) Bandwidth

func (o EipOutput) Bandwidth() EipBandwidthOutput

Specifies the bandwidth configuration.\ The object structure is documented below.

func (EipOutput) ChargingMode

func (o EipOutput) ChargingMode() pulumi.StringOutput

Specifies the charging mode of the EIP.\ The valid values are **prePaid** and **postPaid**, defaults to **postPaid**. Changing this will create a new resource.

func (EipOutput) ElementType

func (EipOutput) ElementType() reflect.Type

func (EipOutput) EnterpriseProjectId

func (o EipOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project ID to which the EIP belongs.\ Changing this will create a new resource.

func (EipOutput) Ipv6Address

func (o EipOutput) Ipv6Address() pulumi.StringOutput

The IPv6 address of the EIP.

func (EipOutput) Name

func (o EipOutput) Name() pulumi.StringOutput

Specifies the bandwidth name.\ The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.). This parameter is mandatory when `shareType` is set to **PER**.

func (EipOutput) Period

func (o EipOutput) Period() pulumi.IntPtrOutput

Specifies the charging period of the EIP. + If `periodUnit` is set to **month**, the value ranges from `1` to `9`. + If `periodUnit` is set to **year**, the value ranges from `1` to `3`.

func (EipOutput) PeriodUnit

func (o EipOutput) PeriodUnit() pulumi.StringPtrOutput

Specifies the charging period unit of the EIP.\ Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**. Changing this will create a new resource.

func (EipOutput) PortId

func (o EipOutput) PortId() pulumi.StringOutput

The port ID which the EIP associated with.

func (EipOutput) PrivateIp

func (o EipOutput) PrivateIp() pulumi.StringOutput

The private IP address bound to the EIP.

func (EipOutput) Publicip

func (o EipOutput) Publicip() EipPublicipOutput

Specifies the EIP configuration.\ The object structure is documented below.

func (EipOutput) Region

func (o EipOutput) Region() pulumi.StringOutput

Specifies the region in which to create the EIP resource.\ If omitted, the provider-level region will be used. Changing this will create a new resource.

func (EipOutput) Status

func (o EipOutput) Status() pulumi.StringOutput

The status of EIP.

func (EipOutput) Tags

func (o EipOutput) Tags() pulumi.StringMapOutput

Specifies the key/value pairs to associate with the EIP.

func (EipOutput) ToEipOutput

func (o EipOutput) ToEipOutput() EipOutput

func (EipOutput) ToEipOutputWithContext

func (o EipOutput) ToEipOutputWithContext(ctx context.Context) EipOutput

type EipPublicip

type EipPublicip struct {
	// Specifies the EIP address to be assigned.\
	// The value must be a valid **IPv4** address in the available IP address range.
	// The system automatically assigns an EIP if you do not specify it. Changing this will create a new resource.
	IpAddress *string `pulumi:"ipAddress"`
	// Specifies the IP version, either `4` (default) or `6`.
	IpVersion *int `pulumi:"ipVersion"`
	// The port ID which the EIP associated with.
	PortId *string `pulumi:"portId"`
	// Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP)
	// and **5_sbgp** (static BGP), the default value is **5_bgp**. Changing this will create a new resource.
	Type *string `pulumi:"type"`
}

type EipPublicipArgs

type EipPublicipArgs struct {
	// Specifies the EIP address to be assigned.\
	// The value must be a valid **IPv4** address in the available IP address range.
	// The system automatically assigns an EIP if you do not specify it. Changing this will create a new resource.
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	// Specifies the IP version, either `4` (default) or `6`.
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	// The port ID which the EIP associated with.
	PortId pulumi.StringPtrInput `pulumi:"portId"`
	// Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP)
	// and **5_sbgp** (static BGP), the default value is **5_bgp**. Changing this will create a new resource.
	Type pulumi.StringPtrInput `pulumi:"type"`
}

func (EipPublicipArgs) ElementType

func (EipPublicipArgs) ElementType() reflect.Type

func (EipPublicipArgs) ToEipPublicipOutput

func (i EipPublicipArgs) ToEipPublicipOutput() EipPublicipOutput

func (EipPublicipArgs) ToEipPublicipOutputWithContext

func (i EipPublicipArgs) ToEipPublicipOutputWithContext(ctx context.Context) EipPublicipOutput

func (EipPublicipArgs) ToEipPublicipPtrOutput

func (i EipPublicipArgs) ToEipPublicipPtrOutput() EipPublicipPtrOutput

func (EipPublicipArgs) ToEipPublicipPtrOutputWithContext

func (i EipPublicipArgs) ToEipPublicipPtrOutputWithContext(ctx context.Context) EipPublicipPtrOutput

type EipPublicipInput

type EipPublicipInput interface {
	pulumi.Input

	ToEipPublicipOutput() EipPublicipOutput
	ToEipPublicipOutputWithContext(context.Context) EipPublicipOutput
}

EipPublicipInput is an input type that accepts EipPublicipArgs and EipPublicipOutput values. You can construct a concrete instance of `EipPublicipInput` via:

EipPublicipArgs{...}

type EipPublicipOutput

type EipPublicipOutput struct{ *pulumi.OutputState }

func (EipPublicipOutput) ElementType

func (EipPublicipOutput) ElementType() reflect.Type

func (EipPublicipOutput) IpAddress

Specifies the EIP address to be assigned.\ The value must be a valid **IPv4** address in the available IP address range. The system automatically assigns an EIP if you do not specify it. Changing this will create a new resource.

func (EipPublicipOutput) IpVersion

func (o EipPublicipOutput) IpVersion() pulumi.IntPtrOutput

Specifies the IP version, either `4` (default) or `6`.

func (EipPublicipOutput) PortId

The port ID which the EIP associated with.

func (EipPublicipOutput) ToEipPublicipOutput

func (o EipPublicipOutput) ToEipPublicipOutput() EipPublicipOutput

func (EipPublicipOutput) ToEipPublicipOutputWithContext

func (o EipPublicipOutput) ToEipPublicipOutputWithContext(ctx context.Context) EipPublicipOutput

func (EipPublicipOutput) ToEipPublicipPtrOutput

func (o EipPublicipOutput) ToEipPublicipPtrOutput() EipPublicipPtrOutput

func (EipPublicipOutput) ToEipPublicipPtrOutputWithContext

func (o EipPublicipOutput) ToEipPublicipPtrOutputWithContext(ctx context.Context) EipPublicipPtrOutput

func (EipPublicipOutput) Type

Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP) and **5_sbgp** (static BGP), the default value is **5_bgp**. Changing this will create a new resource.

type EipPublicipPtrInput

type EipPublicipPtrInput interface {
	pulumi.Input

	ToEipPublicipPtrOutput() EipPublicipPtrOutput
	ToEipPublicipPtrOutputWithContext(context.Context) EipPublicipPtrOutput
}

EipPublicipPtrInput is an input type that accepts EipPublicipArgs, EipPublicipPtr and EipPublicipPtrOutput values. You can construct a concrete instance of `EipPublicipPtrInput` via:

        EipPublicipArgs{...}

or:

        nil

func EipPublicipPtr

func EipPublicipPtr(v *EipPublicipArgs) EipPublicipPtrInput

type EipPublicipPtrOutput

type EipPublicipPtrOutput struct{ *pulumi.OutputState }

func (EipPublicipPtrOutput) Elem

func (EipPublicipPtrOutput) ElementType

func (EipPublicipPtrOutput) ElementType() reflect.Type

func (EipPublicipPtrOutput) IpAddress

Specifies the EIP address to be assigned.\ The value must be a valid **IPv4** address in the available IP address range. The system automatically assigns an EIP if you do not specify it. Changing this will create a new resource.

func (EipPublicipPtrOutput) IpVersion

Specifies the IP version, either `4` (default) or `6`.

func (EipPublicipPtrOutput) PortId

The port ID which the EIP associated with.

func (EipPublicipPtrOutput) ToEipPublicipPtrOutput

func (o EipPublicipPtrOutput) ToEipPublicipPtrOutput() EipPublicipPtrOutput

func (EipPublicipPtrOutput) ToEipPublicipPtrOutputWithContext

func (o EipPublicipPtrOutput) ToEipPublicipPtrOutputWithContext(ctx context.Context) EipPublicipPtrOutput

func (EipPublicipPtrOutput) Type

Specifies the EIP type. Possible values are **5_bgp** (dynamic BGP) and **5_sbgp** (static BGP), the default value is **5_bgp**. Changing this will create a new resource.

type EipState

type EipState struct {
	// The IPv4 address of the EIP.
	Address pulumi.StringPtrInput
	// Deprecated: Deprecated
	AutoPay pulumi.StringPtrInput
	// Specifies whether auto renew is enabled.\
	// Valid values are **true** and **false**. Defaults to **false**.
	AutoRenew pulumi.StringPtrInput
	// Specifies the bandwidth configuration.\
	// The object structure is documented below.
	Bandwidth EipBandwidthPtrInput
	// Specifies the charging mode of the EIP.\
	// The valid values are **prePaid** and **postPaid**, defaults to **postPaid**. Changing this will create a new resource.
	ChargingMode pulumi.StringPtrInput
	// Specifies the enterprise project ID to which the EIP belongs.\
	// Changing this will create a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// The IPv6 address of the EIP.
	Ipv6Address pulumi.StringPtrInput
	// Specifies the bandwidth name.\
	// The name can contain `1` to `64` characters, including letters, digits, underscores (_), hyphens (-), and periods (.).
	// This parameter is mandatory when `shareType` is set to **PER**.
	Name pulumi.StringPtrInput
	// Specifies the charging period of the EIP.
	// + If `periodUnit` is set to **month**, the value ranges from `1` to `9`.
	// + If `periodUnit` is set to **year**, the value ranges from `1` to `3`.
	Period pulumi.IntPtrInput
	// Specifies the charging period unit of the EIP.\
	// Valid values are **month** and **year**. This parameter is mandatory if `chargingMode` is set to **prePaid**.
	// Changing this will create a new resource.
	PeriodUnit pulumi.StringPtrInput
	// The port ID which the EIP associated with.
	PortId pulumi.StringPtrInput
	// The private IP address bound to the EIP.
	PrivateIp pulumi.StringPtrInput
	// Specifies the EIP configuration.\
	// The object structure is documented below.
	Publicip EipPublicipPtrInput
	// Specifies the region in which to create the EIP resource.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// The status of EIP.
	Status pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the EIP.
	Tags pulumi.StringMapInput
}

func (EipState) ElementType

func (EipState) ElementType() reflect.Type

type GetIdsArgs

type GetIdsArgs struct {
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getIds.

type GetIdsOutputArgs

type GetIdsOutputArgs struct {
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getIds.

func (GetIdsOutputArgs) ElementType

func (GetIdsOutputArgs) ElementType() reflect.Type

type GetIdsResult

type GetIdsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id     string   `pulumi:"id"`
	Ids    []string `pulumi:"ids"`
	Region string   `pulumi:"region"`
}

A collection of values returned by getIds.

func GetIds

func GetIds(ctx *pulumi.Context, args *GetIdsArgs, opts ...pulumi.InvokeOption) (*GetIdsResult, error)

type GetIdsResultOutput

type GetIdsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getIds.

func GetIdsOutput

func GetIdsOutput(ctx *pulumi.Context, args GetIdsOutputArgs, opts ...pulumi.InvokeOption) GetIdsResultOutput

func (GetIdsResultOutput) ElementType

func (GetIdsResultOutput) ElementType() reflect.Type

func (GetIdsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetIdsResultOutput) Ids

func (GetIdsResultOutput) Region

func (GetIdsResultOutput) ToGetIdsResultOutput

func (o GetIdsResultOutput) ToGetIdsResultOutput() GetIdsResultOutput

func (GetIdsResultOutput) ToGetIdsResultOutputWithContext

func (o GetIdsResultOutput) ToGetIdsResultOutputWithContext(ctx context.Context) GetIdsResultOutput

type GetRouteTableRoute

type GetRouteTableRoute struct {
	// The description about the route.
	Description string `pulumi:"description"`
	// The destination address in the CIDR notation format
	Destination string `pulumi:"destination"`
	// The next hop.
	Nexthop string `pulumi:"nexthop"`
	// The route type.
	Type string `pulumi:"type"`
}

type GetRouteTableRouteArgs

type GetRouteTableRouteArgs struct {
	// The description about the route.
	Description pulumi.StringInput `pulumi:"description"`
	// The destination address in the CIDR notation format
	Destination pulumi.StringInput `pulumi:"destination"`
	// The next hop.
	Nexthop pulumi.StringInput `pulumi:"nexthop"`
	// The route type.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetRouteTableRouteArgs) ElementType

func (GetRouteTableRouteArgs) ElementType() reflect.Type

func (GetRouteTableRouteArgs) ToGetRouteTableRouteOutput

func (i GetRouteTableRouteArgs) ToGetRouteTableRouteOutput() GetRouteTableRouteOutput

func (GetRouteTableRouteArgs) ToGetRouteTableRouteOutputWithContext

func (i GetRouteTableRouteArgs) ToGetRouteTableRouteOutputWithContext(ctx context.Context) GetRouteTableRouteOutput

type GetRouteTableRouteArray

type GetRouteTableRouteArray []GetRouteTableRouteInput

func (GetRouteTableRouteArray) ElementType

func (GetRouteTableRouteArray) ElementType() reflect.Type

func (GetRouteTableRouteArray) ToGetRouteTableRouteArrayOutput

func (i GetRouteTableRouteArray) ToGetRouteTableRouteArrayOutput() GetRouteTableRouteArrayOutput

func (GetRouteTableRouteArray) ToGetRouteTableRouteArrayOutputWithContext

func (i GetRouteTableRouteArray) ToGetRouteTableRouteArrayOutputWithContext(ctx context.Context) GetRouteTableRouteArrayOutput

type GetRouteTableRouteArrayInput

type GetRouteTableRouteArrayInput interface {
	pulumi.Input

	ToGetRouteTableRouteArrayOutput() GetRouteTableRouteArrayOutput
	ToGetRouteTableRouteArrayOutputWithContext(context.Context) GetRouteTableRouteArrayOutput
}

GetRouteTableRouteArrayInput is an input type that accepts GetRouteTableRouteArray and GetRouteTableRouteArrayOutput values. You can construct a concrete instance of `GetRouteTableRouteArrayInput` via:

GetRouteTableRouteArray{ GetRouteTableRouteArgs{...} }

type GetRouteTableRouteArrayOutput

type GetRouteTableRouteArrayOutput struct{ *pulumi.OutputState }

func (GetRouteTableRouteArrayOutput) ElementType

func (GetRouteTableRouteArrayOutput) Index

func (GetRouteTableRouteArrayOutput) ToGetRouteTableRouteArrayOutput

func (o GetRouteTableRouteArrayOutput) ToGetRouteTableRouteArrayOutput() GetRouteTableRouteArrayOutput

func (GetRouteTableRouteArrayOutput) ToGetRouteTableRouteArrayOutputWithContext

func (o GetRouteTableRouteArrayOutput) ToGetRouteTableRouteArrayOutputWithContext(ctx context.Context) GetRouteTableRouteArrayOutput

type GetRouteTableRouteInput

type GetRouteTableRouteInput interface {
	pulumi.Input

	ToGetRouteTableRouteOutput() GetRouteTableRouteOutput
	ToGetRouteTableRouteOutputWithContext(context.Context) GetRouteTableRouteOutput
}

GetRouteTableRouteInput is an input type that accepts GetRouteTableRouteArgs and GetRouteTableRouteOutput values. You can construct a concrete instance of `GetRouteTableRouteInput` via:

GetRouteTableRouteArgs{...}

type GetRouteTableRouteOutput

type GetRouteTableRouteOutput struct{ *pulumi.OutputState }

func (GetRouteTableRouteOutput) Description

The description about the route.

func (GetRouteTableRouteOutput) Destination

The destination address in the CIDR notation format

func (GetRouteTableRouteOutput) ElementType

func (GetRouteTableRouteOutput) ElementType() reflect.Type

func (GetRouteTableRouteOutput) Nexthop

The next hop.

func (GetRouteTableRouteOutput) ToGetRouteTableRouteOutput

func (o GetRouteTableRouteOutput) ToGetRouteTableRouteOutput() GetRouteTableRouteOutput

func (GetRouteTableRouteOutput) ToGetRouteTableRouteOutputWithContext

func (o GetRouteTableRouteOutput) ToGetRouteTableRouteOutputWithContext(ctx context.Context) GetRouteTableRouteOutput

func (GetRouteTableRouteOutput) Type

The route type.

type GetSecgroupRuleType

type GetSecgroupRuleType struct {
	// The effective policy.
	Action string `pulumi:"action"`
	// The supplementary information about the security group rule.
	Description string `pulumi:"description"`
	// The direction of the rule. The value can be *egress* or *ingress*.
	Direction string `pulumi:"direction"`
	// The IP protocol version. The value can be *IPv4* or *IPv6*.
	Ethertype string `pulumi:"ethertype"`
	// The security group rule ID.
	Id           string `pulumi:"id"`
	PortRangeMax int    `pulumi:"portRangeMax"`
	PortRangeMin int    `pulumi:"portRangeMin"`
	// The port value range.
	Ports string `pulumi:"ports"`
	// The priority number.
	Priority int `pulumi:"priority"`
	// The protocol type.
	Protocol string `pulumi:"protocol"`
	// The ID of the remote address group.
	RemoteAddressGroupId string `pulumi:"remoteAddressGroupId"`
	// The ID of the peer security group.
	RemoteGroupId string `pulumi:"remoteGroupId"`
	// The remote IP address. The value can be in the CIDR format or IP addresses.
	RemoteIpPrefix string `pulumi:"remoteIpPrefix"`
}

type GetSecgroupRuleTypeArgs

type GetSecgroupRuleTypeArgs struct {
	// The effective policy.
	Action pulumi.StringInput `pulumi:"action"`
	// The supplementary information about the security group rule.
	Description pulumi.StringInput `pulumi:"description"`
	// The direction of the rule. The value can be *egress* or *ingress*.
	Direction pulumi.StringInput `pulumi:"direction"`
	// The IP protocol version. The value can be *IPv4* or *IPv6*.
	Ethertype pulumi.StringInput `pulumi:"ethertype"`
	// The security group rule ID.
	Id           pulumi.StringInput `pulumi:"id"`
	PortRangeMax pulumi.IntInput    `pulumi:"portRangeMax"`
	PortRangeMin pulumi.IntInput    `pulumi:"portRangeMin"`
	// The port value range.
	Ports pulumi.StringInput `pulumi:"ports"`
	// The priority number.
	Priority pulumi.IntInput `pulumi:"priority"`
	// The protocol type.
	Protocol pulumi.StringInput `pulumi:"protocol"`
	// The ID of the remote address group.
	RemoteAddressGroupId pulumi.StringInput `pulumi:"remoteAddressGroupId"`
	// The ID of the peer security group.
	RemoteGroupId pulumi.StringInput `pulumi:"remoteGroupId"`
	// The remote IP address. The value can be in the CIDR format or IP addresses.
	RemoteIpPrefix pulumi.StringInput `pulumi:"remoteIpPrefix"`
}

func (GetSecgroupRuleTypeArgs) ElementType

func (GetSecgroupRuleTypeArgs) ElementType() reflect.Type

func (GetSecgroupRuleTypeArgs) ToGetSecgroupRuleTypeOutput

func (i GetSecgroupRuleTypeArgs) ToGetSecgroupRuleTypeOutput() GetSecgroupRuleTypeOutput

func (GetSecgroupRuleTypeArgs) ToGetSecgroupRuleTypeOutputWithContext

func (i GetSecgroupRuleTypeArgs) ToGetSecgroupRuleTypeOutputWithContext(ctx context.Context) GetSecgroupRuleTypeOutput

type GetSecgroupRuleTypeArray

type GetSecgroupRuleTypeArray []GetSecgroupRuleTypeInput

func (GetSecgroupRuleTypeArray) ElementType

func (GetSecgroupRuleTypeArray) ElementType() reflect.Type

func (GetSecgroupRuleTypeArray) ToGetSecgroupRuleTypeArrayOutput

func (i GetSecgroupRuleTypeArray) ToGetSecgroupRuleTypeArrayOutput() GetSecgroupRuleTypeArrayOutput

func (GetSecgroupRuleTypeArray) ToGetSecgroupRuleTypeArrayOutputWithContext

func (i GetSecgroupRuleTypeArray) ToGetSecgroupRuleTypeArrayOutputWithContext(ctx context.Context) GetSecgroupRuleTypeArrayOutput

type GetSecgroupRuleTypeArrayInput

type GetSecgroupRuleTypeArrayInput interface {
	pulumi.Input

	ToGetSecgroupRuleTypeArrayOutput() GetSecgroupRuleTypeArrayOutput
	ToGetSecgroupRuleTypeArrayOutputWithContext(context.Context) GetSecgroupRuleTypeArrayOutput
}

GetSecgroupRuleTypeArrayInput is an input type that accepts GetSecgroupRuleTypeArray and GetSecgroupRuleTypeArrayOutput values. You can construct a concrete instance of `GetSecgroupRuleTypeArrayInput` via:

GetSecgroupRuleTypeArray{ GetSecgroupRuleTypeArgs{...} }

type GetSecgroupRuleTypeArrayOutput

type GetSecgroupRuleTypeArrayOutput struct{ *pulumi.OutputState }

func (GetSecgroupRuleTypeArrayOutput) ElementType

func (GetSecgroupRuleTypeArrayOutput) Index

func (GetSecgroupRuleTypeArrayOutput) ToGetSecgroupRuleTypeArrayOutput

func (o GetSecgroupRuleTypeArrayOutput) ToGetSecgroupRuleTypeArrayOutput() GetSecgroupRuleTypeArrayOutput

func (GetSecgroupRuleTypeArrayOutput) ToGetSecgroupRuleTypeArrayOutputWithContext

func (o GetSecgroupRuleTypeArrayOutput) ToGetSecgroupRuleTypeArrayOutputWithContext(ctx context.Context) GetSecgroupRuleTypeArrayOutput

type GetSecgroupRuleTypeInput

type GetSecgroupRuleTypeInput interface {
	pulumi.Input

	ToGetSecgroupRuleTypeOutput() GetSecgroupRuleTypeOutput
	ToGetSecgroupRuleTypeOutputWithContext(context.Context) GetSecgroupRuleTypeOutput
}

GetSecgroupRuleTypeInput is an input type that accepts GetSecgroupRuleTypeArgs and GetSecgroupRuleTypeOutput values. You can construct a concrete instance of `GetSecgroupRuleTypeInput` via:

GetSecgroupRuleTypeArgs{...}

type GetSecgroupRuleTypeOutput

type GetSecgroupRuleTypeOutput struct{ *pulumi.OutputState }

func (GetSecgroupRuleTypeOutput) Action

The effective policy.

func (GetSecgroupRuleTypeOutput) Description

The supplementary information about the security group rule.

func (GetSecgroupRuleTypeOutput) Direction

The direction of the rule. The value can be *egress* or *ingress*.

func (GetSecgroupRuleTypeOutput) ElementType

func (GetSecgroupRuleTypeOutput) ElementType() reflect.Type

func (GetSecgroupRuleTypeOutput) Ethertype

The IP protocol version. The value can be *IPv4* or *IPv6*.

func (GetSecgroupRuleTypeOutput) Id

The security group rule ID.

func (GetSecgroupRuleTypeOutput) PortRangeMax

func (o GetSecgroupRuleTypeOutput) PortRangeMax() pulumi.IntOutput

func (GetSecgroupRuleTypeOutput) PortRangeMin

func (o GetSecgroupRuleTypeOutput) PortRangeMin() pulumi.IntOutput

func (GetSecgroupRuleTypeOutput) Ports

The port value range.

func (GetSecgroupRuleTypeOutput) Priority

The priority number.

func (GetSecgroupRuleTypeOutput) Protocol

The protocol type.

func (GetSecgroupRuleTypeOutput) RemoteAddressGroupId

func (o GetSecgroupRuleTypeOutput) RemoteAddressGroupId() pulumi.StringOutput

The ID of the remote address group.

func (GetSecgroupRuleTypeOutput) RemoteGroupId

func (o GetSecgroupRuleTypeOutput) RemoteGroupId() pulumi.StringOutput

The ID of the peer security group.

func (GetSecgroupRuleTypeOutput) RemoteIpPrefix

func (o GetSecgroupRuleTypeOutput) RemoteIpPrefix() pulumi.StringOutput

The remote IP address. The value can be in the CIDR format or IP addresses.

func (GetSecgroupRuleTypeOutput) ToGetSecgroupRuleTypeOutput

func (o GetSecgroupRuleTypeOutput) ToGetSecgroupRuleTypeOutput() GetSecgroupRuleTypeOutput

func (GetSecgroupRuleTypeOutput) ToGetSecgroupRuleTypeOutputWithContext

func (o GetSecgroupRuleTypeOutput) ToGetSecgroupRuleTypeOutputWithContext(ctx context.Context) GetSecgroupRuleTypeOutput

type GetSecgroupsArgs

type GetSecgroupsArgs struct {
	// Specifies the description of the security group. The security groups can be
	// filtered by keywords in the description.
	Description *string `pulumi:"description"`
	// Specifies the enterprise project ID of the security group.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired security group.
	Id *string `pulumi:"id"`
	// Specifies the name of the security group.
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the security group list.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
}

A collection of arguments for invoking getSecgroups.

type GetSecgroupsOutputArgs

type GetSecgroupsOutputArgs struct {
	// Specifies the description of the security group. The security groups can be
	// filtered by keywords in the description.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the enterprise project ID of the security group.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired security group.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the security group.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the security group list.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
}

A collection of arguments for invoking getSecgroups.

func (GetSecgroupsOutputArgs) ElementType

func (GetSecgroupsOutputArgs) ElementType() reflect.Type

type GetSecgroupsResult

type GetSecgroupsResult struct {
	Description *string `pulumi:"description"`
	// The enterprise project ID of the security group.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// The security group ID.
	Id string `pulumi:"id"`
	// The name of the security group.
	Name   *string `pulumi:"name"`
	Region string  `pulumi:"region"`
	// The list of security groups. The object is documented below.
	SecurityGroups []GetSecgroupsSecurityGroup `pulumi:"securityGroups"`
}

A collection of values returned by getSecgroups.

func GetSecgroups

func GetSecgroups(ctx *pulumi.Context, args *GetSecgroupsArgs, opts ...pulumi.InvokeOption) (*GetSecgroupsResult, error)

Use this data source to get the list of the available HuaweiCloud security groups.

## Example Usage ### Filter the list of security groups by a description keyword

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		keyWord := cfg.RequireObject("keyWord")
		_, err := Vpc.GetSecgroups(ctx, &vpc.GetSecgroupsArgs{
			Description: pulumi.StringRef(keyWord),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetSecgroupsResultOutput

type GetSecgroupsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSecgroups.

func (GetSecgroupsResultOutput) Description

func (GetSecgroupsResultOutput) ElementType

func (GetSecgroupsResultOutput) ElementType() reflect.Type

func (GetSecgroupsResultOutput) EnterpriseProjectId

func (o GetSecgroupsResultOutput) EnterpriseProjectId() pulumi.StringPtrOutput

The enterprise project ID of the security group.

func (GetSecgroupsResultOutput) Id

The security group ID.

func (GetSecgroupsResultOutput) Name

The name of the security group.

func (GetSecgroupsResultOutput) Region

func (GetSecgroupsResultOutput) SecurityGroups

The list of security groups. The object is documented below.

func (GetSecgroupsResultOutput) ToGetSecgroupsResultOutput

func (o GetSecgroupsResultOutput) ToGetSecgroupsResultOutput() GetSecgroupsResultOutput

func (GetSecgroupsResultOutput) ToGetSecgroupsResultOutputWithContext

func (o GetSecgroupsResultOutput) ToGetSecgroupsResultOutputWithContext(ctx context.Context) GetSecgroupsResultOutput

type GetSecgroupsSecurityGroup

type GetSecgroupsSecurityGroup struct {
	// The creation time, in UTC format.
	CreatedAt string `pulumi:"createdAt"`
	// Specifies the description of the security group. The security groups can be
	// filtered by keywords in the description.
	Description string `pulumi:"description"`
	// Specifies the enterprise project ID of the security group.
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired security group.
	Id string `pulumi:"id"`
	// Specifies the name of the security group.
	Name string `pulumi:"name"`
	// The last update time, in UTC format.
	UpdatedAt string `pulumi:"updatedAt"`
}

type GetSecgroupsSecurityGroupArgs

type GetSecgroupsSecurityGroupArgs struct {
	// The creation time, in UTC format.
	CreatedAt pulumi.StringInput `pulumi:"createdAt"`
	// Specifies the description of the security group. The security groups can be
	// filtered by keywords in the description.
	Description pulumi.StringInput `pulumi:"description"`
	// Specifies the enterprise project ID of the security group.
	EnterpriseProjectId pulumi.StringInput `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired security group.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the name of the security group.
	Name pulumi.StringInput `pulumi:"name"`
	// The last update time, in UTC format.
	UpdatedAt pulumi.StringInput `pulumi:"updatedAt"`
}

func (GetSecgroupsSecurityGroupArgs) ElementType

func (GetSecgroupsSecurityGroupArgs) ToGetSecgroupsSecurityGroupOutput

func (i GetSecgroupsSecurityGroupArgs) ToGetSecgroupsSecurityGroupOutput() GetSecgroupsSecurityGroupOutput

func (GetSecgroupsSecurityGroupArgs) ToGetSecgroupsSecurityGroupOutputWithContext

func (i GetSecgroupsSecurityGroupArgs) ToGetSecgroupsSecurityGroupOutputWithContext(ctx context.Context) GetSecgroupsSecurityGroupOutput

type GetSecgroupsSecurityGroupArray

type GetSecgroupsSecurityGroupArray []GetSecgroupsSecurityGroupInput

func (GetSecgroupsSecurityGroupArray) ElementType

func (GetSecgroupsSecurityGroupArray) ToGetSecgroupsSecurityGroupArrayOutput

func (i GetSecgroupsSecurityGroupArray) ToGetSecgroupsSecurityGroupArrayOutput() GetSecgroupsSecurityGroupArrayOutput

func (GetSecgroupsSecurityGroupArray) ToGetSecgroupsSecurityGroupArrayOutputWithContext

func (i GetSecgroupsSecurityGroupArray) ToGetSecgroupsSecurityGroupArrayOutputWithContext(ctx context.Context) GetSecgroupsSecurityGroupArrayOutput

type GetSecgroupsSecurityGroupArrayInput

type GetSecgroupsSecurityGroupArrayInput interface {
	pulumi.Input

	ToGetSecgroupsSecurityGroupArrayOutput() GetSecgroupsSecurityGroupArrayOutput
	ToGetSecgroupsSecurityGroupArrayOutputWithContext(context.Context) GetSecgroupsSecurityGroupArrayOutput
}

GetSecgroupsSecurityGroupArrayInput is an input type that accepts GetSecgroupsSecurityGroupArray and GetSecgroupsSecurityGroupArrayOutput values. You can construct a concrete instance of `GetSecgroupsSecurityGroupArrayInput` via:

GetSecgroupsSecurityGroupArray{ GetSecgroupsSecurityGroupArgs{...} }

type GetSecgroupsSecurityGroupArrayOutput

type GetSecgroupsSecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (GetSecgroupsSecurityGroupArrayOutput) ElementType

func (GetSecgroupsSecurityGroupArrayOutput) Index

func (GetSecgroupsSecurityGroupArrayOutput) ToGetSecgroupsSecurityGroupArrayOutput

func (o GetSecgroupsSecurityGroupArrayOutput) ToGetSecgroupsSecurityGroupArrayOutput() GetSecgroupsSecurityGroupArrayOutput

func (GetSecgroupsSecurityGroupArrayOutput) ToGetSecgroupsSecurityGroupArrayOutputWithContext

func (o GetSecgroupsSecurityGroupArrayOutput) ToGetSecgroupsSecurityGroupArrayOutputWithContext(ctx context.Context) GetSecgroupsSecurityGroupArrayOutput

type GetSecgroupsSecurityGroupInput

type GetSecgroupsSecurityGroupInput interface {
	pulumi.Input

	ToGetSecgroupsSecurityGroupOutput() GetSecgroupsSecurityGroupOutput
	ToGetSecgroupsSecurityGroupOutputWithContext(context.Context) GetSecgroupsSecurityGroupOutput
}

GetSecgroupsSecurityGroupInput is an input type that accepts GetSecgroupsSecurityGroupArgs and GetSecgroupsSecurityGroupOutput values. You can construct a concrete instance of `GetSecgroupsSecurityGroupInput` via:

GetSecgroupsSecurityGroupArgs{...}

type GetSecgroupsSecurityGroupOutput

type GetSecgroupsSecurityGroupOutput struct{ *pulumi.OutputState }

func (GetSecgroupsSecurityGroupOutput) CreatedAt

The creation time, in UTC format.

func (GetSecgroupsSecurityGroupOutput) Description

Specifies the description of the security group. The security groups can be filtered by keywords in the description.

func (GetSecgroupsSecurityGroupOutput) ElementType

func (GetSecgroupsSecurityGroupOutput) EnterpriseProjectId

func (o GetSecgroupsSecurityGroupOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project ID of the security group.

func (GetSecgroupsSecurityGroupOutput) Id

Specifies the id of the desired security group.

func (GetSecgroupsSecurityGroupOutput) Name

Specifies the name of the security group.

func (GetSecgroupsSecurityGroupOutput) ToGetSecgroupsSecurityGroupOutput

func (o GetSecgroupsSecurityGroupOutput) ToGetSecgroupsSecurityGroupOutput() GetSecgroupsSecurityGroupOutput

func (GetSecgroupsSecurityGroupOutput) ToGetSecgroupsSecurityGroupOutputWithContext

func (o GetSecgroupsSecurityGroupOutput) ToGetSecgroupsSecurityGroupOutputWithContext(ctx context.Context) GetSecgroupsSecurityGroupOutput

func (GetSecgroupsSecurityGroupOutput) UpdatedAt

The last update time, in UTC format.

type GetSubnetIdsArgs

type GetSubnetIdsArgs struct {
	// The region in which to obtain the subnet ids. If omitted, the provider-level region will
	// be used.
	Region *string `pulumi:"region"`
	// Specifies the VPC ID used as the query filter.
	VpcId string `pulumi:"vpcId"`
}

A collection of arguments for invoking getSubnetIds.

type GetSubnetIdsOutputArgs

type GetSubnetIdsOutputArgs struct {
	// The region in which to obtain the subnet ids. If omitted, the provider-level region will
	// be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the VPC ID used as the query filter.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getSubnetIds.

func (GetSubnetIdsOutputArgs) ElementType

func (GetSubnetIdsOutputArgs) ElementType() reflect.Type

type GetSubnetIdsResult

type GetSubnetIdsResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A set of all the subnet ids found. This data source will fail if none are found.
	Ids    []string `pulumi:"ids"`
	Region string   `pulumi:"region"`
	VpcId  string   `pulumi:"vpcId"`
}

A collection of values returned by getSubnetIds.

func GetSubnetIds

func GetSubnetIds(ctx *pulumi.Context, args *GetSubnetIdsArgs, opts ...pulumi.InvokeOption) (*GetSubnetIdsResult, error)

Provides a list of subnet ids for a vpc.

This resource can be useful for getting back a list of subnet ids for a vpc.

type GetSubnetIdsResultOutput

type GetSubnetIdsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetIds.

func (GetSubnetIdsResultOutput) ElementType

func (GetSubnetIdsResultOutput) ElementType() reflect.Type

func (GetSubnetIdsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetSubnetIdsResultOutput) Ids

A set of all the subnet ids found. This data source will fail if none are found.

func (GetSubnetIdsResultOutput) Region

func (GetSubnetIdsResultOutput) ToGetSubnetIdsResultOutput

func (o GetSubnetIdsResultOutput) ToGetSubnetIdsResultOutput() GetSubnetIdsResultOutput

func (GetSubnetIdsResultOutput) ToGetSubnetIdsResultOutputWithContext

func (o GetSubnetIdsResultOutput) ToGetSubnetIdsResultOutputWithContext(ctx context.Context) GetSubnetIdsResultOutput

func (GetSubnetIdsResultOutput) VpcId

type GetSubnetsArgs

type GetSubnetsArgs struct {
	// Specifies the availability zone (AZ) to which the desired subnet belongs to.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// Specifies the network segment of desired subnet. The value must be in CIDR format.
	Cidr *string `pulumi:"cidr"`
	// Specifies the subnet gateway address of desired subnet.
	GatewayIp *string `pulumi:"gatewayIp"`
	// - Specifies the id of the desired subnet.
	Id *string `pulumi:"id"`
	// Specifies the name of the desired subnet.
	Name *string `pulumi:"name"`
	// Specifies the IP address of DNS server 1 on the desired subnet.
	PrimaryDns *string `pulumi:"primaryDns"`
	// Specifies the region in which to obtain the subnet. If omitted, the provider-level
	// region will be used.
	Region *string `pulumi:"region"`
	// Specifies the IP address of DNS server 2 on the desired subnet.
	SecondaryDns *string `pulumi:"secondaryDns"`
	// Specifies the current status of the desired subnet.
	// the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.
	Status *string `pulumi:"status"`
	// Specifies the included key/value pairs which associated with the desired subnet.
	Tags map[string]string `pulumi:"tags"`
	// Specifies the id of the VPC that the desired subnet belongs to.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getSubnets.

type GetSubnetsOutputArgs

type GetSubnetsOutputArgs struct {
	// Specifies the availability zone (AZ) to which the desired subnet belongs to.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	// Specifies the network segment of desired subnet. The value must be in CIDR format.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Specifies the subnet gateway address of desired subnet.
	GatewayIp pulumi.StringPtrInput `pulumi:"gatewayIp"`
	// - Specifies the id of the desired subnet.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the desired subnet.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the IP address of DNS server 1 on the desired subnet.
	PrimaryDns pulumi.StringPtrInput `pulumi:"primaryDns"`
	// Specifies the region in which to obtain the subnet. If omitted, the provider-level
	// region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the IP address of DNS server 2 on the desired subnet.
	SecondaryDns pulumi.StringPtrInput `pulumi:"secondaryDns"`
	// Specifies the current status of the desired subnet.
	// the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Specifies the included key/value pairs which associated with the desired subnet.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Specifies the id of the VPC that the desired subnet belongs to.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getSubnets.

func (GetSubnetsOutputArgs) ElementType

func (GetSubnetsOutputArgs) ElementType() reflect.Type

type GetSubnetsResult

type GetSubnetsResult struct {
	AvailabilityZone *string            `pulumi:"availabilityZone"`
	Cidr             *string            `pulumi:"cidr"`
	GatewayIp        *string            `pulumi:"gatewayIp"`
	Id               string             `pulumi:"id"`
	Name             *string            `pulumi:"name"`
	PrimaryDns       *string            `pulumi:"primaryDns"`
	Region           string             `pulumi:"region"`
	SecondaryDns     *string            `pulumi:"secondaryDns"`
	Status           *string            `pulumi:"status"`
	Subnets          []GetSubnetsSubnet `pulumi:"subnets"`
	Tags             map[string]string  `pulumi:"tags"`
	VpcId            *string            `pulumi:"vpcId"`
}

A collection of values returned by getSubnets.

func GetSubnets

func GetSubnets(ctx *pulumi.Context, args *GetSubnetsArgs, opts ...pulumi.InvokeOption) (*GetSubnetsResult, error)

Use this data source to get a list of VPC subnet.

## **Attributes Reference**

The following attributes are exported:

* `id` - Indicates a data source ID. * `subnets` - Indicates a list of all subnets found. Structure is documented below.

The `subnets` block supports:

* `id` - Indicates the ID of the subnet. * `name` - Indicates the name of the subnet. * `description` - Indicates the description of the subnet. * `cidr` - Indicates the cidr block of the subnet. * `status` - Indicates the current status of the subnet. * `vpcId` - Indicates the Id of the VPC that the subnet belongs to. * `gatewayIp` - Indicates the subnet gateway address of the subnet. * `primaryDns` - Indicates the IP address of DNS server 1 on the subnet. * `secondaryDns` - Indicates the IP address of DNS server 2 on the subnet. * `availabilityZone` - Indicates the availability zone (AZ) to which the subnet belongs to. * `dhcpEnable` - Indicates whether the DHCP is enabled. * `dnsList` - Indicates The IP address list of DNS servers on the subnet. * `ipv4SubnetId` - Indicates the ID of the IPv4 subnet (Native OpenStack API). * `ipv6Enable` - Indicates whether the IPv6 is enabled. * `ipv6SubnetId` - Indicates the ID of the IPv6 subnet (Native OpenStack API). * `ipv6Cidr` - Indicates the IPv6 subnet CIDR block. * `ipv6Gateway` - Indicates the IPv6 subnet gateway. * `tags` - Indicates the key/value pairs which associated with the subnet.

type GetSubnetsResultOutput

type GetSubnetsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnets.

func (GetSubnetsResultOutput) AvailabilityZone

func (o GetSubnetsResultOutput) AvailabilityZone() pulumi.StringPtrOutput

func (GetSubnetsResultOutput) Cidr

func (GetSubnetsResultOutput) ElementType

func (GetSubnetsResultOutput) ElementType() reflect.Type

func (GetSubnetsResultOutput) GatewayIp

func (GetSubnetsResultOutput) Id

func (GetSubnetsResultOutput) Name

func (GetSubnetsResultOutput) PrimaryDns

func (GetSubnetsResultOutput) Region

func (GetSubnetsResultOutput) SecondaryDns

func (GetSubnetsResultOutput) Status

func (GetSubnetsResultOutput) Subnets

func (GetSubnetsResultOutput) Tags

func (GetSubnetsResultOutput) ToGetSubnetsResultOutput

func (o GetSubnetsResultOutput) ToGetSubnetsResultOutput() GetSubnetsResultOutput

func (GetSubnetsResultOutput) ToGetSubnetsResultOutputWithContext

func (o GetSubnetsResultOutput) ToGetSubnetsResultOutputWithContext(ctx context.Context) GetSubnetsResultOutput

func (GetSubnetsResultOutput) VpcId

type GetSubnetsSubnet

type GetSubnetsSubnet struct {
	// Specifies the availability zone (AZ) to which the desired subnet belongs to.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Specifies the network segment of desired subnet. The value must be in CIDR format.
	Cidr        string   `pulumi:"cidr"`
	Description string   `pulumi:"description"`
	DhcpEnable  bool     `pulumi:"dhcpEnable"`
	DnsLists    []string `pulumi:"dnsLists"`
	// Specifies the subnet gateway address of desired subnet.
	GatewayIp string `pulumi:"gatewayIp"`
	// - Specifies the id of the desired subnet.
	Id           string `pulumi:"id"`
	Ipv4SubnetId string `pulumi:"ipv4SubnetId"`
	Ipv6Cidr     string `pulumi:"ipv6Cidr"`
	Ipv6Enable   bool   `pulumi:"ipv6Enable"`
	Ipv6Gateway  string `pulumi:"ipv6Gateway"`
	Ipv6SubnetId string `pulumi:"ipv6SubnetId"`
	// Specifies the name of the desired subnet.
	Name string `pulumi:"name"`
	// Specifies the IP address of DNS server 1 on the desired subnet.
	PrimaryDns string `pulumi:"primaryDns"`
	// Specifies the IP address of DNS server 2 on the desired subnet.
	SecondaryDns string `pulumi:"secondaryDns"`
	// Specifies the current status of the desired subnet.
	// the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.
	Status   string `pulumi:"status"`
	SubnetId string `pulumi:"subnetId"`
	// Specifies the included key/value pairs which associated with the desired subnet.
	Tags map[string]string `pulumi:"tags"`
	// Specifies the id of the VPC that the desired subnet belongs to.
	VpcId string `pulumi:"vpcId"`
}

type GetSubnetsSubnetArgs

type GetSubnetsSubnetArgs struct {
	// Specifies the availability zone (AZ) to which the desired subnet belongs to.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	// Specifies the network segment of desired subnet. The value must be in CIDR format.
	Cidr        pulumi.StringInput      `pulumi:"cidr"`
	Description pulumi.StringInput      `pulumi:"description"`
	DhcpEnable  pulumi.BoolInput        `pulumi:"dhcpEnable"`
	DnsLists    pulumi.StringArrayInput `pulumi:"dnsLists"`
	// Specifies the subnet gateway address of desired subnet.
	GatewayIp pulumi.StringInput `pulumi:"gatewayIp"`
	// - Specifies the id of the desired subnet.
	Id           pulumi.StringInput `pulumi:"id"`
	Ipv4SubnetId pulumi.StringInput `pulumi:"ipv4SubnetId"`
	Ipv6Cidr     pulumi.StringInput `pulumi:"ipv6Cidr"`
	Ipv6Enable   pulumi.BoolInput   `pulumi:"ipv6Enable"`
	Ipv6Gateway  pulumi.StringInput `pulumi:"ipv6Gateway"`
	Ipv6SubnetId pulumi.StringInput `pulumi:"ipv6SubnetId"`
	// Specifies the name of the desired subnet.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the IP address of DNS server 1 on the desired subnet.
	PrimaryDns pulumi.StringInput `pulumi:"primaryDns"`
	// Specifies the IP address of DNS server 2 on the desired subnet.
	SecondaryDns pulumi.StringInput `pulumi:"secondaryDns"`
	// Specifies the current status of the desired subnet.
	// the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.
	Status   pulumi.StringInput `pulumi:"status"`
	SubnetId pulumi.StringInput `pulumi:"subnetId"`
	// Specifies the included key/value pairs which associated with the desired subnet.
	Tags pulumi.StringMapInput `pulumi:"tags"`
	// Specifies the id of the VPC that the desired subnet belongs to.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

func (GetSubnetsSubnetArgs) ElementType

func (GetSubnetsSubnetArgs) ElementType() reflect.Type

func (GetSubnetsSubnetArgs) ToGetSubnetsSubnetOutput

func (i GetSubnetsSubnetArgs) ToGetSubnetsSubnetOutput() GetSubnetsSubnetOutput

func (GetSubnetsSubnetArgs) ToGetSubnetsSubnetOutputWithContext

func (i GetSubnetsSubnetArgs) ToGetSubnetsSubnetOutputWithContext(ctx context.Context) GetSubnetsSubnetOutput

type GetSubnetsSubnetArray

type GetSubnetsSubnetArray []GetSubnetsSubnetInput

func (GetSubnetsSubnetArray) ElementType

func (GetSubnetsSubnetArray) ElementType() reflect.Type

func (GetSubnetsSubnetArray) ToGetSubnetsSubnetArrayOutput

func (i GetSubnetsSubnetArray) ToGetSubnetsSubnetArrayOutput() GetSubnetsSubnetArrayOutput

func (GetSubnetsSubnetArray) ToGetSubnetsSubnetArrayOutputWithContext

func (i GetSubnetsSubnetArray) ToGetSubnetsSubnetArrayOutputWithContext(ctx context.Context) GetSubnetsSubnetArrayOutput

type GetSubnetsSubnetArrayInput

type GetSubnetsSubnetArrayInput interface {
	pulumi.Input

	ToGetSubnetsSubnetArrayOutput() GetSubnetsSubnetArrayOutput
	ToGetSubnetsSubnetArrayOutputWithContext(context.Context) GetSubnetsSubnetArrayOutput
}

GetSubnetsSubnetArrayInput is an input type that accepts GetSubnetsSubnetArray and GetSubnetsSubnetArrayOutput values. You can construct a concrete instance of `GetSubnetsSubnetArrayInput` via:

GetSubnetsSubnetArray{ GetSubnetsSubnetArgs{...} }

type GetSubnetsSubnetArrayOutput

type GetSubnetsSubnetArrayOutput struct{ *pulumi.OutputState }

func (GetSubnetsSubnetArrayOutput) ElementType

func (GetSubnetsSubnetArrayOutput) Index

func (GetSubnetsSubnetArrayOutput) ToGetSubnetsSubnetArrayOutput

func (o GetSubnetsSubnetArrayOutput) ToGetSubnetsSubnetArrayOutput() GetSubnetsSubnetArrayOutput

func (GetSubnetsSubnetArrayOutput) ToGetSubnetsSubnetArrayOutputWithContext

func (o GetSubnetsSubnetArrayOutput) ToGetSubnetsSubnetArrayOutputWithContext(ctx context.Context) GetSubnetsSubnetArrayOutput

type GetSubnetsSubnetInput

type GetSubnetsSubnetInput interface {
	pulumi.Input

	ToGetSubnetsSubnetOutput() GetSubnetsSubnetOutput
	ToGetSubnetsSubnetOutputWithContext(context.Context) GetSubnetsSubnetOutput
}

GetSubnetsSubnetInput is an input type that accepts GetSubnetsSubnetArgs and GetSubnetsSubnetOutput values. You can construct a concrete instance of `GetSubnetsSubnetInput` via:

GetSubnetsSubnetArgs{...}

type GetSubnetsSubnetOutput

type GetSubnetsSubnetOutput struct{ *pulumi.OutputState }

func (GetSubnetsSubnetOutput) AvailabilityZone

func (o GetSubnetsSubnetOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone (AZ) to which the desired subnet belongs to.

func (GetSubnetsSubnetOutput) Cidr

Specifies the network segment of desired subnet. The value must be in CIDR format.

func (GetSubnetsSubnetOutput) Description

func (o GetSubnetsSubnetOutput) Description() pulumi.StringOutput

func (GetSubnetsSubnetOutput) DhcpEnable

func (o GetSubnetsSubnetOutput) DhcpEnable() pulumi.BoolOutput

func (GetSubnetsSubnetOutput) DnsLists

func (GetSubnetsSubnetOutput) ElementType

func (GetSubnetsSubnetOutput) ElementType() reflect.Type

func (GetSubnetsSubnetOutput) GatewayIp

Specifies the subnet gateway address of desired subnet.

func (GetSubnetsSubnetOutput) Id

- Specifies the id of the desired subnet.

func (GetSubnetsSubnetOutput) Ipv4SubnetId

func (o GetSubnetsSubnetOutput) Ipv4SubnetId() pulumi.StringOutput

func (GetSubnetsSubnetOutput) Ipv6Cidr

func (GetSubnetsSubnetOutput) Ipv6Enable

func (o GetSubnetsSubnetOutput) Ipv6Enable() pulumi.BoolOutput

func (GetSubnetsSubnetOutput) Ipv6Gateway

func (o GetSubnetsSubnetOutput) Ipv6Gateway() pulumi.StringOutput

func (GetSubnetsSubnetOutput) Ipv6SubnetId

func (o GetSubnetsSubnetOutput) Ipv6SubnetId() pulumi.StringOutput

func (GetSubnetsSubnetOutput) Name

Specifies the name of the desired subnet.

func (GetSubnetsSubnetOutput) PrimaryDns

Specifies the IP address of DNS server 1 on the desired subnet.

func (GetSubnetsSubnetOutput) SecondaryDns

func (o GetSubnetsSubnetOutput) SecondaryDns() pulumi.StringOutput

Specifies the IP address of DNS server 2 on the desired subnet.

func (GetSubnetsSubnetOutput) Status

Specifies the current status of the desired subnet. the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.

func (GetSubnetsSubnetOutput) SubnetId

func (GetSubnetsSubnetOutput) Tags

Specifies the included key/value pairs which associated with the desired subnet.

func (GetSubnetsSubnetOutput) ToGetSubnetsSubnetOutput

func (o GetSubnetsSubnetOutput) ToGetSubnetsSubnetOutput() GetSubnetsSubnetOutput

func (GetSubnetsSubnetOutput) ToGetSubnetsSubnetOutputWithContext

func (o GetSubnetsSubnetOutput) ToGetSubnetsSubnetOutputWithContext(ctx context.Context) GetSubnetsSubnetOutput

func (GetSubnetsSubnetOutput) VpcId

Specifies the id of the VPC that the desired subnet belongs to.

type GetVpcRoute

type GetVpcRoute struct {
	Destination string `pulumi:"destination"`
	Nexthop     string `pulumi:"nexthop"`
}

type GetVpcRouteArgs

type GetVpcRouteArgs struct {
	Destination pulumi.StringInput `pulumi:"destination"`
	Nexthop     pulumi.StringInput `pulumi:"nexthop"`
}

func (GetVpcRouteArgs) ElementType

func (GetVpcRouteArgs) ElementType() reflect.Type

func (GetVpcRouteArgs) ToGetVpcRouteOutput

func (i GetVpcRouteArgs) ToGetVpcRouteOutput() GetVpcRouteOutput

func (GetVpcRouteArgs) ToGetVpcRouteOutputWithContext

func (i GetVpcRouteArgs) ToGetVpcRouteOutputWithContext(ctx context.Context) GetVpcRouteOutput

type GetVpcRouteArray

type GetVpcRouteArray []GetVpcRouteInput

func (GetVpcRouteArray) ElementType

func (GetVpcRouteArray) ElementType() reflect.Type

func (GetVpcRouteArray) ToGetVpcRouteArrayOutput

func (i GetVpcRouteArray) ToGetVpcRouteArrayOutput() GetVpcRouteArrayOutput

func (GetVpcRouteArray) ToGetVpcRouteArrayOutputWithContext

func (i GetVpcRouteArray) ToGetVpcRouteArrayOutputWithContext(ctx context.Context) GetVpcRouteArrayOutput

type GetVpcRouteArrayInput

type GetVpcRouteArrayInput interface {
	pulumi.Input

	ToGetVpcRouteArrayOutput() GetVpcRouteArrayOutput
	ToGetVpcRouteArrayOutputWithContext(context.Context) GetVpcRouteArrayOutput
}

GetVpcRouteArrayInput is an input type that accepts GetVpcRouteArray and GetVpcRouteArrayOutput values. You can construct a concrete instance of `GetVpcRouteArrayInput` via:

GetVpcRouteArray{ GetVpcRouteArgs{...} }

type GetVpcRouteArrayOutput

type GetVpcRouteArrayOutput struct{ *pulumi.OutputState }

func (GetVpcRouteArrayOutput) ElementType

func (GetVpcRouteArrayOutput) ElementType() reflect.Type

func (GetVpcRouteArrayOutput) Index

func (GetVpcRouteArrayOutput) ToGetVpcRouteArrayOutput

func (o GetVpcRouteArrayOutput) ToGetVpcRouteArrayOutput() GetVpcRouteArrayOutput

func (GetVpcRouteArrayOutput) ToGetVpcRouteArrayOutputWithContext

func (o GetVpcRouteArrayOutput) ToGetVpcRouteArrayOutputWithContext(ctx context.Context) GetVpcRouteArrayOutput

type GetVpcRouteInput

type GetVpcRouteInput interface {
	pulumi.Input

	ToGetVpcRouteOutput() GetVpcRouteOutput
	ToGetVpcRouteOutputWithContext(context.Context) GetVpcRouteOutput
}

GetVpcRouteInput is an input type that accepts GetVpcRouteArgs and GetVpcRouteOutput values. You can construct a concrete instance of `GetVpcRouteInput` via:

GetVpcRouteArgs{...}

type GetVpcRouteOutput

type GetVpcRouteOutput struct{ *pulumi.OutputState }

func (GetVpcRouteOutput) Destination

func (o GetVpcRouteOutput) Destination() pulumi.StringOutput

func (GetVpcRouteOutput) ElementType

func (GetVpcRouteOutput) ElementType() reflect.Type

func (GetVpcRouteOutput) Nexthop

func (GetVpcRouteOutput) ToGetVpcRouteOutput

func (o GetVpcRouteOutput) ToGetVpcRouteOutput() GetVpcRouteOutput

func (GetVpcRouteOutput) ToGetVpcRouteOutputWithContext

func (o GetVpcRouteOutput) ToGetVpcRouteOutputWithContext(ctx context.Context) GetVpcRouteOutput

type GetVpcsArgs

type GetVpcsArgs struct {
	// Specifies the cidr block of the desired VPC.
	Cidr *string `pulumi:"cidr"`
	// Specifies the enterprise project ID which the desired VPC belongs to.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired VPC.
	Id *string `pulumi:"id"`
	// Specifies the name of the desired VPC. The value is a string of no more than 64 characters
	// and can contain digits, letters, underscores (_) and hyphens (-).
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the VPC. If omitted, the provider-level region
	// will be used.
	Region *string `pulumi:"region"`
	// Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.
	Status *string `pulumi:"status"`
	// Specifies the included key/value pairs which associated with the desired VPC.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getVpcs.

type GetVpcsOutputArgs

type GetVpcsOutputArgs struct {
	// Specifies the cidr block of the desired VPC.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Specifies the enterprise project ID which the desired VPC belongs to.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired VPC.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the desired VPC. The value is a string of no more than 64 characters
	// and can contain digits, letters, underscores (_) and hyphens (-).
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the VPC. If omitted, the provider-level region
	// will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Specifies the included key/value pairs which associated with the desired VPC.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getVpcs.

func (GetVpcsOutputArgs) ElementType

func (GetVpcsOutputArgs) ElementType() reflect.Type

type GetVpcsResult

type GetVpcsResult struct {
	// Indicates the cidr block of the VPC.
	Cidr *string `pulumi:"cidr"`
	// Indicates the the enterprise project ID of the VPC.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Indicates the ID of the VPC.
	Id string `pulumi:"id"`
	// Indicates the name of the VPC.
	Name   *string `pulumi:"name"`
	Region string  `pulumi:"region"`
	// Indicates the current status of the VPC.
	Status *string `pulumi:"status"`
	// Indicates the key/value pairs which associated with the VPC.
	Tags map[string]string `pulumi:"tags"`
	// Indicates a list of all VPCs found. Structure is documented below.
	Vpcs []GetVpcsVpc `pulumi:"vpcs"`
}

A collection of values returned by getVpcs.

func GetVpcs

func GetVpcs(ctx *pulumi.Context, args *GetVpcsArgs, opts ...pulumi.InvokeOption) (*GetVpcsResult, error)

Use this data source to get a list of VPC.

type GetVpcsResultOutput

type GetVpcsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVpcs.

func (GetVpcsResultOutput) Cidr

Indicates the cidr block of the VPC.

func (GetVpcsResultOutput) ElementType

func (GetVpcsResultOutput) ElementType() reflect.Type

func (GetVpcsResultOutput) EnterpriseProjectId

func (o GetVpcsResultOutput) EnterpriseProjectId() pulumi.StringPtrOutput

Indicates the the enterprise project ID of the VPC.

func (GetVpcsResultOutput) Id

Indicates the ID of the VPC.

func (GetVpcsResultOutput) Name

Indicates the name of the VPC.

func (GetVpcsResultOutput) Region

func (GetVpcsResultOutput) Status

Indicates the current status of the VPC.

func (GetVpcsResultOutput) Tags

Indicates the key/value pairs which associated with the VPC.

func (GetVpcsResultOutput) ToGetVpcsResultOutput

func (o GetVpcsResultOutput) ToGetVpcsResultOutput() GetVpcsResultOutput

func (GetVpcsResultOutput) ToGetVpcsResultOutputWithContext

func (o GetVpcsResultOutput) ToGetVpcsResultOutputWithContext(ctx context.Context) GetVpcsResultOutput

func (GetVpcsResultOutput) Vpcs

Indicates a list of all VPCs found. Structure is documented below.

type GetVpcsVpc

type GetVpcsVpc struct {
	// Specifies the cidr block of the desired VPC.
	Cidr string `pulumi:"cidr"`
	// Indicates the description of the VPC.
	Description string `pulumi:"description"`
	// Specifies the enterprise project ID which the desired VPC belongs to.
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired VPC.
	Id string `pulumi:"id"`
	// Specifies the name of the desired VPC. The value is a string of no more than 64 characters
	// and can contain digits, letters, underscores (_) and hyphens (-).
	Name string `pulumi:"name"`
	// Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.
	Status string `pulumi:"status"`
	// Specifies the included key/value pairs which associated with the desired VPC.
	Tags map[string]string `pulumi:"tags"`
}

type GetVpcsVpcArgs

type GetVpcsVpcArgs struct {
	// Specifies the cidr block of the desired VPC.
	Cidr pulumi.StringInput `pulumi:"cidr"`
	// Indicates the description of the VPC.
	Description pulumi.StringInput `pulumi:"description"`
	// Specifies the enterprise project ID which the desired VPC belongs to.
	EnterpriseProjectId pulumi.StringInput `pulumi:"enterpriseProjectId"`
	// Specifies the id of the desired VPC.
	Id pulumi.StringInput `pulumi:"id"`
	// Specifies the name of the desired VPC. The value is a string of no more than 64 characters
	// and can contain digits, letters, underscores (_) and hyphens (-).
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.
	Status pulumi.StringInput `pulumi:"status"`
	// Specifies the included key/value pairs which associated with the desired VPC.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

func (GetVpcsVpcArgs) ElementType

func (GetVpcsVpcArgs) ElementType() reflect.Type

func (GetVpcsVpcArgs) ToGetVpcsVpcOutput

func (i GetVpcsVpcArgs) ToGetVpcsVpcOutput() GetVpcsVpcOutput

func (GetVpcsVpcArgs) ToGetVpcsVpcOutputWithContext

func (i GetVpcsVpcArgs) ToGetVpcsVpcOutputWithContext(ctx context.Context) GetVpcsVpcOutput

type GetVpcsVpcArray

type GetVpcsVpcArray []GetVpcsVpcInput

func (GetVpcsVpcArray) ElementType

func (GetVpcsVpcArray) ElementType() reflect.Type

func (GetVpcsVpcArray) ToGetVpcsVpcArrayOutput

func (i GetVpcsVpcArray) ToGetVpcsVpcArrayOutput() GetVpcsVpcArrayOutput

func (GetVpcsVpcArray) ToGetVpcsVpcArrayOutputWithContext

func (i GetVpcsVpcArray) ToGetVpcsVpcArrayOutputWithContext(ctx context.Context) GetVpcsVpcArrayOutput

type GetVpcsVpcArrayInput

type GetVpcsVpcArrayInput interface {
	pulumi.Input

	ToGetVpcsVpcArrayOutput() GetVpcsVpcArrayOutput
	ToGetVpcsVpcArrayOutputWithContext(context.Context) GetVpcsVpcArrayOutput
}

GetVpcsVpcArrayInput is an input type that accepts GetVpcsVpcArray and GetVpcsVpcArrayOutput values. You can construct a concrete instance of `GetVpcsVpcArrayInput` via:

GetVpcsVpcArray{ GetVpcsVpcArgs{...} }

type GetVpcsVpcArrayOutput

type GetVpcsVpcArrayOutput struct{ *pulumi.OutputState }

func (GetVpcsVpcArrayOutput) ElementType

func (GetVpcsVpcArrayOutput) ElementType() reflect.Type

func (GetVpcsVpcArrayOutput) Index

func (GetVpcsVpcArrayOutput) ToGetVpcsVpcArrayOutput

func (o GetVpcsVpcArrayOutput) ToGetVpcsVpcArrayOutput() GetVpcsVpcArrayOutput

func (GetVpcsVpcArrayOutput) ToGetVpcsVpcArrayOutputWithContext

func (o GetVpcsVpcArrayOutput) ToGetVpcsVpcArrayOutputWithContext(ctx context.Context) GetVpcsVpcArrayOutput

type GetVpcsVpcInput

type GetVpcsVpcInput interface {
	pulumi.Input

	ToGetVpcsVpcOutput() GetVpcsVpcOutput
	ToGetVpcsVpcOutputWithContext(context.Context) GetVpcsVpcOutput
}

GetVpcsVpcInput is an input type that accepts GetVpcsVpcArgs and GetVpcsVpcOutput values. You can construct a concrete instance of `GetVpcsVpcInput` via:

GetVpcsVpcArgs{...}

type GetVpcsVpcOutput

type GetVpcsVpcOutput struct{ *pulumi.OutputState }

func (GetVpcsVpcOutput) Cidr

Specifies the cidr block of the desired VPC.

func (GetVpcsVpcOutput) Description

func (o GetVpcsVpcOutput) Description() pulumi.StringOutput

Indicates the description of the VPC.

func (GetVpcsVpcOutput) ElementType

func (GetVpcsVpcOutput) ElementType() reflect.Type

func (GetVpcsVpcOutput) EnterpriseProjectId

func (o GetVpcsVpcOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project ID which the desired VPC belongs to.

func (GetVpcsVpcOutput) Id

Specifies the id of the desired VPC.

func (GetVpcsVpcOutput) Name

Specifies the name of the desired VPC. The value is a string of no more than 64 characters and can contain digits, letters, underscores (_) and hyphens (-).

func (GetVpcsVpcOutput) Status

Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.

func (GetVpcsVpcOutput) Tags

Specifies the included key/value pairs which associated with the desired VPC.

func (GetVpcsVpcOutput) ToGetVpcsVpcOutput

func (o GetVpcsVpcOutput) ToGetVpcsVpcOutput() GetVpcsVpcOutput

func (GetVpcsVpcOutput) ToGetVpcsVpcOutputWithContext

func (o GetVpcsVpcOutput) ToGetVpcsVpcOutputWithContext(ctx context.Context) GetVpcsVpcOutput

type LookupPeeringConnectionArgs

type LookupPeeringConnectionArgs struct {
	// The ID of the specific VPC Peering Connection to retrieve.
	Id *string `pulumi:"id"`
	// The name of the specific VPC Peering Connection to retrieve.
	Name *string `pulumi:"name"`
	// The Tenant ID of the accepter/peer VPC of the specific VPC Peering Connection to
	// retrieve.
	PeerTenantId *string `pulumi:"peerTenantId"`
	// The ID of the accepter/peer VPC of the specific VPC Peering Connection to retrieve.
	PeerVpcId *string `pulumi:"peerVpcId"`
	// The region in which to obtain the VPC Peering Connection. If omitted, the provider-level
	// region will be used.
	Region *string `pulumi:"region"`
	// The status of the specific VPC Peering Connection to retrieve.
	Status *string `pulumi:"status"`
	// The ID of the requester VPC of the specific VPC Peering Connection to retrieve.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getPeeringConnection.

type LookupPeeringConnectionOutputArgs

type LookupPeeringConnectionOutputArgs struct {
	// The ID of the specific VPC Peering Connection to retrieve.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name of the specific VPC Peering Connection to retrieve.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The Tenant ID of the accepter/peer VPC of the specific VPC Peering Connection to
	// retrieve.
	PeerTenantId pulumi.StringPtrInput `pulumi:"peerTenantId"`
	// The ID of the accepter/peer VPC of the specific VPC Peering Connection to retrieve.
	PeerVpcId pulumi.StringPtrInput `pulumi:"peerVpcId"`
	// The region in which to obtain the VPC Peering Connection. If omitted, the provider-level
	// region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The status of the specific VPC Peering Connection to retrieve.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// The ID of the requester VPC of the specific VPC Peering Connection to retrieve.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getPeeringConnection.

func (LookupPeeringConnectionOutputArgs) ElementType

type LookupPeeringConnectionResult

type LookupPeeringConnectionResult struct {
	// The description of the VPC Peering Connection.
	Description  string `pulumi:"description"`
	Id           string `pulumi:"id"`
	Name         string `pulumi:"name"`
	PeerTenantId string `pulumi:"peerTenantId"`
	PeerVpcId    string `pulumi:"peerVpcId"`
	Region       string `pulumi:"region"`
	Status       string `pulumi:"status"`
	VpcId        string `pulumi:"vpcId"`
}

A collection of values returned by getPeeringConnection.

func LookupPeeringConnection

func LookupPeeringConnection(ctx *pulumi.Context, args *LookupPeeringConnectionArgs, opts ...pulumi.InvokeOption) (*LookupPeeringConnectionResult, error)

The VPC Peering Connection data source provides details about a specific VPC peering connection.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vpc, err := Vpc.GetVpc(ctx, &vpc.GetVpcArgs{
			Name: pulumi.StringRef("vpc"),
		}, nil)
		if err != nil {
			return err
		}
		peerVpc, err := Vpc.GetVpc(ctx, &vpc.GetVpcArgs{
			Name: pulumi.StringRef("peer_vpc"),
		}, nil)
		if err != nil {
			return err
		}
		peering, err := Vpc.GetPeeringConnection(ctx, &vpc.GetPeeringConnectionArgs{
			VpcId:     pulumi.StringRef(vpc.Id),
			PeerVpcId: pulumi.StringRef(peerVpc.Id),
		}, nil)
		if err != nil {
			return err
		}
		_, err = Vpc.NewRoute(ctx, "vpcRoute", &Vpc.RouteArgs{
			Type:        pulumi.String("peering"),
			Nexthop:     pulumi.String(peering.Id),
			Destination: pulumi.String("192.168.0.0/16"),
			VpcId:       pulumi.String(vpc.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupPeeringConnectionResultOutput

type LookupPeeringConnectionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPeeringConnection.

func (LookupPeeringConnectionResultOutput) Description added in v0.0.8

The description of the VPC Peering Connection.

func (LookupPeeringConnectionResultOutput) ElementType

func (LookupPeeringConnectionResultOutput) Id

func (LookupPeeringConnectionResultOutput) Name

func (LookupPeeringConnectionResultOutput) PeerTenantId

func (LookupPeeringConnectionResultOutput) PeerVpcId

func (LookupPeeringConnectionResultOutput) Region

func (LookupPeeringConnectionResultOutput) Status

func (LookupPeeringConnectionResultOutput) ToLookupPeeringConnectionResultOutput

func (o LookupPeeringConnectionResultOutput) ToLookupPeeringConnectionResultOutput() LookupPeeringConnectionResultOutput

func (LookupPeeringConnectionResultOutput) ToLookupPeeringConnectionResultOutputWithContext

func (o LookupPeeringConnectionResultOutput) ToLookupPeeringConnectionResultOutputWithContext(ctx context.Context) LookupPeeringConnectionResultOutput

func (LookupPeeringConnectionResultOutput) VpcId

type LookupPortArgs

type LookupPortArgs struct {
	// Deprecated: this field is deprecated
	AdminStateUp *bool `pulumi:"adminStateUp"`
	// The ID of the device the port belongs to.
	DeviceId *string `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner *string `pulumi:"deviceOwner"`
	// Specifies the port IP address filter.
	FixedIp *string `pulumi:"fixedIp"`
	// Specifies the MAC address of the port.
	MacAddress *string `pulumi:"macAddress"`
	// The name of the port.
	Name *string `pulumi:"name"`
	// Specifies the ID of the network the port belongs to.
	NetworkId *string `pulumi:"networkId"`
	// Specifies the ID of the port.
	PortId *string `pulumi:"portId"`
	// Deprecated: this field is deprecated
	ProjectId *string `pulumi:"projectId"`
	// Specifies the region in which to obtain the port. If omitted, the provider-level region
	// will be used.
	Region *string `pulumi:"region"`
	// The list of port security group IDs to filter.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// Specifies the status of the port.
	Status *string `pulumi:"status"`
	// Deprecated: this field is deprecated
	TenantId *string `pulumi:"tenantId"`
}

A collection of arguments for invoking getPort.

type LookupPortOutputArgs

type LookupPortOutputArgs struct {
	// Deprecated: this field is deprecated
	AdminStateUp pulumi.BoolPtrInput `pulumi:"adminStateUp"`
	// The ID of the device the port belongs to.
	DeviceId pulumi.StringPtrInput `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner pulumi.StringPtrInput `pulumi:"deviceOwner"`
	// Specifies the port IP address filter.
	FixedIp pulumi.StringPtrInput `pulumi:"fixedIp"`
	// Specifies the MAC address of the port.
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
	// The name of the port.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the ID of the network the port belongs to.
	NetworkId pulumi.StringPtrInput `pulumi:"networkId"`
	// Specifies the ID of the port.
	PortId pulumi.StringPtrInput `pulumi:"portId"`
	// Deprecated: this field is deprecated
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// Specifies the region in which to obtain the port. If omitted, the provider-level region
	// will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// The list of port security group IDs to filter.
	SecurityGroupIds pulumi.StringArrayInput `pulumi:"securityGroupIds"`
	// Specifies the status of the port.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Deprecated: this field is deprecated
	TenantId pulumi.StringPtrInput `pulumi:"tenantId"`
}

A collection of arguments for invoking getPort.

func (LookupPortOutputArgs) ElementType

func (LookupPortOutputArgs) ElementType() reflect.Type

type LookupPortResult

type LookupPortResult struct {
	// Deprecated: this field is deprecated
	AdminStateUp bool `pulumi:"adminStateUp"`
	// The collection of allowed IP addresses on the port.
	AllAllowedIps []string `pulumi:"allAllowedIps"`
	// The collection of Fixed IP addresses on the port.
	AllFixedIps []string `pulumi:"allFixedIps"`
	// The collection of security group IDs applied on the port.
	AllSecurityGroupIds []string `pulumi:"allSecurityGroupIds"`
	// The ID of the device the port belongs to.
	DeviceId string `pulumi:"deviceId"`
	// The device owner of the port.
	DeviceOwner string  `pulumi:"deviceOwner"`
	FixedIp     *string `pulumi:"fixedIp"`
	// The provider-assigned unique ID for this managed resource.
	Id         string `pulumi:"id"`
	MacAddress string `pulumi:"macAddress"`
	// The name of the port.
	Name      string `pulumi:"name"`
	NetworkId string `pulumi:"networkId"`
	PortId    string `pulumi:"portId"`
	// Deprecated: this field is deprecated
	ProjectId        *string  `pulumi:"projectId"`
	Region           string   `pulumi:"region"`
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	Status           string   `pulumi:"status"`
	// Deprecated: this field is deprecated
	TenantId *string `pulumi:"tenantId"`
}

A collection of values returned by getPort.

func LookupPort

func LookupPort(ctx *pulumi.Context, args *LookupPortArgs, opts ...pulumi.InvokeOption) (*LookupPortResult, error)

Use this data source to get the ID of an available HuaweiCloud port.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Vpc.GetPort(ctx, &vpc.GetPortArgs{
			NetworkId: pulumi.StringRef(_var.Network_id),
			FixedIp:   pulumi.StringRef("192.168.0.100"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupPortResultOutput

type LookupPortResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPort.

func (LookupPortResultOutput) AdminStateUp deprecated

func (o LookupPortResultOutput) AdminStateUp() pulumi.BoolOutput

Deprecated: this field is deprecated

func (LookupPortResultOutput) AllAllowedIps added in v0.0.8

The collection of allowed IP addresses on the port.

func (LookupPortResultOutput) AllFixedIps

The collection of Fixed IP addresses on the port.

func (LookupPortResultOutput) AllSecurityGroupIds

func (o LookupPortResultOutput) AllSecurityGroupIds() pulumi.StringArrayOutput

The collection of security group IDs applied on the port.

func (LookupPortResultOutput) DeviceId

The ID of the device the port belongs to.

func (LookupPortResultOutput) DeviceOwner

func (o LookupPortResultOutput) DeviceOwner() pulumi.StringOutput

The device owner of the port.

func (LookupPortResultOutput) ElementType

func (LookupPortResultOutput) ElementType() reflect.Type

func (LookupPortResultOutput) FixedIp

func (LookupPortResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPortResultOutput) MacAddress

func (LookupPortResultOutput) Name

The name of the port.

func (LookupPortResultOutput) NetworkId

func (LookupPortResultOutput) PortId

func (LookupPortResultOutput) ProjectId deprecated

Deprecated: this field is deprecated

func (LookupPortResultOutput) Region

func (LookupPortResultOutput) SecurityGroupIds

func (o LookupPortResultOutput) SecurityGroupIds() pulumi.StringArrayOutput

func (LookupPortResultOutput) Status

func (LookupPortResultOutput) TenantId deprecated

Deprecated: this field is deprecated

func (LookupPortResultOutput) ToLookupPortResultOutput

func (o LookupPortResultOutput) ToLookupPortResultOutput() LookupPortResultOutput

func (LookupPortResultOutput) ToLookupPortResultOutputWithContext

func (o LookupPortResultOutput) ToLookupPortResultOutputWithContext(ctx context.Context) LookupPortResultOutput

type LookupRouteTableArgs

type LookupRouteTableArgs struct {
	// Specifies the ID of the route table.
	Id *string `pulumi:"id"`
	// Specifies the name of the route table.
	Name *string `pulumi:"name"`
	// The region in which to query the vpc route table.
	// If omitted, the provider-level region will be used.
	Region *string `pulumi:"region"`
	// Specifies the VPC ID where the route table resides.
	VpcId string `pulumi:"vpcId"`
}

A collection of arguments for invoking getRouteTable.

type LookupRouteTableOutputArgs

type LookupRouteTableOutputArgs struct {
	// Specifies the ID of the route table.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the route table.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The region in which to query the vpc route table.
	// If omitted, the provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the VPC ID where the route table resides.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getRouteTable.

func (LookupRouteTableOutputArgs) ElementType

func (LookupRouteTableOutputArgs) ElementType() reflect.Type

type LookupRouteTableResult

type LookupRouteTableResult struct {
	// Whether the route table is default or not.
	Default bool `pulumi:"default"`
	// The description about the route.
	Description string `pulumi:"description"`
	Id          string `pulumi:"id"`
	Name        string `pulumi:"name"`
	Region      string `pulumi:"region"`
	// The route object list. The route object is documented below.
	Routes []GetRouteTableRoute `pulumi:"routes"`
	// An array of one or more subnets associating with the route table.
	Subnets []string `pulumi:"subnets"`
	VpcId   string   `pulumi:"vpcId"`
}

A collection of values returned by getRouteTable.

func LookupRouteTable

func LookupRouteTable(ctx *pulumi.Context, args *LookupRouteTableArgs, opts ...pulumi.InvokeOption) (*LookupRouteTableResult, error)

Provides details about a specific VPC route table.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcId := cfg.RequireObject("vpcId")
		_, err := Vpc.GetRouteTable(ctx, &vpc.GetRouteTableArgs{
			VpcId: vpcId,
		}, nil)
		if err != nil {
			return err
		}
		_, err = Vpc.GetRouteTable(ctx, &vpc.GetRouteTableArgs{
			VpcId: vpcId,
			Name:  pulumi.StringRef("demo"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRouteTableResultOutput

type LookupRouteTableResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRouteTable.

func (LookupRouteTableResultOutput) Default

Whether the route table is default or not.

func (LookupRouteTableResultOutput) Description

The description about the route.

func (LookupRouteTableResultOutput) ElementType

func (LookupRouteTableResultOutput) Id

func (LookupRouteTableResultOutput) Name

func (LookupRouteTableResultOutput) Region

func (LookupRouteTableResultOutput) Routes

The route object list. The route object is documented below.

func (LookupRouteTableResultOutput) Subnets

An array of one or more subnets associating with the route table.

func (LookupRouteTableResultOutput) ToLookupRouteTableResultOutput

func (o LookupRouteTableResultOutput) ToLookupRouteTableResultOutput() LookupRouteTableResultOutput

func (LookupRouteTableResultOutput) ToLookupRouteTableResultOutputWithContext

func (o LookupRouteTableResultOutput) ToLookupRouteTableResultOutputWithContext(ctx context.Context) LookupRouteTableResultOutput

func (LookupRouteTableResultOutput) VpcId

type LookupSecgroupArgs

type LookupSecgroupArgs struct {
	// Specifies the enterprise project ID of the security group.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the name of the security group.
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the security group. If omitted, the
	// provider-level region will be used.
	Region *string `pulumi:"region"`
	// Specifiest he ID of the security group.
	SecgroupId *string `pulumi:"secgroupId"`
}

A collection of arguments for invoking getSecgroup.

type LookupSecgroupOutputArgs

type LookupSecgroupOutputArgs struct {
	// Specifies the enterprise project ID of the security group.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the name of the security group.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the security group. If omitted, the
	// provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifiest he ID of the security group.
	SecgroupId pulumi.StringPtrInput `pulumi:"secgroupId"`
}

A collection of arguments for invoking getSecgroup.

func (LookupSecgroupOutputArgs) ElementType

func (LookupSecgroupOutputArgs) ElementType() reflect.Type

type LookupSecgroupResult

type LookupSecgroupResult struct {
	// The creation time, in UTC format.
	CreatedAt string `pulumi:"createdAt"`
	// The supplementary information about the security group rule.
	Description         string  `pulumi:"description"`
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// The provider-assigned unique ID for this managed resource.
	Id     string `pulumi:"id"`
	Name   string `pulumi:"name"`
	Region string `pulumi:"region"`
	// The array of security group rules associating with the security group.
	// The rule object is documented below.
	Rules      []GetSecgroupRuleType `pulumi:"rules"`
	SecgroupId *string               `pulumi:"secgroupId"`
	// The last update time, in UTC format.
	UpdatedAt string `pulumi:"updatedAt"`
}

A collection of values returned by getSecgroup.

func LookupSecgroup

func LookupSecgroup(ctx *pulumi.Context, args *LookupSecgroupArgs, opts ...pulumi.InvokeOption) (*LookupSecgroupResult, error)

Use this data source to get the ID of an available HuaweiCloud security group.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := Vpc.GetSecgroup(ctx, &vpc.GetSecgroupArgs{
			Name: pulumi.StringRef("tf_test_secgroup"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSecgroupResultOutput

type LookupSecgroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSecgroup.

func (LookupSecgroupResultOutput) CreatedAt

The creation time, in UTC format.

func (LookupSecgroupResultOutput) Description

The supplementary information about the security group rule.

func (LookupSecgroupResultOutput) ElementType

func (LookupSecgroupResultOutput) ElementType() reflect.Type

func (LookupSecgroupResultOutput) EnterpriseProjectId

func (o LookupSecgroupResultOutput) EnterpriseProjectId() pulumi.StringPtrOutput

func (LookupSecgroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSecgroupResultOutput) Name

func (LookupSecgroupResultOutput) Region

func (LookupSecgroupResultOutput) Rules

The array of security group rules associating with the security group. The rule object is documented below.

func (LookupSecgroupResultOutput) SecgroupId

func (LookupSecgroupResultOutput) ToLookupSecgroupResultOutput

func (o LookupSecgroupResultOutput) ToLookupSecgroupResultOutput() LookupSecgroupResultOutput

func (LookupSecgroupResultOutput) ToLookupSecgroupResultOutputWithContext

func (o LookupSecgroupResultOutput) ToLookupSecgroupResultOutputWithContext(ctx context.Context) LookupSecgroupResultOutput

func (LookupSecgroupResultOutput) UpdatedAt

The last update time, in UTC format.

type LookupSubnetArgs

type LookupSubnetArgs struct {
	// Specifies the availability zone (AZ) to which the subnet should belong.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// Specifies the network segment of specific subnet to retrieve. The value must be in CIDR
	// format.
	Cidr *string `pulumi:"cidr"`
	// Specifies the subnet gateway address of specific subnet.
	GatewayIp *string `pulumi:"gatewayIp"`
	// - Specifies a resource ID in UUID format.
	Id *string `pulumi:"id"`
	// Specifies the name of the specific subnet to retrieve.
	Name *string `pulumi:"name"`
	// Specifies the IP address of DNS server 1 on the specific subnet.
	PrimaryDns *string `pulumi:"primaryDns"`
	// Specifies the region in which to obtain the subnet. If omitted, the provider-level
	// region will be used.
	Region *string `pulumi:"region"`
	// Specifies the IP address of DNS server 2 on the specific subnet.
	SecondaryDns *string `pulumi:"secondaryDns"`
	// Specifies the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.
	Status *string `pulumi:"status"`
	// Specifies the id of the VPC that the desired subnet belongs to.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getSubnet.

type LookupSubnetOutputArgs

type LookupSubnetOutputArgs struct {
	// Specifies the availability zone (AZ) to which the subnet should belong.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	// Specifies the network segment of specific subnet to retrieve. The value must be in CIDR
	// format.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Specifies the subnet gateway address of specific subnet.
	GatewayIp pulumi.StringPtrInput `pulumi:"gatewayIp"`
	// - Specifies a resource ID in UUID format.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies the name of the specific subnet to retrieve.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the IP address of DNS server 1 on the specific subnet.
	PrimaryDns pulumi.StringPtrInput `pulumi:"primaryDns"`
	// Specifies the region in which to obtain the subnet. If omitted, the provider-level
	// region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the IP address of DNS server 2 on the specific subnet.
	SecondaryDns pulumi.StringPtrInput `pulumi:"secondaryDns"`
	// Specifies the value can be ACTIVE, DOWN, UNKNOWN, or ERROR.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Specifies the id of the VPC that the desired subnet belongs to.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getSubnet.

func (LookupSubnetOutputArgs) ElementType

func (LookupSubnetOutputArgs) ElementType() reflect.Type

type LookupSubnetResult

type LookupSubnetResult struct {
	AvailabilityZone string   `pulumi:"availabilityZone"`
	Cidr             string   `pulumi:"cidr"`
	Description      string   `pulumi:"description"`
	DhcpEnable       bool     `pulumi:"dhcpEnable"`
	DnsLists         []string `pulumi:"dnsLists"`
	GatewayIp        string   `pulumi:"gatewayIp"`
	Id               string   `pulumi:"id"`
	Ipv4SubnetId     string   `pulumi:"ipv4SubnetId"`
	Ipv6Cidr         string   `pulumi:"ipv6Cidr"`
	Ipv6Enable       bool     `pulumi:"ipv6Enable"`
	Ipv6Gateway      string   `pulumi:"ipv6Gateway"`
	Ipv6SubnetId     string   `pulumi:"ipv6SubnetId"`
	Name             string   `pulumi:"name"`
	PrimaryDns       string   `pulumi:"primaryDns"`
	Region           string   `pulumi:"region"`
	SecondaryDns     string   `pulumi:"secondaryDns"`
	Status           string   `pulumi:"status"`
	SubnetId         string   `pulumi:"subnetId"`
	VpcId            string   `pulumi:"vpcId"`
}

A collection of values returned by getSubnet.

func LookupSubnet

func LookupSubnet(ctx *pulumi.Context, args *LookupSubnetArgs, opts ...pulumi.InvokeOption) (*LookupSubnetResult, error)

Provides details about a specific VPC subnet.

This resource can prove useful when a module accepts a subnet id as an input variable and needs to, for example, determine the id of the VPC that the subnet belongs to.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		subnet, err := Vpc.GetSubnet(ctx, &vpc.GetSubnetArgs{
			Id: pulumi.StringRef(_var.Subnet_id),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("subnetVpcId", subnet.VpcId)
		return nil
	})
}

``` ## **Attributes Reference**

In addition to all arguments above, the following attributes are exported:

* `dnsList` - The IP address list of DNS servers on the subnet.

* `dhcpEnable` - Whether the DHCP is enabled.

* `description` - The description of the subnet.

* `ipv4SubnetId` - The ID of the IPv4 subnet (Native OpenStack API).

* `ipv6Enable` - Whether the IPv6 is enabled.

* `ipv6SubnetId` - The ID of the IPv6 subnet (Native OpenStack API).

* `ipv6Cidr` - The IPv6 subnet CIDR block.

* `ipv6Gateway` - The IPv6 subnet gateway.

type LookupSubnetResultOutput

type LookupSubnetResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnet.

func (LookupSubnetResultOutput) AvailabilityZone

func (o LookupSubnetResultOutput) AvailabilityZone() pulumi.StringOutput

func (LookupSubnetResultOutput) Cidr

func (LookupSubnetResultOutput) Description

func (LookupSubnetResultOutput) DhcpEnable

func (LookupSubnetResultOutput) DnsLists

func (LookupSubnetResultOutput) ElementType

func (LookupSubnetResultOutput) ElementType() reflect.Type

func (LookupSubnetResultOutput) GatewayIp

func (LookupSubnetResultOutput) Id

func (LookupSubnetResultOutput) Ipv4SubnetId

func (o LookupSubnetResultOutput) Ipv4SubnetId() pulumi.StringOutput

func (LookupSubnetResultOutput) Ipv6Cidr

func (LookupSubnetResultOutput) Ipv6Enable

func (LookupSubnetResultOutput) Ipv6Gateway

func (LookupSubnetResultOutput) Ipv6SubnetId

func (o LookupSubnetResultOutput) Ipv6SubnetId() pulumi.StringOutput

func (LookupSubnetResultOutput) Name

func (LookupSubnetResultOutput) PrimaryDns

func (LookupSubnetResultOutput) Region

func (LookupSubnetResultOutput) SecondaryDns

func (o LookupSubnetResultOutput) SecondaryDns() pulumi.StringOutput

func (LookupSubnetResultOutput) Status

func (LookupSubnetResultOutput) SubnetId

func (LookupSubnetResultOutput) ToLookupSubnetResultOutput

func (o LookupSubnetResultOutput) ToLookupSubnetResultOutput() LookupSubnetResultOutput

func (LookupSubnetResultOutput) ToLookupSubnetResultOutputWithContext

func (o LookupSubnetResultOutput) ToLookupSubnetResultOutputWithContext(ctx context.Context) LookupSubnetResultOutput

func (LookupSubnetResultOutput) VpcId

type LookupVpcArgs

type LookupVpcArgs struct {
	// Specifies the cidr block of the desired VPC.
	Cidr *string `pulumi:"cidr"`
	// Specifies the enterprise project ID which the desired VPC belongs to.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the id of the VPC to retrieve.
	Id *string `pulumi:"id"`
	// Specifies an unique name for the VPC. The value is a string of no more than 64 characters
	// and can contain digits, letters, underscores (_), and hyphens (-).
	Name *string `pulumi:"name"`
	// Specifies the region in which to obtain the VPC. If omitted, the provider-level region
	// will be used.
	Region *string `pulumi:"region"`
	// Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getVpc.

type LookupVpcOutputArgs

type LookupVpcOutputArgs struct {
	// Specifies the cidr block of the desired VPC.
	Cidr pulumi.StringPtrInput `pulumi:"cidr"`
	// Specifies the enterprise project ID which the desired VPC belongs to.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the id of the VPC to retrieve.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Specifies an unique name for the VPC. The value is a string of no more than 64 characters
	// and can contain digits, letters, underscores (_), and hyphens (-).
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to obtain the VPC. If omitted, the provider-level region
	// will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Specifies the current status of the desired VPC. The value can be CREATING, OK or ERROR.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getVpc.

func (LookupVpcOutputArgs) ElementType

func (LookupVpcOutputArgs) ElementType() reflect.Type

type LookupVpcResult

type LookupVpcResult struct {
	Cidr string `pulumi:"cidr"`
	// The supplementary information about the VPC. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description         string `pulumi:"description"`
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	Id                  string `pulumi:"id"`
	Name                string `pulumi:"name"`
	Region              string `pulumi:"region"`
	// Deprecated: use huaweicloud_vpc_route_table data source to get all routes
	Routes []GetVpcRoute `pulumi:"routes"`
	Status string        `pulumi:"status"`
	// The key/value pairs to associate with the VPC.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getVpc.

func LookupVpc

func LookupVpc(ctx *pulumi.Context, args *LookupVpcArgs, opts ...pulumi.InvokeOption) (*LookupVpcResult, error)

Provides details about a specific VPC.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcName := cfg.RequireObject("vpcName")
		_, err := Vpc.GetVpc(ctx, &vpc.GetVpcArgs{
			Name: pulumi.StringRef(vpcName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupVpcResultOutput

type LookupVpcResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVpc.

func (LookupVpcResultOutput) Cidr

func (LookupVpcResultOutput) Description

func (o LookupVpcResultOutput) Description() pulumi.StringOutput

The supplementary information about the VPC. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (LookupVpcResultOutput) ElementType

func (LookupVpcResultOutput) ElementType() reflect.Type

func (LookupVpcResultOutput) EnterpriseProjectId

func (o LookupVpcResultOutput) EnterpriseProjectId() pulumi.StringOutput

func (LookupVpcResultOutput) Id

func (LookupVpcResultOutput) Name

func (LookupVpcResultOutput) Region

func (LookupVpcResultOutput) Routes deprecated

Deprecated: use huaweicloud_vpc_route_table data source to get all routes

func (LookupVpcResultOutput) Status

func (LookupVpcResultOutput) Tags

The key/value pairs to associate with the VPC.

func (LookupVpcResultOutput) ToLookupVpcResultOutput

func (o LookupVpcResultOutput) ToLookupVpcResultOutput() LookupVpcResultOutput

func (LookupVpcResultOutput) ToLookupVpcResultOutputWithContext

func (o LookupVpcResultOutput) ToLookupVpcResultOutputWithContext(ctx context.Context) LookupVpcResultOutput

type PeeringConnection

type PeeringConnection struct {
	pulumi.CustomResourceState

	// Specifies the description of the VPC peering connection.
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies the name of the VPC peering connection. The value can contain 1 to 64
	// characters.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the tenant ID of the accepter tenant. Changing this creates
	// a new VPC peering connection.
	PeerTenantId pulumi.StringOutput `pulumi:"peerTenantId"`
	// Specifies the VPC ID of the accepter tenant. Changing this creates a new
	// VPC peering connection.
	PeerVpcId pulumi.StringOutput `pulumi:"peerVpcId"`
	// The region in which to create the VPC peering connection. If omitted, the
	// provider-level region will be used. Changing this creates a new VPC peering connection resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The VPC peering connection status. The value can be PENDING_ACCEPTANCE, REJECTED, EXPIRED, DELETED, or
	// ACTIVE.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the ID of a VPC involved in a VPC peering connection. Changing this
	// creates a new VPC peering connection.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a resource to manage a VPC Peering Connection resource.

> **NOTE:** For cross-tenant (requester's tenant differs from the accepter's tenant) VPC Peering Connections,

use the `Vpc.PeeringConnection` resource to manage the requester's side of the connection and
use the `Vpc.PeeringConnectionAccepter` resource to manage the accepter's side of the connection.
<br/>If you create a VPC peering connection with another VPC of your own, the connection is created without the need
for you to accept the connection.

## Example Usage

## Import

VPC Peering resources can be imported using the `vpc peering id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/peeringConnection:PeeringConnection test_connection 22b76469-08e3-4937-8c1d-7aad34892be1

```

func GetPeeringConnection

func GetPeeringConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PeeringConnectionState, opts ...pulumi.ResourceOption) (*PeeringConnection, error)

GetPeeringConnection gets an existing PeeringConnection 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 NewPeeringConnection

func NewPeeringConnection(ctx *pulumi.Context,
	name string, args *PeeringConnectionArgs, opts ...pulumi.ResourceOption) (*PeeringConnection, error)

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

func (*PeeringConnection) ElementType

func (*PeeringConnection) ElementType() reflect.Type

func (*PeeringConnection) ToPeeringConnectionOutput

func (i *PeeringConnection) ToPeeringConnectionOutput() PeeringConnectionOutput

func (*PeeringConnection) ToPeeringConnectionOutputWithContext

func (i *PeeringConnection) ToPeeringConnectionOutputWithContext(ctx context.Context) PeeringConnectionOutput

type PeeringConnectionAccepter

type PeeringConnectionAccepter struct {
	pulumi.CustomResourceState

	// Whether or not to accept the peering request. Defaults to `false`.
	Accept pulumi.BoolPtrOutput `pulumi:"accept"`
	// The description of the VPC peering connection.
	Description pulumi.StringOutput `pulumi:"description"`
	// The VPC peering connection name.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Tenant Id of the accepter tenant.
	PeerTenantId pulumi.StringOutput `pulumi:"peerTenantId"`
	// The VPC ID of the accepter tenant.
	PeerVpcId pulumi.StringOutput `pulumi:"peerVpcId"`
	// The region in which to create the vpc peering connection accepter. If omitted,
	// the provider-level region will be used. Changing this creates a new VPC peering connection accepter resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The VPC peering connection status.
	Status pulumi.StringOutput `pulumi:"status"`
	// The ID of requester VPC involved in a VPC peering connection.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The VPC Peering Connection ID to manage. Changing this
	// creates a new VPC peering connection accepter.
	VpcPeeringConnectionId pulumi.StringOutput `pulumi:"vpcPeeringConnectionId"`
}

func GetPeeringConnectionAccepter

func GetPeeringConnectionAccepter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PeeringConnectionAccepterState, opts ...pulumi.ResourceOption) (*PeeringConnectionAccepter, error)

GetPeeringConnectionAccepter gets an existing PeeringConnectionAccepter 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 NewPeeringConnectionAccepter

func NewPeeringConnectionAccepter(ctx *pulumi.Context,
	name string, args *PeeringConnectionAccepterArgs, opts ...pulumi.ResourceOption) (*PeeringConnectionAccepter, error)

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

func (*PeeringConnectionAccepter) ElementType

func (*PeeringConnectionAccepter) ElementType() reflect.Type

func (*PeeringConnectionAccepter) ToPeeringConnectionAccepterOutput

func (i *PeeringConnectionAccepter) ToPeeringConnectionAccepterOutput() PeeringConnectionAccepterOutput

func (*PeeringConnectionAccepter) ToPeeringConnectionAccepterOutputWithContext

func (i *PeeringConnectionAccepter) ToPeeringConnectionAccepterOutputWithContext(ctx context.Context) PeeringConnectionAccepterOutput

type PeeringConnectionAccepterArgs

type PeeringConnectionAccepterArgs struct {
	// Whether or not to accept the peering request. Defaults to `false`.
	Accept pulumi.BoolPtrInput
	// The region in which to create the vpc peering connection accepter. If omitted,
	// the provider-level region will be used. Changing this creates a new VPC peering connection accepter resource.
	Region pulumi.StringPtrInput
	// The VPC Peering Connection ID to manage. Changing this
	// creates a new VPC peering connection accepter.
	VpcPeeringConnectionId pulumi.StringInput
}

The set of arguments for constructing a PeeringConnectionAccepter resource.

func (PeeringConnectionAccepterArgs) ElementType

type PeeringConnectionAccepterArray

type PeeringConnectionAccepterArray []PeeringConnectionAccepterInput

func (PeeringConnectionAccepterArray) ElementType

func (PeeringConnectionAccepterArray) ToPeeringConnectionAccepterArrayOutput

func (i PeeringConnectionAccepterArray) ToPeeringConnectionAccepterArrayOutput() PeeringConnectionAccepterArrayOutput

func (PeeringConnectionAccepterArray) ToPeeringConnectionAccepterArrayOutputWithContext

func (i PeeringConnectionAccepterArray) ToPeeringConnectionAccepterArrayOutputWithContext(ctx context.Context) PeeringConnectionAccepterArrayOutput

type PeeringConnectionAccepterArrayInput

type PeeringConnectionAccepterArrayInput interface {
	pulumi.Input

	ToPeeringConnectionAccepterArrayOutput() PeeringConnectionAccepterArrayOutput
	ToPeeringConnectionAccepterArrayOutputWithContext(context.Context) PeeringConnectionAccepterArrayOutput
}

PeeringConnectionAccepterArrayInput is an input type that accepts PeeringConnectionAccepterArray and PeeringConnectionAccepterArrayOutput values. You can construct a concrete instance of `PeeringConnectionAccepterArrayInput` via:

PeeringConnectionAccepterArray{ PeeringConnectionAccepterArgs{...} }

type PeeringConnectionAccepterArrayOutput

type PeeringConnectionAccepterArrayOutput struct{ *pulumi.OutputState }

func (PeeringConnectionAccepterArrayOutput) ElementType

func (PeeringConnectionAccepterArrayOutput) Index

func (PeeringConnectionAccepterArrayOutput) ToPeeringConnectionAccepterArrayOutput

func (o PeeringConnectionAccepterArrayOutput) ToPeeringConnectionAccepterArrayOutput() PeeringConnectionAccepterArrayOutput

func (PeeringConnectionAccepterArrayOutput) ToPeeringConnectionAccepterArrayOutputWithContext

func (o PeeringConnectionAccepterArrayOutput) ToPeeringConnectionAccepterArrayOutputWithContext(ctx context.Context) PeeringConnectionAccepterArrayOutput

type PeeringConnectionAccepterInput

type PeeringConnectionAccepterInput interface {
	pulumi.Input

	ToPeeringConnectionAccepterOutput() PeeringConnectionAccepterOutput
	ToPeeringConnectionAccepterOutputWithContext(ctx context.Context) PeeringConnectionAccepterOutput
}

type PeeringConnectionAccepterMap

type PeeringConnectionAccepterMap map[string]PeeringConnectionAccepterInput

func (PeeringConnectionAccepterMap) ElementType

func (PeeringConnectionAccepterMap) ToPeeringConnectionAccepterMapOutput

func (i PeeringConnectionAccepterMap) ToPeeringConnectionAccepterMapOutput() PeeringConnectionAccepterMapOutput

func (PeeringConnectionAccepterMap) ToPeeringConnectionAccepterMapOutputWithContext

func (i PeeringConnectionAccepterMap) ToPeeringConnectionAccepterMapOutputWithContext(ctx context.Context) PeeringConnectionAccepterMapOutput

type PeeringConnectionAccepterMapInput

type PeeringConnectionAccepterMapInput interface {
	pulumi.Input

	ToPeeringConnectionAccepterMapOutput() PeeringConnectionAccepterMapOutput
	ToPeeringConnectionAccepterMapOutputWithContext(context.Context) PeeringConnectionAccepterMapOutput
}

PeeringConnectionAccepterMapInput is an input type that accepts PeeringConnectionAccepterMap and PeeringConnectionAccepterMapOutput values. You can construct a concrete instance of `PeeringConnectionAccepterMapInput` via:

PeeringConnectionAccepterMap{ "key": PeeringConnectionAccepterArgs{...} }

type PeeringConnectionAccepterMapOutput

type PeeringConnectionAccepterMapOutput struct{ *pulumi.OutputState }

func (PeeringConnectionAccepterMapOutput) ElementType

func (PeeringConnectionAccepterMapOutput) MapIndex

func (PeeringConnectionAccepterMapOutput) ToPeeringConnectionAccepterMapOutput

func (o PeeringConnectionAccepterMapOutput) ToPeeringConnectionAccepterMapOutput() PeeringConnectionAccepterMapOutput

func (PeeringConnectionAccepterMapOutput) ToPeeringConnectionAccepterMapOutputWithContext

func (o PeeringConnectionAccepterMapOutput) ToPeeringConnectionAccepterMapOutputWithContext(ctx context.Context) PeeringConnectionAccepterMapOutput

type PeeringConnectionAccepterOutput

type PeeringConnectionAccepterOutput struct{ *pulumi.OutputState }

func (PeeringConnectionAccepterOutput) Accept

Whether or not to accept the peering request. Defaults to `false`.

func (PeeringConnectionAccepterOutput) Description added in v0.0.8

The description of the VPC peering connection.

func (PeeringConnectionAccepterOutput) ElementType

func (PeeringConnectionAccepterOutput) Name

The VPC peering connection name.

func (PeeringConnectionAccepterOutput) PeerTenantId

The Tenant Id of the accepter tenant.

func (PeeringConnectionAccepterOutput) PeerVpcId

The VPC ID of the accepter tenant.

func (PeeringConnectionAccepterOutput) Region

The region in which to create the vpc peering connection accepter. If omitted, the provider-level region will be used. Changing this creates a new VPC peering connection accepter resource.

func (PeeringConnectionAccepterOutput) Status

The VPC peering connection status.

func (PeeringConnectionAccepterOutput) ToPeeringConnectionAccepterOutput

func (o PeeringConnectionAccepterOutput) ToPeeringConnectionAccepterOutput() PeeringConnectionAccepterOutput

func (PeeringConnectionAccepterOutput) ToPeeringConnectionAccepterOutputWithContext

func (o PeeringConnectionAccepterOutput) ToPeeringConnectionAccepterOutputWithContext(ctx context.Context) PeeringConnectionAccepterOutput

func (PeeringConnectionAccepterOutput) VpcId

The ID of requester VPC involved in a VPC peering connection.

func (PeeringConnectionAccepterOutput) VpcPeeringConnectionId

func (o PeeringConnectionAccepterOutput) VpcPeeringConnectionId() pulumi.StringOutput

The VPC Peering Connection ID to manage. Changing this creates a new VPC peering connection accepter.

type PeeringConnectionAccepterState

type PeeringConnectionAccepterState struct {
	// Whether or not to accept the peering request. Defaults to `false`.
	Accept pulumi.BoolPtrInput
	// The description of the VPC peering connection.
	Description pulumi.StringPtrInput
	// The VPC peering connection name.
	Name pulumi.StringPtrInput
	// The Tenant Id of the accepter tenant.
	PeerTenantId pulumi.StringPtrInput
	// The VPC ID of the accepter tenant.
	PeerVpcId pulumi.StringPtrInput
	// The region in which to create the vpc peering connection accepter. If omitted,
	// the provider-level region will be used. Changing this creates a new VPC peering connection accepter resource.
	Region pulumi.StringPtrInput
	// The VPC peering connection status.
	Status pulumi.StringPtrInput
	// The ID of requester VPC involved in a VPC peering connection.
	VpcId pulumi.StringPtrInput
	// The VPC Peering Connection ID to manage. Changing this
	// creates a new VPC peering connection accepter.
	VpcPeeringConnectionId pulumi.StringPtrInput
}

func (PeeringConnectionAccepterState) ElementType

type PeeringConnectionArgs

type PeeringConnectionArgs struct {
	// Specifies the description of the VPC peering connection.
	Description pulumi.StringPtrInput
	// Specifies the name of the VPC peering connection. The value can contain 1 to 64
	// characters.
	Name pulumi.StringPtrInput
	// Specifies the tenant ID of the accepter tenant. Changing this creates
	// a new VPC peering connection.
	PeerTenantId pulumi.StringPtrInput
	// Specifies the VPC ID of the accepter tenant. Changing this creates a new
	// VPC peering connection.
	PeerVpcId pulumi.StringInput
	// The region in which to create the VPC peering connection. If omitted, the
	// provider-level region will be used. Changing this creates a new VPC peering connection resource.
	Region pulumi.StringPtrInput
	// Specifies the ID of a VPC involved in a VPC peering connection. Changing this
	// creates a new VPC peering connection.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a PeeringConnection resource.

func (PeeringConnectionArgs) ElementType

func (PeeringConnectionArgs) ElementType() reflect.Type

type PeeringConnectionArray

type PeeringConnectionArray []PeeringConnectionInput

func (PeeringConnectionArray) ElementType

func (PeeringConnectionArray) ElementType() reflect.Type

func (PeeringConnectionArray) ToPeeringConnectionArrayOutput

func (i PeeringConnectionArray) ToPeeringConnectionArrayOutput() PeeringConnectionArrayOutput

func (PeeringConnectionArray) ToPeeringConnectionArrayOutputWithContext

func (i PeeringConnectionArray) ToPeeringConnectionArrayOutputWithContext(ctx context.Context) PeeringConnectionArrayOutput

type PeeringConnectionArrayInput

type PeeringConnectionArrayInput interface {
	pulumi.Input

	ToPeeringConnectionArrayOutput() PeeringConnectionArrayOutput
	ToPeeringConnectionArrayOutputWithContext(context.Context) PeeringConnectionArrayOutput
}

PeeringConnectionArrayInput is an input type that accepts PeeringConnectionArray and PeeringConnectionArrayOutput values. You can construct a concrete instance of `PeeringConnectionArrayInput` via:

PeeringConnectionArray{ PeeringConnectionArgs{...} }

type PeeringConnectionArrayOutput

type PeeringConnectionArrayOutput struct{ *pulumi.OutputState }

func (PeeringConnectionArrayOutput) ElementType

func (PeeringConnectionArrayOutput) Index

func (PeeringConnectionArrayOutput) ToPeeringConnectionArrayOutput

func (o PeeringConnectionArrayOutput) ToPeeringConnectionArrayOutput() PeeringConnectionArrayOutput

func (PeeringConnectionArrayOutput) ToPeeringConnectionArrayOutputWithContext

func (o PeeringConnectionArrayOutput) ToPeeringConnectionArrayOutputWithContext(ctx context.Context) PeeringConnectionArrayOutput

type PeeringConnectionInput

type PeeringConnectionInput interface {
	pulumi.Input

	ToPeeringConnectionOutput() PeeringConnectionOutput
	ToPeeringConnectionOutputWithContext(ctx context.Context) PeeringConnectionOutput
}

type PeeringConnectionMap

type PeeringConnectionMap map[string]PeeringConnectionInput

func (PeeringConnectionMap) ElementType

func (PeeringConnectionMap) ElementType() reflect.Type

func (PeeringConnectionMap) ToPeeringConnectionMapOutput

func (i PeeringConnectionMap) ToPeeringConnectionMapOutput() PeeringConnectionMapOutput

func (PeeringConnectionMap) ToPeeringConnectionMapOutputWithContext

func (i PeeringConnectionMap) ToPeeringConnectionMapOutputWithContext(ctx context.Context) PeeringConnectionMapOutput

type PeeringConnectionMapInput

type PeeringConnectionMapInput interface {
	pulumi.Input

	ToPeeringConnectionMapOutput() PeeringConnectionMapOutput
	ToPeeringConnectionMapOutputWithContext(context.Context) PeeringConnectionMapOutput
}

PeeringConnectionMapInput is an input type that accepts PeeringConnectionMap and PeeringConnectionMapOutput values. You can construct a concrete instance of `PeeringConnectionMapInput` via:

PeeringConnectionMap{ "key": PeeringConnectionArgs{...} }

type PeeringConnectionMapOutput

type PeeringConnectionMapOutput struct{ *pulumi.OutputState }

func (PeeringConnectionMapOutput) ElementType

func (PeeringConnectionMapOutput) ElementType() reflect.Type

func (PeeringConnectionMapOutput) MapIndex

func (PeeringConnectionMapOutput) ToPeeringConnectionMapOutput

func (o PeeringConnectionMapOutput) ToPeeringConnectionMapOutput() PeeringConnectionMapOutput

func (PeeringConnectionMapOutput) ToPeeringConnectionMapOutputWithContext

func (o PeeringConnectionMapOutput) ToPeeringConnectionMapOutputWithContext(ctx context.Context) PeeringConnectionMapOutput

type PeeringConnectionOutput

type PeeringConnectionOutput struct{ *pulumi.OutputState }

func (PeeringConnectionOutput) Description added in v0.0.8

Specifies the description of the VPC peering connection.

func (PeeringConnectionOutput) ElementType

func (PeeringConnectionOutput) ElementType() reflect.Type

func (PeeringConnectionOutput) Name

Specifies the name of the VPC peering connection. The value can contain 1 to 64 characters.

func (PeeringConnectionOutput) PeerTenantId

func (o PeeringConnectionOutput) PeerTenantId() pulumi.StringOutput

Specifies the tenant ID of the accepter tenant. Changing this creates a new VPC peering connection.

func (PeeringConnectionOutput) PeerVpcId

Specifies the VPC ID of the accepter tenant. Changing this creates a new VPC peering connection.

func (PeeringConnectionOutput) Region

The region in which to create the VPC peering connection. If omitted, the provider-level region will be used. Changing this creates a new VPC peering connection resource.

func (PeeringConnectionOutput) Status

The VPC peering connection status. The value can be PENDING_ACCEPTANCE, REJECTED, EXPIRED, DELETED, or ACTIVE.

func (PeeringConnectionOutput) ToPeeringConnectionOutput

func (o PeeringConnectionOutput) ToPeeringConnectionOutput() PeeringConnectionOutput

func (PeeringConnectionOutput) ToPeeringConnectionOutputWithContext

func (o PeeringConnectionOutput) ToPeeringConnectionOutputWithContext(ctx context.Context) PeeringConnectionOutput

func (PeeringConnectionOutput) VpcId

Specifies the ID of a VPC involved in a VPC peering connection. Changing this creates a new VPC peering connection.

type PeeringConnectionState

type PeeringConnectionState struct {
	// Specifies the description of the VPC peering connection.
	Description pulumi.StringPtrInput
	// Specifies the name of the VPC peering connection. The value can contain 1 to 64
	// characters.
	Name pulumi.StringPtrInput
	// Specifies the tenant ID of the accepter tenant. Changing this creates
	// a new VPC peering connection.
	PeerTenantId pulumi.StringPtrInput
	// Specifies the VPC ID of the accepter tenant. Changing this creates a new
	// VPC peering connection.
	PeerVpcId pulumi.StringPtrInput
	// The region in which to create the VPC peering connection. If omitted, the
	// provider-level region will be used. Changing this creates a new VPC peering connection resource.
	Region pulumi.StringPtrInput
	// The VPC peering connection status. The value can be PENDING_ACCEPTANCE, REJECTED, EXPIRED, DELETED, or
	// ACTIVE.
	Status pulumi.StringPtrInput
	// Specifies the ID of a VPC involved in a VPC peering connection. Changing this
	// creates a new VPC peering connection.
	VpcId pulumi.StringPtrInput
}

func (PeeringConnectionState) ElementType

func (PeeringConnectionState) ElementType() reflect.Type

type Port

type Port struct {
	pulumi.CustomResourceState

	AdminStateUp        pulumi.BoolOutput                 `pulumi:"adminStateUp"`
	AllFixedIps         pulumi.StringArrayOutput          `pulumi:"allFixedIps"`
	AllSecurityGroupIds pulumi.StringArrayOutput          `pulumi:"allSecurityGroupIds"`
	AllowedAddressPairs PortAllowedAddressPairArrayOutput `pulumi:"allowedAddressPairs"`
	DeviceId            pulumi.StringOutput               `pulumi:"deviceId"`
	DeviceOwner         pulumi.StringOutput               `pulumi:"deviceOwner"`
	ExtraDhcpOptions    PortExtraDhcpOptionArrayOutput    `pulumi:"extraDhcpOptions"`
	FixedIps            PortFixedIpArrayOutput            `pulumi:"fixedIps"`
	MacAddress          pulumi.StringOutput               `pulumi:"macAddress"`
	Name                pulumi.StringOutput               `pulumi:"name"`
	NetworkId           pulumi.StringOutput               `pulumi:"networkId"`
	NoSecurityGroups    pulumi.BoolPtrOutput              `pulumi:"noSecurityGroups"`
	Region              pulumi.StringOutput               `pulumi:"region"`
	SecurityGroupIds    pulumi.StringArrayOutput          `pulumi:"securityGroupIds"`
	// Deprecated: tenant_id is deprecated
	TenantId   pulumi.StringOutput    `pulumi:"tenantId"`
	ValueSpecs pulumi.StringMapOutput `pulumi:"valueSpecs"`
}

func GetPort

func GetPort(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PortState, opts ...pulumi.ResourceOption) (*Port, error)

GetPort gets an existing Port 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 NewPort

func NewPort(ctx *pulumi.Context,
	name string, args *PortArgs, opts ...pulumi.ResourceOption) (*Port, error)

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

func (*Port) ElementType

func (*Port) ElementType() reflect.Type

func (*Port) ToPortOutput

func (i *Port) ToPortOutput() PortOutput

func (*Port) ToPortOutputWithContext

func (i *Port) ToPortOutputWithContext(ctx context.Context) PortOutput

type PortAllowedAddressPair

type PortAllowedAddressPair struct {
	IpAddress  string  `pulumi:"ipAddress"`
	MacAddress *string `pulumi:"macAddress"`
}

type PortAllowedAddressPairArgs

type PortAllowedAddressPairArgs struct {
	IpAddress  pulumi.StringInput    `pulumi:"ipAddress"`
	MacAddress pulumi.StringPtrInput `pulumi:"macAddress"`
}

func (PortAllowedAddressPairArgs) ElementType

func (PortAllowedAddressPairArgs) ElementType() reflect.Type

func (PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutput

func (i PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutput() PortAllowedAddressPairOutput

func (PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutputWithContext

func (i PortAllowedAddressPairArgs) ToPortAllowedAddressPairOutputWithContext(ctx context.Context) PortAllowedAddressPairOutput

type PortAllowedAddressPairArray

type PortAllowedAddressPairArray []PortAllowedAddressPairInput

func (PortAllowedAddressPairArray) ElementType

func (PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutput

func (i PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutput() PortAllowedAddressPairArrayOutput

func (PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutputWithContext

func (i PortAllowedAddressPairArray) ToPortAllowedAddressPairArrayOutputWithContext(ctx context.Context) PortAllowedAddressPairArrayOutput

type PortAllowedAddressPairArrayInput

type PortAllowedAddressPairArrayInput interface {
	pulumi.Input

	ToPortAllowedAddressPairArrayOutput() PortAllowedAddressPairArrayOutput
	ToPortAllowedAddressPairArrayOutputWithContext(context.Context) PortAllowedAddressPairArrayOutput
}

PortAllowedAddressPairArrayInput is an input type that accepts PortAllowedAddressPairArray and PortAllowedAddressPairArrayOutput values. You can construct a concrete instance of `PortAllowedAddressPairArrayInput` via:

PortAllowedAddressPairArray{ PortAllowedAddressPairArgs{...} }

type PortAllowedAddressPairArrayOutput

type PortAllowedAddressPairArrayOutput struct{ *pulumi.OutputState }

func (PortAllowedAddressPairArrayOutput) ElementType

func (PortAllowedAddressPairArrayOutput) Index

func (PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutput

func (o PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutput() PortAllowedAddressPairArrayOutput

func (PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutputWithContext

func (o PortAllowedAddressPairArrayOutput) ToPortAllowedAddressPairArrayOutputWithContext(ctx context.Context) PortAllowedAddressPairArrayOutput

type PortAllowedAddressPairInput

type PortAllowedAddressPairInput interface {
	pulumi.Input

	ToPortAllowedAddressPairOutput() PortAllowedAddressPairOutput
	ToPortAllowedAddressPairOutputWithContext(context.Context) PortAllowedAddressPairOutput
}

PortAllowedAddressPairInput is an input type that accepts PortAllowedAddressPairArgs and PortAllowedAddressPairOutput values. You can construct a concrete instance of `PortAllowedAddressPairInput` via:

PortAllowedAddressPairArgs{...}

type PortAllowedAddressPairOutput

type PortAllowedAddressPairOutput struct{ *pulumi.OutputState }

func (PortAllowedAddressPairOutput) ElementType

func (PortAllowedAddressPairOutput) IpAddress

func (PortAllowedAddressPairOutput) MacAddress

func (PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutput

func (o PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutput() PortAllowedAddressPairOutput

func (PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutputWithContext

func (o PortAllowedAddressPairOutput) ToPortAllowedAddressPairOutputWithContext(ctx context.Context) PortAllowedAddressPairOutput

type PortArgs

type PortArgs struct {
	AdminStateUp        pulumi.BoolPtrInput
	AllowedAddressPairs PortAllowedAddressPairArrayInput
	DeviceId            pulumi.StringPtrInput
	DeviceOwner         pulumi.StringPtrInput
	ExtraDhcpOptions    PortExtraDhcpOptionArrayInput
	FixedIps            PortFixedIpArrayInput
	MacAddress          pulumi.StringPtrInput
	Name                pulumi.StringPtrInput
	NetworkId           pulumi.StringInput
	NoSecurityGroups    pulumi.BoolPtrInput
	Region              pulumi.StringPtrInput
	SecurityGroupIds    pulumi.StringArrayInput
	// Deprecated: tenant_id is deprecated
	TenantId   pulumi.StringPtrInput
	ValueSpecs pulumi.StringMapInput
}

The set of arguments for constructing a Port resource.

func (PortArgs) ElementType

func (PortArgs) ElementType() reflect.Type

type PortArray

type PortArray []PortInput

func (PortArray) ElementType

func (PortArray) ElementType() reflect.Type

func (PortArray) ToPortArrayOutput

func (i PortArray) ToPortArrayOutput() PortArrayOutput

func (PortArray) ToPortArrayOutputWithContext

func (i PortArray) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortArrayInput

type PortArrayInput interface {
	pulumi.Input

	ToPortArrayOutput() PortArrayOutput
	ToPortArrayOutputWithContext(context.Context) PortArrayOutput
}

PortArrayInput is an input type that accepts PortArray and PortArrayOutput values. You can construct a concrete instance of `PortArrayInput` via:

PortArray{ PortArgs{...} }

type PortArrayOutput

type PortArrayOutput struct{ *pulumi.OutputState }

func (PortArrayOutput) ElementType

func (PortArrayOutput) ElementType() reflect.Type

func (PortArrayOutput) Index

func (PortArrayOutput) ToPortArrayOutput

func (o PortArrayOutput) ToPortArrayOutput() PortArrayOutput

func (PortArrayOutput) ToPortArrayOutputWithContext

func (o PortArrayOutput) ToPortArrayOutputWithContext(ctx context.Context) PortArrayOutput

type PortExtraDhcpOption

type PortExtraDhcpOption struct {
	IpVersion *int   `pulumi:"ipVersion"`
	Name      string `pulumi:"name"`
	Value     string `pulumi:"value"`
}

type PortExtraDhcpOptionArgs

type PortExtraDhcpOptionArgs struct {
	IpVersion pulumi.IntPtrInput `pulumi:"ipVersion"`
	Name      pulumi.StringInput `pulumi:"name"`
	Value     pulumi.StringInput `pulumi:"value"`
}

func (PortExtraDhcpOptionArgs) ElementType

func (PortExtraDhcpOptionArgs) ElementType() reflect.Type

func (PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutput

func (i PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutput() PortExtraDhcpOptionOutput

func (PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutputWithContext

func (i PortExtraDhcpOptionArgs) ToPortExtraDhcpOptionOutputWithContext(ctx context.Context) PortExtraDhcpOptionOutput

type PortExtraDhcpOptionArray

type PortExtraDhcpOptionArray []PortExtraDhcpOptionInput

func (PortExtraDhcpOptionArray) ElementType

func (PortExtraDhcpOptionArray) ElementType() reflect.Type

func (PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutput

func (i PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutput() PortExtraDhcpOptionArrayOutput

func (PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutputWithContext

func (i PortExtraDhcpOptionArray) ToPortExtraDhcpOptionArrayOutputWithContext(ctx context.Context) PortExtraDhcpOptionArrayOutput

type PortExtraDhcpOptionArrayInput

type PortExtraDhcpOptionArrayInput interface {
	pulumi.Input

	ToPortExtraDhcpOptionArrayOutput() PortExtraDhcpOptionArrayOutput
	ToPortExtraDhcpOptionArrayOutputWithContext(context.Context) PortExtraDhcpOptionArrayOutput
}

PortExtraDhcpOptionArrayInput is an input type that accepts PortExtraDhcpOptionArray and PortExtraDhcpOptionArrayOutput values. You can construct a concrete instance of `PortExtraDhcpOptionArrayInput` via:

PortExtraDhcpOptionArray{ PortExtraDhcpOptionArgs{...} }

type PortExtraDhcpOptionArrayOutput

type PortExtraDhcpOptionArrayOutput struct{ *pulumi.OutputState }

func (PortExtraDhcpOptionArrayOutput) ElementType

func (PortExtraDhcpOptionArrayOutput) Index

func (PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutput

func (o PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutput() PortExtraDhcpOptionArrayOutput

func (PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutputWithContext

func (o PortExtraDhcpOptionArrayOutput) ToPortExtraDhcpOptionArrayOutputWithContext(ctx context.Context) PortExtraDhcpOptionArrayOutput

type PortExtraDhcpOptionInput

type PortExtraDhcpOptionInput interface {
	pulumi.Input

	ToPortExtraDhcpOptionOutput() PortExtraDhcpOptionOutput
	ToPortExtraDhcpOptionOutputWithContext(context.Context) PortExtraDhcpOptionOutput
}

PortExtraDhcpOptionInput is an input type that accepts PortExtraDhcpOptionArgs and PortExtraDhcpOptionOutput values. You can construct a concrete instance of `PortExtraDhcpOptionInput` via:

PortExtraDhcpOptionArgs{...}

type PortExtraDhcpOptionOutput

type PortExtraDhcpOptionOutput struct{ *pulumi.OutputState }

func (PortExtraDhcpOptionOutput) ElementType

func (PortExtraDhcpOptionOutput) ElementType() reflect.Type

func (PortExtraDhcpOptionOutput) IpVersion

func (PortExtraDhcpOptionOutput) Name

func (PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutput

func (o PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutput() PortExtraDhcpOptionOutput

func (PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutputWithContext

func (o PortExtraDhcpOptionOutput) ToPortExtraDhcpOptionOutputWithContext(ctx context.Context) PortExtraDhcpOptionOutput

func (PortExtraDhcpOptionOutput) Value

type PortFixedIp

type PortFixedIp struct {
	IpAddress *string `pulumi:"ipAddress"`
	SubnetId  string  `pulumi:"subnetId"`
}

type PortFixedIpArgs

type PortFixedIpArgs struct {
	IpAddress pulumi.StringPtrInput `pulumi:"ipAddress"`
	SubnetId  pulumi.StringInput    `pulumi:"subnetId"`
}

func (PortFixedIpArgs) ElementType

func (PortFixedIpArgs) ElementType() reflect.Type

func (PortFixedIpArgs) ToPortFixedIpOutput

func (i PortFixedIpArgs) ToPortFixedIpOutput() PortFixedIpOutput

func (PortFixedIpArgs) ToPortFixedIpOutputWithContext

func (i PortFixedIpArgs) ToPortFixedIpOutputWithContext(ctx context.Context) PortFixedIpOutput

type PortFixedIpArray

type PortFixedIpArray []PortFixedIpInput

func (PortFixedIpArray) ElementType

func (PortFixedIpArray) ElementType() reflect.Type

func (PortFixedIpArray) ToPortFixedIpArrayOutput

func (i PortFixedIpArray) ToPortFixedIpArrayOutput() PortFixedIpArrayOutput

func (PortFixedIpArray) ToPortFixedIpArrayOutputWithContext

func (i PortFixedIpArray) ToPortFixedIpArrayOutputWithContext(ctx context.Context) PortFixedIpArrayOutput

type PortFixedIpArrayInput

type PortFixedIpArrayInput interface {
	pulumi.Input

	ToPortFixedIpArrayOutput() PortFixedIpArrayOutput
	ToPortFixedIpArrayOutputWithContext(context.Context) PortFixedIpArrayOutput
}

PortFixedIpArrayInput is an input type that accepts PortFixedIpArray and PortFixedIpArrayOutput values. You can construct a concrete instance of `PortFixedIpArrayInput` via:

PortFixedIpArray{ PortFixedIpArgs{...} }

type PortFixedIpArrayOutput

type PortFixedIpArrayOutput struct{ *pulumi.OutputState }

func (PortFixedIpArrayOutput) ElementType

func (PortFixedIpArrayOutput) ElementType() reflect.Type

func (PortFixedIpArrayOutput) Index

func (PortFixedIpArrayOutput) ToPortFixedIpArrayOutput

func (o PortFixedIpArrayOutput) ToPortFixedIpArrayOutput() PortFixedIpArrayOutput

func (PortFixedIpArrayOutput) ToPortFixedIpArrayOutputWithContext

func (o PortFixedIpArrayOutput) ToPortFixedIpArrayOutputWithContext(ctx context.Context) PortFixedIpArrayOutput

type PortFixedIpInput

type PortFixedIpInput interface {
	pulumi.Input

	ToPortFixedIpOutput() PortFixedIpOutput
	ToPortFixedIpOutputWithContext(context.Context) PortFixedIpOutput
}

PortFixedIpInput is an input type that accepts PortFixedIpArgs and PortFixedIpOutput values. You can construct a concrete instance of `PortFixedIpInput` via:

PortFixedIpArgs{...}

type PortFixedIpOutput

type PortFixedIpOutput struct{ *pulumi.OutputState }

func (PortFixedIpOutput) ElementType

func (PortFixedIpOutput) ElementType() reflect.Type

func (PortFixedIpOutput) IpAddress

func (PortFixedIpOutput) SubnetId

func (o PortFixedIpOutput) SubnetId() pulumi.StringOutput

func (PortFixedIpOutput) ToPortFixedIpOutput

func (o PortFixedIpOutput) ToPortFixedIpOutput() PortFixedIpOutput

func (PortFixedIpOutput) ToPortFixedIpOutputWithContext

func (o PortFixedIpOutput) ToPortFixedIpOutputWithContext(ctx context.Context) PortFixedIpOutput

type PortInput

type PortInput interface {
	pulumi.Input

	ToPortOutput() PortOutput
	ToPortOutputWithContext(ctx context.Context) PortOutput
}

type PortMap

type PortMap map[string]PortInput

func (PortMap) ElementType

func (PortMap) ElementType() reflect.Type

func (PortMap) ToPortMapOutput

func (i PortMap) ToPortMapOutput() PortMapOutput

func (PortMap) ToPortMapOutputWithContext

func (i PortMap) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortMapInput

type PortMapInput interface {
	pulumi.Input

	ToPortMapOutput() PortMapOutput
	ToPortMapOutputWithContext(context.Context) PortMapOutput
}

PortMapInput is an input type that accepts PortMap and PortMapOutput values. You can construct a concrete instance of `PortMapInput` via:

PortMap{ "key": PortArgs{...} }

type PortMapOutput

type PortMapOutput struct{ *pulumi.OutputState }

func (PortMapOutput) ElementType

func (PortMapOutput) ElementType() reflect.Type

func (PortMapOutput) MapIndex

func (PortMapOutput) ToPortMapOutput

func (o PortMapOutput) ToPortMapOutput() PortMapOutput

func (PortMapOutput) ToPortMapOutputWithContext

func (o PortMapOutput) ToPortMapOutputWithContext(ctx context.Context) PortMapOutput

type PortOutput

type PortOutput struct{ *pulumi.OutputState }

func (PortOutput) AdminStateUp

func (o PortOutput) AdminStateUp() pulumi.BoolOutput

func (PortOutput) AllFixedIps

func (o PortOutput) AllFixedIps() pulumi.StringArrayOutput

func (PortOutput) AllSecurityGroupIds

func (o PortOutput) AllSecurityGroupIds() pulumi.StringArrayOutput

func (PortOutput) AllowedAddressPairs

func (o PortOutput) AllowedAddressPairs() PortAllowedAddressPairArrayOutput

func (PortOutput) DeviceId

func (o PortOutput) DeviceId() pulumi.StringOutput

func (PortOutput) DeviceOwner

func (o PortOutput) DeviceOwner() pulumi.StringOutput

func (PortOutput) ElementType

func (PortOutput) ElementType() reflect.Type

func (PortOutput) ExtraDhcpOptions

func (o PortOutput) ExtraDhcpOptions() PortExtraDhcpOptionArrayOutput

func (PortOutput) FixedIps

func (o PortOutput) FixedIps() PortFixedIpArrayOutput

func (PortOutput) MacAddress

func (o PortOutput) MacAddress() pulumi.StringOutput

func (PortOutput) Name

func (o PortOutput) Name() pulumi.StringOutput

func (PortOutput) NetworkId

func (o PortOutput) NetworkId() pulumi.StringOutput

func (PortOutput) NoSecurityGroups

func (o PortOutput) NoSecurityGroups() pulumi.BoolPtrOutput

func (PortOutput) Region

func (o PortOutput) Region() pulumi.StringOutput

func (PortOutput) SecurityGroupIds

func (o PortOutput) SecurityGroupIds() pulumi.StringArrayOutput

func (PortOutput) TenantId deprecated

func (o PortOutput) TenantId() pulumi.StringOutput

Deprecated: tenant_id is deprecated

func (PortOutput) ToPortOutput

func (o PortOutput) ToPortOutput() PortOutput

func (PortOutput) ToPortOutputWithContext

func (o PortOutput) ToPortOutputWithContext(ctx context.Context) PortOutput

func (PortOutput) ValueSpecs

func (o PortOutput) ValueSpecs() pulumi.StringMapOutput

type PortState

type PortState struct {
	AdminStateUp        pulumi.BoolPtrInput
	AllFixedIps         pulumi.StringArrayInput
	AllSecurityGroupIds pulumi.StringArrayInput
	AllowedAddressPairs PortAllowedAddressPairArrayInput
	DeviceId            pulumi.StringPtrInput
	DeviceOwner         pulumi.StringPtrInput
	ExtraDhcpOptions    PortExtraDhcpOptionArrayInput
	FixedIps            PortFixedIpArrayInput
	MacAddress          pulumi.StringPtrInput
	Name                pulumi.StringPtrInput
	NetworkId           pulumi.StringPtrInput
	NoSecurityGroups    pulumi.BoolPtrInput
	Region              pulumi.StringPtrInput
	SecurityGroupIds    pulumi.StringArrayInput
	// Deprecated: tenant_id is deprecated
	TenantId   pulumi.StringPtrInput
	ValueSpecs pulumi.StringMapInput
}

func (PortState) ElementType

func (PortState) ElementType() reflect.Type

type Route

type Route struct {
	pulumi.CustomResourceState

	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the destination address in the CIDR notation format,
	// for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap with any
	// subnet in the VPC. Changing this creates a new resource.
	Destination pulumi.StringOutput `pulumi:"destination"`
	// Specifies the next hop.
	// + If the route type is **ecs**, the value is an ECS instance ID in the VPC.
	// + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.
	// + If the route type is **vip**, the value is a virtual IP address.
	// + If the route type is **nat**, the value is a VPN gateway ID.
	// + If the route type is **peering**, the value is a VPC peering connection ID.
	// + If the route type is **vpn**, the value is a VPN gateway ID.
	// + If the route type is **dc**, the value is a Direct Connect gateway ID.
	// + If the route type is **cc**, the value is a Cloud Connection ID.
	Nexthop pulumi.StringOutput `pulumi:"nexthop"`
	// The region in which to create the VPC route. If omitted, the provider-level
	// region will be used. Changing this creates a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the route table ID for which a route is to be added.
	// If the value is not set, the route will be added to the *default* route table.
	RouteTableId pulumi.StringOutput `pulumi:"routeTableId"`
	// The name of route table.
	RouteTableName pulumi.StringOutput `pulumi:"routeTableName"`
	// Specifies the route type. Currently, the value can be:
	// **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.
	Type pulumi.StringOutput `pulumi:"type"`
	// Specifies the VPC for which a route is to be added. Changing this creates a
	// new resource.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages a VPC route resource within HuaweiCloud.

## Example Usage ### Add route to the default route table

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcId := cfg.RequireObject("vpcId")
		nexthop := cfg.RequireObject("nexthop")
		_, err := Vpc.NewRoute(ctx, "vpcRoute", &Vpc.RouteArgs{
			VpcId:       pulumi.Any(vpcId),
			Destination: pulumi.String("192.168.0.0/16"),
			Type:        pulumi.String("peering"),
			Nexthop:     pulumi.Any(nexthop),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Add route to a custom route table

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcId := cfg.RequireObject("vpcId")
		nexthop := cfg.RequireObject("nexthop")
		rtb, err := Vpc.GetRouteTable(ctx, &vpc.GetRouteTableArgs{
			VpcId: vpcId,
			Name:  pulumi.StringRef("demo"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = Vpc.NewRoute(ctx, "vpcRoute", &Vpc.RouteArgs{
			VpcId:        pulumi.Any(vpcId),
			RouteTableId: pulumi.String(rtb.Id),
			Destination:  pulumi.String("172.16.8.0/24"),
			Type:         pulumi.String("ecs"),
			Nexthop:      pulumi.Any(nexthop),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPC routes can be imported using the route table ID and their `destination` separated by a slash, e.g.

```sh

$ pulumi import huaweicloud:Vpc/route:Route test <route_table_id>/<destination>

```

func GetRoute

func GetRoute(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteState, opts ...pulumi.ResourceOption) (*Route, error)

GetRoute gets an existing Route 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 NewRoute

func NewRoute(ctx *pulumi.Context,
	name string, args *RouteArgs, opts ...pulumi.ResourceOption) (*Route, error)

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

func (*Route) ElementType

func (*Route) ElementType() reflect.Type

func (*Route) ToRouteOutput

func (i *Route) ToRouteOutput() RouteOutput

func (*Route) ToRouteOutputWithContext

func (i *Route) ToRouteOutputWithContext(ctx context.Context) RouteOutput

type RouteArgs

type RouteArgs struct {
	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the destination address in the CIDR notation format,
	// for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap with any
	// subnet in the VPC. Changing this creates a new resource.
	Destination pulumi.StringInput
	// Specifies the next hop.
	// + If the route type is **ecs**, the value is an ECS instance ID in the VPC.
	// + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.
	// + If the route type is **vip**, the value is a virtual IP address.
	// + If the route type is **nat**, the value is a VPN gateway ID.
	// + If the route type is **peering**, the value is a VPC peering connection ID.
	// + If the route type is **vpn**, the value is a VPN gateway ID.
	// + If the route type is **dc**, the value is a Direct Connect gateway ID.
	// + If the route type is **cc**, the value is a Cloud Connection ID.
	Nexthop pulumi.StringInput
	// The region in which to create the VPC route. If omitted, the provider-level
	// region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// Specifies the route table ID for which a route is to be added.
	// If the value is not set, the route will be added to the *default* route table.
	RouteTableId pulumi.StringPtrInput
	// Specifies the route type. Currently, the value can be:
	// **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.
	Type pulumi.StringInput
	// Specifies the VPC for which a route is to be added. Changing this creates a
	// new resource.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Route resource.

func (RouteArgs) ElementType

func (RouteArgs) ElementType() reflect.Type

type RouteArray

type RouteArray []RouteInput

func (RouteArray) ElementType

func (RouteArray) ElementType() reflect.Type

func (RouteArray) ToRouteArrayOutput

func (i RouteArray) ToRouteArrayOutput() RouteArrayOutput

func (RouteArray) ToRouteArrayOutputWithContext

func (i RouteArray) ToRouteArrayOutputWithContext(ctx context.Context) RouteArrayOutput

type RouteArrayInput

type RouteArrayInput interface {
	pulumi.Input

	ToRouteArrayOutput() RouteArrayOutput
	ToRouteArrayOutputWithContext(context.Context) RouteArrayOutput
}

RouteArrayInput is an input type that accepts RouteArray and RouteArrayOutput values. You can construct a concrete instance of `RouteArrayInput` via:

RouteArray{ RouteArgs{...} }

type RouteArrayOutput

type RouteArrayOutput struct{ *pulumi.OutputState }

func (RouteArrayOutput) ElementType

func (RouteArrayOutput) ElementType() reflect.Type

func (RouteArrayOutput) Index

func (RouteArrayOutput) ToRouteArrayOutput

func (o RouteArrayOutput) ToRouteArrayOutput() RouteArrayOutput

func (RouteArrayOutput) ToRouteArrayOutputWithContext

func (o RouteArrayOutput) ToRouteArrayOutputWithContext(ctx context.Context) RouteArrayOutput

type RouteInput

type RouteInput interface {
	pulumi.Input

	ToRouteOutput() RouteOutput
	ToRouteOutputWithContext(ctx context.Context) RouteOutput
}

type RouteMap

type RouteMap map[string]RouteInput

func (RouteMap) ElementType

func (RouteMap) ElementType() reflect.Type

func (RouteMap) ToRouteMapOutput

func (i RouteMap) ToRouteMapOutput() RouteMapOutput

func (RouteMap) ToRouteMapOutputWithContext

func (i RouteMap) ToRouteMapOutputWithContext(ctx context.Context) RouteMapOutput

type RouteMapInput

type RouteMapInput interface {
	pulumi.Input

	ToRouteMapOutput() RouteMapOutput
	ToRouteMapOutputWithContext(context.Context) RouteMapOutput
}

RouteMapInput is an input type that accepts RouteMap and RouteMapOutput values. You can construct a concrete instance of `RouteMapInput` via:

RouteMap{ "key": RouteArgs{...} }

type RouteMapOutput

type RouteMapOutput struct{ *pulumi.OutputState }

func (RouteMapOutput) ElementType

func (RouteMapOutput) ElementType() reflect.Type

func (RouteMapOutput) MapIndex

func (RouteMapOutput) ToRouteMapOutput

func (o RouteMapOutput) ToRouteMapOutput() RouteMapOutput

func (RouteMapOutput) ToRouteMapOutputWithContext

func (o RouteMapOutput) ToRouteMapOutputWithContext(ctx context.Context) RouteMapOutput

type RouteOutput

type RouteOutput struct{ *pulumi.OutputState }

func (RouteOutput) Description

func (o RouteOutput) Description() pulumi.StringPtrOutput

Specifies the supplementary information about the route. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (RouteOutput) Destination

func (o RouteOutput) Destination() pulumi.StringOutput

Specifies the destination address in the CIDR notation format, for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap with any subnet in the VPC. Changing this creates a new resource.

func (RouteOutput) ElementType

func (RouteOutput) ElementType() reflect.Type

func (RouteOutput) Nexthop

func (o RouteOutput) Nexthop() pulumi.StringOutput

Specifies the next hop. + If the route type is **ecs**, the value is an ECS instance ID in the VPC. + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC. + If the route type is **vip**, the value is a virtual IP address. + If the route type is **nat**, the value is a VPN gateway ID. + If the route type is **peering**, the value is a VPC peering connection ID. + If the route type is **vpn**, the value is a VPN gateway ID. + If the route type is **dc**, the value is a Direct Connect gateway ID. + If the route type is **cc**, the value is a Cloud Connection ID.

func (RouteOutput) Region

func (o RouteOutput) Region() pulumi.StringOutput

The region in which to create the VPC route. If omitted, the provider-level region will be used. Changing this creates a new resource.

func (RouteOutput) RouteTableId

func (o RouteOutput) RouteTableId() pulumi.StringOutput

Specifies the route table ID for which a route is to be added. If the value is not set, the route will be added to the *default* route table.

func (RouteOutput) RouteTableName

func (o RouteOutput) RouteTableName() pulumi.StringOutput

The name of route table.

func (RouteOutput) ToRouteOutput

func (o RouteOutput) ToRouteOutput() RouteOutput

func (RouteOutput) ToRouteOutputWithContext

func (o RouteOutput) ToRouteOutputWithContext(ctx context.Context) RouteOutput

func (RouteOutput) Type

func (o RouteOutput) Type() pulumi.StringOutput

Specifies the route type. Currently, the value can be: **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.

func (RouteOutput) VpcId

func (o RouteOutput) VpcId() pulumi.StringOutput

Specifies the VPC for which a route is to be added. Changing this creates a new resource.

type RouteState

type RouteState struct {
	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the destination address in the CIDR notation format,
	// for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap with any
	// subnet in the VPC. Changing this creates a new resource.
	Destination pulumi.StringPtrInput
	// Specifies the next hop.
	// + If the route type is **ecs**, the value is an ECS instance ID in the VPC.
	// + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.
	// + If the route type is **vip**, the value is a virtual IP address.
	// + If the route type is **nat**, the value is a VPN gateway ID.
	// + If the route type is **peering**, the value is a VPC peering connection ID.
	// + If the route type is **vpn**, the value is a VPN gateway ID.
	// + If the route type is **dc**, the value is a Direct Connect gateway ID.
	// + If the route type is **cc**, the value is a Cloud Connection ID.
	Nexthop pulumi.StringPtrInput
	// The region in which to create the VPC route. If omitted, the provider-level
	// region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// Specifies the route table ID for which a route is to be added.
	// If the value is not set, the route will be added to the *default* route table.
	RouteTableId pulumi.StringPtrInput
	// The name of route table.
	RouteTableName pulumi.StringPtrInput
	// Specifies the route type. Currently, the value can be:
	// **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.
	Type pulumi.StringPtrInput
	// Specifies the VPC for which a route is to be added. Changing this creates a
	// new resource.
	VpcId pulumi.StringPtrInput
}

func (RouteState) ElementType

func (RouteState) ElementType() reflect.Type

type RouteTable

type RouteTable struct {
	pulumi.CustomResourceState

	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the route table name. The value is a string of no more than
	// 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the vpc route table.
	// If omitted, the provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the route object list. The route object
	// is documented below.
	Routes RouteTableRouteArrayOutput `pulumi:"routes"`
	// Specifies an array of one or more subnets associating with the route table.
	Subnets pulumi.StringArrayOutput `pulumi:"subnets"`
	// Specifies the VPC ID for which a route table is to be added.
	// Changing this creates a new resource.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages a VPC custom route table resource within HuaweiCloud.

> **NOTE:** To use a custom route table, you need to submit a service ticket to increase quota.

## Example Usage ### Basic Custom Route Table

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcId := cfg.RequireObject("vpcId")
		vpcPeeringId := cfg.RequireObject("vpcPeeringId")
		_, err := Vpc.NewRouteTable(ctx, "demo", &Vpc.RouteTableArgs{
			VpcId:       pulumi.Any(vpcId),
			Description: pulumi.String("a custom route table demo"),
			Routes: vpc.RouteTableRouteArray{
				&vpc.RouteTableRouteArgs{
					Destination: pulumi.String("172.16.0.0/16"),
					Type:        pulumi.String("peering"),
					Nexthop:     pulumi.Any(vpcPeeringId),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Associating Subnets with a Route Table

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcId := cfg.RequireObject("vpcId")
		vpcPeeringId := cfg.RequireObject("vpcPeeringId")
		subnetIds, err := Vpc.GetSubnetIds(ctx, &vpc.GetSubnetIdsArgs{
			VpcId: vpcId,
		}, nil)
		if err != nil {
			return err
		}
		_, err = Vpc.NewRouteTable(ctx, "demo", &Vpc.RouteTableArgs{
			VpcId:   pulumi.Any(vpcId),
			Subnets: interface{}(subnetIds.Ids),
			Routes: vpc.RouteTableRouteArray{
				&vpc.RouteTableRouteArgs{
					Destination: pulumi.String("172.16.0.0/16"),
					Type:        pulumi.String("peering"),
					Nexthop:     pulumi.Any(vpcPeeringId),
				},
				&vpc.RouteTableRouteArgs{
					Destination: pulumi.String("192.168.100.0/24"),
					Type:        pulumi.String("vip"),
					Nexthop:     pulumi.String("192.168.10.200"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

vpc route tables can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/routeTable:RouteTable demo e1b3208a-544b-42a7-84e6-5d70371dd982

```

func GetRouteTable

func GetRouteTable(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteTableState, opts ...pulumi.ResourceOption) (*RouteTable, error)

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

func NewRouteTable

func NewRouteTable(ctx *pulumi.Context,
	name string, args *RouteTableArgs, opts ...pulumi.ResourceOption) (*RouteTable, error)

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

func (*RouteTable) ElementType

func (*RouteTable) ElementType() reflect.Type

func (*RouteTable) ToRouteTableOutput

func (i *RouteTable) ToRouteTableOutput() RouteTableOutput

func (*RouteTable) ToRouteTableOutputWithContext

func (i *RouteTable) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput

type RouteTableArgs

type RouteTableArgs struct {
	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the route table name. The value is a string of no more than
	// 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringPtrInput
	// The region in which to create the vpc route table.
	// If omitted, the provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// Specifies the route object list. The route object
	// is documented below.
	Routes RouteTableRouteArrayInput
	// Specifies an array of one or more subnets associating with the route table.
	Subnets pulumi.StringArrayInput
	// Specifies the VPC ID for which a route table is to be added.
	// Changing this creates a new resource.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a RouteTable resource.

func (RouteTableArgs) ElementType

func (RouteTableArgs) ElementType() reflect.Type

type RouteTableArray

type RouteTableArray []RouteTableInput

func (RouteTableArray) ElementType

func (RouteTableArray) ElementType() reflect.Type

func (RouteTableArray) ToRouteTableArrayOutput

func (i RouteTableArray) ToRouteTableArrayOutput() RouteTableArrayOutput

func (RouteTableArray) ToRouteTableArrayOutputWithContext

func (i RouteTableArray) ToRouteTableArrayOutputWithContext(ctx context.Context) RouteTableArrayOutput

type RouteTableArrayInput

type RouteTableArrayInput interface {
	pulumi.Input

	ToRouteTableArrayOutput() RouteTableArrayOutput
	ToRouteTableArrayOutputWithContext(context.Context) RouteTableArrayOutput
}

RouteTableArrayInput is an input type that accepts RouteTableArray and RouteTableArrayOutput values. You can construct a concrete instance of `RouteTableArrayInput` via:

RouteTableArray{ RouteTableArgs{...} }

type RouteTableArrayOutput

type RouteTableArrayOutput struct{ *pulumi.OutputState }

func (RouteTableArrayOutput) ElementType

func (RouteTableArrayOutput) ElementType() reflect.Type

func (RouteTableArrayOutput) Index

func (RouteTableArrayOutput) ToRouteTableArrayOutput

func (o RouteTableArrayOutput) ToRouteTableArrayOutput() RouteTableArrayOutput

func (RouteTableArrayOutput) ToRouteTableArrayOutputWithContext

func (o RouteTableArrayOutput) ToRouteTableArrayOutputWithContext(ctx context.Context) RouteTableArrayOutput

type RouteTableInput

type RouteTableInput interface {
	pulumi.Input

	ToRouteTableOutput() RouteTableOutput
	ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput
}

type RouteTableMap

type RouteTableMap map[string]RouteTableInput

func (RouteTableMap) ElementType

func (RouteTableMap) ElementType() reflect.Type

func (RouteTableMap) ToRouteTableMapOutput

func (i RouteTableMap) ToRouteTableMapOutput() RouteTableMapOutput

func (RouteTableMap) ToRouteTableMapOutputWithContext

func (i RouteTableMap) ToRouteTableMapOutputWithContext(ctx context.Context) RouteTableMapOutput

type RouteTableMapInput

type RouteTableMapInput interface {
	pulumi.Input

	ToRouteTableMapOutput() RouteTableMapOutput
	ToRouteTableMapOutputWithContext(context.Context) RouteTableMapOutput
}

RouteTableMapInput is an input type that accepts RouteTableMap and RouteTableMapOutput values. You can construct a concrete instance of `RouteTableMapInput` via:

RouteTableMap{ "key": RouteTableArgs{...} }

type RouteTableMapOutput

type RouteTableMapOutput struct{ *pulumi.OutputState }

func (RouteTableMapOutput) ElementType

func (RouteTableMapOutput) ElementType() reflect.Type

func (RouteTableMapOutput) MapIndex

func (RouteTableMapOutput) ToRouteTableMapOutput

func (o RouteTableMapOutput) ToRouteTableMapOutput() RouteTableMapOutput

func (RouteTableMapOutput) ToRouteTableMapOutputWithContext

func (o RouteTableMapOutput) ToRouteTableMapOutputWithContext(ctx context.Context) RouteTableMapOutput

type RouteTableOutput

type RouteTableOutput struct{ *pulumi.OutputState }

func (RouteTableOutput) Description

func (o RouteTableOutput) Description() pulumi.StringPtrOutput

Specifies the supplementary information about the route. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (RouteTableOutput) ElementType

func (RouteTableOutput) ElementType() reflect.Type

func (RouteTableOutput) Name

Specifies the route table name. The value is a string of no more than 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).

func (RouteTableOutput) Region

The region in which to create the vpc route table. If omitted, the provider-level region will be used. Changing this creates a new resource.

func (RouteTableOutput) Routes

Specifies the route object list. The route object is documented below.

func (RouteTableOutput) Subnets

Specifies an array of one or more subnets associating with the route table.

func (RouteTableOutput) ToRouteTableOutput

func (o RouteTableOutput) ToRouteTableOutput() RouteTableOutput

func (RouteTableOutput) ToRouteTableOutputWithContext

func (o RouteTableOutput) ToRouteTableOutputWithContext(ctx context.Context) RouteTableOutput

func (RouteTableOutput) VpcId

Specifies the VPC ID for which a route table is to be added. Changing this creates a new resource.

type RouteTableRoute

type RouteTableRoute struct {
	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description *string `pulumi:"description"`
	// Specifies the destination address in the CIDR notation format,
	// for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap
	// with any subnet in the VPC.
	Destination string `pulumi:"destination"`
	// Specifies the next hop.
	// + If the route type is **ecs**, the value is an ECS instance ID in the VPC.
	// + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.
	// + If the route type is **vip**, the value is a virtual IP address.
	// + If the route type is **nat**, the value is a VPN gateway ID.
	// + If the route type is **peering**, the value is a VPC peering connection ID.
	// + If the route type is **vpn**, the value is a VPN gateway ID.
	// + If the route type is **dc**, the value is a Direct Connect gateway ID.
	// + If the route type is **cc**, the value is a Cloud Connection ID.
	Nexthop string `pulumi:"nexthop"`
	// Specifies the route type. Currently, the value can be:
	// **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.
	Type string `pulumi:"type"`
}

type RouteTableRouteArgs

type RouteTableRouteArgs struct {
	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the destination address in the CIDR notation format,
	// for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap
	// with any subnet in the VPC.
	Destination pulumi.StringInput `pulumi:"destination"`
	// Specifies the next hop.
	// + If the route type is **ecs**, the value is an ECS instance ID in the VPC.
	// + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC.
	// + If the route type is **vip**, the value is a virtual IP address.
	// + If the route type is **nat**, the value is a VPN gateway ID.
	// + If the route type is **peering**, the value is a VPC peering connection ID.
	// + If the route type is **vpn**, the value is a VPN gateway ID.
	// + If the route type is **dc**, the value is a Direct Connect gateway ID.
	// + If the route type is **cc**, the value is a Cloud Connection ID.
	Nexthop pulumi.StringInput `pulumi:"nexthop"`
	// Specifies the route type. Currently, the value can be:
	// **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.
	Type pulumi.StringInput `pulumi:"type"`
}

func (RouteTableRouteArgs) ElementType

func (RouteTableRouteArgs) ElementType() reflect.Type

func (RouteTableRouteArgs) ToRouteTableRouteOutput

func (i RouteTableRouteArgs) ToRouteTableRouteOutput() RouteTableRouteOutput

func (RouteTableRouteArgs) ToRouteTableRouteOutputWithContext

func (i RouteTableRouteArgs) ToRouteTableRouteOutputWithContext(ctx context.Context) RouteTableRouteOutput

type RouteTableRouteArray

type RouteTableRouteArray []RouteTableRouteInput

func (RouteTableRouteArray) ElementType

func (RouteTableRouteArray) ElementType() reflect.Type

func (RouteTableRouteArray) ToRouteTableRouteArrayOutput

func (i RouteTableRouteArray) ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput

func (RouteTableRouteArray) ToRouteTableRouteArrayOutputWithContext

func (i RouteTableRouteArray) ToRouteTableRouteArrayOutputWithContext(ctx context.Context) RouteTableRouteArrayOutput

type RouteTableRouteArrayInput

type RouteTableRouteArrayInput interface {
	pulumi.Input

	ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput
	ToRouteTableRouteArrayOutputWithContext(context.Context) RouteTableRouteArrayOutput
}

RouteTableRouteArrayInput is an input type that accepts RouteTableRouteArray and RouteTableRouteArrayOutput values. You can construct a concrete instance of `RouteTableRouteArrayInput` via:

RouteTableRouteArray{ RouteTableRouteArgs{...} }

type RouteTableRouteArrayOutput

type RouteTableRouteArrayOutput struct{ *pulumi.OutputState }

func (RouteTableRouteArrayOutput) ElementType

func (RouteTableRouteArrayOutput) ElementType() reflect.Type

func (RouteTableRouteArrayOutput) Index

func (RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutput

func (o RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutput() RouteTableRouteArrayOutput

func (RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutputWithContext

func (o RouteTableRouteArrayOutput) ToRouteTableRouteArrayOutputWithContext(ctx context.Context) RouteTableRouteArrayOutput

type RouteTableRouteInput

type RouteTableRouteInput interface {
	pulumi.Input

	ToRouteTableRouteOutput() RouteTableRouteOutput
	ToRouteTableRouteOutputWithContext(context.Context) RouteTableRouteOutput
}

RouteTableRouteInput is an input type that accepts RouteTableRouteArgs and RouteTableRouteOutput values. You can construct a concrete instance of `RouteTableRouteInput` via:

RouteTableRouteArgs{...}

type RouteTableRouteOutput

type RouteTableRouteOutput struct{ *pulumi.OutputState }

func (RouteTableRouteOutput) Description

Specifies the supplementary information about the route. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (RouteTableRouteOutput) Destination

func (o RouteTableRouteOutput) Destination() pulumi.StringOutput

Specifies the destination address in the CIDR notation format, for example, 192.168.200.0/24. The destination of each route must be unique and cannot overlap with any subnet in the VPC.

func (RouteTableRouteOutput) ElementType

func (RouteTableRouteOutput) ElementType() reflect.Type

func (RouteTableRouteOutput) Nexthop

Specifies the next hop. + If the route type is **ecs**, the value is an ECS instance ID in the VPC. + If the route type is **eni**, the value is the extension NIC of an ECS in the VPC. + If the route type is **vip**, the value is a virtual IP address. + If the route type is **nat**, the value is a VPN gateway ID. + If the route type is **peering**, the value is a VPC peering connection ID. + If the route type is **vpn**, the value is a VPN gateway ID. + If the route type is **dc**, the value is a Direct Connect gateway ID. + If the route type is **cc**, the value is a Cloud Connection ID.

func (RouteTableRouteOutput) ToRouteTableRouteOutput

func (o RouteTableRouteOutput) ToRouteTableRouteOutput() RouteTableRouteOutput

func (RouteTableRouteOutput) ToRouteTableRouteOutputWithContext

func (o RouteTableRouteOutput) ToRouteTableRouteOutputWithContext(ctx context.Context) RouteTableRouteOutput

func (RouteTableRouteOutput) Type

Specifies the route type. Currently, the value can be: **ecs**, **eni**, **vip**, **nat**, **peering**, **vpn**, **dc** and **cc**.

type RouteTableState

type RouteTableState struct {
	// Specifies the supplementary information about the route.
	// The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the route table name. The value is a string of no more than
	// 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).
	Name pulumi.StringPtrInput
	// The region in which to create the vpc route table.
	// If omitted, the provider-level region will be used. Changing this creates a new resource.
	Region pulumi.StringPtrInput
	// Specifies the route object list. The route object
	// is documented below.
	Routes RouteTableRouteArrayInput
	// Specifies an array of one or more subnets associating with the route table.
	Subnets pulumi.StringArrayInput
	// Specifies the VPC ID for which a route table is to be added.
	// Changing this creates a new resource.
	VpcId pulumi.StringPtrInput
}

func (RouteTableState) ElementType

func (RouteTableState) ElementType() reflect.Type

type Secgroup

type Secgroup struct {
	pulumi.CustomResourceState

	// The creation time, in UTC format.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Specifies whether or not to delete the default security rules.
	// This is `false` by default.
	DeleteDefaultRules pulumi.BoolPtrOutput `pulumi:"deleteDefaultRules"`
	// Specifies the description for the security group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the enterprise project id of the security group.
	// Changing this creates a new security group.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies a unique name for the security group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The region in which to create the security group resource. If omitted, the
	// provider-level region will be used. Changing this creates a new security group resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The array of security group rules associating with the security group.
	// The rule object is documented below.
	Rules SecgroupRuleTypeArrayOutput `pulumi:"rules"`
	// The last update time, in UTC format.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
}

## Import

Security Groups can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/secgroup:Secgroup secgroup_1 38809219-5e8a-4852-9139-6f461c90e8bc

```

func GetSecgroup

func GetSecgroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecgroupState, opts ...pulumi.ResourceOption) (*Secgroup, error)

GetSecgroup gets an existing Secgroup 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 NewSecgroup

func NewSecgroup(ctx *pulumi.Context,
	name string, args *SecgroupArgs, opts ...pulumi.ResourceOption) (*Secgroup, error)

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

func (*Secgroup) ElementType

func (*Secgroup) ElementType() reflect.Type

func (*Secgroup) ToSecgroupOutput

func (i *Secgroup) ToSecgroupOutput() SecgroupOutput

func (*Secgroup) ToSecgroupOutputWithContext

func (i *Secgroup) ToSecgroupOutputWithContext(ctx context.Context) SecgroupOutput

type SecgroupArgs

type SecgroupArgs struct {
	// Specifies whether or not to delete the default security rules.
	// This is `false` by default.
	DeleteDefaultRules pulumi.BoolPtrInput
	// Specifies the description for the security group.
	Description pulumi.StringPtrInput
	// Specifies the enterprise project id of the security group.
	// Changing this creates a new security group.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies a unique name for the security group.
	Name pulumi.StringPtrInput
	// The region in which to create the security group resource. If omitted, the
	// provider-level region will be used. Changing this creates a new security group resource.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a Secgroup resource.

func (SecgroupArgs) ElementType

func (SecgroupArgs) ElementType() reflect.Type

type SecgroupArray

type SecgroupArray []SecgroupInput

func (SecgroupArray) ElementType

func (SecgroupArray) ElementType() reflect.Type

func (SecgroupArray) ToSecgroupArrayOutput

func (i SecgroupArray) ToSecgroupArrayOutput() SecgroupArrayOutput

func (SecgroupArray) ToSecgroupArrayOutputWithContext

func (i SecgroupArray) ToSecgroupArrayOutputWithContext(ctx context.Context) SecgroupArrayOutput

type SecgroupArrayInput

type SecgroupArrayInput interface {
	pulumi.Input

	ToSecgroupArrayOutput() SecgroupArrayOutput
	ToSecgroupArrayOutputWithContext(context.Context) SecgroupArrayOutput
}

SecgroupArrayInput is an input type that accepts SecgroupArray and SecgroupArrayOutput values. You can construct a concrete instance of `SecgroupArrayInput` via:

SecgroupArray{ SecgroupArgs{...} }

type SecgroupArrayOutput

type SecgroupArrayOutput struct{ *pulumi.OutputState }

func (SecgroupArrayOutput) ElementType

func (SecgroupArrayOutput) ElementType() reflect.Type

func (SecgroupArrayOutput) Index

func (SecgroupArrayOutput) ToSecgroupArrayOutput

func (o SecgroupArrayOutput) ToSecgroupArrayOutput() SecgroupArrayOutput

func (SecgroupArrayOutput) ToSecgroupArrayOutputWithContext

func (o SecgroupArrayOutput) ToSecgroupArrayOutputWithContext(ctx context.Context) SecgroupArrayOutput

type SecgroupInput

type SecgroupInput interface {
	pulumi.Input

	ToSecgroupOutput() SecgroupOutput
	ToSecgroupOutputWithContext(ctx context.Context) SecgroupOutput
}

type SecgroupMap

type SecgroupMap map[string]SecgroupInput

func (SecgroupMap) ElementType

func (SecgroupMap) ElementType() reflect.Type

func (SecgroupMap) ToSecgroupMapOutput

func (i SecgroupMap) ToSecgroupMapOutput() SecgroupMapOutput

func (SecgroupMap) ToSecgroupMapOutputWithContext

func (i SecgroupMap) ToSecgroupMapOutputWithContext(ctx context.Context) SecgroupMapOutput

type SecgroupMapInput

type SecgroupMapInput interface {
	pulumi.Input

	ToSecgroupMapOutput() SecgroupMapOutput
	ToSecgroupMapOutputWithContext(context.Context) SecgroupMapOutput
}

SecgroupMapInput is an input type that accepts SecgroupMap and SecgroupMapOutput values. You can construct a concrete instance of `SecgroupMapInput` via:

SecgroupMap{ "key": SecgroupArgs{...} }

type SecgroupMapOutput

type SecgroupMapOutput struct{ *pulumi.OutputState }

func (SecgroupMapOutput) ElementType

func (SecgroupMapOutput) ElementType() reflect.Type

func (SecgroupMapOutput) MapIndex

func (SecgroupMapOutput) ToSecgroupMapOutput

func (o SecgroupMapOutput) ToSecgroupMapOutput() SecgroupMapOutput

func (SecgroupMapOutput) ToSecgroupMapOutputWithContext

func (o SecgroupMapOutput) ToSecgroupMapOutputWithContext(ctx context.Context) SecgroupMapOutput

type SecgroupOutput

type SecgroupOutput struct{ *pulumi.OutputState }

func (SecgroupOutput) CreatedAt

func (o SecgroupOutput) CreatedAt() pulumi.StringOutput

The creation time, in UTC format.

func (SecgroupOutput) DeleteDefaultRules

func (o SecgroupOutput) DeleteDefaultRules() pulumi.BoolPtrOutput

Specifies whether or not to delete the default security rules. This is `false` by default.

func (SecgroupOutput) Description

func (o SecgroupOutput) Description() pulumi.StringPtrOutput

Specifies the description for the security group.

func (SecgroupOutput) ElementType

func (SecgroupOutput) ElementType() reflect.Type

func (SecgroupOutput) EnterpriseProjectId

func (o SecgroupOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project id of the security group. Changing this creates a new security group.

func (SecgroupOutput) Name

Specifies a unique name for the security group.

func (SecgroupOutput) Region

func (o SecgroupOutput) Region() pulumi.StringOutput

The region in which to create the security group resource. If omitted, the provider-level region will be used. Changing this creates a new security group resource.

func (SecgroupOutput) Rules

The array of security group rules associating with the security group. The rule object is documented below.

func (SecgroupOutput) ToSecgroupOutput

func (o SecgroupOutput) ToSecgroupOutput() SecgroupOutput

func (SecgroupOutput) ToSecgroupOutputWithContext

func (o SecgroupOutput) ToSecgroupOutputWithContext(ctx context.Context) SecgroupOutput

func (SecgroupOutput) UpdatedAt

func (o SecgroupOutput) UpdatedAt() pulumi.StringOutput

The last update time, in UTC format.

type SecgroupRule

type SecgroupRule struct {
	pulumi.CustomResourceState

	// Specifies the effective policy. The valid values are **allow** and **deny**.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	Action pulumi.StringOutput `pulumi:"action"`
	// Specifies the supplementary information about the networking security
	// group rule. This parameter can contain a maximum of 255 characters and cannot contain angle brackets (< or >).
	// Changing this creates a new security group rule.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the direction of the rule, valid values are **ingress** or
	// **egress**. Changing this creates a new security group rule.
	Direction pulumi.StringOutput `pulumi:"direction"`
	// Specifies the layer 3 protocol type, valid values are **IPv4** or **IPv6**.
	// Changing this creates a new security group rule.
	Ethertype pulumi.StringOutput `pulumi:"ethertype"`
	// Specifies the higher part of the allowed port range, valid integer value
	// needs to be between `1` and `65,535`. Changing this creates a new security group rule.
	// This parameter and `ports` are alternative.
	PortRangeMax pulumi.IntOutput `pulumi:"portRangeMax"`
	// Specifies the lower part of the allowed port range, valid integer value
	// needs to be between `1` and `65,535`. Changing this creates a new security group rule.
	// This parameter and `ports` are alternative.
	PortRangeMin pulumi.IntOutput `pulumi:"portRangeMin"`
	// Specifies the allowed port value range, which supports single port (80),
	// continuous port (1-30) and discontinous port (22, 3389, 80) The valid port values is range form `1` to `65,535`.
	// Changing this creates a new security group rule.
	Ports pulumi.StringOutput `pulumi:"ports"`
	// Specifies the priority number.
	// The valid value is range from **1** to **100**. The default value is **1**.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	Priority pulumi.IntOutput `pulumi:"priority"`
	// Specifies the layer 4 protocol type, valid values are **tcp**, **udp**,
	// **icmp** and **icmpv6**. If omitted, the protocol means that all protocols are supported.
	// This is required if you want to specify a port range. Changing this creates a new security group rule.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// Specifies the region in which to create the security group rule resource. If
	// omitted, the provider-level region will be used. Changing this creates a new security group rule.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the remote address group ID.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	RemoteAddressGroupId pulumi.StringOutput `pulumi:"remoteAddressGroupId"`
	// Specifies the remote group ID. Changing this creates a new security
	// group rule.
	RemoteGroupId pulumi.StringOutput `pulumi:"remoteGroupId"`
	// Specifies the remote CIDR, the value needs to be a valid CIDR (i.e.
	// 192.168.0.0/16). Changing this creates a new security group rule.
	RemoteIpPrefix pulumi.StringOutput `pulumi:"remoteIpPrefix"`
	// Specifies the security group ID the rule should belong to. Changing
	// this creates a new security group rule.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
}

Manages a Security Group Rule resource within HuaweiCloud.

## Example Usage ### Create an ingress rule that opens TCP port 8080 with port range parameters

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		securityGroupId := cfg.RequireObject("securityGroupId")
		_, err := Vpc.NewSecgroupRule(ctx, "test", &Vpc.SecgroupRuleArgs{
			SecurityGroupId: pulumi.Any(securityGroupId),
			Direction:       pulumi.String("ingress"),
			Ethertype:       pulumi.String("IPv4"),
			Protocol:        pulumi.String("tcp"),
			PortRangeMin:    pulumi.Int(8080),
			PortRangeMax:    pulumi.Int(8080),
			RemoteIpPrefix:  pulumi.String("0.0.0.0/0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create an ingress rule that enable the remote address group and open some TCP ports

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		groupName := cfg.RequireObject("groupName")
		securityGroupId := cfg.RequireObject("securityGroupId")
		testAddressGroup, err := Vpc.NewAddressGroup(ctx, "testAddressGroup", &Vpc.AddressGroupArgs{
			Addresses: pulumi.StringArray{
				pulumi.String("192.168.10.12"),
				pulumi.String("192.168.11.0-192.168.11.240"),
			},
		})
		if err != nil {
			return err
		}
		_, err = Vpc.NewSecgroupRule(ctx, "testSecgroupRule", &Vpc.SecgroupRuleArgs{
			SecurityGroupId:      pulumi.Any(securityGroupId),
			Direction:            pulumi.String("ingress"),
			Action:               pulumi.String("allow"),
			Ethertype:            pulumi.String("IPv4"),
			Ports:                pulumi.String("80,500,600-800"),
			Protocol:             pulumi.String("tcp"),
			Priority:             pulumi.Int(5),
			RemoteAddressGroupId: testAddressGroup.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Security Group Rules can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/secgroupRule:SecgroupRule secgroup_rule_1 aeb68ee3-6e9d-4256-955c-9584a6212745

```

func GetSecgroupRule

func GetSecgroupRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecgroupRuleState, opts ...pulumi.ResourceOption) (*SecgroupRule, error)

GetSecgroupRule gets an existing SecgroupRule 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 NewSecgroupRule

func NewSecgroupRule(ctx *pulumi.Context,
	name string, args *SecgroupRuleArgs, opts ...pulumi.ResourceOption) (*SecgroupRule, error)

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

func (*SecgroupRule) ElementType

func (*SecgroupRule) ElementType() reflect.Type

func (*SecgroupRule) ToSecgroupRuleOutput

func (i *SecgroupRule) ToSecgroupRuleOutput() SecgroupRuleOutput

func (*SecgroupRule) ToSecgroupRuleOutputWithContext

func (i *SecgroupRule) ToSecgroupRuleOutputWithContext(ctx context.Context) SecgroupRuleOutput

type SecgroupRuleArgs

type SecgroupRuleArgs struct {
	// Specifies the effective policy. The valid values are **allow** and **deny**.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	Action pulumi.StringPtrInput
	// Specifies the supplementary information about the networking security
	// group rule. This parameter can contain a maximum of 255 characters and cannot contain angle brackets (< or >).
	// Changing this creates a new security group rule.
	Description pulumi.StringPtrInput
	// Specifies the direction of the rule, valid values are **ingress** or
	// **egress**. Changing this creates a new security group rule.
	Direction pulumi.StringInput
	// Specifies the layer 3 protocol type, valid values are **IPv4** or **IPv6**.
	// Changing this creates a new security group rule.
	Ethertype pulumi.StringInput
	// Specifies the higher part of the allowed port range, valid integer value
	// needs to be between `1` and `65,535`. Changing this creates a new security group rule.
	// This parameter and `ports` are alternative.
	PortRangeMax pulumi.IntPtrInput
	// Specifies the lower part of the allowed port range, valid integer value
	// needs to be between `1` and `65,535`. Changing this creates a new security group rule.
	// This parameter and `ports` are alternative.
	PortRangeMin pulumi.IntPtrInput
	// Specifies the allowed port value range, which supports single port (80),
	// continuous port (1-30) and discontinous port (22, 3389, 80) The valid port values is range form `1` to `65,535`.
	// Changing this creates a new security group rule.
	Ports pulumi.StringPtrInput
	// Specifies the priority number.
	// The valid value is range from **1** to **100**. The default value is **1**.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	Priority pulumi.IntPtrInput
	// Specifies the layer 4 protocol type, valid values are **tcp**, **udp**,
	// **icmp** and **icmpv6**. If omitted, the protocol means that all protocols are supported.
	// This is required if you want to specify a port range. Changing this creates a new security group rule.
	Protocol pulumi.StringPtrInput
	// Specifies the region in which to create the security group rule resource. If
	// omitted, the provider-level region will be used. Changing this creates a new security group rule.
	Region pulumi.StringPtrInput
	// Specifies the remote address group ID.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	RemoteAddressGroupId pulumi.StringPtrInput
	// Specifies the remote group ID. Changing this creates a new security
	// group rule.
	RemoteGroupId pulumi.StringPtrInput
	// Specifies the remote CIDR, the value needs to be a valid CIDR (i.e.
	// 192.168.0.0/16). Changing this creates a new security group rule.
	RemoteIpPrefix pulumi.StringPtrInput
	// Specifies the security group ID the rule should belong to. Changing
	// this creates a new security group rule.
	SecurityGroupId pulumi.StringInput
}

The set of arguments for constructing a SecgroupRule resource.

func (SecgroupRuleArgs) ElementType

func (SecgroupRuleArgs) ElementType() reflect.Type

type SecgroupRuleArray

type SecgroupRuleArray []SecgroupRuleInput

func (SecgroupRuleArray) ElementType

func (SecgroupRuleArray) ElementType() reflect.Type

func (SecgroupRuleArray) ToSecgroupRuleArrayOutput

func (i SecgroupRuleArray) ToSecgroupRuleArrayOutput() SecgroupRuleArrayOutput

func (SecgroupRuleArray) ToSecgroupRuleArrayOutputWithContext

func (i SecgroupRuleArray) ToSecgroupRuleArrayOutputWithContext(ctx context.Context) SecgroupRuleArrayOutput

type SecgroupRuleArrayInput

type SecgroupRuleArrayInput interface {
	pulumi.Input

	ToSecgroupRuleArrayOutput() SecgroupRuleArrayOutput
	ToSecgroupRuleArrayOutputWithContext(context.Context) SecgroupRuleArrayOutput
}

SecgroupRuleArrayInput is an input type that accepts SecgroupRuleArray and SecgroupRuleArrayOutput values. You can construct a concrete instance of `SecgroupRuleArrayInput` via:

SecgroupRuleArray{ SecgroupRuleArgs{...} }

type SecgroupRuleArrayOutput

type SecgroupRuleArrayOutput struct{ *pulumi.OutputState }

func (SecgroupRuleArrayOutput) ElementType

func (SecgroupRuleArrayOutput) ElementType() reflect.Type

func (SecgroupRuleArrayOutput) Index

func (SecgroupRuleArrayOutput) ToSecgroupRuleArrayOutput

func (o SecgroupRuleArrayOutput) ToSecgroupRuleArrayOutput() SecgroupRuleArrayOutput

func (SecgroupRuleArrayOutput) ToSecgroupRuleArrayOutputWithContext

func (o SecgroupRuleArrayOutput) ToSecgroupRuleArrayOutputWithContext(ctx context.Context) SecgroupRuleArrayOutput

type SecgroupRuleInput

type SecgroupRuleInput interface {
	pulumi.Input

	ToSecgroupRuleOutput() SecgroupRuleOutput
	ToSecgroupRuleOutputWithContext(ctx context.Context) SecgroupRuleOutput
}

type SecgroupRuleMap

type SecgroupRuleMap map[string]SecgroupRuleInput

func (SecgroupRuleMap) ElementType

func (SecgroupRuleMap) ElementType() reflect.Type

func (SecgroupRuleMap) ToSecgroupRuleMapOutput

func (i SecgroupRuleMap) ToSecgroupRuleMapOutput() SecgroupRuleMapOutput

func (SecgroupRuleMap) ToSecgroupRuleMapOutputWithContext

func (i SecgroupRuleMap) ToSecgroupRuleMapOutputWithContext(ctx context.Context) SecgroupRuleMapOutput

type SecgroupRuleMapInput

type SecgroupRuleMapInput interface {
	pulumi.Input

	ToSecgroupRuleMapOutput() SecgroupRuleMapOutput
	ToSecgroupRuleMapOutputWithContext(context.Context) SecgroupRuleMapOutput
}

SecgroupRuleMapInput is an input type that accepts SecgroupRuleMap and SecgroupRuleMapOutput values. You can construct a concrete instance of `SecgroupRuleMapInput` via:

SecgroupRuleMap{ "key": SecgroupRuleArgs{...} }

type SecgroupRuleMapOutput

type SecgroupRuleMapOutput struct{ *pulumi.OutputState }

func (SecgroupRuleMapOutput) ElementType

func (SecgroupRuleMapOutput) ElementType() reflect.Type

func (SecgroupRuleMapOutput) MapIndex

func (SecgroupRuleMapOutput) ToSecgroupRuleMapOutput

func (o SecgroupRuleMapOutput) ToSecgroupRuleMapOutput() SecgroupRuleMapOutput

func (SecgroupRuleMapOutput) ToSecgroupRuleMapOutputWithContext

func (o SecgroupRuleMapOutput) ToSecgroupRuleMapOutputWithContext(ctx context.Context) SecgroupRuleMapOutput

type SecgroupRuleOutput

type SecgroupRuleOutput struct{ *pulumi.OutputState }

func (SecgroupRuleOutput) Action

Specifies the effective policy. The valid values are **allow** and **deny**. This parameter is not used with `portRangeMin` and `portRangeMax`. Changing this creates a new security group rule.

func (SecgroupRuleOutput) Description

func (o SecgroupRuleOutput) Description() pulumi.StringPtrOutput

Specifies the supplementary information about the networking security group rule. This parameter can contain a maximum of 255 characters and cannot contain angle brackets (< or >). Changing this creates a new security group rule.

func (SecgroupRuleOutput) Direction

func (o SecgroupRuleOutput) Direction() pulumi.StringOutput

Specifies the direction of the rule, valid values are **ingress** or **egress**. Changing this creates a new security group rule.

func (SecgroupRuleOutput) ElementType

func (SecgroupRuleOutput) ElementType() reflect.Type

func (SecgroupRuleOutput) Ethertype

func (o SecgroupRuleOutput) Ethertype() pulumi.StringOutput

Specifies the layer 3 protocol type, valid values are **IPv4** or **IPv6**. Changing this creates a new security group rule.

func (SecgroupRuleOutput) PortRangeMax

func (o SecgroupRuleOutput) PortRangeMax() pulumi.IntOutput

Specifies the higher part of the allowed port range, valid integer value needs to be between `1` and `65,535`. Changing this creates a new security group rule. This parameter and `ports` are alternative.

func (SecgroupRuleOutput) PortRangeMin

func (o SecgroupRuleOutput) PortRangeMin() pulumi.IntOutput

Specifies the lower part of the allowed port range, valid integer value needs to be between `1` and `65,535`. Changing this creates a new security group rule. This parameter and `ports` are alternative.

func (SecgroupRuleOutput) Ports

Specifies the allowed port value range, which supports single port (80), continuous port (1-30) and discontinous port (22, 3389, 80) The valid port values is range form `1` to `65,535`. Changing this creates a new security group rule.

func (SecgroupRuleOutput) Priority

func (o SecgroupRuleOutput) Priority() pulumi.IntOutput

Specifies the priority number. The valid value is range from **1** to **100**. The default value is **1**. This parameter is not used with `portRangeMin` and `portRangeMax`. Changing this creates a new security group rule.

func (SecgroupRuleOutput) Protocol

func (o SecgroupRuleOutput) Protocol() pulumi.StringOutput

Specifies the layer 4 protocol type, valid values are **tcp**, **udp**, **icmp** and **icmpv6**. If omitted, the protocol means that all protocols are supported. This is required if you want to specify a port range. Changing this creates a new security group rule.

func (SecgroupRuleOutput) Region

Specifies the region in which to create the security group rule resource. If omitted, the provider-level region will be used. Changing this creates a new security group rule.

func (SecgroupRuleOutput) RemoteAddressGroupId

func (o SecgroupRuleOutput) RemoteAddressGroupId() pulumi.StringOutput

Specifies the remote address group ID. This parameter is not used with `portRangeMin` and `portRangeMax`. Changing this creates a new security group rule.

func (SecgroupRuleOutput) RemoteGroupId

func (o SecgroupRuleOutput) RemoteGroupId() pulumi.StringOutput

Specifies the remote group ID. Changing this creates a new security group rule.

func (SecgroupRuleOutput) RemoteIpPrefix

func (o SecgroupRuleOutput) RemoteIpPrefix() pulumi.StringOutput

Specifies the remote CIDR, the value needs to be a valid CIDR (i.e. 192.168.0.0/16). Changing this creates a new security group rule.

func (SecgroupRuleOutput) SecurityGroupId

func (o SecgroupRuleOutput) SecurityGroupId() pulumi.StringOutput

Specifies the security group ID the rule should belong to. Changing this creates a new security group rule.

func (SecgroupRuleOutput) ToSecgroupRuleOutput

func (o SecgroupRuleOutput) ToSecgroupRuleOutput() SecgroupRuleOutput

func (SecgroupRuleOutput) ToSecgroupRuleOutputWithContext

func (o SecgroupRuleOutput) ToSecgroupRuleOutputWithContext(ctx context.Context) SecgroupRuleOutput

type SecgroupRuleState

type SecgroupRuleState struct {
	// Specifies the effective policy. The valid values are **allow** and **deny**.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	Action pulumi.StringPtrInput
	// Specifies the supplementary information about the networking security
	// group rule. This parameter can contain a maximum of 255 characters and cannot contain angle brackets (< or >).
	// Changing this creates a new security group rule.
	Description pulumi.StringPtrInput
	// Specifies the direction of the rule, valid values are **ingress** or
	// **egress**. Changing this creates a new security group rule.
	Direction pulumi.StringPtrInput
	// Specifies the layer 3 protocol type, valid values are **IPv4** or **IPv6**.
	// Changing this creates a new security group rule.
	Ethertype pulumi.StringPtrInput
	// Specifies the higher part of the allowed port range, valid integer value
	// needs to be between `1` and `65,535`. Changing this creates a new security group rule.
	// This parameter and `ports` are alternative.
	PortRangeMax pulumi.IntPtrInput
	// Specifies the lower part of the allowed port range, valid integer value
	// needs to be between `1` and `65,535`. Changing this creates a new security group rule.
	// This parameter and `ports` are alternative.
	PortRangeMin pulumi.IntPtrInput
	// Specifies the allowed port value range, which supports single port (80),
	// continuous port (1-30) and discontinous port (22, 3389, 80) The valid port values is range form `1` to `65,535`.
	// Changing this creates a new security group rule.
	Ports pulumi.StringPtrInput
	// Specifies the priority number.
	// The valid value is range from **1** to **100**. The default value is **1**.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	Priority pulumi.IntPtrInput
	// Specifies the layer 4 protocol type, valid values are **tcp**, **udp**,
	// **icmp** and **icmpv6**. If omitted, the protocol means that all protocols are supported.
	// This is required if you want to specify a port range. Changing this creates a new security group rule.
	Protocol pulumi.StringPtrInput
	// Specifies the region in which to create the security group rule resource. If
	// omitted, the provider-level region will be used. Changing this creates a new security group rule.
	Region pulumi.StringPtrInput
	// Specifies the remote address group ID.
	// This parameter is not used with `portRangeMin` and `portRangeMax`.
	// Changing this creates a new security group rule.
	RemoteAddressGroupId pulumi.StringPtrInput
	// Specifies the remote group ID. Changing this creates a new security
	// group rule.
	RemoteGroupId pulumi.StringPtrInput
	// Specifies the remote CIDR, the value needs to be a valid CIDR (i.e.
	// 192.168.0.0/16). Changing this creates a new security group rule.
	RemoteIpPrefix pulumi.StringPtrInput
	// Specifies the security group ID the rule should belong to. Changing
	// this creates a new security group rule.
	SecurityGroupId pulumi.StringPtrInput
}

func (SecgroupRuleState) ElementType

func (SecgroupRuleState) ElementType() reflect.Type

type SecgroupRuleType

type SecgroupRuleType struct {
	// The effective policy.
	Action *string `pulumi:"action"`
	// Specifies the description for the security group.
	Description *string `pulumi:"description"`
	// The direction of the rule. The value can be *egress* or *ingress*.
	Direction *string `pulumi:"direction"`
	// The IP protocol version. The value can be *IPv4* or *IPv6*.
	Ethertype *string `pulumi:"ethertype"`
	// The security group rule ID.
	Id           *string `pulumi:"id"`
	PortRangeMax *int    `pulumi:"portRangeMax"`
	PortRangeMin *int    `pulumi:"portRangeMin"`
	// The port value range.
	Ports *string `pulumi:"ports"`
	// The priority number.
	Priority *int `pulumi:"priority"`
	// The protocol type.
	Protocol *string `pulumi:"protocol"`
	// The ID of the remote address group.
	RemoteAddressGroupId *string `pulumi:"remoteAddressGroupId"`
	// The ID of the peer security group.
	RemoteGroupId *string `pulumi:"remoteGroupId"`
	// The remote IP address. The value can be in the CIDR format or IP addresses.
	RemoteIpPrefix *string `pulumi:"remoteIpPrefix"`
}

type SecgroupRuleTypeArgs

type SecgroupRuleTypeArgs struct {
	// The effective policy.
	Action pulumi.StringPtrInput `pulumi:"action"`
	// Specifies the description for the security group.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The direction of the rule. The value can be *egress* or *ingress*.
	Direction pulumi.StringPtrInput `pulumi:"direction"`
	// The IP protocol version. The value can be *IPv4* or *IPv6*.
	Ethertype pulumi.StringPtrInput `pulumi:"ethertype"`
	// The security group rule ID.
	Id           pulumi.StringPtrInput `pulumi:"id"`
	PortRangeMax pulumi.IntPtrInput    `pulumi:"portRangeMax"`
	PortRangeMin pulumi.IntPtrInput    `pulumi:"portRangeMin"`
	// The port value range.
	Ports pulumi.StringPtrInput `pulumi:"ports"`
	// The priority number.
	Priority pulumi.IntPtrInput `pulumi:"priority"`
	// The protocol type.
	Protocol pulumi.StringPtrInput `pulumi:"protocol"`
	// The ID of the remote address group.
	RemoteAddressGroupId pulumi.StringPtrInput `pulumi:"remoteAddressGroupId"`
	// The ID of the peer security group.
	RemoteGroupId pulumi.StringPtrInput `pulumi:"remoteGroupId"`
	// The remote IP address. The value can be in the CIDR format or IP addresses.
	RemoteIpPrefix pulumi.StringPtrInput `pulumi:"remoteIpPrefix"`
}

func (SecgroupRuleTypeArgs) ElementType

func (SecgroupRuleTypeArgs) ElementType() reflect.Type

func (SecgroupRuleTypeArgs) ToSecgroupRuleTypeOutput

func (i SecgroupRuleTypeArgs) ToSecgroupRuleTypeOutput() SecgroupRuleTypeOutput

func (SecgroupRuleTypeArgs) ToSecgroupRuleTypeOutputWithContext

func (i SecgroupRuleTypeArgs) ToSecgroupRuleTypeOutputWithContext(ctx context.Context) SecgroupRuleTypeOutput

type SecgroupRuleTypeArray

type SecgroupRuleTypeArray []SecgroupRuleTypeInput

func (SecgroupRuleTypeArray) ElementType

func (SecgroupRuleTypeArray) ElementType() reflect.Type

func (SecgroupRuleTypeArray) ToSecgroupRuleTypeArrayOutput

func (i SecgroupRuleTypeArray) ToSecgroupRuleTypeArrayOutput() SecgroupRuleTypeArrayOutput

func (SecgroupRuleTypeArray) ToSecgroupRuleTypeArrayOutputWithContext

func (i SecgroupRuleTypeArray) ToSecgroupRuleTypeArrayOutputWithContext(ctx context.Context) SecgroupRuleTypeArrayOutput

type SecgroupRuleTypeArrayInput

type SecgroupRuleTypeArrayInput interface {
	pulumi.Input

	ToSecgroupRuleTypeArrayOutput() SecgroupRuleTypeArrayOutput
	ToSecgroupRuleTypeArrayOutputWithContext(context.Context) SecgroupRuleTypeArrayOutput
}

SecgroupRuleTypeArrayInput is an input type that accepts SecgroupRuleTypeArray and SecgroupRuleTypeArrayOutput values. You can construct a concrete instance of `SecgroupRuleTypeArrayInput` via:

SecgroupRuleTypeArray{ SecgroupRuleTypeArgs{...} }

type SecgroupRuleTypeArrayOutput

type SecgroupRuleTypeArrayOutput struct{ *pulumi.OutputState }

func (SecgroupRuleTypeArrayOutput) ElementType

func (SecgroupRuleTypeArrayOutput) Index

func (SecgroupRuleTypeArrayOutput) ToSecgroupRuleTypeArrayOutput

func (o SecgroupRuleTypeArrayOutput) ToSecgroupRuleTypeArrayOutput() SecgroupRuleTypeArrayOutput

func (SecgroupRuleTypeArrayOutput) ToSecgroupRuleTypeArrayOutputWithContext

func (o SecgroupRuleTypeArrayOutput) ToSecgroupRuleTypeArrayOutputWithContext(ctx context.Context) SecgroupRuleTypeArrayOutput

type SecgroupRuleTypeInput

type SecgroupRuleTypeInput interface {
	pulumi.Input

	ToSecgroupRuleTypeOutput() SecgroupRuleTypeOutput
	ToSecgroupRuleTypeOutputWithContext(context.Context) SecgroupRuleTypeOutput
}

SecgroupRuleTypeInput is an input type that accepts SecgroupRuleTypeArgs and SecgroupRuleTypeOutput values. You can construct a concrete instance of `SecgroupRuleTypeInput` via:

SecgroupRuleTypeArgs{...}

type SecgroupRuleTypeOutput

type SecgroupRuleTypeOutput struct{ *pulumi.OutputState }

func (SecgroupRuleTypeOutput) Action

The effective policy.

func (SecgroupRuleTypeOutput) Description

Specifies the description for the security group.

func (SecgroupRuleTypeOutput) Direction

The direction of the rule. The value can be *egress* or *ingress*.

func (SecgroupRuleTypeOutput) ElementType

func (SecgroupRuleTypeOutput) ElementType() reflect.Type

func (SecgroupRuleTypeOutput) Ethertype

The IP protocol version. The value can be *IPv4* or *IPv6*.

func (SecgroupRuleTypeOutput) Id

The security group rule ID.

func (SecgroupRuleTypeOutput) PortRangeMax

func (o SecgroupRuleTypeOutput) PortRangeMax() pulumi.IntPtrOutput

func (SecgroupRuleTypeOutput) PortRangeMin

func (o SecgroupRuleTypeOutput) PortRangeMin() pulumi.IntPtrOutput

func (SecgroupRuleTypeOutput) Ports

The port value range.

func (SecgroupRuleTypeOutput) Priority

The priority number.

func (SecgroupRuleTypeOutput) Protocol

The protocol type.

func (SecgroupRuleTypeOutput) RemoteAddressGroupId

func (o SecgroupRuleTypeOutput) RemoteAddressGroupId() pulumi.StringPtrOutput

The ID of the remote address group.

func (SecgroupRuleTypeOutput) RemoteGroupId

func (o SecgroupRuleTypeOutput) RemoteGroupId() pulumi.StringPtrOutput

The ID of the peer security group.

func (SecgroupRuleTypeOutput) RemoteIpPrefix

func (o SecgroupRuleTypeOutput) RemoteIpPrefix() pulumi.StringPtrOutput

The remote IP address. The value can be in the CIDR format or IP addresses.

func (SecgroupRuleTypeOutput) ToSecgroupRuleTypeOutput

func (o SecgroupRuleTypeOutput) ToSecgroupRuleTypeOutput() SecgroupRuleTypeOutput

func (SecgroupRuleTypeOutput) ToSecgroupRuleTypeOutputWithContext

func (o SecgroupRuleTypeOutput) ToSecgroupRuleTypeOutputWithContext(ctx context.Context) SecgroupRuleTypeOutput

type SecgroupState

type SecgroupState struct {
	// The creation time, in UTC format.
	CreatedAt pulumi.StringPtrInput
	// Specifies whether or not to delete the default security rules.
	// This is `false` by default.
	DeleteDefaultRules pulumi.BoolPtrInput
	// Specifies the description for the security group.
	Description pulumi.StringPtrInput
	// Specifies the enterprise project id of the security group.
	// Changing this creates a new security group.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies a unique name for the security group.
	Name pulumi.StringPtrInput
	// The region in which to create the security group resource. If omitted, the
	// provider-level region will be used. Changing this creates a new security group resource.
	Region pulumi.StringPtrInput
	// The array of security group rules associating with the security group.
	// The rule object is documented below.
	Rules SecgroupRuleTypeArrayInput
	// The last update time, in UTC format.
	UpdatedAt pulumi.StringPtrInput
}

func (SecgroupState) ElementType

func (SecgroupState) ElementType() reflect.Type

type Subnet

type Subnet struct {
	pulumi.CustomResourceState

	// Specifies the availability zone (AZ) to which the subnet belongs.
	// The value must be an existing AZ in the system. Changing this creates a new Subnet.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// Specifies the network segment on which the subnet resides. The value must be in
	// CIDR format and within the CIDR block of the VPC. The subnet mask cannot be greater than 28. Changing this creates a
	// new Subnet.
	Cidr pulumi.StringOutput `pulumi:"cidr"`
	// Specifies supplementary information about the subnet. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies whether the DHCP function is enabled for the subnet. Defaults to true.
	DhcpEnable pulumi.BoolPtrOutput `pulumi:"dhcpEnable"`
	// Specifies the DHCP lease expiration time. The value can be -1, which indicates
	// unlimited lease time, or Number+h. the number ranges from 1 to 30,000. For example, the value can be 5h. The default
	// value is 24h.
	DhcpLeaseTime pulumi.StringOutput `pulumi:"dhcpLeaseTime"`
	// Specifies the DNS server address list of a subnet. This field is required if you need to
	// use more than two DNS servers. This parameter value is the superset of both DNS server address 1 and DNS server
	// address 2.
	DnsLists pulumi.StringArrayOutput `pulumi:"dnsLists"`
	// Specifies the gateway of the subnet. The value must be a valid IP address
	// in the subnet segment. Changing this creates a new Subnet.
	GatewayIp pulumi.StringOutput `pulumi:"gatewayIp"`
	// The ID of the IPv4 subnet (Native OpenStack API).
	Ipv4SubnetId pulumi.StringOutput `pulumi:"ipv4SubnetId"`
	// The IPv6 subnet CIDR block.
	Ipv6Cidr pulumi.StringOutput `pulumi:"ipv6Cidr"`
	// Specifies whether the IPv6 function is enabled for the subnet. Defaults to false.
	Ipv6Enable pulumi.BoolPtrOutput `pulumi:"ipv6Enable"`
	// The IPv6 subnet gateway.
	Ipv6Gateway pulumi.StringOutput `pulumi:"ipv6Gateway"`
	// The ID of the IPv6 subnet (Native OpenStack API).
	Ipv6SubnetId pulumi.StringOutput `pulumi:"ipv6SubnetId"`
	// Specifies the subnet name. The value is a string of 1 to 64 characters that can contain
	// letters, digits, underscores (_), and hyphens (-).
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the NTP server address. Currently only IPv4 addresses are supported.
	// A maximum of four IP addresses can be configured, and each address must be unique. Multiple IP addresses must be
	// separated using commas(,). Removing this parameter indicates that no NTP server is configured.
	NtpServerAddress pulumi.StringPtrOutput `pulumi:"ntpServerAddress"`
	// Specifies the IP address of DNS server 1 on the subnet. The value must be a valid
	// IP address.
	PrimaryDns pulumi.StringOutput `pulumi:"primaryDns"`
	// Specifies tThe region in which to create the vpc subnet. If omitted, the
	// provider-level region will be used. Changing this creates a new Subnet.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the IP address of DNS server 2 on the subnet. The value must be a valid
	// IP address.
	SecondaryDns pulumi.StringOutput `pulumi:"secondaryDns"`
	// schema: Deprecated
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// The key/value pairs to associate with the subnet.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the ID of the VPC to which the subnet belongs. Changing this creates
	// a new Subnet.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Provides a VPC subnet resource within HuaweiCloud.

## Import

Subnets can be imported using the subnet `Network ID`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/subnet:Subnet huaweicloud_vpc_subnet 4779ab1c-7c1a-44b1-a02e-93dfc361b32d

```

func GetSubnet

func GetSubnet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetState, opts ...pulumi.ResourceOption) (*Subnet, error)

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

func NewSubnet

func NewSubnet(ctx *pulumi.Context,
	name string, args *SubnetArgs, opts ...pulumi.ResourceOption) (*Subnet, error)

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

func (*Subnet) ElementType

func (*Subnet) ElementType() reflect.Type

func (*Subnet) ToSubnetOutput

func (i *Subnet) ToSubnetOutput() SubnetOutput

func (*Subnet) ToSubnetOutputWithContext

func (i *Subnet) ToSubnetOutputWithContext(ctx context.Context) SubnetOutput

type SubnetArgs

type SubnetArgs struct {
	// Specifies the availability zone (AZ) to which the subnet belongs.
	// The value must be an existing AZ in the system. Changing this creates a new Subnet.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the network segment on which the subnet resides. The value must be in
	// CIDR format and within the CIDR block of the VPC. The subnet mask cannot be greater than 28. Changing this creates a
	// new Subnet.
	Cidr pulumi.StringInput
	// Specifies supplementary information about the subnet. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies whether the DHCP function is enabled for the subnet. Defaults to true.
	DhcpEnable pulumi.BoolPtrInput
	// Specifies the DHCP lease expiration time. The value can be -1, which indicates
	// unlimited lease time, or Number+h. the number ranges from 1 to 30,000. For example, the value can be 5h. The default
	// value is 24h.
	DhcpLeaseTime pulumi.StringPtrInput
	// Specifies the DNS server address list of a subnet. This field is required if you need to
	// use more than two DNS servers. This parameter value is the superset of both DNS server address 1 and DNS server
	// address 2.
	DnsLists pulumi.StringArrayInput
	// Specifies the gateway of the subnet. The value must be a valid IP address
	// in the subnet segment. Changing this creates a new Subnet.
	GatewayIp pulumi.StringInput
	// Specifies whether the IPv6 function is enabled for the subnet. Defaults to false.
	Ipv6Enable pulumi.BoolPtrInput
	// Specifies the subnet name. The value is a string of 1 to 64 characters that can contain
	// letters, digits, underscores (_), and hyphens (-).
	Name pulumi.StringPtrInput
	// Specifies the NTP server address. Currently only IPv4 addresses are supported.
	// A maximum of four IP addresses can be configured, and each address must be unique. Multiple IP addresses must be
	// separated using commas(,). Removing this parameter indicates that no NTP server is configured.
	NtpServerAddress pulumi.StringPtrInput
	// Specifies the IP address of DNS server 1 on the subnet. The value must be a valid
	// IP address.
	PrimaryDns pulumi.StringPtrInput
	// Specifies tThe region in which to create the vpc subnet. If omitted, the
	// provider-level region will be used. Changing this creates a new Subnet.
	Region pulumi.StringPtrInput
	// Specifies the IP address of DNS server 2 on the subnet. The value must be a valid
	// IP address.
	SecondaryDns pulumi.StringPtrInput
	// The key/value pairs to associate with the subnet.
	Tags pulumi.StringMapInput
	// Specifies the ID of the VPC to which the subnet belongs. Changing this creates
	// a new Subnet.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Subnet resource.

func (SubnetArgs) ElementType

func (SubnetArgs) ElementType() reflect.Type

type SubnetArray

type SubnetArray []SubnetInput

func (SubnetArray) ElementType

func (SubnetArray) ElementType() reflect.Type

func (SubnetArray) ToSubnetArrayOutput

func (i SubnetArray) ToSubnetArrayOutput() SubnetArrayOutput

func (SubnetArray) ToSubnetArrayOutputWithContext

func (i SubnetArray) ToSubnetArrayOutputWithContext(ctx context.Context) SubnetArrayOutput

type SubnetArrayInput

type SubnetArrayInput interface {
	pulumi.Input

	ToSubnetArrayOutput() SubnetArrayOutput
	ToSubnetArrayOutputWithContext(context.Context) SubnetArrayOutput
}

SubnetArrayInput is an input type that accepts SubnetArray and SubnetArrayOutput values. You can construct a concrete instance of `SubnetArrayInput` via:

SubnetArray{ SubnetArgs{...} }

type SubnetArrayOutput

type SubnetArrayOutput struct{ *pulumi.OutputState }

func (SubnetArrayOutput) ElementType

func (SubnetArrayOutput) ElementType() reflect.Type

func (SubnetArrayOutput) Index

func (SubnetArrayOutput) ToSubnetArrayOutput

func (o SubnetArrayOutput) ToSubnetArrayOutput() SubnetArrayOutput

func (SubnetArrayOutput) ToSubnetArrayOutputWithContext

func (o SubnetArrayOutput) ToSubnetArrayOutputWithContext(ctx context.Context) SubnetArrayOutput

type SubnetInput

type SubnetInput interface {
	pulumi.Input

	ToSubnetOutput() SubnetOutput
	ToSubnetOutputWithContext(ctx context.Context) SubnetOutput
}

type SubnetMap

type SubnetMap map[string]SubnetInput

func (SubnetMap) ElementType

func (SubnetMap) ElementType() reflect.Type

func (SubnetMap) ToSubnetMapOutput

func (i SubnetMap) ToSubnetMapOutput() SubnetMapOutput

func (SubnetMap) ToSubnetMapOutputWithContext

func (i SubnetMap) ToSubnetMapOutputWithContext(ctx context.Context) SubnetMapOutput

type SubnetMapInput

type SubnetMapInput interface {
	pulumi.Input

	ToSubnetMapOutput() SubnetMapOutput
	ToSubnetMapOutputWithContext(context.Context) SubnetMapOutput
}

SubnetMapInput is an input type that accepts SubnetMap and SubnetMapOutput values. You can construct a concrete instance of `SubnetMapInput` via:

SubnetMap{ "key": SubnetArgs{...} }

type SubnetMapOutput

type SubnetMapOutput struct{ *pulumi.OutputState }

func (SubnetMapOutput) ElementType

func (SubnetMapOutput) ElementType() reflect.Type

func (SubnetMapOutput) MapIndex

func (SubnetMapOutput) ToSubnetMapOutput

func (o SubnetMapOutput) ToSubnetMapOutput() SubnetMapOutput

func (SubnetMapOutput) ToSubnetMapOutputWithContext

func (o SubnetMapOutput) ToSubnetMapOutputWithContext(ctx context.Context) SubnetMapOutput

type SubnetOutput

type SubnetOutput struct{ *pulumi.OutputState }

func (SubnetOutput) AvailabilityZone

func (o SubnetOutput) AvailabilityZone() pulumi.StringOutput

Specifies the availability zone (AZ) to which the subnet belongs. The value must be an existing AZ in the system. Changing this creates a new Subnet.

func (SubnetOutput) Cidr

func (o SubnetOutput) Cidr() pulumi.StringOutput

Specifies the network segment on which the subnet resides. The value must be in CIDR format and within the CIDR block of the VPC. The subnet mask cannot be greater than 28. Changing this creates a new Subnet.

func (SubnetOutput) Description

func (o SubnetOutput) Description() pulumi.StringPtrOutput

Specifies supplementary information about the subnet. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (SubnetOutput) DhcpEnable

func (o SubnetOutput) DhcpEnable() pulumi.BoolPtrOutput

Specifies whether the DHCP function is enabled for the subnet. Defaults to true.

func (SubnetOutput) DhcpLeaseTime added in v0.0.8

func (o SubnetOutput) DhcpLeaseTime() pulumi.StringOutput

Specifies the DHCP lease expiration time. The value can be -1, which indicates unlimited lease time, or Number+h. the number ranges from 1 to 30,000. For example, the value can be 5h. The default value is 24h.

func (SubnetOutput) DnsLists

func (o SubnetOutput) DnsLists() pulumi.StringArrayOutput

Specifies the DNS server address list of a subnet. This field is required if you need to use more than two DNS servers. This parameter value is the superset of both DNS server address 1 and DNS server address 2.

func (SubnetOutput) ElementType

func (SubnetOutput) ElementType() reflect.Type

func (SubnetOutput) GatewayIp

func (o SubnetOutput) GatewayIp() pulumi.StringOutput

Specifies the gateway of the subnet. The value must be a valid IP address in the subnet segment. Changing this creates a new Subnet.

func (SubnetOutput) Ipv4SubnetId

func (o SubnetOutput) Ipv4SubnetId() pulumi.StringOutput

The ID of the IPv4 subnet (Native OpenStack API).

func (SubnetOutput) Ipv6Cidr

func (o SubnetOutput) Ipv6Cidr() pulumi.StringOutput

The IPv6 subnet CIDR block.

func (SubnetOutput) Ipv6Enable

func (o SubnetOutput) Ipv6Enable() pulumi.BoolPtrOutput

Specifies whether the IPv6 function is enabled for the subnet. Defaults to false.

func (SubnetOutput) Ipv6Gateway

func (o SubnetOutput) Ipv6Gateway() pulumi.StringOutput

The IPv6 subnet gateway.

func (SubnetOutput) Ipv6SubnetId

func (o SubnetOutput) Ipv6SubnetId() pulumi.StringOutput

The ID of the IPv6 subnet (Native OpenStack API).

func (SubnetOutput) Name

func (o SubnetOutput) Name() pulumi.StringOutput

Specifies the subnet name. The value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), and hyphens (-).

func (SubnetOutput) NtpServerAddress added in v0.0.8

func (o SubnetOutput) NtpServerAddress() pulumi.StringPtrOutput

Specifies the NTP server address. Currently only IPv4 addresses are supported. A maximum of four IP addresses can be configured, and each address must be unique. Multiple IP addresses must be separated using commas(,). Removing this parameter indicates that no NTP server is configured.

func (SubnetOutput) PrimaryDns

func (o SubnetOutput) PrimaryDns() pulumi.StringOutput

Specifies the IP address of DNS server 1 on the subnet. The value must be a valid IP address.

func (SubnetOutput) Region

func (o SubnetOutput) Region() pulumi.StringOutput

Specifies tThe region in which to create the vpc subnet. If omitted, the provider-level region will be used. Changing this creates a new Subnet.

func (SubnetOutput) SecondaryDns

func (o SubnetOutput) SecondaryDns() pulumi.StringOutput

Specifies the IP address of DNS server 2 on the subnet. The value must be a valid IP address.

func (SubnetOutput) SubnetId

func (o SubnetOutput) SubnetId() pulumi.StringOutput

schema: Deprecated

func (SubnetOutput) Tags

The key/value pairs to associate with the subnet.

func (SubnetOutput) ToSubnetOutput

func (o SubnetOutput) ToSubnetOutput() SubnetOutput

func (SubnetOutput) ToSubnetOutputWithContext

func (o SubnetOutput) ToSubnetOutputWithContext(ctx context.Context) SubnetOutput

func (SubnetOutput) VpcId

func (o SubnetOutput) VpcId() pulumi.StringOutput

Specifies the ID of the VPC to which the subnet belongs. Changing this creates a new Subnet.

type SubnetState

type SubnetState struct {
	// Specifies the availability zone (AZ) to which the subnet belongs.
	// The value must be an existing AZ in the system. Changing this creates a new Subnet.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies the network segment on which the subnet resides. The value must be in
	// CIDR format and within the CIDR block of the VPC. The subnet mask cannot be greater than 28. Changing this creates a
	// new Subnet.
	Cidr pulumi.StringPtrInput
	// Specifies supplementary information about the subnet. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies whether the DHCP function is enabled for the subnet. Defaults to true.
	DhcpEnable pulumi.BoolPtrInput
	// Specifies the DHCP lease expiration time. The value can be -1, which indicates
	// unlimited lease time, or Number+h. the number ranges from 1 to 30,000. For example, the value can be 5h. The default
	// value is 24h.
	DhcpLeaseTime pulumi.StringPtrInput
	// Specifies the DNS server address list of a subnet. This field is required if you need to
	// use more than two DNS servers. This parameter value is the superset of both DNS server address 1 and DNS server
	// address 2.
	DnsLists pulumi.StringArrayInput
	// Specifies the gateway of the subnet. The value must be a valid IP address
	// in the subnet segment. Changing this creates a new Subnet.
	GatewayIp pulumi.StringPtrInput
	// The ID of the IPv4 subnet (Native OpenStack API).
	Ipv4SubnetId pulumi.StringPtrInput
	// The IPv6 subnet CIDR block.
	Ipv6Cidr pulumi.StringPtrInput
	// Specifies whether the IPv6 function is enabled for the subnet. Defaults to false.
	Ipv6Enable pulumi.BoolPtrInput
	// The IPv6 subnet gateway.
	Ipv6Gateway pulumi.StringPtrInput
	// The ID of the IPv6 subnet (Native OpenStack API).
	Ipv6SubnetId pulumi.StringPtrInput
	// Specifies the subnet name. The value is a string of 1 to 64 characters that can contain
	// letters, digits, underscores (_), and hyphens (-).
	Name pulumi.StringPtrInput
	// Specifies the NTP server address. Currently only IPv4 addresses are supported.
	// A maximum of four IP addresses can be configured, and each address must be unique. Multiple IP addresses must be
	// separated using commas(,). Removing this parameter indicates that no NTP server is configured.
	NtpServerAddress pulumi.StringPtrInput
	// Specifies the IP address of DNS server 1 on the subnet. The value must be a valid
	// IP address.
	PrimaryDns pulumi.StringPtrInput
	// Specifies tThe region in which to create the vpc subnet. If omitted, the
	// provider-level region will be used. Changing this creates a new Subnet.
	Region pulumi.StringPtrInput
	// Specifies the IP address of DNS server 2 on the subnet. The value must be a valid
	// IP address.
	SecondaryDns pulumi.StringPtrInput
	// schema: Deprecated
	SubnetId pulumi.StringPtrInput
	// The key/value pairs to associate with the subnet.
	Tags pulumi.StringMapInput
	// Specifies the ID of the VPC to which the subnet belongs. Changing this creates
	// a new Subnet.
	VpcId pulumi.StringPtrInput
}

func (SubnetState) ElementType

func (SubnetState) ElementType() reflect.Type

type Vip

type Vip struct {
	pulumi.CustomResourceState

	// The device owner of the VIP.
	DeviceOwner pulumi.StringOutput `pulumi:"deviceOwner"`
	// Specifies the IP address desired in the subnet for this VIP.
	// Changing this will create a new VIP resource.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// Specifies the IP version, either `4` (default) or `6`.
	// Changing this will create a new VIP resource.
	IpVersion pulumi.IntOutput `pulumi:"ipVersion"`
	// The MAC address of the VIP.
	MacAddress pulumi.StringOutput `pulumi:"macAddress"`
	// Specifies a unique name for the VIP.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the network ID of the VPC subnet to which the VIP belongs.
	// Changing this will create a new VIP resource.
	NetworkId pulumi.StringOutput `pulumi:"networkId"`
	// Specifies the region in which to create the VIP.
	// If omitted, the provider-level region will be used. Changing this will create a new VIP resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The VIP status.
	Status pulumi.StringOutput `pulumi:"status"`
	// Deprecated: use ip_version instead
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Manages a network VIP resource within HuaweiCloud VPC.

## Import

Network VIPs can be imported using their `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/vip:Vip test ce595799-da26-4015-8db5-7733c6db292e

```

func GetVip

func GetVip(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VipState, opts ...pulumi.ResourceOption) (*Vip, error)

GetVip gets an existing Vip 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 NewVip

func NewVip(ctx *pulumi.Context,
	name string, args *VipArgs, opts ...pulumi.ResourceOption) (*Vip, error)

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

func (*Vip) ElementType

func (*Vip) ElementType() reflect.Type

func (*Vip) ToVipOutput

func (i *Vip) ToVipOutput() VipOutput

func (*Vip) ToVipOutputWithContext

func (i *Vip) ToVipOutputWithContext(ctx context.Context) VipOutput

type VipArgs

type VipArgs struct {
	// Specifies the IP address desired in the subnet for this VIP.
	// Changing this will create a new VIP resource.
	IpAddress pulumi.StringPtrInput
	// Specifies the IP version, either `4` (default) or `6`.
	// Changing this will create a new VIP resource.
	IpVersion pulumi.IntPtrInput
	// Specifies a unique name for the VIP.
	Name pulumi.StringPtrInput
	// Specifies the network ID of the VPC subnet to which the VIP belongs.
	// Changing this will create a new VIP resource.
	NetworkId pulumi.StringInput
	// Specifies the region in which to create the VIP.
	// If omitted, the provider-level region will be used. Changing this will create a new VIP resource.
	Region pulumi.StringPtrInput
	// Deprecated: use ip_version instead
	SubnetId pulumi.StringPtrInput
}

The set of arguments for constructing a Vip resource.

func (VipArgs) ElementType

func (VipArgs) ElementType() reflect.Type

type VipArray

type VipArray []VipInput

func (VipArray) ElementType

func (VipArray) ElementType() reflect.Type

func (VipArray) ToVipArrayOutput

func (i VipArray) ToVipArrayOutput() VipArrayOutput

func (VipArray) ToVipArrayOutputWithContext

func (i VipArray) ToVipArrayOutputWithContext(ctx context.Context) VipArrayOutput

type VipArrayInput

type VipArrayInput interface {
	pulumi.Input

	ToVipArrayOutput() VipArrayOutput
	ToVipArrayOutputWithContext(context.Context) VipArrayOutput
}

VipArrayInput is an input type that accepts VipArray and VipArrayOutput values. You can construct a concrete instance of `VipArrayInput` via:

VipArray{ VipArgs{...} }

type VipArrayOutput

type VipArrayOutput struct{ *pulumi.OutputState }

func (VipArrayOutput) ElementType

func (VipArrayOutput) ElementType() reflect.Type

func (VipArrayOutput) Index

func (VipArrayOutput) ToVipArrayOutput

func (o VipArrayOutput) ToVipArrayOutput() VipArrayOutput

func (VipArrayOutput) ToVipArrayOutputWithContext

func (o VipArrayOutput) ToVipArrayOutputWithContext(ctx context.Context) VipArrayOutput

type VipAssociate

type VipAssociate struct {
	pulumi.CustomResourceState

	// The IP addresses of ports to attach the vip to.
	IpAddresses pulumi.StringArrayOutput `pulumi:"ipAddresses"`
	// An array of one or more IDs of the ports to attach the vip to.
	PortIds pulumi.StringArrayOutput `pulumi:"portIds"`
	// The region in which to create the vip associate resource. If omitted, the
	// provider-level region will be used.
	Region pulumi.StringOutput `pulumi:"region"`
	// The ID of vip to attach the ports to.
	VipId pulumi.StringOutput `pulumi:"vipId"`
	// The IP address in the subnet for this vip.
	VipIpAddress pulumi.StringOutput `pulumi:"vipIpAddress"`
	// The ID of the subnet this vip connects to.
	VipSubnetId pulumi.StringOutput `pulumi:"vipSubnetId"`
}

Using this resource, one or more NICs (to which the ECS instance belongs) can be bound to the VIP.

> A VIP can only have one resource.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vipId := cfg.RequireObject("vipId")
		nicPortIds := cfg.Require("nicPortIds")
		_, err := Vpc.NewVipAssociate(ctx, "vipAssociated", &Vpc.VipAssociateArgs{
			VipId:   pulumi.Any(vipId),
			PortIds: nicPortIds,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Vip associate can be imported using the `vip_id` and port IDs separated by slashes (no limit on the number of port IDs), e.g.

```sh

$ pulumi import huaweicloud:Vpc/vipAssociate:VipAssociate vip_associated vip_id/port1_id/port2_id

```

func GetVipAssociate

func GetVipAssociate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VipAssociateState, opts ...pulumi.ResourceOption) (*VipAssociate, error)

GetVipAssociate gets an existing VipAssociate 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 NewVipAssociate

func NewVipAssociate(ctx *pulumi.Context,
	name string, args *VipAssociateArgs, opts ...pulumi.ResourceOption) (*VipAssociate, error)

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

func (*VipAssociate) ElementType

func (*VipAssociate) ElementType() reflect.Type

func (*VipAssociate) ToVipAssociateOutput

func (i *VipAssociate) ToVipAssociateOutput() VipAssociateOutput

func (*VipAssociate) ToVipAssociateOutputWithContext

func (i *VipAssociate) ToVipAssociateOutputWithContext(ctx context.Context) VipAssociateOutput

type VipAssociateArgs

type VipAssociateArgs struct {
	// An array of one or more IDs of the ports to attach the vip to.
	PortIds pulumi.StringArrayInput
	// The region in which to create the vip associate resource. If omitted, the
	// provider-level region will be used.
	Region pulumi.StringPtrInput
	// The ID of vip to attach the ports to.
	VipId pulumi.StringInput
}

The set of arguments for constructing a VipAssociate resource.

func (VipAssociateArgs) ElementType

func (VipAssociateArgs) ElementType() reflect.Type

type VipAssociateArray

type VipAssociateArray []VipAssociateInput

func (VipAssociateArray) ElementType

func (VipAssociateArray) ElementType() reflect.Type

func (VipAssociateArray) ToVipAssociateArrayOutput

func (i VipAssociateArray) ToVipAssociateArrayOutput() VipAssociateArrayOutput

func (VipAssociateArray) ToVipAssociateArrayOutputWithContext

func (i VipAssociateArray) ToVipAssociateArrayOutputWithContext(ctx context.Context) VipAssociateArrayOutput

type VipAssociateArrayInput

type VipAssociateArrayInput interface {
	pulumi.Input

	ToVipAssociateArrayOutput() VipAssociateArrayOutput
	ToVipAssociateArrayOutputWithContext(context.Context) VipAssociateArrayOutput
}

VipAssociateArrayInput is an input type that accepts VipAssociateArray and VipAssociateArrayOutput values. You can construct a concrete instance of `VipAssociateArrayInput` via:

VipAssociateArray{ VipAssociateArgs{...} }

type VipAssociateArrayOutput

type VipAssociateArrayOutput struct{ *pulumi.OutputState }

func (VipAssociateArrayOutput) ElementType

func (VipAssociateArrayOutput) ElementType() reflect.Type

func (VipAssociateArrayOutput) Index

func (VipAssociateArrayOutput) ToVipAssociateArrayOutput

func (o VipAssociateArrayOutput) ToVipAssociateArrayOutput() VipAssociateArrayOutput

func (VipAssociateArrayOutput) ToVipAssociateArrayOutputWithContext

func (o VipAssociateArrayOutput) ToVipAssociateArrayOutputWithContext(ctx context.Context) VipAssociateArrayOutput

type VipAssociateInput

type VipAssociateInput interface {
	pulumi.Input

	ToVipAssociateOutput() VipAssociateOutput
	ToVipAssociateOutputWithContext(ctx context.Context) VipAssociateOutput
}

type VipAssociateMap

type VipAssociateMap map[string]VipAssociateInput

func (VipAssociateMap) ElementType

func (VipAssociateMap) ElementType() reflect.Type

func (VipAssociateMap) ToVipAssociateMapOutput

func (i VipAssociateMap) ToVipAssociateMapOutput() VipAssociateMapOutput

func (VipAssociateMap) ToVipAssociateMapOutputWithContext

func (i VipAssociateMap) ToVipAssociateMapOutputWithContext(ctx context.Context) VipAssociateMapOutput

type VipAssociateMapInput

type VipAssociateMapInput interface {
	pulumi.Input

	ToVipAssociateMapOutput() VipAssociateMapOutput
	ToVipAssociateMapOutputWithContext(context.Context) VipAssociateMapOutput
}

VipAssociateMapInput is an input type that accepts VipAssociateMap and VipAssociateMapOutput values. You can construct a concrete instance of `VipAssociateMapInput` via:

VipAssociateMap{ "key": VipAssociateArgs{...} }

type VipAssociateMapOutput

type VipAssociateMapOutput struct{ *pulumi.OutputState }

func (VipAssociateMapOutput) ElementType

func (VipAssociateMapOutput) ElementType() reflect.Type

func (VipAssociateMapOutput) MapIndex

func (VipAssociateMapOutput) ToVipAssociateMapOutput

func (o VipAssociateMapOutput) ToVipAssociateMapOutput() VipAssociateMapOutput

func (VipAssociateMapOutput) ToVipAssociateMapOutputWithContext

func (o VipAssociateMapOutput) ToVipAssociateMapOutputWithContext(ctx context.Context) VipAssociateMapOutput

type VipAssociateOutput

type VipAssociateOutput struct{ *pulumi.OutputState }

func (VipAssociateOutput) ElementType

func (VipAssociateOutput) ElementType() reflect.Type

func (VipAssociateOutput) IpAddresses

The IP addresses of ports to attach the vip to.

func (VipAssociateOutput) PortIds

An array of one or more IDs of the ports to attach the vip to.

func (VipAssociateOutput) Region

The region in which to create the vip associate resource. If omitted, the provider-level region will be used.

func (VipAssociateOutput) ToVipAssociateOutput

func (o VipAssociateOutput) ToVipAssociateOutput() VipAssociateOutput

func (VipAssociateOutput) ToVipAssociateOutputWithContext

func (o VipAssociateOutput) ToVipAssociateOutputWithContext(ctx context.Context) VipAssociateOutput

func (VipAssociateOutput) VipId

The ID of vip to attach the ports to.

func (VipAssociateOutput) VipIpAddress

func (o VipAssociateOutput) VipIpAddress() pulumi.StringOutput

The IP address in the subnet for this vip.

func (VipAssociateOutput) VipSubnetId

func (o VipAssociateOutput) VipSubnetId() pulumi.StringOutput

The ID of the subnet this vip connects to.

type VipAssociateState

type VipAssociateState struct {
	// The IP addresses of ports to attach the vip to.
	IpAddresses pulumi.StringArrayInput
	// An array of one or more IDs of the ports to attach the vip to.
	PortIds pulumi.StringArrayInput
	// The region in which to create the vip associate resource. If omitted, the
	// provider-level region will be used.
	Region pulumi.StringPtrInput
	// The ID of vip to attach the ports to.
	VipId pulumi.StringPtrInput
	// The IP address in the subnet for this vip.
	VipIpAddress pulumi.StringPtrInput
	// The ID of the subnet this vip connects to.
	VipSubnetId pulumi.StringPtrInput
}

func (VipAssociateState) ElementType

func (VipAssociateState) ElementType() reflect.Type

type VipInput

type VipInput interface {
	pulumi.Input

	ToVipOutput() VipOutput
	ToVipOutputWithContext(ctx context.Context) VipOutput
}

type VipMap

type VipMap map[string]VipInput

func (VipMap) ElementType

func (VipMap) ElementType() reflect.Type

func (VipMap) ToVipMapOutput

func (i VipMap) ToVipMapOutput() VipMapOutput

func (VipMap) ToVipMapOutputWithContext

func (i VipMap) ToVipMapOutputWithContext(ctx context.Context) VipMapOutput

type VipMapInput

type VipMapInput interface {
	pulumi.Input

	ToVipMapOutput() VipMapOutput
	ToVipMapOutputWithContext(context.Context) VipMapOutput
}

VipMapInput is an input type that accepts VipMap and VipMapOutput values. You can construct a concrete instance of `VipMapInput` via:

VipMap{ "key": VipArgs{...} }

type VipMapOutput

type VipMapOutput struct{ *pulumi.OutputState }

func (VipMapOutput) ElementType

func (VipMapOutput) ElementType() reflect.Type

func (VipMapOutput) MapIndex

func (o VipMapOutput) MapIndex(k pulumi.StringInput) VipOutput

func (VipMapOutput) ToVipMapOutput

func (o VipMapOutput) ToVipMapOutput() VipMapOutput

func (VipMapOutput) ToVipMapOutputWithContext

func (o VipMapOutput) ToVipMapOutputWithContext(ctx context.Context) VipMapOutput

type VipOutput

type VipOutput struct{ *pulumi.OutputState }

func (VipOutput) DeviceOwner

func (o VipOutput) DeviceOwner() pulumi.StringOutput

The device owner of the VIP.

func (VipOutput) ElementType

func (VipOutput) ElementType() reflect.Type

func (VipOutput) IpAddress

func (o VipOutput) IpAddress() pulumi.StringOutput

Specifies the IP address desired in the subnet for this VIP. Changing this will create a new VIP resource.

func (VipOutput) IpVersion

func (o VipOutput) IpVersion() pulumi.IntOutput

Specifies the IP version, either `4` (default) or `6`. Changing this will create a new VIP resource.

func (VipOutput) MacAddress

func (o VipOutput) MacAddress() pulumi.StringOutput

The MAC address of the VIP.

func (VipOutput) Name

func (o VipOutput) Name() pulumi.StringOutput

Specifies a unique name for the VIP.

func (VipOutput) NetworkId

func (o VipOutput) NetworkId() pulumi.StringOutput

Specifies the network ID of the VPC subnet to which the VIP belongs. Changing this will create a new VIP resource.

func (VipOutput) Region

func (o VipOutput) Region() pulumi.StringOutput

Specifies the region in which to create the VIP. If omitted, the provider-level region will be used. Changing this will create a new VIP resource.

func (VipOutput) Status

func (o VipOutput) Status() pulumi.StringOutput

The VIP status.

func (VipOutput) SubnetId deprecated

func (o VipOutput) SubnetId() pulumi.StringOutput

Deprecated: use ip_version instead

func (VipOutput) ToVipOutput

func (o VipOutput) ToVipOutput() VipOutput

func (VipOutput) ToVipOutputWithContext

func (o VipOutput) ToVipOutputWithContext(ctx context.Context) VipOutput

type VipState

type VipState struct {
	// The device owner of the VIP.
	DeviceOwner pulumi.StringPtrInput
	// Specifies the IP address desired in the subnet for this VIP.
	// Changing this will create a new VIP resource.
	IpAddress pulumi.StringPtrInput
	// Specifies the IP version, either `4` (default) or `6`.
	// Changing this will create a new VIP resource.
	IpVersion pulumi.IntPtrInput
	// The MAC address of the VIP.
	MacAddress pulumi.StringPtrInput
	// Specifies a unique name for the VIP.
	Name pulumi.StringPtrInput
	// Specifies the network ID of the VPC subnet to which the VIP belongs.
	// Changing this will create a new VIP resource.
	NetworkId pulumi.StringPtrInput
	// Specifies the region in which to create the VIP.
	// If omitted, the provider-level region will be used. Changing this will create a new VIP resource.
	Region pulumi.StringPtrInput
	// The VIP status.
	Status pulumi.StringPtrInput
	// Deprecated: use ip_version instead
	SubnetId pulumi.StringPtrInput
}

func (VipState) ElementType

func (VipState) ElementType() reflect.Type

type Vpc

type Vpc struct {
	pulumi.CustomResourceState

	// Specifies the range of available subnets in the VPC. The value ranges from 10.0.0.0/8 to
	// 10.255.255.0/24, 172.16.0.0/12 to 172.31.255.0/24, or 192.168.0.0/16 to 192.168.255.0/24.
	Cidr pulumi.StringOutput `pulumi:"cidr"`
	// Specifies supplementary information about the VPC. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the enterprise project id of the VPC. Changing this
	// creates a new VPC resource.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies the name of the VPC. The name must be unique for a tenant. The value is a string
	// of no more than 64 characters and can contain digits, letters, underscores (_), and hyphens (-).
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the region in which to create the VPC. If omitted, the
	// provider-level region will be used. Changing this creates a new VPC resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Deprecated: use huaweicloud_vpc_route_table data source to get all routes
	Routes VpcRouteArrayOutput `pulumi:"routes"`
	// Specifies the secondary CIDR block of the VPC.
	SecondaryCidr pulumi.StringPtrOutput `pulumi:"secondaryCidr"`
	// The current status of the VPC. Possible values are as follows: CREATING, OK or ERROR.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the key/value pairs to associate with the VPC.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages a VPC resource within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		vpcName := "huaweicloud_vpc"
		if param := cfg.Get("vpcName"); param != "" {
			vpcName = param
		}
		vpcCidr := "192.168.0.0/16"
		if param := cfg.Get("vpcCidr"); param != "" {
			vpcCidr = param
		}
		_, err := Vpc.NewVpc(ctx, "vpc", &Vpc.VpcArgs{
			Cidr: pulumi.String(vpcCidr),
		})
		if err != nil {
			return err
		}
		_, err = Vpc.NewVpc(ctx, "vpcWithTags", &Vpc.VpcArgs{
			Cidr: pulumi.String(vpcCidr),
			Tags: pulumi.StringMap{
				"foo": pulumi.String("bar"),
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

VPCs can be imported using the `id`, e.g.

```sh

$ pulumi import huaweicloud:Vpc/vpc:Vpc vpc_v1 7117d38e-4c8f-4624-a505-bd96b97d024c

```

Note that the imported state may not be identical to your resource definition when `secondary_cidr` was set. You you can ignore changes as below. resource "huaweicloud_vpc" "vpc_v1" {

...

lifecycle {

ignore_changes = [ secondary_cidr ]

} }

func GetVpc

func GetVpc(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcState, opts ...pulumi.ResourceOption) (*Vpc, error)

GetVpc gets an existing Vpc 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 NewVpc

func NewVpc(ctx *pulumi.Context,
	name string, args *VpcArgs, opts ...pulumi.ResourceOption) (*Vpc, error)

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

func (*Vpc) ElementType

func (*Vpc) ElementType() reflect.Type

func (*Vpc) ToVpcOutput

func (i *Vpc) ToVpcOutput() VpcOutput

func (*Vpc) ToVpcOutputWithContext

func (i *Vpc) ToVpcOutputWithContext(ctx context.Context) VpcOutput

type VpcArgs

type VpcArgs struct {
	// Specifies the range of available subnets in the VPC. The value ranges from 10.0.0.0/8 to
	// 10.255.255.0/24, 172.16.0.0/12 to 172.31.255.0/24, or 192.168.0.0/16 to 192.168.255.0/24.
	Cidr pulumi.StringInput
	// Specifies supplementary information about the VPC. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the enterprise project id of the VPC. Changing this
	// creates a new VPC resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the name of the VPC. The name must be unique for a tenant. The value is a string
	// of no more than 64 characters and can contain digits, letters, underscores (_), and hyphens (-).
	Name pulumi.StringPtrInput
	// Specifies the region in which to create the VPC. If omitted, the
	// provider-level region will be used. Changing this creates a new VPC resource.
	Region pulumi.StringPtrInput
	// Specifies the secondary CIDR block of the VPC.
	SecondaryCidr pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the VPC.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Vpc resource.

func (VpcArgs) ElementType

func (VpcArgs) ElementType() reflect.Type

type VpcArray

type VpcArray []VpcInput

func (VpcArray) ElementType

func (VpcArray) ElementType() reflect.Type

func (VpcArray) ToVpcArrayOutput

func (i VpcArray) ToVpcArrayOutput() VpcArrayOutput

func (VpcArray) ToVpcArrayOutputWithContext

func (i VpcArray) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput

type VpcArrayInput

type VpcArrayInput interface {
	pulumi.Input

	ToVpcArrayOutput() VpcArrayOutput
	ToVpcArrayOutputWithContext(context.Context) VpcArrayOutput
}

VpcArrayInput is an input type that accepts VpcArray and VpcArrayOutput values. You can construct a concrete instance of `VpcArrayInput` via:

VpcArray{ VpcArgs{...} }

type VpcArrayOutput

type VpcArrayOutput struct{ *pulumi.OutputState }

func (VpcArrayOutput) ElementType

func (VpcArrayOutput) ElementType() reflect.Type

func (VpcArrayOutput) Index

func (VpcArrayOutput) ToVpcArrayOutput

func (o VpcArrayOutput) ToVpcArrayOutput() VpcArrayOutput

func (VpcArrayOutput) ToVpcArrayOutputWithContext

func (o VpcArrayOutput) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput

type VpcInput

type VpcInput interface {
	pulumi.Input

	ToVpcOutput() VpcOutput
	ToVpcOutputWithContext(ctx context.Context) VpcOutput
}

type VpcMap

type VpcMap map[string]VpcInput

func (VpcMap) ElementType

func (VpcMap) ElementType() reflect.Type

func (VpcMap) ToVpcMapOutput

func (i VpcMap) ToVpcMapOutput() VpcMapOutput

func (VpcMap) ToVpcMapOutputWithContext

func (i VpcMap) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput

type VpcMapInput

type VpcMapInput interface {
	pulumi.Input

	ToVpcMapOutput() VpcMapOutput
	ToVpcMapOutputWithContext(context.Context) VpcMapOutput
}

VpcMapInput is an input type that accepts VpcMap and VpcMapOutput values. You can construct a concrete instance of `VpcMapInput` via:

VpcMap{ "key": VpcArgs{...} }

type VpcMapOutput

type VpcMapOutput struct{ *pulumi.OutputState }

func (VpcMapOutput) ElementType

func (VpcMapOutput) ElementType() reflect.Type

func (VpcMapOutput) MapIndex

func (o VpcMapOutput) MapIndex(k pulumi.StringInput) VpcOutput

func (VpcMapOutput) ToVpcMapOutput

func (o VpcMapOutput) ToVpcMapOutput() VpcMapOutput

func (VpcMapOutput) ToVpcMapOutputWithContext

func (o VpcMapOutput) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput

type VpcOutput

type VpcOutput struct{ *pulumi.OutputState }

func (VpcOutput) Cidr

func (o VpcOutput) Cidr() pulumi.StringOutput

Specifies the range of available subnets in the VPC. The value ranges from 10.0.0.0/8 to 10.255.255.0/24, 172.16.0.0/12 to 172.31.255.0/24, or 192.168.0.0/16 to 192.168.255.0/24.

func (VpcOutput) Description

func (o VpcOutput) Description() pulumi.StringPtrOutput

Specifies supplementary information about the VPC. The value is a string of no more than 255 characters and cannot contain angle brackets (< or >).

func (VpcOutput) ElementType

func (VpcOutput) ElementType() reflect.Type

func (VpcOutput) EnterpriseProjectId

func (o VpcOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project id of the VPC. Changing this creates a new VPC resource.

func (VpcOutput) Name

func (o VpcOutput) Name() pulumi.StringOutput

Specifies the name of the VPC. The name must be unique for a tenant. The value is a string of no more than 64 characters and can contain digits, letters, underscores (_), and hyphens (-).

func (VpcOutput) Region

func (o VpcOutput) Region() pulumi.StringOutput

Specifies the region in which to create the VPC. If omitted, the provider-level region will be used. Changing this creates a new VPC resource.

func (VpcOutput) Routes deprecated

func (o VpcOutput) Routes() VpcRouteArrayOutput

Deprecated: use huaweicloud_vpc_route_table data source to get all routes

func (VpcOutput) SecondaryCidr

func (o VpcOutput) SecondaryCidr() pulumi.StringPtrOutput

Specifies the secondary CIDR block of the VPC.

func (VpcOutput) Status

func (o VpcOutput) Status() pulumi.StringOutput

The current status of the VPC. Possible values are as follows: CREATING, OK or ERROR.

func (VpcOutput) Tags

func (o VpcOutput) Tags() pulumi.StringMapOutput

Specifies the key/value pairs to associate with the VPC.

func (VpcOutput) ToVpcOutput

func (o VpcOutput) ToVpcOutput() VpcOutput

func (VpcOutput) ToVpcOutputWithContext

func (o VpcOutput) ToVpcOutputWithContext(ctx context.Context) VpcOutput

type VpcRoute

type VpcRoute struct {
	Destination *string `pulumi:"destination"`
	Nexthop     *string `pulumi:"nexthop"`
}

type VpcRouteArgs

type VpcRouteArgs struct {
	Destination pulumi.StringPtrInput `pulumi:"destination"`
	Nexthop     pulumi.StringPtrInput `pulumi:"nexthop"`
}

func (VpcRouteArgs) ElementType

func (VpcRouteArgs) ElementType() reflect.Type

func (VpcRouteArgs) ToVpcRouteOutput

func (i VpcRouteArgs) ToVpcRouteOutput() VpcRouteOutput

func (VpcRouteArgs) ToVpcRouteOutputWithContext

func (i VpcRouteArgs) ToVpcRouteOutputWithContext(ctx context.Context) VpcRouteOutput

type VpcRouteArray

type VpcRouteArray []VpcRouteInput

func (VpcRouteArray) ElementType

func (VpcRouteArray) ElementType() reflect.Type

func (VpcRouteArray) ToVpcRouteArrayOutput

func (i VpcRouteArray) ToVpcRouteArrayOutput() VpcRouteArrayOutput

func (VpcRouteArray) ToVpcRouteArrayOutputWithContext

func (i VpcRouteArray) ToVpcRouteArrayOutputWithContext(ctx context.Context) VpcRouteArrayOutput

type VpcRouteArrayInput

type VpcRouteArrayInput interface {
	pulumi.Input

	ToVpcRouteArrayOutput() VpcRouteArrayOutput
	ToVpcRouteArrayOutputWithContext(context.Context) VpcRouteArrayOutput
}

VpcRouteArrayInput is an input type that accepts VpcRouteArray and VpcRouteArrayOutput values. You can construct a concrete instance of `VpcRouteArrayInput` via:

VpcRouteArray{ VpcRouteArgs{...} }

type VpcRouteArrayOutput

type VpcRouteArrayOutput struct{ *pulumi.OutputState }

func (VpcRouteArrayOutput) ElementType

func (VpcRouteArrayOutput) ElementType() reflect.Type

func (VpcRouteArrayOutput) Index

func (VpcRouteArrayOutput) ToVpcRouteArrayOutput

func (o VpcRouteArrayOutput) ToVpcRouteArrayOutput() VpcRouteArrayOutput

func (VpcRouteArrayOutput) ToVpcRouteArrayOutputWithContext

func (o VpcRouteArrayOutput) ToVpcRouteArrayOutputWithContext(ctx context.Context) VpcRouteArrayOutput

type VpcRouteInput

type VpcRouteInput interface {
	pulumi.Input

	ToVpcRouteOutput() VpcRouteOutput
	ToVpcRouteOutputWithContext(context.Context) VpcRouteOutput
}

VpcRouteInput is an input type that accepts VpcRouteArgs and VpcRouteOutput values. You can construct a concrete instance of `VpcRouteInput` via:

VpcRouteArgs{...}

type VpcRouteOutput

type VpcRouteOutput struct{ *pulumi.OutputState }

func (VpcRouteOutput) Destination

func (o VpcRouteOutput) Destination() pulumi.StringPtrOutput

func (VpcRouteOutput) ElementType

func (VpcRouteOutput) ElementType() reflect.Type

func (VpcRouteOutput) Nexthop

func (VpcRouteOutput) ToVpcRouteOutput

func (o VpcRouteOutput) ToVpcRouteOutput() VpcRouteOutput

func (VpcRouteOutput) ToVpcRouteOutputWithContext

func (o VpcRouteOutput) ToVpcRouteOutputWithContext(ctx context.Context) VpcRouteOutput

type VpcState

type VpcState struct {
	// Specifies the range of available subnets in the VPC. The value ranges from 10.0.0.0/8 to
	// 10.255.255.0/24, 172.16.0.0/12 to 172.31.255.0/24, or 192.168.0.0/16 to 192.168.255.0/24.
	Cidr pulumi.StringPtrInput
	// Specifies supplementary information about the VPC. The value is a string of
	// no more than 255 characters and cannot contain angle brackets (< or >).
	Description pulumi.StringPtrInput
	// Specifies the enterprise project id of the VPC. Changing this
	// creates a new VPC resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the name of the VPC. The name must be unique for a tenant. The value is a string
	// of no more than 64 characters and can contain digits, letters, underscores (_), and hyphens (-).
	Name pulumi.StringPtrInput
	// Specifies the region in which to create the VPC. If omitted, the
	// provider-level region will be used. Changing this creates a new VPC resource.
	Region pulumi.StringPtrInput
	// Deprecated: use huaweicloud_vpc_route_table data source to get all routes
	Routes VpcRouteArrayInput
	// Specifies the secondary CIDR block of the VPC.
	SecondaryCidr pulumi.StringPtrInput
	// The current status of the VPC. Possible values are as follows: CREATING, OK or ERROR.
	Status pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the VPC.
	Tags pulumi.StringMapInput
}

func (VpcState) ElementType

func (VpcState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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