UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

283 lines (282 loc) 11.3 kB
import * as pulumi from "@pulumi/pulumi"; /** * Manages a DNAT rule resource of the **public** NAT within HuaweiCloud. * * ## Example Usage * * ## 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 * ``` */ export declare class DnatRule extends pulumi.CustomResource { /** * Get an existing DnatRule resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DnatRuleState, opts?: pulumi.CustomResourceOptions): DnatRule; /** * Returns true if the given object is an instance of DnatRule. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is DnatRule; /** * The creation time of the DNAT rule. */ readonly createdAt: pulumi.Output<string>; /** * Specifies the description of the DNAT rule. * The value is a string of no more than `255` characters, and angle brackets (<>) are not allowed. */ readonly description: pulumi.Output<string | undefined>; /** * 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. */ readonly externalServicePort: pulumi.Output<number | undefined>; /** * 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. */ readonly externalServicePortRange: pulumi.Output<string | undefined>; /** * The actual floating IP address. */ readonly floatingIpAddress: pulumi.Output<string>; /** * Specifies the ID of the floating IP address. */ readonly floatingIpId: pulumi.Output<string | undefined>; /** * The global EIP address connected by the DNAT rule. */ readonly globalEipAddress: pulumi.Output<string>; /** * Specifies the ID of the global EIP connected by the DNAT rule. */ readonly globalEipId: pulumi.Output<string | undefined>; /** * Specifies port used by Floating IP provide services for external * systems. * Exactly one of `internalServicePort` and `internalServicePortRange` must be set. */ readonly internalServicePort: pulumi.Output<number | undefined>; /** * 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. */ readonly internalServicePortRange: pulumi.Output<string | undefined>; /** * Specifies the ID of the NAT gateway to which the DNAT rule belongs. * Changing this will create a new resource. */ readonly natGatewayId: pulumi.Output<string>; /** * Specifies the port ID of network. This parameter is mandatory in VPC scenario. * Use huaweicloud.Vpc.Port to get the port if just know a fixed IP addresses * on the port. */ readonly portId: pulumi.Output<string>; /** * Specifies the private IP address of a user. This parameter is mandatory in * Direct Connect scenario. */ readonly privateIp: pulumi.Output<string>; /** * Specifies the protocol type. * The valid values are **tcp**, **udp**, and **any**. */ readonly protocol: pulumi.Output<string>; /** * 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. */ readonly region: pulumi.Output<string>; /** * The current status of the DNAT rule. */ readonly status: pulumi.Output<string>; /** * Create a DnatRule resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: DnatRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DnatRule resources. */ export interface DnatRuleState { /** * The creation time of the DNAT rule. */ createdAt?: pulumi.Input<string>; /** * 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.Input<string>; /** * 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.Input<number>; /** * 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.Input<string>; /** * The actual floating IP address. */ floatingIpAddress?: pulumi.Input<string>; /** * Specifies the ID of the floating IP address. */ floatingIpId?: pulumi.Input<string>; /** * The global EIP address connected by the DNAT rule. */ globalEipAddress?: pulumi.Input<string>; /** * Specifies the ID of the global EIP connected by the DNAT rule. */ globalEipId?: pulumi.Input<string>; /** * Specifies port used by Floating IP provide services for external * systems. * Exactly one of `internalServicePort` and `internalServicePortRange` must be set. */ internalServicePort?: pulumi.Input<number>; /** * 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.Input<string>; /** * Specifies the ID of the NAT gateway to which the DNAT rule belongs. * Changing this will create a new resource. */ natGatewayId?: pulumi.Input<string>; /** * Specifies the port ID of network. This parameter is mandatory in VPC scenario. * Use huaweicloud.Vpc.Port to get the port if just know a fixed IP addresses * on the port. */ portId?: pulumi.Input<string>; /** * Specifies the private IP address of a user. This parameter is mandatory in * Direct Connect scenario. */ privateIp?: pulumi.Input<string>; /** * Specifies the protocol type. * The valid values are **tcp**, **udp**, and **any**. */ protocol?: pulumi.Input<string>; /** * 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.Input<string>; /** * The current status of the DNAT rule. */ status?: pulumi.Input<string>; } /** * The set of arguments for constructing a DnatRule resource. */ export interface DnatRuleArgs { /** * 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.Input<string>; /** * 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.Input<number>; /** * 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.Input<string>; /** * Specifies the ID of the floating IP address. */ floatingIpId?: pulumi.Input<string>; /** * Specifies the ID of the global EIP connected by the DNAT rule. */ globalEipId?: pulumi.Input<string>; /** * Specifies port used by Floating IP provide services for external * systems. * Exactly one of `internalServicePort` and `internalServicePortRange` must be set. */ internalServicePort?: pulumi.Input<number>; /** * 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.Input<string>; /** * Specifies the ID of the NAT gateway to which the DNAT rule belongs. * Changing this will create a new resource. */ natGatewayId: pulumi.Input<string>; /** * Specifies the port ID of network. This parameter is mandatory in VPC scenario. * Use huaweicloud.Vpc.Port to get the port if just know a fixed IP addresses * on the port. */ portId?: pulumi.Input<string>; /** * Specifies the private IP address of a user. This parameter is mandatory in * Direct Connect scenario. */ privateIp?: pulumi.Input<string>; /** * Specifies the protocol type. * The valid values are **tcp**, **udp**, and **any**. */ protocol: pulumi.Input<string>; /** * 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.Input<string>; }