1. Packages
  2. Scaleway
  3. API Docs
  4. DatabaseUser
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

scaleway.DatabaseUser

Explore with Pulumi AI

scaleway logo
Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse

    Creates and manages database users. For more information refer to the API documentation.

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as random from "@pulumi/random";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = new scaleway.DatabaseInstance("main", {
        name: "test-rdb",
        nodeType: "DB-DEV-S",
        engine: "PostgreSQL-15",
        isHaCluster: true,
        disableBackup: true,
        userName: "my_initial_user",
        password: "thiZ_is_v&ry_s3cret",
    });
    const dbPassword = new random.RandomPassword("db_password", {
        length: 16,
        special: true,
    });
    const dbAdmin = new scaleway.DatabaseUser("db_admin", {
        instanceId: main.id,
        name: "devtools",
        password: dbPassword.result,
        isAdmin: true,
    });
    
    import pulumi
    import pulumi_random as random
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.DatabaseInstance("main",
        name="test-rdb",
        node_type="DB-DEV-S",
        engine="PostgreSQL-15",
        is_ha_cluster=True,
        disable_backup=True,
        user_name="my_initial_user",
        password="thiZ_is_v&ry_s3cret")
    db_password = random.RandomPassword("db_password",
        length=16,
        special=True)
    db_admin = scaleway.DatabaseUser("db_admin",
        instance_id=main.id,
        name="devtools",
        password=db_password.result,
        is_admin=True)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := scaleway.NewDatabaseInstance(ctx, "main", &scaleway.DatabaseInstanceArgs{
    			Name:          pulumi.String("test-rdb"),
    			NodeType:      pulumi.String("DB-DEV-S"),
    			Engine:        pulumi.String("PostgreSQL-15"),
    			IsHaCluster:   pulumi.Bool(true),
    			DisableBackup: pulumi.Bool(true),
    			UserName:      pulumi.String("my_initial_user"),
    			Password:      pulumi.String("thiZ_is_v&ry_s3cret"),
    		})
    		if err != nil {
    			return err
    		}
    		dbPassword, err := random.NewRandomPassword(ctx, "db_password", &random.RandomPasswordArgs{
    			Length:  pulumi.Int(16),
    			Special: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scaleway.NewDatabaseUser(ctx, "db_admin", &scaleway.DatabaseUserArgs{
    			InstanceId: main.ID(),
    			Name:       pulumi.String("devtools"),
    			Password:   dbPassword.Result,
    			IsAdmin:    pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Random = Pulumi.Random;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Scaleway.DatabaseInstance("main", new()
        {
            Name = "test-rdb",
            NodeType = "DB-DEV-S",
            Engine = "PostgreSQL-15",
            IsHaCluster = true,
            DisableBackup = true,
            UserName = "my_initial_user",
            Password = "thiZ_is_v&ry_s3cret",
        });
    
        var dbPassword = new Random.RandomPassword("db_password", new()
        {
            Length = 16,
            Special = true,
        });
    
        var dbAdmin = new Scaleway.DatabaseUser("db_admin", new()
        {
            InstanceId = main.Id,
            Name = "devtools",
            Password = dbPassword.Result,
            IsAdmin = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.DatabaseInstance;
    import com.pulumi.scaleway.DatabaseInstanceArgs;
    import com.pulumi.random.RandomPassword;
    import com.pulumi.random.RandomPasswordArgs;
    import com.pulumi.scaleway.DatabaseUser;
    import com.pulumi.scaleway.DatabaseUserArgs;
    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) {
            var main = new DatabaseInstance("main", DatabaseInstanceArgs.builder()
                .name("test-rdb")
                .nodeType("DB-DEV-S")
                .engine("PostgreSQL-15")
                .isHaCluster(true)
                .disableBackup(true)
                .userName("my_initial_user")
                .password("thiZ_is_v&ry_s3cret")
                .build());
    
            var dbPassword = new RandomPassword("dbPassword", RandomPasswordArgs.builder()
                .length(16)
                .special(true)
                .build());
    
            var dbAdmin = new DatabaseUser("dbAdmin", DatabaseUserArgs.builder()
                .instanceId(main.id())
                .name("devtools")
                .password(dbPassword.result())
                .isAdmin(true)
                .build());
    
        }
    }
    
    resources:
      main:
        type: scaleway:DatabaseInstance
        properties:
          name: test-rdb
          nodeType: DB-DEV-S
          engine: PostgreSQL-15
          isHaCluster: true
          disableBackup: true
          userName: my_initial_user
          password: thiZ_is_v&ry_s3cret
      dbPassword:
        type: random:RandomPassword
        name: db_password
        properties:
          length: 16
          special: true
      dbAdmin:
        type: scaleway:DatabaseUser
        name: db_admin
        properties:
          instanceId: ${main.id}
          name: devtools
          password: ${dbPassword.result}
          isAdmin: true
    

    Create DatabaseUser Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new DatabaseUser(name: string, args: DatabaseUserArgs, opts?: CustomResourceOptions);
    @overload
    def DatabaseUser(resource_name: str,
                     args: DatabaseUserArgs,
                     opts: Optional[ResourceOptions] = None)
    
    @overload
    def DatabaseUser(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     instance_id: Optional[str] = None,
                     password: Optional[str] = None,
                     is_admin: Optional[bool] = None,
                     name: Optional[str] = None,
                     region: Optional[str] = None)
    func NewDatabaseUser(ctx *Context, name string, args DatabaseUserArgs, opts ...ResourceOption) (*DatabaseUser, error)
    public DatabaseUser(string name, DatabaseUserArgs args, CustomResourceOptions? opts = null)
    public DatabaseUser(String name, DatabaseUserArgs args)
    public DatabaseUser(String name, DatabaseUserArgs args, CustomResourceOptions options)
    
    type: scaleway:DatabaseUser
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DatabaseUserArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DatabaseUserArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DatabaseUserArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DatabaseUserArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DatabaseUserArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var databaseUserResource = new Scaleway.DatabaseUser("databaseUserResource", new()
    {
        InstanceId = "string",
        Password = "string",
        IsAdmin = false,
        Name = "string",
        Region = "string",
    });
    
    example, err := scaleway.NewDatabaseUser(ctx, "databaseUserResource", &scaleway.DatabaseUserArgs{
    	InstanceId: pulumi.String("string"),
    	Password:   pulumi.String("string"),
    	IsAdmin:    pulumi.Bool(false),
    	Name:       pulumi.String("string"),
    	Region:     pulumi.String("string"),
    })
    
    var databaseUserResource = new DatabaseUser("databaseUserResource", DatabaseUserArgs.builder()
        .instanceId("string")
        .password("string")
        .isAdmin(false)
        .name("string")
        .region("string")
        .build());
    
    database_user_resource = scaleway.DatabaseUser("databaseUserResource",
        instance_id="string",
        password="string",
        is_admin=False,
        name="string",
        region="string")
    
    const databaseUserResource = new scaleway.DatabaseUser("databaseUserResource", {
        instanceId: "string",
        password: "string",
        isAdmin: false,
        name: "string",
        region: "string",
    });
    
    type: scaleway:DatabaseUser
    properties:
        instanceId: string
        isAdmin: false
        name: string
        password: string
        region: string
    

    DatabaseUser Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The DatabaseUser resource accepts the following input properties:

    InstanceId string

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    Password string
    database user password.
    IsAdmin bool
    Grant admin permissions to the database user.
    Name string

    database user name.

    Important: Updates to name will recreate the database user.

    Region string
    The Scaleway region this resource resides in.
    InstanceId string

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    Password string
    database user password.
    IsAdmin bool
    Grant admin permissions to the database user.
    Name string

    database user name.

    Important: Updates to name will recreate the database user.

    Region string
    The Scaleway region this resource resides in.
    instanceId String

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    password String
    database user password.
    isAdmin Boolean
    Grant admin permissions to the database user.
    name String

    database user name.

    Important: Updates to name will recreate the database user.

    region String
    The Scaleway region this resource resides in.
    instanceId string

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    password string
    database user password.
    isAdmin boolean
    Grant admin permissions to the database user.
    name string

    database user name.

    Important: Updates to name will recreate the database user.

    region string
    The Scaleway region this resource resides in.
    instance_id str

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    password str
    database user password.
    is_admin bool
    Grant admin permissions to the database user.
    name str

    database user name.

    Important: Updates to name will recreate the database user.

    region str
    The Scaleway region this resource resides in.
    instanceId String

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    password String
    database user password.
    isAdmin Boolean
    Grant admin permissions to the database user.
    name String

    database user name.

    Important: Updates to name will recreate the database user.

    region String
    The Scaleway region this resource resides in.

    Outputs

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

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

    Look up Existing DatabaseUser Resource

    Get an existing DatabaseUser 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?: DatabaseUserState, opts?: CustomResourceOptions): DatabaseUser
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            instance_id: Optional[str] = None,
            is_admin: Optional[bool] = None,
            name: Optional[str] = None,
            password: Optional[str] = None,
            region: Optional[str] = None) -> DatabaseUser
    func GetDatabaseUser(ctx *Context, name string, id IDInput, state *DatabaseUserState, opts ...ResourceOption) (*DatabaseUser, error)
    public static DatabaseUser Get(string name, Input<string> id, DatabaseUserState? state, CustomResourceOptions? opts = null)
    public static DatabaseUser get(String name, Output<String> id, DatabaseUserState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    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.
    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:
    InstanceId string

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    IsAdmin bool
    Grant admin permissions to the database user.
    Name string

    database user name.

    Important: Updates to name will recreate the database user.

    Password string
    database user password.
    Region string
    The Scaleway region this resource resides in.
    InstanceId string

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    IsAdmin bool
    Grant admin permissions to the database user.
    Name string

    database user name.

    Important: Updates to name will recreate the database user.

    Password string
    database user password.
    Region string
    The Scaleway region this resource resides in.
    instanceId String

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    isAdmin Boolean
    Grant admin permissions to the database user.
    name String

    database user name.

    Important: Updates to name will recreate the database user.

    password String
    database user password.
    region String
    The Scaleway region this resource resides in.
    instanceId string

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    isAdmin boolean
    Grant admin permissions to the database user.
    name string

    database user name.

    Important: Updates to name will recreate the database user.

    password string
    database user password.
    region string
    The Scaleway region this resource resides in.
    instance_id str

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    is_admin bool
    Grant admin permissions to the database user.
    name str

    database user name.

    Important: Updates to name will recreate the database user.

    password str
    database user password.
    region str
    The Scaleway region this resource resides in.
    instanceId String

    UUID of the Database Instance.

    Important: Updates to instance_id will recreate the database user.

    isAdmin Boolean
    Grant admin permissions to the database user.
    name String

    database user name.

    Important: Updates to name will recreate the database user.

    password String
    database user password.
    region String
    The Scaleway region this resource resides in.

    Import

    Database users can be imported using {region}/{instance_id}/{user_name}, e.g.

    bash

    $ pulumi import scaleway:index/databaseUser:DatabaseUser admin fr-par/11111111-1111-1111-1111-111111111111/admin
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Scaleway v1.20.0 published on Monday, Nov 4, 2024 by pulumiverse