1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. actiontrail
  5. getSaslUsers
Alibaba Cloud v3.86.1 published on Saturday, Sep 27, 2025 by Pulumi

alicloud.actiontrail.getSaslUsers

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.86.1 published on Saturday, Sep 27, 2025 by Pulumi

    This data source provides the Alikafka Sasl Users of the current Alibaba Cloud user.

    NOTE: Available since v1.66.0.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    
    const config = new pulumi.Config();
    const name = config.get("name") || "terraform-example";
    const _default = alicloud.getZones({
        availableResourceCreation: "VSwitch",
    });
    const defaultNetwork = new alicloud.vpc.Network("default", {
        vpcName: name,
        cidrBlock: "10.4.0.0/16",
    });
    const defaultSwitch = new alicloud.vpc.Switch("default", {
        vswitchName: name,
        vpcId: defaultNetwork.id,
        cidrBlock: "10.4.0.0/24",
        zoneId: _default.then(_default => _default.zones?.[0]?.id),
    });
    const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {vpcId: defaultNetwork.id});
    const defaultInstance = new alicloud.alikafka.Instance("default", {
        name: name,
        partitionNum: 50,
        diskType: 1,
        diskSize: 500,
        deployType: 5,
        ioMax: 20,
        specType: "professional",
        serviceVersion: "2.2.0",
        vswitchId: defaultSwitch.id,
        securityGroup: defaultSecurityGroup.id,
        config: `  {
        \\"enable.acl\\": \\"true\\"
      }
    `,
    });
    const defaultSaslUser = new alicloud.alikafka.SaslUser("default", {
        instanceId: defaultInstance.id,
        username: name,
        password: "YourPassword1234!",
    });
    const ids = alicloud.actiontrail.getSaslUsersOutput({
        ids: [defaultSaslUser.id],
        instanceId: defaultSaslUser.instanceId,
    });
    export const alikafkaSaslUsersId0 = ids.apply(ids => ids.users?.[0]?.id);
    
    import pulumi
    import pulumi_alicloud as alicloud
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "terraform-example"
    default = alicloud.get_zones(available_resource_creation="VSwitch")
    default_network = alicloud.vpc.Network("default",
        vpc_name=name,
        cidr_block="10.4.0.0/16")
    default_switch = alicloud.vpc.Switch("default",
        vswitch_name=name,
        vpc_id=default_network.id,
        cidr_block="10.4.0.0/24",
        zone_id=default.zones[0].id)
    default_security_group = alicloud.ecs.SecurityGroup("default", vpc_id=default_network.id)
    default_instance = alicloud.alikafka.Instance("default",
        name=name,
        partition_num=50,
        disk_type=1,
        disk_size=500,
        deploy_type=5,
        io_max=20,
        spec_type="professional",
        service_version="2.2.0",
        vswitch_id=default_switch.id,
        security_group=default_security_group.id,
        config="""  {
        \"enable.acl\": \"true\"
      }
    """)
    default_sasl_user = alicloud.alikafka.SaslUser("default",
        instance_id=default_instance.id,
        username=name,
        password="YourPassword1234!")
    ids = alicloud.actiontrail.get_sasl_users_output(ids=[default_sasl_user.id],
        instance_id=default_sasl_user.instance_id)
    pulumi.export("alikafkaSaslUsersId0", ids.users[0].id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/actiontrail"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/alikafka"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		cfg := config.New(ctx, "")
    		name := "terraform-example"
    		if param := cfg.Get("name"); param != "" {
    			name = param
    		}
    		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
    			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
    			VpcName:   pulumi.String(name),
    			CidrBlock: pulumi.String("10.4.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
    			VswitchName: pulumi.String(name),
    			VpcId:       defaultNetwork.ID(),
    			CidrBlock:   pulumi.String("10.4.0.0/24"),
    			ZoneId:      pulumi.String(_default.Zones[0].Id),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSecurityGroup, err := ecs.NewSecurityGroup(ctx, "default", &ecs.SecurityGroupArgs{
    			VpcId: defaultNetwork.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		defaultInstance, err := alikafka.NewInstance(ctx, "default", &alikafka.InstanceArgs{
    			Name:           pulumi.String(name),
    			PartitionNum:   pulumi.Int(50),
    			DiskType:       pulumi.Int(1),
    			DiskSize:       pulumi.Int(500),
    			DeployType:     pulumi.Int(5),
    			IoMax:          pulumi.Int(20),
    			SpecType:       pulumi.String("professional"),
    			ServiceVersion: pulumi.String("2.2.0"),
    			VswitchId:      defaultSwitch.ID(),
    			SecurityGroup:  defaultSecurityGroup.ID(),
    			Config:         pulumi.String("  {\n    \\\"enable.acl\\\": \\\"true\\\"\n  }\n"),
    		})
    		if err != nil {
    			return err
    		}
    		defaultSaslUser, err := alikafka.NewSaslUser(ctx, "default", &alikafka.SaslUserArgs{
    			InstanceId: defaultInstance.ID(),
    			Username:   pulumi.String(name),
    			Password:   pulumi.String("YourPassword1234!"),
    		})
    		if err != nil {
    			return err
    		}
    		ids := actiontrail.GetSaslUsersOutput(ctx, actiontrail.GetSaslUsersOutputArgs{
    			Ids: pulumi.StringArray{
    				defaultSaslUser.ID(),
    			},
    			InstanceId: defaultSaslUser.InstanceId,
    		}, nil)
    		ctx.Export("alikafkaSaslUsersId0", ids.ApplyT(func(ids actiontrail.GetSaslUsersResult) (*string, error) {
    			return &ids.Users[0].Id, nil
    		}).(pulumi.StringPtrOutput))
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var name = config.Get("name") ?? "terraform-example";
        var @default = AliCloud.GetZones.Invoke(new()
        {
            AvailableResourceCreation = "VSwitch",
        });
    
        var defaultNetwork = new AliCloud.Vpc.Network("default", new()
        {
            VpcName = name,
            CidrBlock = "10.4.0.0/16",
        });
    
        var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
        {
            VswitchName = name,
            VpcId = defaultNetwork.Id,
            CidrBlock = "10.4.0.0/24",
            ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
        });
    
        var defaultSecurityGroup = new AliCloud.Ecs.SecurityGroup("default", new()
        {
            VpcId = defaultNetwork.Id,
        });
    
        var defaultInstance = new AliCloud.AliKafka.Instance("default", new()
        {
            Name = name,
            PartitionNum = 50,
            DiskType = 1,
            DiskSize = 500,
            DeployType = 5,
            IoMax = 20,
            SpecType = "professional",
            ServiceVersion = "2.2.0",
            VswitchId = defaultSwitch.Id,
            SecurityGroup = defaultSecurityGroup.Id,
            Config = @"  {
        \""enable.acl\"": \""true\""
      }
    ",
        });
    
        var defaultSaslUser = new AliCloud.AliKafka.SaslUser("default", new()
        {
            InstanceId = defaultInstance.Id,
            Username = name,
            Password = "YourPassword1234!",
        });
    
        var ids = AliCloud.ActionTrail.GetSaslUsers.Invoke(new()
        {
            Ids = new[]
            {
                defaultSaslUser.Id,
            },
            InstanceId = defaultSaslUser.InstanceId,
        });
    
        return new Dictionary<string, object?>
        {
            ["alikafkaSaslUsersId0"] = ids.Apply(getSaslUsersResult => getSaslUsersResult.Users[0]?.Id),
        };
    });
    
    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.SaslUser;
    import com.pulumi.alicloud.alikafka.SaslUserArgs;
    import com.pulumi.alicloud.actiontrail.ActiontrailFunctions;
    import com.pulumi.alicloud.actiontrail.inputs.GetSaslUsersArgs;
    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 default = 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)
                .vpcId(defaultNetwork.id())
                .cidrBlock("10.4.0.0/24")
                .zoneId(default_.zones()[0].id())
                .build());
    
            var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
                .vpcId(defaultNetwork.id())
                .build());
    
            var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
                .name(name)
                .partitionNum(50)
                .diskType(1)
                .diskSize(500)
                .deployType(5)
                .ioMax(20)
                .specType("professional")
                .serviceVersion("2.2.0")
                .vswitchId(defaultSwitch.id())
                .securityGroup(defaultSecurityGroup.id())
                .config("""
      {
        \"enable.acl\": \"true\"
      }
                """)
                .build());
    
            var defaultSaslUser = new SaslUser("defaultSaslUser", SaslUserArgs.builder()
                .instanceId(defaultInstance.id())
                .username(name)
                .password("YourPassword1234!")
                .build());
    
            final var ids = ActiontrailFunctions.getSaslUsers(GetSaslUsersArgs.builder()
                .ids(defaultSaslUser.id())
                .instanceId(defaultSaslUser.instanceId())
                .build());
    
            ctx.export("alikafkaSaslUsersId0", ids.applyValue(_ids -> _ids.users()[0].id()));
        }
    }
    
    configuration:
      name:
        type: string
        default: terraform-example
    resources:
      defaultNetwork:
        type: alicloud:vpc:Network
        name: default
        properties:
          vpcName: ${name}
          cidrBlock: 10.4.0.0/16
      defaultSwitch:
        type: alicloud:vpc:Switch
        name: default
        properties:
          vswitchName: ${name}
          vpcId: ${defaultNetwork.id}
          cidrBlock: 10.4.0.0/24
          zoneId: ${default.zones[0].id}
      defaultSecurityGroup:
        type: alicloud:ecs:SecurityGroup
        name: default
        properties:
          vpcId: ${defaultNetwork.id}
      defaultInstance:
        type: alicloud:alikafka:Instance
        name: default
        properties:
          name: ${name}
          partitionNum: 50
          diskType: '1'
          diskSize: '500'
          deployType: '5'
          ioMax: '20'
          specType: professional
          serviceVersion: 2.2.0
          vswitchId: ${defaultSwitch.id}
          securityGroup: ${defaultSecurityGroup.id}
          config: |2
              {
                \"enable.acl\": \"true\"
              }
      defaultSaslUser:
        type: alicloud:alikafka:SaslUser
        name: default
        properties:
          instanceId: ${defaultInstance.id}
          username: ${name}
          password: YourPassword1234!
    variables:
      default:
        fn::invoke:
          function: alicloud:getZones
          arguments:
            availableResourceCreation: VSwitch
      ids:
        fn::invoke:
          function: alicloud:actiontrail:getSaslUsers
          arguments:
            ids:
              - ${defaultSaslUser.id}
            instanceId: ${defaultSaslUser.instanceId}
    outputs:
      alikafkaSaslUsersId0: ${ids.users[0].id}
    

    Using getSaslUsers

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getSaslUsers(args: GetSaslUsersArgs, opts?: InvokeOptions): Promise<GetSaslUsersResult>
    function getSaslUsersOutput(args: GetSaslUsersOutputArgs, opts?: InvokeOptions): Output<GetSaslUsersResult>
    def get_sasl_users(ids: Optional[Sequence[str]] = None,
                       instance_id: Optional[str] = None,
                       name_regex: Optional[str] = None,
                       output_file: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> GetSaslUsersResult
    def get_sasl_users_output(ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                       instance_id: Optional[pulumi.Input[str]] = None,
                       name_regex: Optional[pulumi.Input[str]] = None,
                       output_file: Optional[pulumi.Input[str]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetSaslUsersResult]
    func GetSaslUsers(ctx *Context, args *GetSaslUsersArgs, opts ...InvokeOption) (*GetSaslUsersResult, error)
    func GetSaslUsersOutput(ctx *Context, args *GetSaslUsersOutputArgs, opts ...InvokeOption) GetSaslUsersResultOutput

    > Note: This function is named GetSaslUsers in the Go SDK.

    public static class GetSaslUsers 
    {
        public static Task<GetSaslUsersResult> InvokeAsync(GetSaslUsersArgs args, InvokeOptions? opts = null)
        public static Output<GetSaslUsersResult> Invoke(GetSaslUsersInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetSaslUsersResult> getSaslUsers(GetSaslUsersArgs args, InvokeOptions options)
    public static Output<GetSaslUsersResult> getSaslUsers(GetSaslUsersArgs args, InvokeOptions options)
    
    fn::invoke:
      function: alicloud:actiontrail/getSaslUsers:getSaslUsers
      arguments:
        # arguments dictionary

    The following arguments are supported:

    InstanceId string
    The ID of the instance.
    Ids List<string>
    A list of Sasl User IDs.
    NameRegex string
    A regex string to filter results by Sasl User name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    InstanceId string
    The ID of the instance.
    Ids []string
    A list of Sasl User IDs.
    NameRegex string
    A regex string to filter results by Sasl User name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    instanceId String
    The ID of the instance.
    ids List<String>
    A list of Sasl User IDs.
    nameRegex String
    A regex string to filter results by Sasl User name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    instanceId string
    The ID of the instance.
    ids string[]
    A list of Sasl User IDs.
    nameRegex string
    A regex string to filter results by Sasl User name.
    outputFile string
    File name where to save data source results (after running pulumi preview).
    instance_id str
    The ID of the instance.
    ids Sequence[str]
    A list of Sasl User IDs.
    name_regex str
    A regex string to filter results by Sasl User name.
    output_file str
    File name where to save data source results (after running pulumi preview).
    instanceId String
    The ID of the instance.
    ids List<String>
    A list of Sasl User IDs.
    nameRegex String
    A regex string to filter results by Sasl User name.
    outputFile String
    File name where to save data source results (after running pulumi preview).

    getSaslUsers Result

    The following output properties are available:

    Id string
    The provider-assigned unique ID for this managed resource.
    Ids List<string>
    InstanceId string
    Names List<string>
    A list of Sasl User names.
    Users List<Pulumi.AliCloud.ActionTrail.Outputs.GetSaslUsersUser>
    A list of Sasl Users. Each element contains the following attributes:
    NameRegex string
    OutputFile string
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids []string
    InstanceId string
    Names []string
    A list of Sasl User names.
    Users []GetSaslUsersUser
    A list of Sasl Users. Each element contains the following attributes:
    NameRegex string
    OutputFile string
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    instanceId String
    names List<String>
    A list of Sasl User names.
    users List<GetSaslUsersUser>
    A list of Sasl Users. Each element contains the following attributes:
    nameRegex String
    outputFile String
    id string
    The provider-assigned unique ID for this managed resource.
    ids string[]
    instanceId string
    names string[]
    A list of Sasl User names.
    users GetSaslUsersUser[]
    A list of Sasl Users. Each element contains the following attributes:
    nameRegex string
    outputFile string
    id str
    The provider-assigned unique ID for this managed resource.
    ids Sequence[str]
    instance_id str
    names Sequence[str]
    A list of Sasl User names.
    users Sequence[GetSaslUsersUser]
    A list of Sasl Users. Each element contains the following attributes:
    name_regex str
    output_file str
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    instanceId String
    names List<String>
    A list of Sasl User names.
    users List<Property Map>
    A list of Sasl Users. Each element contains the following attributes:
    nameRegex String
    outputFile String

    Supporting Types

    GetSaslUsersUser

    Id string
    Password string
    The password of the user.
    Type string
    (Available since v1.260.0) The type of the user.
    Username string
    The username of the user.
    Id string
    Password string
    The password of the user.
    Type string
    (Available since v1.260.0) The type of the user.
    Username string
    The username of the user.
    id String
    password String
    The password of the user.
    type String
    (Available since v1.260.0) The type of the user.
    username String
    The username of the user.
    id string
    password string
    The password of the user.
    type string
    (Available since v1.260.0) The type of the user.
    username string
    The username of the user.
    id str
    password str
    The password of the user.
    type str
    (Available since v1.260.0) The type of the user.
    username str
    The username of the user.
    id String
    password String
    The password of the user.
    type String
    (Available since v1.260.0) The type of the user.
    username String
    The username of the user.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.86.1 published on Saturday, Sep 27, 2025 by Pulumi
      AI Agentic Workflows: Register now