nat

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 DnatRule

type DnatRule struct {
	pulumi.CustomResourceState

	// The creation time of the DNAT rule.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// Specifies the description of the DNAT rule.\
	// The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies port used by ECSs or BMSs to provide services for
	// external systems.
	// Exactly one of `externalServicePort` and `externalServicePortRange` must be set.
	// Required if `internalServicePort` is set.
	ExternalServicePort pulumi.IntPtrOutput `pulumi:"externalServicePort"`
	// Specifies port range used by ECSs or BMSs to provide
	// services for external systems.
	// This parameter and `internalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length).
	// The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.
	// Required if `internalServicePortRange` is set.
	ExternalServicePortRange pulumi.StringPtrOutput `pulumi:"externalServicePortRange"`
	// The actual floating IP address.
	FloatingIpAddress pulumi.StringOutput `pulumi:"floatingIpAddress"`
	// Specifies the ID of the floating IP address.
	FloatingIpId pulumi.StringOutput `pulumi:"floatingIpId"`
	// Specifies port used by Floating IP provide services for external
	// systems.
	// Exactly one of `internalServicePort` and `internalServicePortRange` must be set.
	InternalServicePort pulumi.IntPtrOutput `pulumi:"internalServicePort"`
	// Specifies port range used by Floating IP provide services
	// for external systems.
	// This parameter and `externalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length).
	// The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.
	InternalServicePortRange pulumi.StringPtrOutput `pulumi:"internalServicePortRange"`
	// Specifies the ID of the NAT gateway to which the DNAT rule belongs.\
	// Changing this will create a new resource.
	NatGatewayId pulumi.StringOutput `pulumi:"natGatewayId"`
	// Specifies the port ID of network. This parameter is mandatory in VPC scenario.\
	// Use Vpc.Port to get the port if just know a fixed IP addresses
	// on the port.
	PortId pulumi.StringPtrOutput `pulumi:"portId"`
	// Specifies the private IP address of a user. This parameter is mandatory in
	// Direct Connect scenario.
	PrivateIp pulumi.StringPtrOutput `pulumi:"privateIp"`
	// Specifies the protocol type.\
	// The valid values are **tcp**, **udp**, and **any**.
	Protocol pulumi.StringOutput `pulumi:"protocol"`
	// Specifies the region where the DNAT rule is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// The current status of the DNAT rule.
	Status pulumi.StringOutput `pulumi:"status"`
}

Manages a DNAT rule resource of the **public** NAT within HuaweiCloud.

## Example Usage ### DNAT rule in Direct Connect scenario

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Nat"
"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, "")
		gatewayId := cfg.RequireObject("gatewayId")
		publicipId := cfg.RequireObject("publicipId")
		_, err := Nat.NewDnatRule(ctx, "test", &Nat.DnatRuleArgs{
			NatGatewayId:        pulumi.Any(gatewayId),
			FloatingIpId:        pulumi.Any(publicipId),
			PrivateIp:           pulumi.String("10.0.0.12"),
			Protocol:            pulumi.String("any"),
			InternalServicePort: pulumi.Int(0),
			ExternalServicePort: pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DNAT rules can be imported using their `id`, e.g. bash

```sh

$ pulumi import huaweicloud:Nat/dnatRule:DnatRule test f4f783a7-b908-4215-b018-724960e5df4a

```

func GetDnatRule

func GetDnatRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DnatRuleState, opts ...pulumi.ResourceOption) (*DnatRule, error)

GetDnatRule gets an existing DnatRule 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 NewDnatRule

func NewDnatRule(ctx *pulumi.Context,
	name string, args *DnatRuleArgs, opts ...pulumi.ResourceOption) (*DnatRule, error)

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

func (*DnatRule) ElementType

func (*DnatRule) ElementType() reflect.Type

func (*DnatRule) ToDnatRuleOutput

func (i *DnatRule) ToDnatRuleOutput() DnatRuleOutput

func (*DnatRule) ToDnatRuleOutputWithContext

func (i *DnatRule) ToDnatRuleOutputWithContext(ctx context.Context) DnatRuleOutput

type DnatRuleArgs

type DnatRuleArgs struct {
	// Specifies the description of the DNAT rule.\
	// The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.
	Description pulumi.StringPtrInput
	// Specifies port used by ECSs or BMSs to provide services for
	// external systems.
	// Exactly one of `externalServicePort` and `externalServicePortRange` must be set.
	// Required if `internalServicePort` is set.
	ExternalServicePort pulumi.IntPtrInput
	// Specifies port range used by ECSs or BMSs to provide
	// services for external systems.
	// This parameter and `internalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length).
	// The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.
	// Required if `internalServicePortRange` is set.
	ExternalServicePortRange pulumi.StringPtrInput
	// Specifies the ID of the floating IP address.
	FloatingIpId pulumi.StringInput
	// Specifies port used by Floating IP provide services for external
	// systems.
	// Exactly one of `internalServicePort` and `internalServicePortRange` must be set.
	InternalServicePort pulumi.IntPtrInput
	// Specifies port range used by Floating IP provide services
	// for external systems.
	// This parameter and `externalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length).
	// The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.
	InternalServicePortRange pulumi.StringPtrInput
	// Specifies the ID of the NAT gateway to which the DNAT rule belongs.\
	// Changing this will create a new resource.
	NatGatewayId pulumi.StringInput
	// Specifies the port ID of network. This parameter is mandatory in VPC scenario.\
	// Use Vpc.Port to get the port if just know a fixed IP addresses
	// on the port.
	PortId pulumi.StringPtrInput
	// Specifies the private IP address of a user. This parameter is mandatory in
	// Direct Connect scenario.
	PrivateIp pulumi.StringPtrInput
	// Specifies the protocol type.\
	// The valid values are **tcp**, **udp**, and **any**.
	Protocol pulumi.StringInput
	// Specifies the region where the DNAT rule is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
}

The set of arguments for constructing a DnatRule resource.

func (DnatRuleArgs) ElementType

func (DnatRuleArgs) ElementType() reflect.Type

type DnatRuleArray

type DnatRuleArray []DnatRuleInput

func (DnatRuleArray) ElementType

func (DnatRuleArray) ElementType() reflect.Type

func (DnatRuleArray) ToDnatRuleArrayOutput

func (i DnatRuleArray) ToDnatRuleArrayOutput() DnatRuleArrayOutput

func (DnatRuleArray) ToDnatRuleArrayOutputWithContext

func (i DnatRuleArray) ToDnatRuleArrayOutputWithContext(ctx context.Context) DnatRuleArrayOutput

type DnatRuleArrayInput

type DnatRuleArrayInput interface {
	pulumi.Input

	ToDnatRuleArrayOutput() DnatRuleArrayOutput
	ToDnatRuleArrayOutputWithContext(context.Context) DnatRuleArrayOutput
}

DnatRuleArrayInput is an input type that accepts DnatRuleArray and DnatRuleArrayOutput values. You can construct a concrete instance of `DnatRuleArrayInput` via:

DnatRuleArray{ DnatRuleArgs{...} }

type DnatRuleArrayOutput

type DnatRuleArrayOutput struct{ *pulumi.OutputState }

func (DnatRuleArrayOutput) ElementType

func (DnatRuleArrayOutput) ElementType() reflect.Type

func (DnatRuleArrayOutput) Index

func (DnatRuleArrayOutput) ToDnatRuleArrayOutput

func (o DnatRuleArrayOutput) ToDnatRuleArrayOutput() DnatRuleArrayOutput

func (DnatRuleArrayOutput) ToDnatRuleArrayOutputWithContext

func (o DnatRuleArrayOutput) ToDnatRuleArrayOutputWithContext(ctx context.Context) DnatRuleArrayOutput

type DnatRuleInput

type DnatRuleInput interface {
	pulumi.Input

	ToDnatRuleOutput() DnatRuleOutput
	ToDnatRuleOutputWithContext(ctx context.Context) DnatRuleOutput
}

type DnatRuleMap

type DnatRuleMap map[string]DnatRuleInput

func (DnatRuleMap) ElementType

func (DnatRuleMap) ElementType() reflect.Type

func (DnatRuleMap) ToDnatRuleMapOutput

func (i DnatRuleMap) ToDnatRuleMapOutput() DnatRuleMapOutput

func (DnatRuleMap) ToDnatRuleMapOutputWithContext

func (i DnatRuleMap) ToDnatRuleMapOutputWithContext(ctx context.Context) DnatRuleMapOutput

type DnatRuleMapInput

type DnatRuleMapInput interface {
	pulumi.Input

	ToDnatRuleMapOutput() DnatRuleMapOutput
	ToDnatRuleMapOutputWithContext(context.Context) DnatRuleMapOutput
}

DnatRuleMapInput is an input type that accepts DnatRuleMap and DnatRuleMapOutput values. You can construct a concrete instance of `DnatRuleMapInput` via:

DnatRuleMap{ "key": DnatRuleArgs{...} }

type DnatRuleMapOutput

type DnatRuleMapOutput struct{ *pulumi.OutputState }

func (DnatRuleMapOutput) ElementType

func (DnatRuleMapOutput) ElementType() reflect.Type

func (DnatRuleMapOutput) MapIndex

func (DnatRuleMapOutput) ToDnatRuleMapOutput

func (o DnatRuleMapOutput) ToDnatRuleMapOutput() DnatRuleMapOutput

func (DnatRuleMapOutput) ToDnatRuleMapOutputWithContext

func (o DnatRuleMapOutput) ToDnatRuleMapOutputWithContext(ctx context.Context) DnatRuleMapOutput

type DnatRuleOutput

type DnatRuleOutput struct{ *pulumi.OutputState }

func (DnatRuleOutput) CreatedAt

func (o DnatRuleOutput) CreatedAt() pulumi.StringOutput

The creation time of the DNAT rule.

func (DnatRuleOutput) Description

func (o DnatRuleOutput) Description() pulumi.StringPtrOutput

Specifies the description of the DNAT rule.\ The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.

func (DnatRuleOutput) ElementType

func (DnatRuleOutput) ElementType() reflect.Type

func (DnatRuleOutput) ExternalServicePort

func (o DnatRuleOutput) ExternalServicePort() pulumi.IntPtrOutput

Specifies port used by ECSs or BMSs to provide services for external systems. Exactly one of `externalServicePort` and `externalServicePortRange` must be set. Required if `internalServicePort` is set.

func (DnatRuleOutput) ExternalServicePortRange added in v0.0.8

func (o DnatRuleOutput) ExternalServicePortRange() pulumi.StringPtrOutput

Specifies port range used by ECSs or BMSs to provide services for external systems. This parameter and `internalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length). The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character. Required if `internalServicePortRange` is set.

func (DnatRuleOutput) FloatingIpAddress

func (o DnatRuleOutput) FloatingIpAddress() pulumi.StringOutput

The actual floating IP address.

func (DnatRuleOutput) FloatingIpId

func (o DnatRuleOutput) FloatingIpId() pulumi.StringOutput

Specifies the ID of the floating IP address.

func (DnatRuleOutput) InternalServicePort

func (o DnatRuleOutput) InternalServicePort() pulumi.IntPtrOutput

Specifies port used by Floating IP provide services for external systems. Exactly one of `internalServicePort` and `internalServicePortRange` must be set.

func (DnatRuleOutput) InternalServicePortRange added in v0.0.8

func (o DnatRuleOutput) InternalServicePortRange() pulumi.StringPtrOutput

Specifies port range used by Floating IP provide services for external systems. This parameter and `externalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length). The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.

func (DnatRuleOutput) NatGatewayId

func (o DnatRuleOutput) NatGatewayId() pulumi.StringOutput

Specifies the ID of the NAT gateway to which the DNAT rule belongs.\ Changing this will create a new resource.

func (DnatRuleOutput) PortId

Specifies the port ID of network. This parameter is mandatory in VPC scenario.\ Use Vpc.Port to get the port if just know a fixed IP addresses on the port.

func (DnatRuleOutput) PrivateIp

func (o DnatRuleOutput) PrivateIp() pulumi.StringPtrOutput

Specifies the private IP address of a user. This parameter is mandatory in Direct Connect scenario.

func (DnatRuleOutput) Protocol

func (o DnatRuleOutput) Protocol() pulumi.StringOutput

Specifies the protocol type.\ The valid values are **tcp**, **udp**, and **any**.

func (DnatRuleOutput) Region

func (o DnatRuleOutput) Region() pulumi.StringOutput

Specifies the region where the DNAT rule is located.\ If omitted, the provider-level region will be used. Changing this will create a new resource.

func (DnatRuleOutput) Status

func (o DnatRuleOutput) Status() pulumi.StringOutput

The current status of the DNAT rule.

func (DnatRuleOutput) ToDnatRuleOutput

func (o DnatRuleOutput) ToDnatRuleOutput() DnatRuleOutput

func (DnatRuleOutput) ToDnatRuleOutputWithContext

func (o DnatRuleOutput) ToDnatRuleOutputWithContext(ctx context.Context) DnatRuleOutput

type DnatRuleState

type DnatRuleState struct {
	// The creation time of the DNAT rule.
	CreatedAt pulumi.StringPtrInput
	// Specifies the description of the DNAT rule.\
	// The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.
	Description pulumi.StringPtrInput
	// Specifies port used by ECSs or BMSs to provide services for
	// external systems.
	// Exactly one of `externalServicePort` and `externalServicePortRange` must be set.
	// Required if `internalServicePort` is set.
	ExternalServicePort pulumi.IntPtrInput
	// Specifies port range used by ECSs or BMSs to provide
	// services for external systems.
	// This parameter and `internalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length).
	// The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.
	// Required if `internalServicePortRange` is set.
	ExternalServicePortRange pulumi.StringPtrInput
	// The actual floating IP address.
	FloatingIpAddress pulumi.StringPtrInput
	// Specifies the ID of the floating IP address.
	FloatingIpId pulumi.StringPtrInput
	// Specifies port used by Floating IP provide services for external
	// systems.
	// Exactly one of `internalServicePort` and `internalServicePortRange` must be set.
	InternalServicePort pulumi.IntPtrInput
	// Specifies port range used by Floating IP provide services
	// for external systems.
	// This parameter and `externalServicePortRange` are mapped **1:1** in sequence(, ranges must have the same length).
	// The valid value for range is **1~65535** and the port ranges can only be concatenated with the `-` character.
	InternalServicePortRange pulumi.StringPtrInput
	// Specifies the ID of the NAT gateway to which the DNAT rule belongs.\
	// Changing this will create a new resource.
	NatGatewayId pulumi.StringPtrInput
	// Specifies the port ID of network. This parameter is mandatory in VPC scenario.\
	// Use Vpc.Port to get the port if just know a fixed IP addresses
	// on the port.
	PortId pulumi.StringPtrInput
	// Specifies the private IP address of a user. This parameter is mandatory in
	// Direct Connect scenario.
	PrivateIp pulumi.StringPtrInput
	// Specifies the protocol type.\
	// The valid values are **tcp**, **udp**, and **any**.
	Protocol pulumi.StringPtrInput
	// Specifies the region where the DNAT rule is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// The current status of the DNAT rule.
	Status pulumi.StringPtrInput
}

func (DnatRuleState) ElementType

func (DnatRuleState) ElementType() reflect.Type

type Gateway

type Gateway struct {
	pulumi.CustomResourceState

	// Specifies the description of the NAT gateway, which contain maximum of `512`
	// characters, and angle brackets (<) and (>) are not allowed.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the enterprise project ID of the NAT gateway.\
	// Changing this will create a new resource.
	EnterpriseProjectId pulumi.StringOutput `pulumi:"enterpriseProjectId"`
	// Specifies the NAT gateway name.\
	// The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the region where the NAT gateway is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the specification of the NAT gateway. The valid values are as follows:
	// + **1**: Small type, which supports up to `10,000` SNAT connections.
	// + **2**: Medium type, which supports up to `50,000` SNAT connections.
	// + **3**: Large type, which supports up to `200,000` SNAT connections.
	// + **4**: Extra-large type, which supports up to `1,000,000` SNAT connections.
	Spec pulumi.StringOutput `pulumi:"spec"`
	// The current status of the NAT gateway.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the subnet ID of the downstream interface (the next hop of the
	// DVR) of the NAT gateway.
	// Changing this will create a new resource.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
	// Specifies the key/value pairs to associate with the NAT geteway.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the ID of the VPC to which the NAT gateway belongs.\
	// Changing this will create a new resource.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
}

Manages a gateway resource of the **public** NAT within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Nat"
"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, "")
		gatewayName := cfg.RequireObject("gatewayName")
		vpcId := cfg.RequireObject("vpcId")
		networkId := cfg.RequireObject("networkId")
		_, err := Nat.NewGateway(ctx, "test", &Nat.GatewayArgs{
			Description: pulumi.String("test for terraform"),
			Spec:        pulumi.String("3"),
			VpcId:       pulumi.Any(vpcId),
			SubnetId:    pulumi.Any(networkId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

NAT gateways can be imported using their `id`, e.g. bash

```sh

$ pulumi import huaweicloud:Nat/gateway:Gateway test d126fb87-43ce-4867-a2ff-cf34af3765d9

```

func GetGateway

func GetGateway(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GatewayState, opts ...pulumi.ResourceOption) (*Gateway, error)

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

func NewGateway

func NewGateway(ctx *pulumi.Context,
	name string, args *GatewayArgs, opts ...pulumi.ResourceOption) (*Gateway, error)

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

func (*Gateway) ElementType

func (*Gateway) ElementType() reflect.Type

func (*Gateway) ToGatewayOutput

func (i *Gateway) ToGatewayOutput() GatewayOutput

func (*Gateway) ToGatewayOutputWithContext

func (i *Gateway) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

type GatewayArgs

type GatewayArgs struct {
	// Specifies the description of the NAT gateway, which contain maximum of `512`
	// characters, and angle brackets (<) and (>) are not allowed.
	Description pulumi.StringPtrInput
	// Specifies the enterprise project ID of the NAT gateway.\
	// Changing this will create a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the NAT gateway name.\
	// The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed.
	Name pulumi.StringPtrInput
	// Specifies the region where the NAT gateway is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the specification of the NAT gateway. The valid values are as follows:
	// + **1**: Small type, which supports up to `10,000` SNAT connections.
	// + **2**: Medium type, which supports up to `50,000` SNAT connections.
	// + **3**: Large type, which supports up to `200,000` SNAT connections.
	// + **4**: Extra-large type, which supports up to `1,000,000` SNAT connections.
	Spec pulumi.StringInput
	// Specifies the subnet ID of the downstream interface (the next hop of the
	// DVR) of the NAT gateway.
	// Changing this will create a new resource.
	SubnetId pulumi.StringInput
	// Specifies the key/value pairs to associate with the NAT geteway.
	Tags pulumi.StringMapInput
	// Specifies the ID of the VPC to which the NAT gateway belongs.\
	// Changing this will create a new resource.
	VpcId pulumi.StringInput
}

The set of arguments for constructing a Gateway resource.

func (GatewayArgs) ElementType

func (GatewayArgs) ElementType() reflect.Type

type GatewayArray

type GatewayArray []GatewayInput

func (GatewayArray) ElementType

func (GatewayArray) ElementType() reflect.Type

func (GatewayArray) ToGatewayArrayOutput

func (i GatewayArray) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArray) ToGatewayArrayOutputWithContext

func (i GatewayArray) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayArrayInput

type GatewayArrayInput interface {
	pulumi.Input

	ToGatewayArrayOutput() GatewayArrayOutput
	ToGatewayArrayOutputWithContext(context.Context) GatewayArrayOutput
}

GatewayArrayInput is an input type that accepts GatewayArray and GatewayArrayOutput values. You can construct a concrete instance of `GatewayArrayInput` via:

GatewayArray{ GatewayArgs{...} }

type GatewayArrayOutput

type GatewayArrayOutput struct{ *pulumi.OutputState }

func (GatewayArrayOutput) ElementType

func (GatewayArrayOutput) ElementType() reflect.Type

func (GatewayArrayOutput) Index

func (GatewayArrayOutput) ToGatewayArrayOutput

func (o GatewayArrayOutput) ToGatewayArrayOutput() GatewayArrayOutput

func (GatewayArrayOutput) ToGatewayArrayOutputWithContext

func (o GatewayArrayOutput) ToGatewayArrayOutputWithContext(ctx context.Context) GatewayArrayOutput

type GatewayInput

type GatewayInput interface {
	pulumi.Input

	ToGatewayOutput() GatewayOutput
	ToGatewayOutputWithContext(ctx context.Context) GatewayOutput
}

type GatewayMap

type GatewayMap map[string]GatewayInput

func (GatewayMap) ElementType

func (GatewayMap) ElementType() reflect.Type

func (GatewayMap) ToGatewayMapOutput

func (i GatewayMap) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMap) ToGatewayMapOutputWithContext

func (i GatewayMap) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayMapInput

type GatewayMapInput interface {
	pulumi.Input

	ToGatewayMapOutput() GatewayMapOutput
	ToGatewayMapOutputWithContext(context.Context) GatewayMapOutput
}

GatewayMapInput is an input type that accepts GatewayMap and GatewayMapOutput values. You can construct a concrete instance of `GatewayMapInput` via:

GatewayMap{ "key": GatewayArgs{...} }

type GatewayMapOutput

type GatewayMapOutput struct{ *pulumi.OutputState }

func (GatewayMapOutput) ElementType

func (GatewayMapOutput) ElementType() reflect.Type

func (GatewayMapOutput) MapIndex

func (GatewayMapOutput) ToGatewayMapOutput

func (o GatewayMapOutput) ToGatewayMapOutput() GatewayMapOutput

func (GatewayMapOutput) ToGatewayMapOutputWithContext

func (o GatewayMapOutput) ToGatewayMapOutputWithContext(ctx context.Context) GatewayMapOutput

type GatewayOutput

type GatewayOutput struct{ *pulumi.OutputState }

func (GatewayOutput) Description

func (o GatewayOutput) Description() pulumi.StringPtrOutput

Specifies the description of the NAT gateway, which contain maximum of `512` characters, and angle brackets (<) and (>) are not allowed.

func (GatewayOutput) ElementType

func (GatewayOutput) ElementType() reflect.Type

func (GatewayOutput) EnterpriseProjectId

func (o GatewayOutput) EnterpriseProjectId() pulumi.StringOutput

Specifies the enterprise project ID of the NAT gateway.\ Changing this will create a new resource.

func (GatewayOutput) Name

Specifies the NAT gateway name.\ The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed.

func (GatewayOutput) Region

func (o GatewayOutput) Region() pulumi.StringOutput

Specifies the region where the NAT gateway is located.\ If omitted, the provider-level region will be used. Changing this will create a new resource.

func (GatewayOutput) Spec

Specifies the specification of the NAT gateway. The valid values are as follows: + **1**: Small type, which supports up to `10,000` SNAT connections. + **2**: Medium type, which supports up to `50,000` SNAT connections. + **3**: Large type, which supports up to `200,000` SNAT connections. + **4**: Extra-large type, which supports up to `1,000,000` SNAT connections.

func (GatewayOutput) Status

func (o GatewayOutput) Status() pulumi.StringOutput

The current status of the NAT gateway.

func (GatewayOutput) SubnetId

func (o GatewayOutput) SubnetId() pulumi.StringOutput

Specifies the subnet ID of the downstream interface (the next hop of the DVR) of the NAT gateway. Changing this will create a new resource.

func (GatewayOutput) Tags added in v0.0.8

Specifies the key/value pairs to associate with the NAT geteway.

func (GatewayOutput) ToGatewayOutput

func (o GatewayOutput) ToGatewayOutput() GatewayOutput

func (GatewayOutput) ToGatewayOutputWithContext

func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput

func (GatewayOutput) VpcId

func (o GatewayOutput) VpcId() pulumi.StringOutput

Specifies the ID of the VPC to which the NAT gateway belongs.\ Changing this will create a new resource.

type GatewayState

type GatewayState struct {
	// Specifies the description of the NAT gateway, which contain maximum of `512`
	// characters, and angle brackets (<) and (>) are not allowed.
	Description pulumi.StringPtrInput
	// Specifies the enterprise project ID of the NAT gateway.\
	// Changing this will create a new resource.
	EnterpriseProjectId pulumi.StringPtrInput
	// Specifies the NAT gateway name.\
	// The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed.
	Name pulumi.StringPtrInput
	// Specifies the region where the NAT gateway is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the specification of the NAT gateway. The valid values are as follows:
	// + **1**: Small type, which supports up to `10,000` SNAT connections.
	// + **2**: Medium type, which supports up to `50,000` SNAT connections.
	// + **3**: Large type, which supports up to `200,000` SNAT connections.
	// + **4**: Extra-large type, which supports up to `1,000,000` SNAT connections.
	Spec pulumi.StringPtrInput
	// The current status of the NAT gateway.
	Status pulumi.StringPtrInput
	// Specifies the subnet ID of the downstream interface (the next hop of the
	// DVR) of the NAT gateway.
	// Changing this will create a new resource.
	SubnetId pulumi.StringPtrInput
	// Specifies the key/value pairs to associate with the NAT geteway.
	Tags pulumi.StringMapInput
	// Specifies the ID of the VPC to which the NAT gateway belongs.\
	// Changing this will create a new resource.
	VpcId pulumi.StringPtrInput
}

func (GatewayState) ElementType

func (GatewayState) ElementType() reflect.Type

type LookupGatewayArgs

type LookupGatewayArgs struct {
	// Specifies the description of the NAT gateway. The value contains 0 to 255
	// characters, and angle brackets (<)
	// and (>) are not allowed.
	Description *string `pulumi:"description"`
	// Specifies the enterprise project ID of the NAT gateway.
	EnterpriseProjectId *string `pulumi:"enterpriseProjectId"`
	// Specifies the ID of the NAT gateway.
	Id *string `pulumi:"id"`
	// Deprecated: use subnet_id instead
	InternalNetworkId *string `pulumi:"internalNetworkId"`
	// Specifies the public NAT gateway name.\
	// The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed.
	Name *string `pulumi:"name"`
	// Specifies the region in which to create the NAT gateway resource. If omitted, the
	// provider-level region will be used.
	Region *string `pulumi:"region"`
	// Deprecated: use vpc_id instead
	RouterId *string `pulumi:"routerId"`
	// The public NAT gateway type. The valid values are as follows:
	// + **1**: Small type, which supports up to `10,000` SNAT connections.
	// + **2**: Medium type, which supports up to `50,000` SNAT connections.
	// + **3**: Large type, which supports up to `200,000` SNAT connections.
	// + **4**: Extra-large type, which supports up to `1,000,000` SNAT connections.
	Spec *string `pulumi:"spec"`
	// Specifies the status of the NAT gateway.
	Status *string `pulumi:"status"`
	// Specifies the subnet ID of the downstream interface (the next hop of the DVR) of the
	// public NAT gateway.
	SubnetId *string `pulumi:"subnetId"`
	// Specifies the ID of the VPC this public NAT gateway belongs to.
	VpcId *string `pulumi:"vpcId"`
}

A collection of arguments for invoking getGateway.

type LookupGatewayOutputArgs

type LookupGatewayOutputArgs struct {
	// Specifies the description of the NAT gateway. The value contains 0 to 255
	// characters, and angle brackets (<)
	// and (>) are not allowed.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Specifies the enterprise project ID of the NAT gateway.
	EnterpriseProjectId pulumi.StringPtrInput `pulumi:"enterpriseProjectId"`
	// Specifies the ID of the NAT gateway.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Deprecated: use subnet_id instead
	InternalNetworkId pulumi.StringPtrInput `pulumi:"internalNetworkId"`
	// Specifies the public NAT gateway name.\
	// The valid length is limited from `1` to `64`, only letters, digits, hyphens (-) and underscores (_) are allowed.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Specifies the region in which to create the NAT gateway resource. If omitted, the
	// provider-level region will be used.
	Region pulumi.StringPtrInput `pulumi:"region"`
	// Deprecated: use vpc_id instead
	RouterId pulumi.StringPtrInput `pulumi:"routerId"`
	// The public NAT gateway type. The valid values are as follows:
	// + **1**: Small type, which supports up to `10,000` SNAT connections.
	// + **2**: Medium type, which supports up to `50,000` SNAT connections.
	// + **3**: Large type, which supports up to `200,000` SNAT connections.
	// + **4**: Extra-large type, which supports up to `1,000,000` SNAT connections.
	Spec pulumi.StringPtrInput `pulumi:"spec"`
	// Specifies the status of the NAT gateway.
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Specifies the subnet ID of the downstream interface (the next hop of the DVR) of the
	// public NAT gateway.
	SubnetId pulumi.StringPtrInput `pulumi:"subnetId"`
	// Specifies the ID of the VPC this public NAT gateway belongs to.
	VpcId pulumi.StringPtrInput `pulumi:"vpcId"`
}

A collection of arguments for invoking getGateway.

func (LookupGatewayOutputArgs) ElementType

func (LookupGatewayOutputArgs) ElementType() reflect.Type

type LookupGatewayResult

type LookupGatewayResult struct {
	Description         string `pulumi:"description"`
	EnterpriseProjectId string `pulumi:"enterpriseProjectId"`
	Id                  string `pulumi:"id"`
	// Deprecated: use subnet_id instead
	InternalNetworkId *string `pulumi:"internalNetworkId"`
	Name              string  `pulumi:"name"`
	Region            string  `pulumi:"region"`
	// Deprecated: use vpc_id instead
	RouterId *string `pulumi:"routerId"`
	Spec     string  `pulumi:"spec"`
	Status   string  `pulumi:"status"`
	SubnetId string  `pulumi:"subnetId"`
	VpcId    string  `pulumi:"vpcId"`
}

A collection of values returned by getGateway.

func LookupGateway

func LookupGateway(ctx *pulumi.Context, args *LookupGatewayArgs, opts ...pulumi.InvokeOption) (*LookupGatewayResult, error)

Use this data source to get an available public NAT gateway within HuaweiCloud.

## Example Usage

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Nat"
"github.com/pulumi/pulumi-huaweicloud/sdk/go/huaweicloud/Nat"
"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, "")
		gatewayName := cfg.RequireObject("gatewayName")
		_, err := Nat.GetGateway(ctx, &nat.GetGatewayArgs{
			Name: pulumi.StringRef(gatewayName),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupGatewayResultOutput

type LookupGatewayResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGateway.

func (LookupGatewayResultOutput) Description

func (LookupGatewayResultOutput) ElementType

func (LookupGatewayResultOutput) ElementType() reflect.Type

func (LookupGatewayResultOutput) EnterpriseProjectId

func (o LookupGatewayResultOutput) EnterpriseProjectId() pulumi.StringOutput

func (LookupGatewayResultOutput) Id

func (LookupGatewayResultOutput) InternalNetworkId deprecated

func (o LookupGatewayResultOutput) InternalNetworkId() pulumi.StringPtrOutput

Deprecated: use subnet_id instead

func (LookupGatewayResultOutput) Name

func (LookupGatewayResultOutput) Region

func (LookupGatewayResultOutput) RouterId deprecated

Deprecated: use vpc_id instead

func (LookupGatewayResultOutput) Spec

func (LookupGatewayResultOutput) Status

func (LookupGatewayResultOutput) SubnetId

func (LookupGatewayResultOutput) ToLookupGatewayResultOutput

func (o LookupGatewayResultOutput) ToLookupGatewayResultOutput() LookupGatewayResultOutput

func (LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext

func (o LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext(ctx context.Context) LookupGatewayResultOutput

func (LookupGatewayResultOutput) VpcId

type SnatRule

type SnatRule struct {
	pulumi.CustomResourceState

	// Specifies the CIDR block connected by SNAT rule (DC side).\
	// This parameter and `subnetId` are alternative. Changing this will create a new resource.
	Cidr pulumi.StringPtrOutput `pulumi:"cidr"`
	// Specifies the description of the SNAT rule.
	// The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The actual floating IP address.
	FloatingIpAddress pulumi.StringOutput `pulumi:"floatingIpAddress"`
	// Specifies the IDs of floating IPs connected by SNAT rule.\
	// Multiple floating IPs are separated using commas (,). The number of floating IP IDs cannot exceed `20`.
	FloatingIpId pulumi.StringOutput `pulumi:"floatingIpId"`
	// Specifies the ID of the gateway to which the SNAT rule belongs.\
	// Changing this will create a new resource.
	NatGatewayId pulumi.StringOutput `pulumi:"natGatewayId"`
	// Deprecated: schema: Deprecated; Use 'subnet_id' instead.
	NetworkId pulumi.StringPtrOutput `pulumi:"networkId"`
	// Specifies the region where the SNAT rule is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringOutput `pulumi:"region"`
	// Specifies the resource scenario.\
	// The valid values are **0** (VPC scenario) and **1** (Direct Connect scenario), and the default value is `0`.
	// Only `cidr` can be specified over a Direct Connect connection. Changing this will create a new resource.
	SourceType pulumi.IntPtrOutput `pulumi:"sourceType"`
	// The status of the SNAT rule.
	Status pulumi.StringOutput `pulumi:"status"`
	// Specifies the network IDs of subnet connected by SNAT rule (VPC side).\
	// This parameter and `cidr` are alternative. Changing this will create a new resource.
	SubnetId pulumi.StringOutput `pulumi:"subnetId"`
}

Manages an SNAT rule resource of the **public** NAT within HuaweiCloud.

## Example Usage ### SNAT rule in VPC scenario

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Nat"
"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, "")
		gatewayId := cfg.RequireObject("gatewayId")
		publicipId := cfg.RequireObject("publicipId")
		subentId := cfg.RequireObject("subentId")
		_, err := Nat.NewSnatRule(ctx, "test", &Nat.SnatRuleArgs{
			NatGatewayId: pulumi.Any(gatewayId),
			FloatingIpId: pulumi.Any(publicipId),
			SubnetId:     pulumi.Any(subentId),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### SNAT rule in DC (Direct Connect) scenario

```go package main

import (

"github.com/huaweicloud/pulumi-huaweicloud/sdk/go/huaweicloud/Nat"
"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, "")
		gatewayId := cfg.RequireObject("gatewayId")
		publicipId := cfg.RequireObject("publicipId")
		_, err := Nat.NewSnatRule(ctx, "test", &Nat.SnatRuleArgs{
			NatGatewayId: pulumi.Any(gatewayId),
			FloatingIpId: pulumi.Any(publicipId),
			SourceType:   pulumi.Int(1),
			Cidr:         pulumi.String("192.168.10.0/24"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

SNAT rules can be imported using their `id`, e.g. bash

```sh

$ pulumi import huaweicloud:Nat/snatRule:SnatRule test 9e0713cb-0a2f-484e-8c7d-daecbb61dbe4

```

func GetSnatRule

func GetSnatRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SnatRuleState, opts ...pulumi.ResourceOption) (*SnatRule, error)

GetSnatRule gets an existing SnatRule 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 NewSnatRule

func NewSnatRule(ctx *pulumi.Context,
	name string, args *SnatRuleArgs, opts ...pulumi.ResourceOption) (*SnatRule, error)

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

func (*SnatRule) ElementType

func (*SnatRule) ElementType() reflect.Type

func (*SnatRule) ToSnatRuleOutput

func (i *SnatRule) ToSnatRuleOutput() SnatRuleOutput

func (*SnatRule) ToSnatRuleOutputWithContext

func (i *SnatRule) ToSnatRuleOutputWithContext(ctx context.Context) SnatRuleOutput

type SnatRuleArgs

type SnatRuleArgs struct {
	// Specifies the CIDR block connected by SNAT rule (DC side).\
	// This parameter and `subnetId` are alternative. Changing this will create a new resource.
	Cidr pulumi.StringPtrInput
	// Specifies the description of the SNAT rule.
	// The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.
	Description pulumi.StringPtrInput
	// Specifies the IDs of floating IPs connected by SNAT rule.\
	// Multiple floating IPs are separated using commas (,). The number of floating IP IDs cannot exceed `20`.
	FloatingIpId pulumi.StringInput
	// Specifies the ID of the gateway to which the SNAT rule belongs.\
	// Changing this will create a new resource.
	NatGatewayId pulumi.StringInput
	// Deprecated: schema: Deprecated; Use 'subnet_id' instead.
	NetworkId pulumi.StringPtrInput
	// Specifies the region where the SNAT rule is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the resource scenario.\
	// The valid values are **0** (VPC scenario) and **1** (Direct Connect scenario), and the default value is `0`.
	// Only `cidr` can be specified over a Direct Connect connection. Changing this will create a new resource.
	SourceType pulumi.IntPtrInput
	// Specifies the network IDs of subnet connected by SNAT rule (VPC side).\
	// This parameter and `cidr` are alternative. Changing this will create a new resource.
	SubnetId pulumi.StringPtrInput
}

The set of arguments for constructing a SnatRule resource.

func (SnatRuleArgs) ElementType

func (SnatRuleArgs) ElementType() reflect.Type

type SnatRuleArray

type SnatRuleArray []SnatRuleInput

func (SnatRuleArray) ElementType

func (SnatRuleArray) ElementType() reflect.Type

func (SnatRuleArray) ToSnatRuleArrayOutput

func (i SnatRuleArray) ToSnatRuleArrayOutput() SnatRuleArrayOutput

func (SnatRuleArray) ToSnatRuleArrayOutputWithContext

func (i SnatRuleArray) ToSnatRuleArrayOutputWithContext(ctx context.Context) SnatRuleArrayOutput

type SnatRuleArrayInput

type SnatRuleArrayInput interface {
	pulumi.Input

	ToSnatRuleArrayOutput() SnatRuleArrayOutput
	ToSnatRuleArrayOutputWithContext(context.Context) SnatRuleArrayOutput
}

SnatRuleArrayInput is an input type that accepts SnatRuleArray and SnatRuleArrayOutput values. You can construct a concrete instance of `SnatRuleArrayInput` via:

SnatRuleArray{ SnatRuleArgs{...} }

type SnatRuleArrayOutput

type SnatRuleArrayOutput struct{ *pulumi.OutputState }

func (SnatRuleArrayOutput) ElementType

func (SnatRuleArrayOutput) ElementType() reflect.Type

func (SnatRuleArrayOutput) Index

func (SnatRuleArrayOutput) ToSnatRuleArrayOutput

func (o SnatRuleArrayOutput) ToSnatRuleArrayOutput() SnatRuleArrayOutput

func (SnatRuleArrayOutput) ToSnatRuleArrayOutputWithContext

func (o SnatRuleArrayOutput) ToSnatRuleArrayOutputWithContext(ctx context.Context) SnatRuleArrayOutput

type SnatRuleInput

type SnatRuleInput interface {
	pulumi.Input

	ToSnatRuleOutput() SnatRuleOutput
	ToSnatRuleOutputWithContext(ctx context.Context) SnatRuleOutput
}

type SnatRuleMap

type SnatRuleMap map[string]SnatRuleInput

func (SnatRuleMap) ElementType

func (SnatRuleMap) ElementType() reflect.Type

func (SnatRuleMap) ToSnatRuleMapOutput

func (i SnatRuleMap) ToSnatRuleMapOutput() SnatRuleMapOutput

func (SnatRuleMap) ToSnatRuleMapOutputWithContext

func (i SnatRuleMap) ToSnatRuleMapOutputWithContext(ctx context.Context) SnatRuleMapOutput

type SnatRuleMapInput

type SnatRuleMapInput interface {
	pulumi.Input

	ToSnatRuleMapOutput() SnatRuleMapOutput
	ToSnatRuleMapOutputWithContext(context.Context) SnatRuleMapOutput
}

SnatRuleMapInput is an input type that accepts SnatRuleMap and SnatRuleMapOutput values. You can construct a concrete instance of `SnatRuleMapInput` via:

SnatRuleMap{ "key": SnatRuleArgs{...} }

type SnatRuleMapOutput

type SnatRuleMapOutput struct{ *pulumi.OutputState }

func (SnatRuleMapOutput) ElementType

func (SnatRuleMapOutput) ElementType() reflect.Type

func (SnatRuleMapOutput) MapIndex

func (SnatRuleMapOutput) ToSnatRuleMapOutput

func (o SnatRuleMapOutput) ToSnatRuleMapOutput() SnatRuleMapOutput

func (SnatRuleMapOutput) ToSnatRuleMapOutputWithContext

func (o SnatRuleMapOutput) ToSnatRuleMapOutputWithContext(ctx context.Context) SnatRuleMapOutput

type SnatRuleOutput

type SnatRuleOutput struct{ *pulumi.OutputState }

func (SnatRuleOutput) Cidr

Specifies the CIDR block connected by SNAT rule (DC side).\ This parameter and `subnetId` are alternative. Changing this will create a new resource.

func (SnatRuleOutput) Description

func (o SnatRuleOutput) Description() pulumi.StringPtrOutput

Specifies the description of the SNAT rule. The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.

func (SnatRuleOutput) ElementType

func (SnatRuleOutput) ElementType() reflect.Type

func (SnatRuleOutput) FloatingIpAddress

func (o SnatRuleOutput) FloatingIpAddress() pulumi.StringOutput

The actual floating IP address.

func (SnatRuleOutput) FloatingIpId

func (o SnatRuleOutput) FloatingIpId() pulumi.StringOutput

Specifies the IDs of floating IPs connected by SNAT rule.\ Multiple floating IPs are separated using commas (,). The number of floating IP IDs cannot exceed `20`.

func (SnatRuleOutput) NatGatewayId

func (o SnatRuleOutput) NatGatewayId() pulumi.StringOutput

Specifies the ID of the gateway to which the SNAT rule belongs.\ Changing this will create a new resource.

func (SnatRuleOutput) NetworkId deprecated

func (o SnatRuleOutput) NetworkId() pulumi.StringPtrOutput

Deprecated: schema: Deprecated; Use 'subnet_id' instead.

func (SnatRuleOutput) Region

func (o SnatRuleOutput) Region() pulumi.StringOutput

Specifies the region where the SNAT rule is located.\ If omitted, the provider-level region will be used. Changing this will create a new resource.

func (SnatRuleOutput) SourceType

func (o SnatRuleOutput) SourceType() pulumi.IntPtrOutput

Specifies the resource scenario.\ The valid values are **0** (VPC scenario) and **1** (Direct Connect scenario), and the default value is `0`. Only `cidr` can be specified over a Direct Connect connection. Changing this will create a new resource.

func (SnatRuleOutput) Status

func (o SnatRuleOutput) Status() pulumi.StringOutput

The status of the SNAT rule.

func (SnatRuleOutput) SubnetId

func (o SnatRuleOutput) SubnetId() pulumi.StringOutput

Specifies the network IDs of subnet connected by SNAT rule (VPC side).\ This parameter and `cidr` are alternative. Changing this will create a new resource.

func (SnatRuleOutput) ToSnatRuleOutput

func (o SnatRuleOutput) ToSnatRuleOutput() SnatRuleOutput

func (SnatRuleOutput) ToSnatRuleOutputWithContext

func (o SnatRuleOutput) ToSnatRuleOutputWithContext(ctx context.Context) SnatRuleOutput

type SnatRuleState

type SnatRuleState struct {
	// Specifies the CIDR block connected by SNAT rule (DC side).\
	// This parameter and `subnetId` are alternative. Changing this will create a new resource.
	Cidr pulumi.StringPtrInput
	// Specifies the description of the SNAT rule.
	// The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed.
	Description pulumi.StringPtrInput
	// The actual floating IP address.
	FloatingIpAddress pulumi.StringPtrInput
	// Specifies the IDs of floating IPs connected by SNAT rule.\
	// Multiple floating IPs are separated using commas (,). The number of floating IP IDs cannot exceed `20`.
	FloatingIpId pulumi.StringPtrInput
	// Specifies the ID of the gateway to which the SNAT rule belongs.\
	// Changing this will create a new resource.
	NatGatewayId pulumi.StringPtrInput
	// Deprecated: schema: Deprecated; Use 'subnet_id' instead.
	NetworkId pulumi.StringPtrInput
	// Specifies the region where the SNAT rule is located.\
	// If omitted, the provider-level region will be used. Changing this will create a new resource.
	Region pulumi.StringPtrInput
	// Specifies the resource scenario.\
	// The valid values are **0** (VPC scenario) and **1** (Direct Connect scenario), and the default value is `0`.
	// Only `cidr` can be specified over a Direct Connect connection. Changing this will create a new resource.
	SourceType pulumi.IntPtrInput
	// The status of the SNAT rule.
	Status pulumi.StringPtrInput
	// Specifies the network IDs of subnet connected by SNAT rule (VPC side).\
	// This parameter and `cidr` are alternative. Changing this will create a new resource.
	SubnetId pulumi.StringPtrInput
}

func (SnatRuleState) ElementType

func (SnatRuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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