import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * NAT Gateway provides network address translation services for cloud servers within the private network * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as volcenginecc from "@volcengine/pulumi-volcenginecc"; * * const natGatewayNGWDemo = new volcenginecc.natgateway.Ngw("NatGatewayNGWDemo", { * spec: "Small", * vpcId: "vpc-2f8kicbjkot8g4f4pzyyxxxxx", * subnetId: "subnet-3hicda1321wqo3nkipk4xxxxx", * natGatewayName: "NatGatewayNGWDemo", * billingType: 2, * projectName: "default", * networkType: "internet", * description: "NatGatewayNGWDemo", * tags: [{ * key: "env", * value: "test", * }], * }); * ``` * * ## Import * * ```sh * $ pulumi import volcenginecc:natgateway/ngw:Ngw example "nat_gateway_id" * ``` */ export declare class Ngw extends pulumi.CustomResource { /** * Get an existing Ngw 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, state?: NgwState, opts?: pulumi.CustomResourceOptions): Ngw; /** * Returns true if the given object is an instance of Ngw. 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 Ngw; /** * NAT Gateway billing mode. Possible values: 1: Subscription. 2 (default): Pay-as-you-go by specification. 3: Pay-as-you-go by usage. When NetworkType is set to intranet, only 3 is supported and required for this parameter. */ readonly billingType: pulumi.Output; /** * Indicates whether the NAT gateway is locked. Empty: Normal, not locked. Normal: Normal, not locked. FinancialLocked: Locked due to overdue payment. */ readonly businessStatus: pulumi.Output; /** * Creation time */ readonly createdTime: pulumi.Output; /** * Deletion time */ readonly deletedTime: pulumi.Output; /** * Description of the NAT Gateway. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length: 1 to 255 characters. If not specified, defaults to an empty string. */ readonly description: pulumi.Output; /** * Indicates whether the NAT is direct or non-direct. - true (default): EIP direct NAT gateway. - false: Non-EIP direct NAT gateway. */ readonly directMode: pulumi.Output; /** * DNAT rule ID list. */ readonly dnatEntryIds: pulumi.Output; readonly eipAddresses: pulumi.Output; /** * Expiration time for subscription NAT Gateway. Only NAT Gateways with subscription billing return this parameter. */ readonly expiredTime: pulumi.Output; /** * Reason for NAT lock. financial: Locked due to overdue payment. security: Locked for security reasons. */ readonly lockReason: pulumi.Output; /** * NAT gateway ID. */ readonly natGatewayId: pulumi.Output; /** * Name of the NAT Gateway. Must start with a letter, Chinese character, or number. Can include period (.), underscore (_), and hyphen (-). Length: 1 to 128 characters. If not specified, defaults to the NAT Gateway instance ID. */ readonly natGatewayName: pulumi.Output; readonly natIpAddresses: pulumi.Output; /** * Network interface ID occupied by the NAT gateway. */ readonly networkInterfaceId: pulumi.Output; /** * NAT Gateway type. internet: Public NAT Gateway. intranet: Private NAT Gateway. */ readonly networkType: pulumi.Output; /** * Resource freeze time. This parameter is returned only when the resource is frozen due to overdue payment. */ readonly overdueTime: pulumi.Output; /** * Duration for purchasing a subscription NAT Gateway, default is 1. If PeriodUnit is Month, Period can be 1 ~ 9, 12, 24, 36. If PeriodUnit is Year, Period can be 1 ~ 3. */ readonly period: pulumi.Output; /** * Unit for subscription NAT Gateway duration, default is Month. Month: month. Year: year. */ readonly periodUnit: pulumi.Output; /** * Name of the project the NAT Gateway belongs to. If not specified, defaults to the 'default' project. */ readonly projectName: pulumi.Output; /** * Whether to enable intelligent scheduling */ readonly smartScheduleEnabled: pulumi.Output; /** * Intelligent scheduling policy rules. ChinaMobile: China Mobile. ChinaUnicom: China Unicom. ChinaTelecom: China Telecom. BGP: BGP multi-line. */ readonly smartScheduleRule: pulumi.Output; /** * SNAT rule ID list */ readonly snatEntryIds: pulumi.Output; /** * NAT Gateway specification. Small (default): Small. Medium: Medium. Large: Large. Extra*Large*1: Extra Large 1. Extra*Large*2: Extra Large 2. */ readonly spec: pulumi.Output; /** * Status of the NAT Gateway. Available: Available. Creating: Creating. Pending: In progress. Deleting: Deleting. */ readonly status: pulumi.Output; /** * ID of the subnet where the NAT gateway is located. The input subnet must be a subnet of the private network specified by VpcId. There must be at least one available private IP in the subnet. The system automatically generates a NAT gateway network interface that will occupy one private IP in this subnet. The availability zone of the subnet must have deployed NAT gateway resources. The availability zone of the subnet will be used as the primary availability zone for the NAT gateway and will automatically associate with a backup availability zone. When the primary availability zone fails, the NAT gateway automatically switches to the backup availability zone. */ readonly subnetId: pulumi.Output; readonly tags: pulumi.Output; /** * Last operation time of the NAT Gateway */ readonly updatedTime: pulumi.Output; /** * ID of the private network where the NAT Gateway is located */ readonly vpcId: pulumi.Output; /** * ID of the primary availability zone the NAT Gateway belongs to */ readonly zoneId: pulumi.Output; /** * Create a Ngw 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: NgwArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Ngw resources. */ export interface NgwState { /** * NAT Gateway billing mode. Possible values: 1: Subscription. 2 (default): Pay-as-you-go by specification. 3: Pay-as-you-go by usage. When NetworkType is set to intranet, only 3 is supported and required for this parameter. */ billingType?: pulumi.Input; /** * Indicates whether the NAT gateway is locked. Empty: Normal, not locked. Normal: Normal, not locked. FinancialLocked: Locked due to overdue payment. */ businessStatus?: pulumi.Input; /** * Creation time */ createdTime?: pulumi.Input; /** * Deletion time */ deletedTime?: pulumi.Input; /** * Description of the NAT Gateway. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length: 1 to 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * Indicates whether the NAT is direct or non-direct. - true (default): EIP direct NAT gateway. - false: Non-EIP direct NAT gateway. */ directMode?: pulumi.Input; /** * DNAT rule ID list. */ dnatEntryIds?: pulumi.Input[]>; eipAddresses?: pulumi.Input[]>; /** * Expiration time for subscription NAT Gateway. Only NAT Gateways with subscription billing return this parameter. */ expiredTime?: pulumi.Input; /** * Reason for NAT lock. financial: Locked due to overdue payment. security: Locked for security reasons. */ lockReason?: pulumi.Input; /** * NAT gateway ID. */ natGatewayId?: pulumi.Input; /** * Name of the NAT Gateway. Must start with a letter, Chinese character, or number. Can include period (.), underscore (_), and hyphen (-). Length: 1 to 128 characters. If not specified, defaults to the NAT Gateway instance ID. */ natGatewayName?: pulumi.Input; natIpAddresses?: pulumi.Input[]>; /** * Network interface ID occupied by the NAT gateway. */ networkInterfaceId?: pulumi.Input; /** * NAT Gateway type. internet: Public NAT Gateway. intranet: Private NAT Gateway. */ networkType?: pulumi.Input; /** * Resource freeze time. This parameter is returned only when the resource is frozen due to overdue payment. */ overdueTime?: pulumi.Input; /** * Duration for purchasing a subscription NAT Gateway, default is 1. If PeriodUnit is Month, Period can be 1 ~ 9, 12, 24, 36. If PeriodUnit is Year, Period can be 1 ~ 3. */ period?: pulumi.Input; /** * Unit for subscription NAT Gateway duration, default is Month. Month: month. Year: year. */ periodUnit?: pulumi.Input; /** * Name of the project the NAT Gateway belongs to. If not specified, defaults to the 'default' project. */ projectName?: pulumi.Input; /** * Whether to enable intelligent scheduling */ smartScheduleEnabled?: pulumi.Input; /** * Intelligent scheduling policy rules. ChinaMobile: China Mobile. ChinaUnicom: China Unicom. ChinaTelecom: China Telecom. BGP: BGP multi-line. */ smartScheduleRule?: pulumi.Input; /** * SNAT rule ID list */ snatEntryIds?: pulumi.Input[]>; /** * NAT Gateway specification. Small (default): Small. Medium: Medium. Large: Large. Extra*Large*1: Extra Large 1. Extra*Large*2: Extra Large 2. */ spec?: pulumi.Input; /** * Status of the NAT Gateway. Available: Available. Creating: Creating. Pending: In progress. Deleting: Deleting. */ status?: pulumi.Input; /** * ID of the subnet where the NAT gateway is located. The input subnet must be a subnet of the private network specified by VpcId. There must be at least one available private IP in the subnet. The system automatically generates a NAT gateway network interface that will occupy one private IP in this subnet. The availability zone of the subnet must have deployed NAT gateway resources. The availability zone of the subnet will be used as the primary availability zone for the NAT gateway and will automatically associate with a backup availability zone. When the primary availability zone fails, the NAT gateway automatically switches to the backup availability zone. */ subnetId?: pulumi.Input; tags?: pulumi.Input[]>; /** * Last operation time of the NAT Gateway */ updatedTime?: pulumi.Input; /** * ID of the private network where the NAT Gateway is located */ vpcId?: pulumi.Input; /** * ID of the primary availability zone the NAT Gateway belongs to */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a Ngw resource. */ export interface NgwArgs { /** * NAT Gateway billing mode. Possible values: 1: Subscription. 2 (default): Pay-as-you-go by specification. 3: Pay-as-you-go by usage. When NetworkType is set to intranet, only 3 is supported and required for this parameter. */ billingType?: pulumi.Input; /** * Description of the NAT Gateway. Must start with a letter, Chinese character, or number. Can include English comma (,), period (.), underscore (_), space ( ), equals sign (=), hyphen (-), Chinese comma (,), and Chinese period (。). Length: 1 to 255 characters. If not specified, defaults to an empty string. */ description?: pulumi.Input; /** * Name of the NAT Gateway. Must start with a letter, Chinese character, or number. Can include period (.), underscore (_), and hyphen (-). Length: 1 to 128 characters. If not specified, defaults to the NAT Gateway instance ID. */ natGatewayName?: pulumi.Input; /** * NAT Gateway type. internet: Public NAT Gateway. intranet: Private NAT Gateway. */ networkType?: pulumi.Input; /** * Duration for purchasing a subscription NAT Gateway, default is 1. If PeriodUnit is Month, Period can be 1 ~ 9, 12, 24, 36. If PeriodUnit is Year, Period can be 1 ~ 3. */ period?: pulumi.Input; /** * Unit for subscription NAT Gateway duration, default is Month. Month: month. Year: year. */ periodUnit?: pulumi.Input; /** * Name of the project the NAT Gateway belongs to. If not specified, defaults to the 'default' project. */ projectName?: pulumi.Input; /** * Whether to enable intelligent scheduling */ smartScheduleEnabled?: pulumi.Input; /** * Intelligent scheduling policy rules. ChinaMobile: China Mobile. ChinaUnicom: China Unicom. ChinaTelecom: China Telecom. BGP: BGP multi-line. */ smartScheduleRule?: pulumi.Input; /** * NAT Gateway specification. Small (default): Small. Medium: Medium. Large: Large. Extra*Large*1: Extra Large 1. Extra*Large*2: Extra Large 2. */ spec?: pulumi.Input; /** * ID of the subnet where the NAT gateway is located. The input subnet must be a subnet of the private network specified by VpcId. There must be at least one available private IP in the subnet. The system automatically generates a NAT gateway network interface that will occupy one private IP in this subnet. The availability zone of the subnet must have deployed NAT gateway resources. The availability zone of the subnet will be used as the primary availability zone for the NAT gateway and will automatically associate with a backup availability zone. When the primary availability zone fails, the NAT gateway automatically switches to the backup availability zone. */ subnetId?: pulumi.Input; tags?: pulumi.Input[]>; /** * ID of the private network where the NAT Gateway is located */ vpcId: pulumi.Input; }