InstanceArgs

data class InstanceArgs(val accountNumber: Output<Int>? = null, val bandWidth: Output<Int>? = null, val cfwAccount: Output<Boolean>? = null, val cfwLog: Output<Boolean>? = null, val cfwLogStorage: Output<Int>? = null, val fwVpcNumber: Output<Int>? = null, val instanceCount: Output<Int>? = null, val ipNumber: Output<Int>? = null, val logistics: Output<String>? = null, val modifyType: Output<String>? = null, val paymentType: Output<String>? = null, val period: Output<Int>? = null, val renewPeriod: Output<Int>? = null, val renewalDuration: Output<Int>? = null, val renewalDurationUnit: Output<String>? = null, val renewalStatus: Output<String>? = null, val spec: Output<String>? = null) : ConvertibleToJava<InstanceArgs>

Provides a Cloud Firewall Instance resource. For information about Cloud Firewall Instance and how to use it, see What is Instance.

NOTE: Available since v1.139.0.

Example Usage

Basic Usage create a pay-as-you-go instance

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const payAsYouGo = new alicloud.cloudfirewall.Instance("PayAsYouGo", {paymentType: "PayAsYouGo"});
import pulumi
import pulumi_alicloud as alicloud
pay_as_you_go = alicloud.cloudfirewall.Instance("PayAsYouGo", payment_type="PayAsYouGo")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var payAsYouGo = new AliCloud.CloudFirewall.Instance("PayAsYouGo", new()
{
PaymentType = "PayAsYouGo",
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudfirewall.NewInstance(ctx, "PayAsYouGo", &cloudfirewall.InstanceArgs{
PaymentType: pulumi.String("PayAsYouGo"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cloudfirewall.Instance;
import com.pulumi.alicloud.cloudfirewall.InstanceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var payAsYouGo = new Instance("payAsYouGo", InstanceArgs.builder()
.paymentType("PayAsYouGo")
.build());
}
}
resources:
payAsYouGo:
type: alicloud:cloudfirewall:Instance
name: PayAsYouGo
properties:
paymentType: PayAsYouGo

create a subscription instance

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const subscription = new alicloud.cloudfirewall.Instance("Subscription", {
paymentType: "Subscription",
spec: "premium_version",
ipNumber: 20,
bandWidth: 10,
cfwLog: false,
period: 1,
});
import pulumi
import pulumi_alicloud as alicloud
subscription = alicloud.cloudfirewall.Instance("Subscription",
payment_type="Subscription",
spec="premium_version",
ip_number=20,
band_width=10,
cfw_log=False,
period=1)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var subscription = new AliCloud.CloudFirewall.Instance("Subscription", new()
{
PaymentType = "Subscription",
Spec = "premium_version",
IpNumber = 20,
BandWidth = 10,
CfwLog = false,
Period = 1,
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cloudfirewall"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudfirewall.NewInstance(ctx, "Subscription", &cloudfirewall.InstanceArgs{
PaymentType: pulumi.String("Subscription"),
Spec: pulumi.String("premium_version"),
IpNumber: pulumi.Int(20),
BandWidth: pulumi.Int(10),
CfwLog: pulumi.Bool(false),
Period: pulumi.Int(1),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.cloudfirewall.Instance;
import com.pulumi.alicloud.cloudfirewall.InstanceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var subscription = new Instance("subscription", InstanceArgs.builder()
.paymentType("Subscription")
.spec("premium_version")
.ipNumber(20)
.bandWidth(10)
.cfwLog(false)
.period(1)
.build());
}
}
resources:
subscription:
type: alicloud:cloudfirewall:Instance
name: Subscription
properties:
paymentType: Subscription
spec: premium_version
ipNumber: 20
bandWidth: 10
cfwLog: false
period: 1

Import

Cloud Firewall Instance can be imported using the id, e.g.

$ pulumi import alicloud:cloudfirewall/instance:Instance example <id>

Constructors

Link copied to clipboard
constructor(accountNumber: Output<Int>? = null, bandWidth: Output<Int>? = null, cfwAccount: Output<Boolean>? = null, cfwLog: Output<Boolean>? = null, cfwLogStorage: Output<Int>? = null, fwVpcNumber: Output<Int>? = null, instanceCount: Output<Int>? = null, ipNumber: Output<Int>? = null, logistics: Output<String>? = null, modifyType: Output<String>? = null, paymentType: Output<String>? = null, period: Output<Int>? = null, renewPeriod: Output<Int>? = null, renewalDuration: Output<Int>? = null, renewalDurationUnit: Output<String>? = null, renewalStatus: Output<String>? = null, spec: Output<String>? = null)

Properties

Link copied to clipboard
val accountNumber: Output<Int>? = null

The number of multi account. It will be ignored when cfw_account = false.

Link copied to clipboard
val bandWidth: Output<Int>? = null

Public network processing capability. Valid values: 10 to 15000. Unit: Mbps.

Link copied to clipboard
val cfwAccount: Output<Boolean>? = null

Whether to use multi-account. Valid values: true, false.

Link copied to clipboard
val cfwLog: Output<Boolean>? = null

Whether to use log audit. Valid values: true, false. NOTE: From version 1.232.0, When payment_type is set to PayAsYouGo, cfw_log can only be set to true, cfw_log cannot be modified to false.

Link copied to clipboard
val cfwLogStorage: Output<Int>? = null

The log storage capacity. NOTE: From version 1.232.0, When payment_type is set to PayAsYouGo, or cfw_log is set to false, cfw_log_storage will be ignored.

Link copied to clipboard
val fwVpcNumber: Output<Int>? = null

The number of protected VPCs. It will be ignored when spec = "premium_version". Valid values between 2 and 500.

Link copied to clipboard
val instanceCount: Output<Int>? = null

The number of assets.

Link copied to clipboard
val ipNumber: Output<Int>? = null

The number of public IPs that can be protected. Valid values: 20 to 4000.

Link copied to clipboard
val logistics: Output<String>? = null

The logistics.

Link copied to clipboard
val modifyType: Output<String>? = null

The type of modification. Valid values: Upgrade, Downgrade. NOTE: The modify_type is required when you execute an update operation.

Link copied to clipboard
val paymentType: Output<String>? = null

The payment type of the resource. Valid values: Subscription, PayAsYouGo. NOTE: From version 1.220.0, payment_type can be set to PayAsYouGo.

Link copied to clipboard
val period: Output<Int>? = null

The prepaid period. Valid values: 1, 3, 6, 12, 24, 36. NOTE: 1 and 3 available since 1.204.1. If payment_type is set to Subscription, period is required. Otherwise, it will be ignored.

Link copied to clipboard
val renewalDuration: Output<Int>? = null

Auto-Renewal Duration. It is required under the condition that renewal_status is AutoRenewal. Valid values: 1, 2, 3, 6, 12. NOTE: renewal_duration takes effect only if payment_type is set to Subscription, and renewal_status is set to AutoRenewal.

Link copied to clipboard
val renewalDurationUnit: Output<String>? = null

Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: Month, Year.

Link copied to clipboard
val renewalStatus: Output<String>? = null

Whether to renew an instance automatically or not. Default value: ManualRenewal.

Link copied to clipboard
val renewPeriod: Output<Int>? = null

Automatic renewal period. Attribute renew_period has been deprecated since 1.209.1. Using renewal_duration instead.

Link copied to clipboard
val spec: Output<String>? = null

Current version. Valid values: premium_version, enterprise_version,ultimate_version.

Functions

Link copied to clipboard
open override fun toJava(): InstanceArgs