1. Packages
  2. Volcengine
  3. API Docs
  4. redis
  5. Accounts
Volcengine v0.0.26 published on Friday, Sep 13, 2024 by Volcengine

volcengine.redis.Accounts

Explore with Pulumi AI

volcengine logo
Volcengine v0.0.26 published on Friday, Sep 13, 2024 by Volcengine

    Use this data source to query detailed information of redis accounts

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Volcengine = Pulumi.Volcengine;
    
    return await Deployment.RunAsync(() => 
    {
        var fooZones = Volcengine.Ecs.Zones.Invoke();
    
        var fooVpc = new Volcengine.Vpc.Vpc("fooVpc", new()
        {
            VpcName = "acc-test-vpc",
            CidrBlock = "172.16.0.0/16",
        });
    
        var fooSubnet = new Volcengine.Vpc.Subnet("fooSubnet", new()
        {
            SubnetName = "acc-test-subnet",
            CidrBlock = "172.16.0.0/24",
            ZoneId = fooZones.Apply(zonesResult => zonesResult.Zones[0]?.Id),
            VpcId = fooVpc.Id,
        });
    
        var fooInstance = new Volcengine.Redis.Instance("fooInstance", new()
        {
            ZoneIds = new[]
            {
                fooZones.Apply(zonesResult => zonesResult.Zones[0]?.Id),
            },
            InstanceName = "acc-test-tf-redis",
            ShardedCluster = 1,
            Password = "1qaz!QAZ12",
            NodeNumber = 2,
            ShardCapacity = 1024,
            ShardNumber = 2,
            EngineVersion = "5.0",
            SubnetId = fooSubnet.Id,
            DeletionProtection = "disabled",
            VpcAuthMode = "close",
            ChargeType = "PostPaid",
            Port = 6381,
            ProjectName = "default",
        });
    
        var fooAccount = new Volcengine.Redis.Account("fooAccount", new()
        {
            AccountName = "acc_test_account",
            InstanceId = fooInstance.Id,
            Password = "Password@@",
            RoleName = "ReadOnly",
        });
    
        var fooAccounts = Volcengine.Redis.Accounts.Invoke(new()
        {
            AccountName = fooAccount.AccountName,
            InstanceId = fooInstance.Id,
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/ecs"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/redis"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vpc"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fooZones, err := ecs.Zones(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		fooVpc, err := vpc.NewVpc(ctx, "fooVpc", &vpc.VpcArgs{
    			VpcName:   pulumi.String("acc-test-vpc"),
    			CidrBlock: pulumi.String("172.16.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		fooSubnet, err := vpc.NewSubnet(ctx, "fooSubnet", &vpc.SubnetArgs{
    			SubnetName: pulumi.String("acc-test-subnet"),
    			CidrBlock:  pulumi.String("172.16.0.0/24"),
    			ZoneId:     *pulumi.String(fooZones.Zones[0].Id),
    			VpcId:      fooVpc.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		fooInstance, err := redis.NewInstance(ctx, "fooInstance", &redis.InstanceArgs{
    			ZoneIds: pulumi.StringArray{
    				*pulumi.String(fooZones.Zones[0].Id),
    			},
    			InstanceName:       pulumi.String("acc-test-tf-redis"),
    			ShardedCluster:     pulumi.Int(1),
    			Password:           pulumi.String("1qaz!QAZ12"),
    			NodeNumber:         pulumi.Int(2),
    			ShardCapacity:      pulumi.Int(1024),
    			ShardNumber:        pulumi.Int(2),
    			EngineVersion:      pulumi.String("5.0"),
    			SubnetId:           fooSubnet.ID(),
    			DeletionProtection: pulumi.String("disabled"),
    			VpcAuthMode:        pulumi.String("close"),
    			ChargeType:         pulumi.String("PostPaid"),
    			Port:               pulumi.Int(6381),
    			ProjectName:        pulumi.String("default"),
    		})
    		if err != nil {
    			return err
    		}
    		fooAccount, err := redis.NewAccount(ctx, "fooAccount", &redis.AccountArgs{
    			AccountName: pulumi.String("acc_test_account"),
    			InstanceId:  fooInstance.ID(),
    			Password:    pulumi.String("Password@@"),
    			RoleName:    pulumi.String("ReadOnly"),
    		})
    		if err != nil {
    			return err
    		}
    		_ = redis.AccountsOutput(ctx, redis.AccountsOutputArgs{
    			AccountName: fooAccount.AccountName,
    			InstanceId:  fooInstance.ID(),
    		}, nil)
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.volcengine.ecs.EcsFunctions;
    import com.pulumi.volcengine.ecs.inputs.ZonesArgs;
    import com.pulumi.volcengine.vpc.Vpc;
    import com.pulumi.volcengine.vpc.VpcArgs;
    import com.pulumi.volcengine.vpc.Subnet;
    import com.pulumi.volcengine.vpc.SubnetArgs;
    import com.pulumi.volcengine.redis.Instance;
    import com.pulumi.volcengine.redis.InstanceArgs;
    import com.pulumi.volcengine.redis.Account;
    import com.pulumi.volcengine.redis.AccountArgs;
    import com.pulumi.volcengine.redis.RedisFunctions;
    import com.pulumi.volcengine.redis.inputs.AccountsArgs;
    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 fooZones = EcsFunctions.Zones();
    
            var fooVpc = new Vpc("fooVpc", VpcArgs.builder()        
                .vpcName("acc-test-vpc")
                .cidrBlock("172.16.0.0/16")
                .build());
    
            var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder()        
                .subnetName("acc-test-subnet")
                .cidrBlock("172.16.0.0/24")
                .zoneId(fooZones.applyValue(zonesResult -> zonesResult.zones()[0].id()))
                .vpcId(fooVpc.id())
                .build());
    
            var fooInstance = new Instance("fooInstance", InstanceArgs.builder()        
                .zoneIds(fooZones.applyValue(zonesResult -> zonesResult.zones()[0].id()))
                .instanceName("acc-test-tf-redis")
                .shardedCluster(1)
                .password("1qaz!QAZ12")
                .nodeNumber(2)
                .shardCapacity(1024)
                .shardNumber(2)
                .engineVersion("5.0")
                .subnetId(fooSubnet.id())
                .deletionProtection("disabled")
                .vpcAuthMode("close")
                .chargeType("PostPaid")
                .port(6381)
                .projectName("default")
                .build());
    
            var fooAccount = new Account("fooAccount", AccountArgs.builder()        
                .accountName("acc_test_account")
                .instanceId(fooInstance.id())
                .password("Password@@")
                .roleName("ReadOnly")
                .build());
    
            final var fooAccounts = RedisFunctions.Accounts(AccountsArgs.builder()
                .accountName(fooAccount.accountName())
                .instanceId(fooInstance.id())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_volcengine as volcengine
    
    foo_zones = volcengine.ecs.zones()
    foo_vpc = volcengine.vpc.Vpc("fooVpc",
        vpc_name="acc-test-vpc",
        cidr_block="172.16.0.0/16")
    foo_subnet = volcengine.vpc.Subnet("fooSubnet",
        subnet_name="acc-test-subnet",
        cidr_block="172.16.0.0/24",
        zone_id=foo_zones.zones[0].id,
        vpc_id=foo_vpc.id)
    foo_instance = volcengine.redis.Instance("fooInstance",
        zone_ids=[foo_zones.zones[0].id],
        instance_name="acc-test-tf-redis",
        sharded_cluster=1,
        password="1qaz!QAZ12",
        node_number=2,
        shard_capacity=1024,
        shard_number=2,
        engine_version="5.0",
        subnet_id=foo_subnet.id,
        deletion_protection="disabled",
        vpc_auth_mode="close",
        charge_type="PostPaid",
        port=6381,
        project_name="default")
    foo_account = volcengine.redis.Account("fooAccount",
        account_name="acc_test_account",
        instance_id=foo_instance.id,
        password="Password@@",
        role_name="ReadOnly")
    foo_accounts = volcengine.redis.accounts_output(account_name=foo_account.account_name,
        instance_id=foo_instance.id)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as volcengine from "@pulumi/volcengine";
    import * as volcengine from "@volcengine/pulumi";
    
    const fooZones = volcengine.ecs.Zones({});
    const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
        vpcName: "acc-test-vpc",
        cidrBlock: "172.16.0.0/16",
    });
    const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
        subnetName: "acc-test-subnet",
        cidrBlock: "172.16.0.0/24",
        zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
        vpcId: fooVpc.id,
    });
    const fooInstance = new volcengine.redis.Instance("fooInstance", {
        zoneIds: [fooZones.then(fooZones => fooZones.zones?.[0]?.id)],
        instanceName: "acc-test-tf-redis",
        shardedCluster: 1,
        password: "1qaz!QAZ12",
        nodeNumber: 2,
        shardCapacity: 1024,
        shardNumber: 2,
        engineVersion: "5.0",
        subnetId: fooSubnet.id,
        deletionProtection: "disabled",
        vpcAuthMode: "close",
        chargeType: "PostPaid",
        port: 6381,
        projectName: "default",
    });
    const fooAccount = new volcengine.redis.Account("fooAccount", {
        accountName: "acc_test_account",
        instanceId: fooInstance.id,
        password: "Password@@",
        roleName: "ReadOnly",
    });
    const fooAccounts = volcengine.redis.AccountsOutput({
        accountName: fooAccount.accountName,
        instanceId: fooInstance.id,
    });
    
    resources:
      fooVpc:
        type: volcengine:vpc:Vpc
        properties:
          vpcName: acc-test-vpc
          cidrBlock: 172.16.0.0/16
      fooSubnet:
        type: volcengine:vpc:Subnet
        properties:
          subnetName: acc-test-subnet
          cidrBlock: 172.16.0.0/24
          zoneId: ${fooZones.zones[0].id}
          vpcId: ${fooVpc.id}
      fooInstance:
        type: volcengine:redis:Instance
        properties:
          zoneIds:
            - ${fooZones.zones[0].id}
          instanceName: acc-test-tf-redis
          shardedCluster: 1
          password: 1qaz!QAZ12
          nodeNumber: 2
          shardCapacity: 1024
          shardNumber: 2
          engineVersion: '5.0'
          subnetId: ${fooSubnet.id}
          deletionProtection: disabled
          vpcAuthMode: close
          chargeType: PostPaid
          port: 6381
          projectName: default
      fooAccount:
        type: volcengine:redis:Account
        properties:
          accountName: acc_test_account
          instanceId: ${fooInstance.id}
          password: Password@@
          roleName: ReadOnly
    variables:
      fooZones:
        fn::invoke:
          Function: volcengine:ecs:Zones
          Arguments: {}
      fooAccounts:
        fn::invoke:
          Function: volcengine:redis:Accounts
          Arguments:
            accountName: ${fooAccount.accountName}
            instanceId: ${fooInstance.id}
    

    Using Accounts

    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 accounts(args: AccountsArgs, opts?: InvokeOptions): Promise<AccountsResult>
    function accountsOutput(args: AccountsOutputArgs, opts?: InvokeOptions): Output<AccountsResult>
    def accounts(account_name: Optional[str] = None,
                 instance_id: Optional[str] = None,
                 output_file: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> AccountsResult
    def accounts_output(account_name: Optional[pulumi.Input[str]] = None,
                 instance_id: Optional[pulumi.Input[str]] = None,
                 output_file: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[AccountsResult]
    func Accounts(ctx *Context, args *AccountsArgs, opts ...InvokeOption) (*AccountsResult, error)
    func AccountsOutput(ctx *Context, args *AccountsOutputArgs, opts ...InvokeOption) AccountsResultOutput
    public static class Accounts 
    {
        public static Task<AccountsResult> InvokeAsync(AccountsArgs args, InvokeOptions? opts = null)
        public static Output<AccountsResult> Invoke(AccountsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<AccountsResult> accounts(AccountsArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: volcengine:redis:Accounts
      arguments:
        # arguments dictionary

    The following arguments are supported:

    InstanceId string
    The id of the Redis instance.
    AccountName string
    The name of the redis account.
    OutputFile string
    File name where to save data source results.
    InstanceId string
    The id of the Redis instance.
    AccountName string
    The name of the redis account.
    OutputFile string
    File name where to save data source results.
    instanceId String
    The id of the Redis instance.
    accountName String
    The name of the redis account.
    outputFile String
    File name where to save data source results.
    instanceId string
    The id of the Redis instance.
    accountName string
    The name of the redis account.
    outputFile string
    File name where to save data source results.
    instance_id str
    The id of the Redis instance.
    account_name str
    The name of the redis account.
    output_file str
    File name where to save data source results.
    instanceId String
    The id of the Redis instance.
    accountName String
    The name of the redis account.
    outputFile String
    File name where to save data source results.

    Accounts Result

    The following output properties are available:

    Accounts List<AccountsAccount>
    The collection of redis instance account query.
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceId string
    The id of instance.
    TotalCount int
    The total count of redis accounts query.
    AccountName string
    The name of the redis account.
    OutputFile string
    Accounts []AccountsAccount
    The collection of redis instance account query.
    Id string
    The provider-assigned unique ID for this managed resource.
    InstanceId string
    The id of instance.
    TotalCount int
    The total count of redis accounts query.
    AccountName string
    The name of the redis account.
    OutputFile string
    accounts List<AccountsAccount>
    The collection of redis instance account query.
    id String
    The provider-assigned unique ID for this managed resource.
    instanceId String
    The id of instance.
    totalCount Integer
    The total count of redis accounts query.
    accountName String
    The name of the redis account.
    outputFile String
    accounts AccountsAccount[]
    The collection of redis instance account query.
    id string
    The provider-assigned unique ID for this managed resource.
    instanceId string
    The id of instance.
    totalCount number
    The total count of redis accounts query.
    accountName string
    The name of the redis account.
    outputFile string
    accounts Sequence[AccountsAccount]
    The collection of redis instance account query.
    id str
    The provider-assigned unique ID for this managed resource.
    instance_id str
    The id of instance.
    total_count int
    The total count of redis accounts query.
    account_name str
    The name of the redis account.
    output_file str
    accounts List<Property Map>
    The collection of redis instance account query.
    id String
    The provider-assigned unique ID for this managed resource.
    instanceId String
    The id of instance.
    totalCount Number
    The total count of redis accounts query.
    accountName String
    The name of the redis account.
    outputFile String

    Supporting Types

    AccountsAccount

    AccountName string
    The name of the redis account.
    Description string
    The description of the redis account.
    InstanceId string
    The id of the Redis instance.
    RoleName string
    The role info.
    AccountName string
    The name of the redis account.
    Description string
    The description of the redis account.
    InstanceId string
    The id of the Redis instance.
    RoleName string
    The role info.
    accountName String
    The name of the redis account.
    description String
    The description of the redis account.
    instanceId String
    The id of the Redis instance.
    roleName String
    The role info.
    accountName string
    The name of the redis account.
    description string
    The description of the redis account.
    instanceId string
    The id of the Redis instance.
    roleName string
    The role info.
    account_name str
    The name of the redis account.
    description str
    The description of the redis account.
    instance_id str
    The id of the Redis instance.
    role_name str
    The role info.
    accountName String
    The name of the redis account.
    description String
    The description of the redis account.
    instanceId String
    The id of the Redis instance.
    roleName String
    The role info.

    Package Details

    Repository
    volcengine volcengine/pulumi-volcengine
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the volcengine Terraform Provider.
    volcengine logo
    Volcengine v0.0.26 published on Friday, Sep 13, 2024 by Volcengine