Consumer Channel Args
data class ConsumerChannelArgs(val consumerGroupName: Output<String>? = null, val consumerGroupPassword: Output<String>? = null, val consumerGroupUserName: Output<String>? = null, val dtsInstanceId: Output<String>? = null) : ConvertibleToJava<ConsumerChannelArgs>
Provides a DTS Consumer Channel resource. For information about DTS Consumer Channel and how to use it, see What is Consumer Channel.
NOTE: Available since v1.146.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.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetRegionsArgs;
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.RdsAccount;
import com.pulumi.alicloud.rds.RdsAccountArgs;
import com.pulumi.alicloud.rds.Database;
import com.pulumi.alicloud.rds.DatabaseArgs;
import com.pulumi.alicloud.rds.AccountPrivilege;
import com.pulumi.alicloud.rds.AccountPrivilegeArgs;
import com.pulumi.alicloud.dts.SubscriptionJob;
import com.pulumi.alicloud.dts.SubscriptionJobArgs;
import com.pulumi.alicloud.dts.ConsumerChannel;
import com.pulumi.alicloud.dts.ConsumerChannelArgs;
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("terraform-example");
final var exampleRegions = AlicloudFunctions.getRegions(GetRegionsArgs.builder()
.current(true)
.build());
final var exampleZones = RdsFunctions.getZones(GetZonesArgs.builder()
.engine("MySQL")
.engineVersion("8.0")
.instanceChargeType("PostPaid")
.category("Basic")
.dbInstanceStorageType("cloud_essd")
.build());
final var exampleInstanceClasses = RdsFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()
.zoneId(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.engine("MySQL")
.engineVersion("8.0")
.instanceChargeType("PostPaid")
.category("Basic")
.dbInstanceStorageType("cloud_essd")
.build());
var exampleNetwork = new Network("exampleNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("172.16.0.0/16")
.build());
var exampleSwitch = new Switch("exampleSwitch", SwitchArgs.builder()
.vpcId(exampleNetwork.id())
.cidrBlock("172.16.0.0/24")
.zoneId(exampleZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.vswitchName(name)
.build());
var exampleSecurityGroup = new SecurityGroup("exampleSecurityGroup", SecurityGroupArgs.builder()
.vpcId(exampleNetwork.id())
.build());
var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder()
.engine("MySQL")
.engineVersion("8.0")
.instanceType(exampleInstanceClasses.applyValue(getInstanceClassesResult -> getInstanceClassesResult.instanceClasses()[0].instanceClass()))
.instanceStorage(exampleInstanceClasses.applyValue(getInstanceClassesResult -> getInstanceClassesResult.instanceClasses()[0].storageRange().min()))
.instanceChargeType("Postpaid")
.instanceName(name)
.vswitchId(exampleSwitch.id())
.monitoringPeriod("60")
.dbInstanceStorageType("cloud_essd")
.securityGroupIds(exampleSecurityGroup.id())
.build());
var exampleRdsAccount = new RdsAccount("exampleRdsAccount", RdsAccountArgs.builder()
.dbInstanceId(exampleInstance.id())
.accountName("example_name")
.accountPassword("example_1234")
.build());
var exampleDatabase = new Database("exampleDatabase", DatabaseArgs.builder()
.instanceId(exampleInstance.id())
.build());
var exampleAccountPrivilege = new AccountPrivilege("exampleAccountPrivilege", AccountPrivilegeArgs.builder()
.instanceId(exampleInstance.id())
.accountName(exampleRdsAccount.name())
.privilege("ReadWrite")
.dbNames(exampleDatabase.name())
.build());
var exampleSubscriptionJob = new SubscriptionJob("exampleSubscriptionJob", SubscriptionJobArgs.builder()
.dtsJobName(name)
.paymentType("PayAsYouGo")
.sourceEndpointEngineName("MySQL")
.sourceEndpointRegion(exampleRegions.applyValue(getRegionsResult -> getRegionsResult.regions()[0].id()))
.sourceEndpointInstanceType("RDS")
.sourceEndpointInstanceId(exampleInstance.id())
.sourceEndpointDatabaseName(exampleDatabase.name())
.sourceEndpointUserName(exampleRdsAccount.accountName())
.sourceEndpointPassword(exampleRdsAccount.accountPassword())
.dbList(Output.tuple(exampleDatabase.name(), exampleDatabase.name()).applyValue(values -> {
var exampleDatabaseName = values.t1;
var exampleDatabaseName1 = values.t2;
return String.format("{{\"%s\":{{\"name\":\"%s\",\"all\":true}}}}", exampleDatabaseName,exampleDatabaseName1);
}))
.subscriptionInstanceNetworkType("vpc")
.subscriptionInstanceVpcId(exampleNetwork.id())
.subscriptionInstanceVswitchId(exampleSwitch.id())
.status("Normal")
.build());
var exampleConsumerChannel = new ConsumerChannel("exampleConsumerChannel", ConsumerChannelArgs.builder()
.dtsInstanceId(exampleSubscriptionJob.dtsInstanceId())
.consumerGroupName(name)
.consumerGroupUserName("example")
.consumerGroupPassword("example1234")
.build());
}
}
Content copied to clipboard
Import
DTS Consumer Channel can be imported using the id, e.g.
$ pulumi import alicloud:dts/consumerChannel:ConsumerChannel example <dts_instance_id>:<consumer_group_id>
Content copied to clipboard
Constructors
Link copied to clipboard
fun ConsumerChannelArgs(consumerGroupName: Output<String>? = null, consumerGroupPassword: Output<String>? = null, consumerGroupUserName: Output<String>? = null, dtsInstanceId: Output<String>? = null)