Documentation ¶
Index ¶
- func PkgVersion() (semver.Version, error)
- type DnatRule
- type DnatRuleArgs
- type DnatRuleArray
- type DnatRuleArrayInput
- type DnatRuleArrayOutput
- type DnatRuleInput
- type DnatRuleMap
- type DnatRuleMapInput
- type DnatRuleMapOutput
- type DnatRuleOutput
- func (o DnatRuleOutput) CreatedAt() pulumi.StringOutput
- func (o DnatRuleOutput) Description() pulumi.StringPtrOutput
- func (DnatRuleOutput) ElementType() reflect.Type
- func (o DnatRuleOutput) ExternalServicePort() pulumi.IntPtrOutput
- func (o DnatRuleOutput) ExternalServicePortRange() pulumi.StringPtrOutput
- func (o DnatRuleOutput) FloatingIpAddress() pulumi.StringOutput
- func (o DnatRuleOutput) FloatingIpId() pulumi.StringOutput
- func (o DnatRuleOutput) InternalServicePort() pulumi.IntPtrOutput
- func (o DnatRuleOutput) InternalServicePortRange() pulumi.StringPtrOutput
- func (o DnatRuleOutput) NatGatewayId() pulumi.StringOutput
- func (o DnatRuleOutput) PortId() pulumi.StringPtrOutput
- func (o DnatRuleOutput) PrivateIp() pulumi.StringPtrOutput
- func (o DnatRuleOutput) Protocol() pulumi.StringOutput
- func (o DnatRuleOutput) Region() pulumi.StringOutput
- func (o DnatRuleOutput) Status() pulumi.StringOutput
- func (o DnatRuleOutput) ToDnatRuleOutput() DnatRuleOutput
- func (o DnatRuleOutput) ToDnatRuleOutputWithContext(ctx context.Context) DnatRuleOutput
- type DnatRuleState
- type Gateway
- type GatewayArgs
- type GatewayArray
- type GatewayArrayInput
- type GatewayArrayOutput
- type GatewayInput
- type GatewayMap
- type GatewayMapInput
- type GatewayMapOutput
- type GatewayOutput
- func (o GatewayOutput) Description() pulumi.StringPtrOutput
- func (GatewayOutput) ElementType() reflect.Type
- func (o GatewayOutput) EnterpriseProjectId() pulumi.StringOutput
- func (o GatewayOutput) Name() pulumi.StringOutput
- func (o GatewayOutput) Region() pulumi.StringOutput
- func (o GatewayOutput) Spec() pulumi.StringOutput
- func (o GatewayOutput) Status() pulumi.StringOutput
- func (o GatewayOutput) SubnetId() pulumi.StringOutput
- func (o GatewayOutput) Tags() pulumi.StringMapOutput
- func (o GatewayOutput) ToGatewayOutput() GatewayOutput
- func (o GatewayOutput) ToGatewayOutputWithContext(ctx context.Context) GatewayOutput
- func (o GatewayOutput) VpcId() pulumi.StringOutput
- type GatewayState
- type LookupGatewayArgs
- type LookupGatewayOutputArgs
- type LookupGatewayResult
- type LookupGatewayResultOutput
- func (o LookupGatewayResultOutput) Description() pulumi.StringOutput
- func (LookupGatewayResultOutput) ElementType() reflect.Type
- func (o LookupGatewayResultOutput) EnterpriseProjectId() pulumi.StringOutput
- func (o LookupGatewayResultOutput) Id() pulumi.StringOutput
- func (o LookupGatewayResultOutput) InternalNetworkId() pulumi.StringPtrOutputdeprecated
- func (o LookupGatewayResultOutput) Name() pulumi.StringOutput
- func (o LookupGatewayResultOutput) Region() pulumi.StringOutput
- func (o LookupGatewayResultOutput) RouterId() pulumi.StringPtrOutputdeprecated
- func (o LookupGatewayResultOutput) Spec() pulumi.StringOutput
- func (o LookupGatewayResultOutput) Status() pulumi.StringOutput
- func (o LookupGatewayResultOutput) SubnetId() pulumi.StringOutput
- func (o LookupGatewayResultOutput) ToLookupGatewayResultOutput() LookupGatewayResultOutput
- func (o LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext(ctx context.Context) LookupGatewayResultOutput
- func (o LookupGatewayResultOutput) VpcId() pulumi.StringOutput
- type SnatRule
- type SnatRuleArgs
- type SnatRuleArray
- type SnatRuleArrayInput
- type SnatRuleArrayOutput
- type SnatRuleInput
- type SnatRuleMap
- type SnatRuleMapInput
- type SnatRuleMapOutput
- type SnatRuleOutput
- func (o SnatRuleOutput) Cidr() pulumi.StringPtrOutput
- func (o SnatRuleOutput) Description() pulumi.StringPtrOutput
- func (SnatRuleOutput) ElementType() reflect.Type
- func (o SnatRuleOutput) FloatingIpAddress() pulumi.StringOutput
- func (o SnatRuleOutput) FloatingIpId() pulumi.StringOutput
- func (o SnatRuleOutput) NatGatewayId() pulumi.StringOutput
- func (o SnatRuleOutput) NetworkId() pulumi.StringPtrOutputdeprecated
- func (o SnatRuleOutput) Region() pulumi.StringOutput
- func (o SnatRuleOutput) SourceType() pulumi.IntPtrOutput
- func (o SnatRuleOutput) Status() pulumi.StringOutput
- func (o SnatRuleOutput) SubnetId() pulumi.StringOutput
- func (o SnatRuleOutput) ToSnatRuleOutput() SnatRuleOutput
- func (o SnatRuleOutput) ToSnatRuleOutputWithContext(ctx context.Context) SnatRuleOutput
- type SnatRuleState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PkgVersion ¶ added in v0.0.2
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) 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 (o DnatRuleArrayOutput) Index(i pulumi.IntInput) DnatRuleOutput
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 (o DnatRuleMapOutput) MapIndex(k pulumi.StringInput) DnatRuleOutput
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 ¶
func (o DnatRuleOutput) PortId() pulumi.StringPtrOutput
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) 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 (o GatewayArrayOutput) Index(i pulumi.IntInput) GatewayOutput
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 (o GatewayMapOutput) MapIndex(k pulumi.StringInput) GatewayOutput
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 ¶
func (o GatewayOutput) Name() pulumi.StringOutput
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 ¶
func (o GatewayOutput) Spec() pulumi.StringOutput
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
func (o GatewayOutput) Tags() pulumi.StringMapOutput
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 LookupGatewayOutput ¶
func LookupGatewayOutput(ctx *pulumi.Context, args LookupGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupGatewayResultOutput
func (LookupGatewayResultOutput) Description ¶
func (o LookupGatewayResultOutput) Description() pulumi.StringOutput
func (LookupGatewayResultOutput) ElementType ¶
func (LookupGatewayResultOutput) ElementType() reflect.Type
func (LookupGatewayResultOutput) EnterpriseProjectId ¶
func (o LookupGatewayResultOutput) EnterpriseProjectId() pulumi.StringOutput
func (LookupGatewayResultOutput) Id ¶
func (o LookupGatewayResultOutput) Id() pulumi.StringOutput
func (LookupGatewayResultOutput) InternalNetworkId
deprecated
func (o LookupGatewayResultOutput) InternalNetworkId() pulumi.StringPtrOutput
Deprecated: use subnet_id instead
func (LookupGatewayResultOutput) Name ¶
func (o LookupGatewayResultOutput) Name() pulumi.StringOutput
func (LookupGatewayResultOutput) Region ¶
func (o LookupGatewayResultOutput) Region() pulumi.StringOutput
func (LookupGatewayResultOutput) RouterId
deprecated
func (o LookupGatewayResultOutput) RouterId() pulumi.StringPtrOutput
Deprecated: use vpc_id instead
func (LookupGatewayResultOutput) Spec ¶
func (o LookupGatewayResultOutput) Spec() pulumi.StringOutput
func (LookupGatewayResultOutput) Status ¶
func (o LookupGatewayResultOutput) Status() pulumi.StringOutput
func (LookupGatewayResultOutput) SubnetId ¶
func (o LookupGatewayResultOutput) SubnetId() pulumi.StringOutput
func (LookupGatewayResultOutput) ToLookupGatewayResultOutput ¶
func (o LookupGatewayResultOutput) ToLookupGatewayResultOutput() LookupGatewayResultOutput
func (LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext ¶
func (o LookupGatewayResultOutput) ToLookupGatewayResultOutputWithContext(ctx context.Context) LookupGatewayResultOutput
func (LookupGatewayResultOutput) VpcId ¶
func (o LookupGatewayResultOutput) VpcId() pulumi.StringOutput
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) 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 (o SnatRuleArrayOutput) Index(i pulumi.IntInput) SnatRuleOutput
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 (o SnatRuleMapOutput) MapIndex(k pulumi.StringInput) SnatRuleOutput
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 ¶
func (o SnatRuleOutput) Cidr() pulumi.StringPtrOutput
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