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.slb.LoadBalancerArgs 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.slb;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.Object;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class LoadBalancerArgs extends com.pulumi.resources.ResourceArgs {
public static final LoadBalancerArgs Empty = new LoadBalancerArgs();
/**
* Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
*
*/
@Import(name="address")
private @Nullable Output address;
/**
* @return Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
*
*/
public Optional> address() {
return Optional.ofNullable(this.address);
}
/**
* The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
*
*/
@Import(name="addressIpVersion")
private @Nullable Output addressIpVersion;
/**
* @return The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
*
*/
public Optional> addressIpVersion() {
return Optional.ofNullable(this.addressIpVersion);
}
/**
* The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
* - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
* - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
*
*/
@Import(name="addressType")
private @Nullable Output addressType;
/**
* @return The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
* - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
* - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
*
*/
public Optional> addressType() {
return Optional.ofNullable(this.addressType);
}
/**
* Valid
* value is between 1 and 1000, If argument "internet_charge_type" is "paybytraffic", then this value will be ignore.
*
*/
@Import(name="bandwidth")
private @Nullable Output bandwidth;
/**
* @return Valid
* value is between 1 and 1000, If argument "internet_charge_type" is "paybytraffic", then this value will be ignore.
*
*/
public Optional> bandwidth() {
return Optional.ofNullable(this.bandwidth);
}
/**
* Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
*
*/
@Import(name="deleteProtection")
private @Nullable Output deleteProtection;
/**
* @return Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
*
*/
public Optional> deleteProtection() {
return Optional.ofNullable(this.deleteProtection);
}
/**
* The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
*
*/
@Import(name="instanceChargeType")
private @Nullable Output instanceChargeType;
/**
* @return The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
*
*/
public Optional> instanceChargeType() {
return Optional.ofNullable(this.instanceChargeType);
}
/**
* Valid
* values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
* Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
*
*/
@Import(name="internetChargeType")
private @Nullable Output internetChargeType;
/**
* @return Valid
* values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
* Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
*
*/
public Optional> internetChargeType() {
return Optional.ofNullable(this.internetChargeType);
}
@Import(name="loadBalancerName")
private @Nullable Output loadBalancerName;
public Optional> loadBalancerName() {
return Optional.ofNullable(this.loadBalancerName);
}
/**
* The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance. Launching "Performance-guaranteed" instance, it must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`.
*
*/
@Import(name="loadBalancerSpec")
private @Nullable Output loadBalancerSpec;
/**
* @return The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance. Launching "Performance-guaranteed" instance, it must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`.
*
*/
public Optional> loadBalancerSpec() {
return Optional.ofNullable(this.loadBalancerSpec);
}
/**
* The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
*/
@Import(name="masterZoneId")
private @Nullable Output masterZoneId;
/**
* @return The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
*/
public Optional> masterZoneId() {
return Optional.ofNullable(this.masterZoneId);
}
/**
* The reason of modification protection. It's effective when `modification_protection_status` is `ConsoleProtection`.
*
*/
@Import(name="modificationProtectionReason")
private @Nullable Output modificationProtectionReason;
/**
* @return The reason of modification protection. It's effective when `modification_protection_status` is `ConsoleProtection`.
*
*/
public Optional> modificationProtectionReason() {
return Optional.ofNullable(this.modificationProtectionReason);
}
/**
* The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value: `NonProtection`.
*
*/
@Import(name="modificationProtectionStatus")
private @Nullable Output modificationProtectionStatus;
/**
* @return The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value: `NonProtection`.
*
*/
public Optional> modificationProtectionStatus() {
return Optional.ofNullable(this.modificationProtectionStatus);
}
/**
* Field `name` has been deprecated from provider version 1.123.1 New field `load_balancer_name` instead.
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead */
@Import(name="name")
private @Nullable Output name;
/**
* @return Field `name` has been deprecated from provider version 1.123.1 New field `load_balancer_name` instead.
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead */
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
*
*/
@Import(name="paymentType")
private @Nullable Output paymentType;
/**
* @return The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
*
*/
public Optional> paymentType() {
return Optional.ofNullable(this.paymentType);
}
/**
* The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36].
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
*
*/
@Import(name="period")
private @Nullable Output period;
/**
* @return The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36].
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
*
*/
public Optional> period() {
return Optional.ofNullable(this.period);
}
/**
* The Id of resource group which the SLB belongs.
*
*/
@Import(name="resourceGroupId")
private @Nullable Output resourceGroupId;
/**
* @return The Id of resource group which the SLB belongs.
*
*/
public Optional> resourceGroupId() {
return Optional.ofNullable(this.resourceGroupId);
}
/**
* The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
*/
@Import(name="slaveZoneId")
private @Nullable Output slaveZoneId;
/**
* @return The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
*/
public Optional> slaveZoneId() {
return Optional.ofNullable(this.slaveZoneId);
}
/**
* The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
* Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/en/slb/product-overview/announcements-and-updates)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
* "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
*
* @deprecated
* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
*
*/
@Deprecated /* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead */
@Import(name="specification")
private @Nullable Output specification;
/**
* @return The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
* Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/en/slb/product-overview/announcements-and-updates)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
* "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
*
* @deprecated
* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
*
*/
@Deprecated /* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead */
public Optional> specification() {
return Optional.ofNullable(this.specification);
}
/**
* The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
*
* > **NOTE:** A "Shared-Performance" instance can be changed to "Performance-guaranteed", but the change is irreversible.
*
* > **NOTE:** To change a "Shared-Performance" instance to a "Performance-guaranteed" instance, the SLB will have a short probability of business interruption (10 seconds-30 seconds). Advise to change it during the business downturn, or migrate business to other SLB Instances by using GSLB before changing.
*
* > **NOTE:** Currently, the alibaba cloud international account does not support creating a PrePaid SLB instance.
*
*/
@Import(name="status")
private @Nullable Output status;
/**
* @return The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
*
* > **NOTE:** A "Shared-Performance" instance can be changed to "Performance-guaranteed", but the change is irreversible.
*
* > **NOTE:** To change a "Shared-Performance" instance to a "Performance-guaranteed" instance, the SLB will have a short probability of business interruption (10 seconds-30 seconds). Advise to change it during the business downturn, or migrate business to other SLB Instances by using GSLB before changing.
*
* > **NOTE:** Currently, the alibaba cloud international account does not support creating a PrePaid SLB instance.
*
*/
public Optional> status() {
return Optional.ofNullable(this.status);
}
/**
* A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The VSwitch ID to launch in. If `address_type` is internet, it will be ignore.
*
*/
@Import(name="vswitchId")
private @Nullable Output vswitchId;
/**
* @return The VSwitch ID to launch in. If `address_type` is internet, it will be ignore.
*
*/
public Optional> vswitchId() {
return Optional.ofNullable(this.vswitchId);
}
private LoadBalancerArgs() {}
private LoadBalancerArgs(LoadBalancerArgs $) {
this.address = $.address;
this.addressIpVersion = $.addressIpVersion;
this.addressType = $.addressType;
this.bandwidth = $.bandwidth;
this.deleteProtection = $.deleteProtection;
this.instanceChargeType = $.instanceChargeType;
this.internetChargeType = $.internetChargeType;
this.loadBalancerName = $.loadBalancerName;
this.loadBalancerSpec = $.loadBalancerSpec;
this.masterZoneId = $.masterZoneId;
this.modificationProtectionReason = $.modificationProtectionReason;
this.modificationProtectionStatus = $.modificationProtectionStatus;
this.name = $.name;
this.paymentType = $.paymentType;
this.period = $.period;
this.resourceGroupId = $.resourceGroupId;
this.slaveZoneId = $.slaveZoneId;
this.specification = $.specification;
this.status = $.status;
this.tags = $.tags;
this.vswitchId = $.vswitchId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(LoadBalancerArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private LoadBalancerArgs $;
public Builder() {
$ = new LoadBalancerArgs();
}
public Builder(LoadBalancerArgs defaults) {
$ = new LoadBalancerArgs(Objects.requireNonNull(defaults));
}
/**
* @param address Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
*
* @return builder
*
*/
public Builder address(@Nullable Output address) {
$.address = address;
return this;
}
/**
* @param address Specify the IP address of the private network for the SLB instance, which must be in the destination CIDR block of the correspond ing switch.
*
* @return builder
*
*/
public Builder address(String address) {
return address(Output.of(address));
}
/**
* @param addressIpVersion The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
*
* @return builder
*
*/
public Builder addressIpVersion(@Nullable Output addressIpVersion) {
$.addressIpVersion = addressIpVersion;
return this;
}
/**
* @param addressIpVersion The IP version of the SLB instance to be created, which can be set to ipv4 or ipv6 . Default to "ipv4". Now, only internet instance support ipv6 address.
*
* @return builder
*
*/
public Builder addressIpVersion(String addressIpVersion) {
return addressIpVersion(Output.of(addressIpVersion));
}
/**
* @param addressType The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
* - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
* - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
*
* @return builder
*
*/
public Builder addressType(@Nullable Output addressType) {
$.addressType = addressType;
return this;
}
/**
* @param addressType The network type of the SLB instance. Valid values: ["internet", "intranet"]. If load balancer launched in VPC, this value must be "intranet".
* - internet: After an Internet SLB instance is created, the system allocates a public IP address so that the instance can forward requests from the Internet.
* - intranet: After an intranet SLB instance is created, the system allocates an intranet IP address so that the instance can only forward intranet requests.
*
* @return builder
*
*/
public Builder addressType(String addressType) {
return addressType(Output.of(addressType));
}
/**
* @param bandwidth Valid
* value is between 1 and 1000, If argument "internet_charge_type" is "paybytraffic", then this value will be ignore.
*
* @return builder
*
*/
public Builder bandwidth(@Nullable Output bandwidth) {
$.bandwidth = bandwidth;
return this;
}
/**
* @param bandwidth Valid
* value is between 1 and 1000, If argument "internet_charge_type" is "paybytraffic", then this value will be ignore.
*
* @return builder
*
*/
public Builder bandwidth(Integer bandwidth) {
return bandwidth(Output.of(bandwidth));
}
/**
* @param deleteProtection Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
*
* @return builder
*
*/
public Builder deleteProtection(@Nullable Output deleteProtection) {
$.deleteProtection = deleteProtection;
return this;
}
/**
* @param deleteProtection Whether enable the deletion protection or not. on: Enable deletion protection. off: Disable deletion protection. Default to off. Only postpaid instance support this function.
*
* @return builder
*
*/
public Builder deleteProtection(String deleteProtection) {
return deleteProtection(Output.of(deleteProtection));
}
/**
* @param instanceChargeType The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
*
* @return builder
*
*/
public Builder instanceChargeType(@Nullable Output instanceChargeType) {
$.instanceChargeType = instanceChargeType;
return this;
}
/**
* @param instanceChargeType The billing method of the load balancer. Valid values are "PrePaid" and "PostPaid". Default to "PostPaid".
*
* @return builder
*
*/
public Builder instanceChargeType(String instanceChargeType) {
return instanceChargeType(Output.of(instanceChargeType));
}
/**
* @param internetChargeType Valid
* values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
* Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
*
* @return builder
*
*/
public Builder internetChargeType(@Nullable Output internetChargeType) {
$.internetChargeType = internetChargeType;
return this;
}
/**
* @param internetChargeType Valid
* values are `PayByBandwidth`, `PayByTraffic`. If this value is "PayByBandwidth", then argument "internet" must be "true". Default is "PayByTraffic". If load balancer launched in VPC, this value must be "PayByTraffic".
* Before version 1.10.1, the valid values are "paybybandwidth" and "paybytraffic".
*
* @return builder
*
*/
public Builder internetChargeType(String internetChargeType) {
return internetChargeType(Output.of(internetChargeType));
}
public Builder loadBalancerName(@Nullable Output loadBalancerName) {
$.loadBalancerName = loadBalancerName;
return this;
}
public Builder loadBalancerName(String loadBalancerName) {
return loadBalancerName(Output.of(loadBalancerName));
}
/**
* @param loadBalancerSpec The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance. Launching "Performance-guaranteed" instance, it must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`.
*
* @return builder
*
*/
public Builder loadBalancerSpec(@Nullable Output loadBalancerSpec) {
$.loadBalancerSpec = loadBalancerSpec;
return this;
}
/**
* @param loadBalancerSpec The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance. Launching "Performance-guaranteed" instance, it must be specified. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`.
*
* @return builder
*
*/
public Builder loadBalancerSpec(String loadBalancerSpec) {
return loadBalancerSpec(Output.of(loadBalancerSpec));
}
/**
* @param masterZoneId The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
* @return builder
*
*/
public Builder masterZoneId(@Nullable Output masterZoneId) {
$.masterZoneId = masterZoneId;
return this;
}
/**
* @param masterZoneId The primary zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
* @return builder
*
*/
public Builder masterZoneId(String masterZoneId) {
return masterZoneId(Output.of(masterZoneId));
}
/**
* @param modificationProtectionReason The reason of modification protection. It's effective when `modification_protection_status` is `ConsoleProtection`.
*
* @return builder
*
*/
public Builder modificationProtectionReason(@Nullable Output modificationProtectionReason) {
$.modificationProtectionReason = modificationProtectionReason;
return this;
}
/**
* @param modificationProtectionReason The reason of modification protection. It's effective when `modification_protection_status` is `ConsoleProtection`.
*
* @return builder
*
*/
public Builder modificationProtectionReason(String modificationProtectionReason) {
return modificationProtectionReason(Output.of(modificationProtectionReason));
}
/**
* @param modificationProtectionStatus The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value: `NonProtection`.
*
* @return builder
*
*/
public Builder modificationProtectionStatus(@Nullable Output modificationProtectionStatus) {
$.modificationProtectionStatus = modificationProtectionStatus;
return this;
}
/**
* @param modificationProtectionStatus The status of modification protection. Valid values: `ConsoleProtection` and `NonProtection`. Default value: `NonProtection`.
*
* @return builder
*
*/
public Builder modificationProtectionStatus(String modificationProtectionStatus) {
return modificationProtectionStatus(Output.of(modificationProtectionStatus));
}
/**
* @param name Field `name` has been deprecated from provider version 1.123.1 New field `load_balancer_name` instead.
*
* @return builder
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead */
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Field `name` has been deprecated from provider version 1.123.1 New field `load_balancer_name` instead.
*
* @return builder
*
* @deprecated
* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead
*
*/
@Deprecated /* Field 'name' has been deprecated from provider version 1.123.1. New field 'load_balancer_name' instead */
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param paymentType The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
*
* @return builder
*
*/
public Builder paymentType(@Nullable Output paymentType) {
$.paymentType = paymentType;
return this;
}
/**
* @param paymentType The billing method of the load balancer. Valid values are `PayAsYouGo` and `Subscription`. Default to `PayAsYouGo`.
*
* @return builder
*
*/
public Builder paymentType(String paymentType) {
return paymentType(Output.of(paymentType));
}
/**
* @param period The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36].
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
*
* @return builder
*
*/
public Builder period(@Nullable Output period) {
$.period = period;
return this;
}
/**
* @param period The duration that you will buy the resource, in month. It is valid when `instance_charge_type` is `PrePaid`. Valid values: [1-9, 12, 24, 36].
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
*
* @return builder
*
*/
public Builder period(Integer period) {
return period(Output.of(period));
}
/**
* @param resourceGroupId The Id of resource group which the SLB belongs.
*
* @return builder
*
*/
public Builder resourceGroupId(@Nullable Output resourceGroupId) {
$.resourceGroupId = resourceGroupId;
return this;
}
/**
* @param resourceGroupId The Id of resource group which the SLB belongs.
*
* @return builder
*
*/
public Builder resourceGroupId(String resourceGroupId) {
return resourceGroupId(Output.of(resourceGroupId));
}
/**
* @param slaveZoneId The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
* @return builder
*
*/
public Builder slaveZoneId(@Nullable Output slaveZoneId) {
$.slaveZoneId = slaveZoneId;
return this;
}
/**
* @param slaveZoneId The standby zone ID of the SLB instance. If not specified, the system will be randomly assigned. You can query the primary and standby zones in a region by calling the DescribeZone API.
*
* @return builder
*
*/
public Builder slaveZoneId(String slaveZoneId) {
return slaveZoneId(Output.of(slaveZoneId));
}
/**
* @param specification The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
* Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/en/slb/product-overview/announcements-and-updates)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
* "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
*
* @return builder
*
* @deprecated
* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
*
*/
@Deprecated /* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead */
public Builder specification(@Nullable Output specification) {
$.specification = specification;
return this;
}
/**
* @param specification The specification of the Server Load Balancer instance. Default to empty string indicating it is "Shared-Performance" instance.
* Launching "[Performance-guaranteed](https://www.alibabacloud.com/help/en/slb/product-overview/announcements-and-updates)" instance, it is must be specified and it valid values are: "slb.s1.small", "slb.s2.small", "slb.s2.medium",
* "slb.s3.small", "slb.s3.medium", "slb.s3.large" and "slb.s4.large".
*
* @return builder
*
* @deprecated
* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead
*
*/
@Deprecated /* Field 'specification' has been deprecated from provider version 1.123.1. New field 'load_balancer_spec' instead */
public Builder specification(String specification) {
return specification(Output.of(specification));
}
/**
* @param status The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
*
* > **NOTE:** A "Shared-Performance" instance can be changed to "Performance-guaranteed", but the change is irreversible.
*
* > **NOTE:** To change a "Shared-Performance" instance to a "Performance-guaranteed" instance, the SLB will have a short probability of business interruption (10 seconds-30 seconds). Advise to change it during the business downturn, or migrate business to other SLB Instances by using GSLB before changing.
*
* > **NOTE:** Currently, the alibaba cloud international account does not support creating a PrePaid SLB instance.
*
* @return builder
*
*/
public Builder status(@Nullable Output status) {
$.status = status;
return this;
}
/**
* @param status The status of slb load balancer. Valid values: `active` and `inactice`. The system default value is `active`.
*
* > **NOTE:** A "Shared-Performance" instance can be changed to "Performance-guaranteed", but the change is irreversible.
*
* > **NOTE:** To change a "Shared-Performance" instance to a "Performance-guaranteed" instance, the SLB will have a short probability of business interruption (10 seconds-30 seconds). Advise to change it during the business downturn, or migrate business to other SLB Instances by using GSLB before changing.
*
* > **NOTE:** Currently, the alibaba cloud international account does not support creating a PrePaid SLB instance.
*
* @return builder
*
*/
public Builder status(String status) {
return status(Output.of(status));
}
/**
* @param tags A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags to assign to the resource. The `tags` can have a maximum of 10 tag for every load balancer instance.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param vswitchId The VSwitch ID to launch in. If `address_type` is internet, it will be ignore.
*
* @return builder
*
*/
public Builder vswitchId(@Nullable Output vswitchId) {
$.vswitchId = vswitchId;
return this;
}
/**
* @param vswitchId The VSwitch ID to launch in. If `address_type` is internet, it will be ignore.
*
* @return builder
*
*/
public Builder vswitchId(String vswitchId) {
return vswitchId(Output.of(vswitchId));
}
public LoadBalancerArgs build() {
return $;
}
}
}