Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.cloudfirewall.InstanceArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing AliCloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.alicloud.cloudfirewall;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class InstanceArgs extends com.pulumi.resources.ResourceArgs {
public static final InstanceArgs Empty = new InstanceArgs();
/**
* The number of multi account. It will be ignored when `cfw_account = false`.
*
*/
@Import(name="accountNumber")
private @Nullable Output accountNumber;
/**
* @return The number of multi account. It will be ignored when `cfw_account = false`.
*
*/
public Optional> accountNumber() {
return Optional.ofNullable(this.accountNumber);
}
/**
* Public network processing capability. Valid values: 10 to 15000. Unit: Mbps.
*
*/
@Import(name="bandWidth")
private @Nullable Output bandWidth;
/**
* @return Public network processing capability. Valid values: 10 to 15000. Unit: Mbps.
*
*/
public Optional> bandWidth() {
return Optional.ofNullable(this.bandWidth);
}
/**
* Whether to use multi-account. Valid values: `true`, `false`.
*
*/
@Import(name="cfwAccount")
private @Nullable Output cfwAccount;
/**
* @return Whether to use multi-account. Valid values: `true`, `false`.
*
*/
public Optional> cfwAccount() {
return Optional.ofNullable(this.cfwAccount);
}
/**
* Whether to use log audit. Valid values: `true`, `false`.
*
*/
@Import(name="cfwLog")
private @Nullable Output cfwLog;
/**
* @return Whether to use log audit. Valid values: `true`, `false`.
*
*/
public Optional> cfwLog() {
return Optional.ofNullable(this.cfwLog);
}
/**
* The log storage capacity. It will be ignored when `cfw_log = false`.
*
*/
@Import(name="cfwLogStorage")
private @Nullable Output cfwLogStorage;
/**
* @return The log storage capacity. It will be ignored when `cfw_log = false`.
*
*/
public Optional> cfwLogStorage() {
return Optional.ofNullable(this.cfwLogStorage);
}
/**
* The number of protected VPCs. It will be ignored when `spec = "premium_version"`. Valid values between 2 and 500.
*
*/
@Import(name="fwVpcNumber")
private @Nullable Output fwVpcNumber;
/**
* @return The number of protected VPCs. It will be ignored when `spec = "premium_version"`. Valid values between 2 and 500.
*
*/
public Optional> fwVpcNumber() {
return Optional.ofNullable(this.fwVpcNumber);
}
/**
* The number of assets.
*
*/
@Import(name="instanceCount")
private @Nullable Output instanceCount;
/**
* @return The number of assets.
*
*/
public Optional> instanceCount() {
return Optional.ofNullable(this.instanceCount);
}
/**
* The number of public IPs that can be protected. Valid values: 20 to 4000.
*
*/
@Import(name="ipNumber")
private @Nullable Output ipNumber;
/**
* @return The number of public IPs that can be protected. Valid values: 20 to 4000.
*
*/
public Optional> ipNumber() {
return Optional.ofNullable(this.ipNumber);
}
/**
* The logistics.
*
*/
@Import(name="logistics")
private @Nullable Output logistics;
/**
* @return The logistics.
*
*/
public Optional> logistics() {
return Optional.ofNullable(this.logistics);
}
/**
* The type of modification. Valid values: `Upgrade`, `Downgrade`. **NOTE:** The `modify_type` is required when you execute an update operation.
*
*/
@Import(name="modifyType")
private @Nullable Output modifyType;
/**
* @return The type of modification. Valid values: `Upgrade`, `Downgrade`. **NOTE:** The `modify_type` is required when you execute an update operation.
*
*/
public Optional> modifyType() {
return Optional.ofNullable(this.modifyType);
}
/**
* The payment type of the resource. Valid values: `Subscription`, `PayAsYouGo`. **NOTE:** From version 1.220.0, `payment_type` can be set to `PayAsYouGo`.
*
*/
@Import(name="paymentType", required=true)
private Output paymentType;
/**
* @return The payment type of the resource. Valid values: `Subscription`, `PayAsYouGo`. **NOTE:** From version 1.220.0, `payment_type` can be set to `PayAsYouGo`.
*
*/
public Output paymentType() {
return this.paymentType;
}
/**
* 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.
*
*/
@Import(name="period")
private @Nullable Output period;
/**
* @return 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.
*
*/
public Optional> period() {
return Optional.ofNullable(this.period);
}
/**
* Automatic renewal period. Attribute `renew_period` has been deprecated since 1.209.1. Using `renewal_duration` instead.
*
* @deprecated
* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead.
*
*/
@Deprecated /* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead. */
@Import(name="renewPeriod")
private @Nullable Output renewPeriod;
/**
* @return Automatic renewal period. Attribute `renew_period` has been deprecated since 1.209.1. Using `renewal_duration` instead.
*
* @deprecated
* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead.
*
*/
@Deprecated /* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead. */
public Optional> renewPeriod() {
return Optional.ofNullable(this.renewPeriod);
}
/**
* 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`.
*
*/
@Import(name="renewalDuration")
private @Nullable Output renewalDuration;
/**
* @return 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`.
*
*/
public Optional> renewalDuration() {
return Optional.ofNullable(this.renewalDuration);
}
/**
* Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `Month`, `Year`.
*
*/
@Import(name="renewalDurationUnit")
private @Nullable Output renewalDurationUnit;
/**
* @return Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `Month`, `Year`.
*
*/
public Optional> renewalDurationUnit() {
return Optional.ofNullable(this.renewalDurationUnit);
}
/**
* Whether to renew an instance automatically or not. Default to "ManualRenewal".
* - `AutoRenewal`: Auto renewal.
* - `ManualRenewal`: Manual renewal.
* - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
* **NOTE:** `renewal_status` takes effect only if `payment_type` is set to `Subscription`.
*
*/
@Import(name="renewalStatus")
private @Nullable Output renewalStatus;
/**
* @return Whether to renew an instance automatically or not. Default to "ManualRenewal".
* - `AutoRenewal`: Auto renewal.
* - `ManualRenewal`: Manual renewal.
* - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
* **NOTE:** `renewal_status` takes effect only if `payment_type` is set to `Subscription`.
*
*/
public Optional> renewalStatus() {
return Optional.ofNullable(this.renewalStatus);
}
/**
* Current version. Valid values: `premium_version`, `enterprise_version`,`ultimate_version`.
*
*/
@Import(name="spec")
private @Nullable Output spec;
/**
* @return Current version. Valid values: `premium_version`, `enterprise_version`,`ultimate_version`.
*
*/
public Optional> spec() {
return Optional.ofNullable(this.spec);
}
private InstanceArgs() {}
private InstanceArgs(InstanceArgs $) {
this.accountNumber = $.accountNumber;
this.bandWidth = $.bandWidth;
this.cfwAccount = $.cfwAccount;
this.cfwLog = $.cfwLog;
this.cfwLogStorage = $.cfwLogStorage;
this.fwVpcNumber = $.fwVpcNumber;
this.instanceCount = $.instanceCount;
this.ipNumber = $.ipNumber;
this.logistics = $.logistics;
this.modifyType = $.modifyType;
this.paymentType = $.paymentType;
this.period = $.period;
this.renewPeriod = $.renewPeriod;
this.renewalDuration = $.renewalDuration;
this.renewalDurationUnit = $.renewalDurationUnit;
this.renewalStatus = $.renewalStatus;
this.spec = $.spec;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(InstanceArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private InstanceArgs $;
public Builder() {
$ = new InstanceArgs();
}
public Builder(InstanceArgs defaults) {
$ = new InstanceArgs(Objects.requireNonNull(defaults));
}
/**
* @param accountNumber The number of multi account. It will be ignored when `cfw_account = false`.
*
* @return builder
*
*/
public Builder accountNumber(@Nullable Output accountNumber) {
$.accountNumber = accountNumber;
return this;
}
/**
* @param accountNumber The number of multi account. It will be ignored when `cfw_account = false`.
*
* @return builder
*
*/
public Builder accountNumber(Integer accountNumber) {
return accountNumber(Output.of(accountNumber));
}
/**
* @param bandWidth Public network processing capability. Valid values: 10 to 15000. Unit: Mbps.
*
* @return builder
*
*/
public Builder bandWidth(@Nullable Output bandWidth) {
$.bandWidth = bandWidth;
return this;
}
/**
* @param bandWidth Public network processing capability. Valid values: 10 to 15000. Unit: Mbps.
*
* @return builder
*
*/
public Builder bandWidth(Integer bandWidth) {
return bandWidth(Output.of(bandWidth));
}
/**
* @param cfwAccount Whether to use multi-account. Valid values: `true`, `false`.
*
* @return builder
*
*/
public Builder cfwAccount(@Nullable Output cfwAccount) {
$.cfwAccount = cfwAccount;
return this;
}
/**
* @param cfwAccount Whether to use multi-account. Valid values: `true`, `false`.
*
* @return builder
*
*/
public Builder cfwAccount(Boolean cfwAccount) {
return cfwAccount(Output.of(cfwAccount));
}
/**
* @param cfwLog Whether to use log audit. Valid values: `true`, `false`.
*
* @return builder
*
*/
public Builder cfwLog(@Nullable Output cfwLog) {
$.cfwLog = cfwLog;
return this;
}
/**
* @param cfwLog Whether to use log audit. Valid values: `true`, `false`.
*
* @return builder
*
*/
public Builder cfwLog(Boolean cfwLog) {
return cfwLog(Output.of(cfwLog));
}
/**
* @param cfwLogStorage The log storage capacity. It will be ignored when `cfw_log = false`.
*
* @return builder
*
*/
public Builder cfwLogStorage(@Nullable Output cfwLogStorage) {
$.cfwLogStorage = cfwLogStorage;
return this;
}
/**
* @param cfwLogStorage The log storage capacity. It will be ignored when `cfw_log = false`.
*
* @return builder
*
*/
public Builder cfwLogStorage(Integer cfwLogStorage) {
return cfwLogStorage(Output.of(cfwLogStorage));
}
/**
* @param fwVpcNumber The number of protected VPCs. It will be ignored when `spec = "premium_version"`. Valid values between 2 and 500.
*
* @return builder
*
*/
public Builder fwVpcNumber(@Nullable Output fwVpcNumber) {
$.fwVpcNumber = fwVpcNumber;
return this;
}
/**
* @param fwVpcNumber The number of protected VPCs. It will be ignored when `spec = "premium_version"`. Valid values between 2 and 500.
*
* @return builder
*
*/
public Builder fwVpcNumber(Integer fwVpcNumber) {
return fwVpcNumber(Output.of(fwVpcNumber));
}
/**
* @param instanceCount The number of assets.
*
* @return builder
*
*/
public Builder instanceCount(@Nullable Output instanceCount) {
$.instanceCount = instanceCount;
return this;
}
/**
* @param instanceCount The number of assets.
*
* @return builder
*
*/
public Builder instanceCount(Integer instanceCount) {
return instanceCount(Output.of(instanceCount));
}
/**
* @param ipNumber The number of public IPs that can be protected. Valid values: 20 to 4000.
*
* @return builder
*
*/
public Builder ipNumber(@Nullable Output ipNumber) {
$.ipNumber = ipNumber;
return this;
}
/**
* @param ipNumber The number of public IPs that can be protected. Valid values: 20 to 4000.
*
* @return builder
*
*/
public Builder ipNumber(Integer ipNumber) {
return ipNumber(Output.of(ipNumber));
}
/**
* @param logistics The logistics.
*
* @return builder
*
*/
public Builder logistics(@Nullable Output logistics) {
$.logistics = logistics;
return this;
}
/**
* @param logistics The logistics.
*
* @return builder
*
*/
public Builder logistics(String logistics) {
return logistics(Output.of(logistics));
}
/**
* @param modifyType The type of modification. Valid values: `Upgrade`, `Downgrade`. **NOTE:** The `modify_type` is required when you execute an update operation.
*
* @return builder
*
*/
public Builder modifyType(@Nullable Output modifyType) {
$.modifyType = modifyType;
return this;
}
/**
* @param modifyType The type of modification. Valid values: `Upgrade`, `Downgrade`. **NOTE:** The `modify_type` is required when you execute an update operation.
*
* @return builder
*
*/
public Builder modifyType(String modifyType) {
return modifyType(Output.of(modifyType));
}
/**
* @param paymentType The payment type of the resource. Valid values: `Subscription`, `PayAsYouGo`. **NOTE:** From version 1.220.0, `payment_type` can be set to `PayAsYouGo`.
*
* @return builder
*
*/
public Builder paymentType(Output paymentType) {
$.paymentType = paymentType;
return this;
}
/**
* @param paymentType The payment type of the resource. Valid values: `Subscription`, `PayAsYouGo`. **NOTE:** From version 1.220.0, `payment_type` can be set to `PayAsYouGo`.
*
* @return builder
*
*/
public Builder paymentType(String paymentType) {
return paymentType(Output.of(paymentType));
}
/**
* @param period 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.
*
* @return builder
*
*/
public Builder period(@Nullable Output period) {
$.period = period;
return this;
}
/**
* @param period 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.
*
* @return builder
*
*/
public Builder period(Integer period) {
return period(Output.of(period));
}
/**
* @param renewPeriod Automatic renewal period. Attribute `renew_period` has been deprecated since 1.209.1. Using `renewal_duration` instead.
*
* @return builder
*
* @deprecated
* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead.
*
*/
@Deprecated /* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead. */
public Builder renewPeriod(@Nullable Output renewPeriod) {
$.renewPeriod = renewPeriod;
return this;
}
/**
* @param renewPeriod Automatic renewal period. Attribute `renew_period` has been deprecated since 1.209.1. Using `renewal_duration` instead.
*
* @return builder
*
* @deprecated
* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead.
*
*/
@Deprecated /* Attribute 'renew_period' has been deprecated since 1.209.1. Using 'renewal_duration' instead. */
public Builder renewPeriod(Integer renewPeriod) {
return renewPeriod(Output.of(renewPeriod));
}
/**
* @param renewalDuration 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`.
*
* @return builder
*
*/
public Builder renewalDuration(@Nullable Output renewalDuration) {
$.renewalDuration = renewalDuration;
return this;
}
/**
* @param renewalDuration 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`.
*
* @return builder
*
*/
public Builder renewalDuration(Integer renewalDuration) {
return renewalDuration(Output.of(renewalDuration));
}
/**
* @param renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `Month`, `Year`.
*
* @return builder
*
*/
public Builder renewalDurationUnit(@Nullable Output renewalDurationUnit) {
$.renewalDurationUnit = renewalDurationUnit;
return this;
}
/**
* @param renewalDurationUnit Auto-Renewal Cycle Unit Values Include: Month: Month. Year: Years. Valid values: `Month`, `Year`.
*
* @return builder
*
*/
public Builder renewalDurationUnit(String renewalDurationUnit) {
return renewalDurationUnit(Output.of(renewalDurationUnit));
}
/**
* @param renewalStatus Whether to renew an instance automatically or not. Default to "ManualRenewal".
* - `AutoRenewal`: Auto renewal.
* - `ManualRenewal`: Manual renewal.
* - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
* **NOTE:** `renewal_status` takes effect only if `payment_type` is set to `Subscription`.
*
* @return builder
*
*/
public Builder renewalStatus(@Nullable Output renewalStatus) {
$.renewalStatus = renewalStatus;
return this;
}
/**
* @param renewalStatus Whether to renew an instance automatically or not. Default to "ManualRenewal".
* - `AutoRenewal`: Auto renewal.
* - `ManualRenewal`: Manual renewal.
* - `NotRenewal`: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.
* **NOTE:** `renewal_status` takes effect only if `payment_type` is set to `Subscription`.
*
* @return builder
*
*/
public Builder renewalStatus(String renewalStatus) {
return renewalStatus(Output.of(renewalStatus));
}
/**
* @param spec Current version. Valid values: `premium_version`, `enterprise_version`,`ultimate_version`.
*
* @return builder
*
*/
public Builder spec(@Nullable Output spec) {
$.spec = spec;
return this;
}
/**
* @param spec Current version. Valid values: `premium_version`, `enterprise_version`,`ultimate_version`.
*
* @return builder
*
*/
public Builder spec(String spec) {
return spec(Output.of(spec));
}
public InstanceArgs build() {
if ($.paymentType == null) {
throw new MissingRequiredPropertyException("InstanceArgs", "paymentType");
}
return $;
}
}
}