Sasl Acl
Provides an ALIKAFKA sasl acl resource, see What is alikafka sasl acl.
NOTE: Available since v1.66.0. NOTE: Only the following regions support create alikafka sasl user. `cn-hangzhou`,`cn-beijing`,`cn-shenzhen`,`cn-shanghai`,`cn-qingdao`,`cn-hongkong`,`cn-huhehaote`,`cn-zhangjiakou`,`cn-chengdu`,`cn-heyuan`,`ap-southeast-1`,`ap-southeast-3`,`ap-southeast-5`,`ap-south-1`,`ap-northeast-1`,`eu-central-1`,`eu-west-1`,`us-west-1`,`us-east-1`
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.GetZonesArgs;
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.alikafka.Instance;
import com.pulumi.alicloud.alikafka.InstanceArgs;
import com.pulumi.alicloud.alikafka.Topic;
import com.pulumi.alicloud.alikafka.TopicArgs;
import com.pulumi.alicloud.alikafka.SaslUser;
import com.pulumi.alicloud.alikafka.SaslUserArgs;
import com.pulumi.alicloud.alikafka.SaslAcl;
import com.pulumi.alicloud.alikafka.SaslAclArgs;
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 = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("10.4.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.cidrBlock("10.4.0.0/24")
.vpcId(defaultNetwork.id())
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetwork.id())
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.partitionNum(50)
.diskType("1")
.diskSize("500")
.deployType("5")
.ioMax("20")
.specType("professional")
.serviceVersion("2.2.0")
.config("{\"enable.acl\":\"true\"}")
.vswitchId(defaultSwitch.id())
.securityGroup(defaultSecurityGroup.id())
.build());
var defaultTopic = new Topic("defaultTopic", TopicArgs.builder()
.instanceId(defaultInstance.id())
.topic("example-topic")
.remark("topic-remark")
.build());
var defaultSaslUser = new SaslUser("defaultSaslUser", SaslUserArgs.builder()
.instanceId(defaultInstance.id())
.username(name)
.password("tf_example123")
.build());
var defaultSaslAcl = new SaslAcl("defaultSaslAcl", SaslAclArgs.builder()
.instanceId(defaultInstance.id())
.username(defaultSaslUser.username())
.aclResourceType("Topic")
.aclResourceName(defaultTopic.topic())
.aclResourcePatternType("LITERAL")
.aclOperationType("Write")
.build());
}
}
Import
ALIKAFKA GROUP can be imported using the id, e.g.
$ pulumi import alicloud:alikafka/saslAcl:SaslAcl acl alikafka_post-cn-123455abc:username:Topic:test-topic:LITERAL:Write
Properties
Resource pattern type for this acl. The resource pattern support two types "LITERAL" and "PREFIXED". "LITERAL": A literal name defines the full name of a resource. The special wildcard character "*" can be used to represent a resource with any name. "PREFIXED": A prefixed name defines a prefix for a resource.