DbInstanceEndpointArgs

data class DbInstanceEndpointArgs(val connectionStringPrefix: Output<String>? = null, val dbInstanceEndpointDescription: Output<String>? = null, val dbInstanceId: Output<String>? = null, val nodeItems: Output<List<DbInstanceEndpointNodeItemArgs>>? = null, val port: Output<String>? = null, val vpcId: Output<String>? = null, val vswitchId: Output<String>? = null) : ConvertibleToJava<DbInstanceEndpointArgs>

Provide RDS cluster instance endpoint connection resources, see What is RDS DB Instance Endpoint.

NOTE: Available since v1.203.0.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.rds.RdsFunctions;
import com.pulumi.alicloud.rds.inputs.GetZonesArgs;
import com.pulumi.alicloud.rds.inputs.GetInstanceClassesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.rds.Instance;
import com.pulumi.alicloud.rds.InstanceArgs;
import com.pulumi.alicloud.rds.DbNode;
import com.pulumi.alicloud.rds.DbNodeArgs;
import com.pulumi.alicloud.rds.DbInstanceEndpoint;
import com.pulumi.alicloud.rds.DbInstanceEndpointArgs;
import com.pulumi.alicloud.rds.inputs.DbInstanceEndpointNodeItemArgs;
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 defaultZones = RdsFunctions.getZones(GetZonesArgs.builder()
.engine("MySQL")
.engineVersion("8.0")
.instanceChargeType("PostPaid")
.category("cluster")
.dbInstanceStorageType("cloud_essd")
.build());
final var defaultInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.engine("MySQL")
.engineVersion("8.0")
.category("cluster")
.dbInstanceStorageType("cloud_essd")
.instanceChargeType("PostPaid")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("172.16.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/24")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.vswitchName(name)
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetwork.id())
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.engine("MySQL")
.engineVersion("8.0")
.instanceType(defaultInstanceClasses.applyValue(getInstanceClassesResult -> getInstanceClassesResult.instanceClasses()[0].instanceClass()))
.instanceStorage(defaultInstanceClasses.applyValue(getInstanceClassesResult -> getInstanceClassesResult.instanceClasses()[0].storageRange().min()))
.instanceChargeType("Postpaid")
.instanceName(name)
.vswitchId(defaultSwitch.id())
.monitoringPeriod("60")
.dbInstanceStorageType("cloud_essd")
.securityGroupIds(defaultSecurityGroup.id())
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.zoneIdSlaveA(defaultZones.applyValue(getZonesResult -> getZonesResult.ids()[0]))
.build());
var defaultDbNode = new DbNode("defaultDbNode", DbNodeArgs.builder()
.dbInstanceId(defaultInstance.id())
.classCode(defaultInstance.instanceType())
.zoneId(defaultSwitch.zoneId())
.build());
var defaultDbInstanceEndpoint = new DbInstanceEndpoint("defaultDbInstanceEndpoint", DbInstanceEndpointArgs.builder()
.dbInstanceId(defaultDbNode.dbInstanceId())
.vpcId(defaultNetwork.id())
.vswitchId(defaultInstance.vswitchId())
.connectionStringPrefix("example")
.port("3306")
.dbInstanceEndpointDescription(name)
.nodeItems(DbInstanceEndpointNodeItemArgs.builder()
.nodeId(defaultDbNode.nodeId())
.weight(25)
.build())
.build());
}
}

Import

RDS database endpoint feature can be imported using the id, e.g.

$ pulumi import alicloud:rds/dbInstanceEndpoint:DbInstanceEndpoint example <db_instance_id>:<db_instance_endpoint_id>

Constructors

Link copied to clipboard
fun DbInstanceEndpointArgs(connectionStringPrefix: Output<String>? = null, dbInstanceEndpointDescription: Output<String>? = null, dbInstanceId: Output<String>? = null, nodeItems: Output<List<DbInstanceEndpointNodeItemArgs>>? = null, port: Output<String>? = null, vpcId: Output<String>? = null, vswitchId: Output<String>? = null)

Functions

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

Properties

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

The IP address of the internal endpoint.

Link copied to clipboard

The user-defined description of the endpoint.

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

The ID of the instance.

Link copied to clipboard

The information about the node that is configured for the endpoint. It contains two sub-fields(node_id and weight). See node_items below.

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

The port number of the internal endpoint. You can specify the port number for the internal endpoint.Valid values: 3000 to 5999.

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

The virtual private cloud (VPC) ID of the internal endpoint.

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

The vSwitch ID of the internal endpoint.