AddressPool

class AddressPool : KotlinCustomResource

Provides a Alidns Address Pool resource. For information about Alidns Address Pool and how to use it, see What is Address Pool.

NOTE: Available since v1.152.0.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.cms.AlarmContactGroup;
import com.pulumi.alicloud.cms.AlarmContactGroupArgs;
import com.pulumi.alicloud.dns.GtmInstance;
import com.pulumi.alicloud.dns.GtmInstanceArgs;
import com.pulumi.alicloud.dns.inputs.GtmInstanceAlertConfigArgs;
import com.pulumi.alicloud.dns.AddressPool;
import com.pulumi.alicloud.dns.AddressPoolArgs;
import com.pulumi.alicloud.dns.inputs.AddressPoolAddressArgs;
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) {
final var config = ctx.config();
final var name = config.get("name").orElse("tf_example");
final var domainName = config.get("domainName").orElse("alicloud-provider.com");
final var defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups();
var defaultAlarmContactGroup = new AlarmContactGroup("defaultAlarmContactGroup", AlarmContactGroupArgs.builder()
.alarmContactGroupName(name)
.build());
var defaultGtmInstance = new GtmInstance("defaultGtmInstance", GtmInstanceArgs.builder()
.instanceName(name)
.paymentType("Subscription")
.period(1)
.renewalStatus("ManualRenewal")
.packageEdition("standard")
.healthCheckTaskCount(100)
.smsNotificationCount(1000)
.publicCnameMode("SYSTEM_ASSIGN")
.ttl(60)
.cnameType("PUBLIC")
.resourceGroupId(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.groups()[0].id()))
.alertGroups(defaultAlarmContactGroup.alarmContactGroupName())
.publicUserDomainName(domainName)
.alertConfigs(GtmInstanceAlertConfigArgs.builder()
.smsNotice(true)
.noticeType("ADDR_ALERT")
.emailNotice(true)
.dingtalkNotice(true)
.build())
.build());
var defaultAddressPool = new AddressPool("defaultAddressPool", AddressPoolArgs.builder()
.addressPoolName(name)
.instanceId(defaultGtmInstance.id())
.lbaStrategy("RATIO")
.type("IPV4")
.addresses(AddressPoolAddressArgs.builder()
.attributeInfo("{\"lineCodeRectifyType\":\"RECTIFIED\",\"lineCodes\":[\"os_namerica_us\"]}")
.remark("address_remark")
.address("1.1.1.1")
.mode("SMART")
.lbaWeight(1)
.build())
.build());
}
}

Import

Alidns Address Pool can be imported using the id, e.g.

$ pulumi import alicloud:dns/addressPool:AddressPool example <id>

Properties

Link copied to clipboard

The address lists of the Address Pool. See address below for details.

Link copied to clipboard
val addressPoolName: Output<String>

The name of the address pool.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val instanceId: Output<String>

The ID of the instance.

Link copied to clipboard
val lbaStrategy: Output<String>

The load balancing policy of the address pool. Valid values:ALL_RR or RATIO. ALL_RR: returns all addresses. RATIO: returns addresses by weight.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val type: Output<String>

The type of the address pool. Valid values: IPV4, IPV6, DOMAIN.

Link copied to clipboard
val urn: Output<String>