SaslAcl

Provides an ALIKAFKA sasl acl resource.

NOTE: Available in 1.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,ap-southeast-1,ap-south-1,ap-southeast-5]

Example Usage

using Pulumi;
using AliCloud = Pulumi.AliCloud;

class MyStack : Stack
{
    public MyStack()
    {
        var config = new Config();
        var username = config.Get("username") ?? "testusername";
        var password = config.Get("password") ?? "testpassword";
        var defaultZones = Output.Create(AliCloud.GetZones.InvokeAsync(new AliCloud.GetZonesArgs
        {
            AvailableResourceCreation = "VSwitch",
        }));
        var defaultNetwork = new AliCloud.Vpc.Network("defaultNetwork", new AliCloud.Vpc.NetworkArgs
        {
            CidrBlock = "172.16.0.0/12",
        });
        var defaultSwitch = new AliCloud.Vpc.Switch("defaultSwitch", new AliCloud.Vpc.SwitchArgs
        {
            AvailabilityZone = defaultZones.Apply(defaultZones => defaultZones.Zones[0].Id),
            CidrBlock = "172.16.0.0/24",
            VpcId = defaultNetwork.Id,
        });
        var defaultInstance = new AliCloud.AliKafka.Instance("defaultInstance", new AliCloud.AliKafka.InstanceArgs
        {
            DeployType = 5,
            DiskSize = 500,
            DiskType = 1,
            IoMax = 20,
            TopicQuota = 50,
            VswitchId = defaultSwitch.Id,
        });
        var defaultTopic = new AliCloud.AliKafka.Topic("defaultTopic", new AliCloud.AliKafka.TopicArgs
        {
            InstanceId = defaultInstance.Id,
            Remark = "topic-remark",
            Topic = "test-topic",
        });
        var defaultSaslUser = new AliCloud.AliKafka.SaslUser("defaultSaslUser", new AliCloud.AliKafka.SaslUserArgs
        {
            InstanceId = defaultInstance.Id,
            Password = password,
            Username = username,
        });
        var defaultSaslAcl = new AliCloud.AliKafka.SaslAcl("defaultSaslAcl", new AliCloud.AliKafka.SaslAclArgs
        {
            AclOperationType = "Write",
            AclResourceName = defaultTopic.TopicName,
            AclResourcePatternType = "LITERAL",
            AclResourceType = "Topic",
            InstanceId = defaultInstance.Id,
            Username = defaultSaslUser.Username,
        });
    }

}

Coming soon!

import pulumi
import pulumi_alicloud as alicloud

config = pulumi.Config()
username = config.get("username")
if username is None:
    username = "testusername"
password = config.get("password")
if password is None:
    password = "testpassword"
default_zones = alicloud.get_zones(available_resource_creation="VSwitch")
default_network = alicloud.vpc.Network("defaultNetwork", cidr_block="172.16.0.0/12")
default_switch = alicloud.vpc.Switch("defaultSwitch",
    availability_zone=default_zones.zones[0]["id"],
    cidr_block="172.16.0.0/24",
    vpc_id=default_network.id)
default_instance = alicloud.alikafka.Instance("defaultInstance",
    deploy_type="5",
    disk_size="500",
    disk_type="1",
    io_max="20",
    topic_quota="50",
    vswitch_id=default_switch.id)
default_topic = alicloud.alikafka.Topic("defaultTopic",
    instance_id=default_instance.id,
    remark="topic-remark",
    topic="test-topic")
default_sasl_user = alicloud.alikafka.SaslUser("defaultSaslUser",
    instance_id=default_instance.id,
    password=password,
    username=username)
default_sasl_acl = alicloud.alikafka.SaslAcl("defaultSaslAcl",
    acl_operation_type="Write",
    acl_resource_name=default_topic.topic,
    acl_resource_pattern_type="LITERAL",
    acl_resource_type="Topic",
    instance_id=default_instance.id,
    username=default_sasl_user.username)
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const username = config.get("username") || "testusername";
const password = config.get("password") || "testpassword";

const defaultZones = pulumi.output(alicloud.getZones({
    availableResourceCreation: "VSwitch",
}, { async: true }));
const defaultNetwork = new alicloud.vpc.Network("default", {
    cidrBlock: "172.16.0.0/12",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "172.16.0.0/24",
    vpcId: defaultNetwork.id,
});
const defaultInstance = new alicloud.alikafka.Instance("default", {
    deployType: 5,
    diskSize: 500,
    diskType: 1,
    ioMax: 20,
    topicQuota: 50,
    vswitchId: defaultSwitch.id,
});
const defaultTopic = new alicloud.alikafka.Topic("default", {
    instanceId: defaultInstance.id,
    remark: "topic-remark",
    topic: "test-topic",
});
const defaultSaslUser = new alicloud.alikafka.SaslUser("default", {
    instanceId: defaultInstance.id,
    password: password,
    username: username,
});
const defaultSaslAcl = new alicloud.alikafka.SaslAcl("default", {
    aclOperationType: "Write",
    aclResourceName: defaultTopic.topic,
    aclResourcePatternType: "LITERAL",
    aclResourceType: "Topic",
    instanceId: defaultInstance.id,
    username: defaultSaslUser.username,
});

Create a SaslAcl Resource

new SaslAcl(name: string, args: SaslAclArgs, opts?: CustomResourceOptions);
def SaslAcl(resource_name, opts=None, acl_operation_type=None, acl_resource_name=None, acl_resource_pattern_type=None, acl_resource_type=None, instance_id=None, username=None, __props__=None);
func NewSaslAcl(ctx *Context, name string, args SaslAclArgs, opts ...ResourceOption) (*SaslAcl, error)
public SaslAcl(string name, SaslAclArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args SaslAclArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args SaslAclArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args SaslAclArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

SaslAcl Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The SaslAcl resource accepts the following input properties:

AclOperationType string

Operation type for this acl. The operation type can only be “Write” and “Read”.

AclResourceName string

Resource name for this acl. The resource name should be a topic or consumer group name.

AclResourcePatternType string

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.

AclResourceType string

Resource type for this acl. The resource type can only be “Topic” and “Group”.

InstanceId string

ID of the ALIKAFKA Instance that owns the groups.

Username string

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

AclOperationType string

Operation type for this acl. The operation type can only be “Write” and “Read”.

AclResourceName string

Resource name for this acl. The resource name should be a topic or consumer group name.

AclResourcePatternType string

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.

AclResourceType string

Resource type for this acl. The resource type can only be “Topic” and “Group”.

InstanceId string

ID of the ALIKAFKA Instance that owns the groups.

Username string

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

aclOperationType string

Operation type for this acl. The operation type can only be “Write” and “Read”.

aclResourceName string

Resource name for this acl. The resource name should be a topic or consumer group name.

aclResourcePatternType string

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.

aclResourceType string

Resource type for this acl. The resource type can only be “Topic” and “Group”.

instanceId string

ID of the ALIKAFKA Instance that owns the groups.

username string

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

acl_operation_type str

Operation type for this acl. The operation type can only be “Write” and “Read”.

acl_resource_name str

Resource name for this acl. The resource name should be a topic or consumer group name.

acl_resource_pattern_type str

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.

acl_resource_type str

Resource type for this acl. The resource type can only be “Topic” and “Group”.

instance_id str

ID of the ALIKAFKA Instance that owns the groups.

username str

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

Outputs

All input properties are implicitly available as output properties. Additionally, the SaslAcl resource produces the following output properties:

Host string

The host of the acl.

Id string
The provider-assigned unique ID for this managed resource.
Host string

The host of the acl.

Id string
The provider-assigned unique ID for this managed resource.
host string

The host of the acl.

id string
The provider-assigned unique ID for this managed resource.
host str

The host of the acl.

id str
The provider-assigned unique ID for this managed resource.

Look up an Existing SaslAcl Resource

Get an existing SaslAcl resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: SaslAclState, opts?: CustomResourceOptions): SaslAcl
static get(resource_name, id, opts=None, acl_operation_type=None, acl_resource_name=None, acl_resource_pattern_type=None, acl_resource_type=None, host=None, instance_id=None, username=None, __props__=None);
func GetSaslAcl(ctx *Context, name string, id IDInput, state *SaslAclState, opts ...ResourceOption) (*SaslAcl, error)
public static SaslAcl Get(string name, Input<string> id, SaslAclState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

AclOperationType string

Operation type for this acl. The operation type can only be “Write” and “Read”.

AclResourceName string

Resource name for this acl. The resource name should be a topic or consumer group name.

AclResourcePatternType string

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.

AclResourceType string

Resource type for this acl. The resource type can only be “Topic” and “Group”.

Host string

The host of the acl.

InstanceId string

ID of the ALIKAFKA Instance that owns the groups.

Username string

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

AclOperationType string

Operation type for this acl. The operation type can only be “Write” and “Read”.

AclResourceName string

Resource name for this acl. The resource name should be a topic or consumer group name.

AclResourcePatternType string

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.

AclResourceType string

Resource type for this acl. The resource type can only be “Topic” and “Group”.

Host string

The host of the acl.

InstanceId string

ID of the ALIKAFKA Instance that owns the groups.

Username string

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

aclOperationType string

Operation type for this acl. The operation type can only be “Write” and “Read”.

aclResourceName string

Resource name for this acl. The resource name should be a topic or consumer group name.

aclResourcePatternType string

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.

aclResourceType string

Resource type for this acl. The resource type can only be “Topic” and “Group”.

host string

The host of the acl.

instanceId string

ID of the ALIKAFKA Instance that owns the groups.

username string

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

acl_operation_type str

Operation type for this acl. The operation type can only be “Write” and “Read”.

acl_resource_name str

Resource name for this acl. The resource name should be a topic or consumer group name.

acl_resource_pattern_type str

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.

acl_resource_type str

Resource type for this acl. The resource type can only be “Topic” and “Group”.

host str

The host of the acl.

instance_id str

ID of the ALIKAFKA Instance that owns the groups.

username str

Username for the sasl user. The length should between 1 to 64 characters. The user should be an existed sasl user.

Package Details

Repository
https://github.com/pulumi/pulumi-alicloud
License
Apache-2.0
Notes
This Pulumi package is based on the alicloud Terraform Provider.