User class

Provides a MemoryDB User.

More information about users and ACL-s can be found in the MemoryDB User Guide.

> Note: All arguments including the username and passwords will be stored in the raw state as plain-text.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as random from "@pulumi/random";

const example = new random.index.Password("example", {length: 16});
const exampleUser = new aws.memorydb.User("example", {
    authenticationMode: {
        type: "password",
        passwords: [example.result],
    },
    userName: "my-user",
    accessString: "on ~* &* +@all",
});
import pulumi
import pulumi_aws as aws
import pulumi_random as random

example = random.Password("example", length=16)
example_user = aws.memorydb.User("example",
    authentication_mode={
        "type": "password",
        "passwords": [example["result"]],
    },
    user_name="my-user",
    access_string="on ~* &* +@all")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
using Random = Pulumi.Random;

return await Deployment.RunAsync(() =>
{
    var example = new Random.Password("example", new()
    {
        Length = 16,
    });

    var exampleUser = new Aws.MemoryDb.User("example", new()
    {
        AuthenticationMode = new Aws.MemoryDb.Inputs.UserAuthenticationModeArgs
        {
            Type = "password",
            Passwords = new[]
            {
                example.Result,
            },
        },
        UserName = "my-user",
        AccessString = "on ~* &* +@all",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/memorydb"
	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := random.NewPassword(ctx, "example", &random.PasswordArgs{
			Length: 16,
		})
		if err != nil {
			return err
		}
		_, err = memorydb.NewUser(ctx, "example", &memorydb.UserArgs{
			AuthenticationMode: &memorydb.UserAuthenticationModeArgs{
				Type: pulumi.String("password"),
				Passwords: pulumi.StringArray{
					example.Result,
				},
			},
			UserName:     pulumi.String("my-user"),
			AccessString: pulumi.String("on ~* &* +@all"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
    random = {
      source = "pulumi/random"
    }
  }
}

resource "random_password" "example" {
  length = 16
}
resource "aws_memorydb_user" "example" {
  authentication_mode = {
    type      = "password"
    passwords = [random_password.example.result]
  }
  user_name     = "my-user"
  access_string = "on ~* &* +@all"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.Password;
import com.pulumi.random.PasswordArgs;
import com.pulumi.aws.memorydb.User;
import com.pulumi.aws.memorydb.UserArgs;
import com.pulumi.aws.memorydb.inputs.UserAuthenticationModeArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 example = new Password("example", PasswordArgs.builder()
            .length(16)
            .build());

        var exampleUser = new User("exampleUser", UserArgs.builder()
            .authenticationMode(UserAuthenticationModeArgs.builder()
                .type("password")
                .passwords(example.result())
                .build())
            .userName("my-user")
            .accessString("on ~* &* +@all")
            .build());

    }
}
resources:
  example:
    type: random:Password
    properties:
      length: 16
  exampleUser:
    type: aws:memorydb:User
    name: example
    properties:
      authenticationMode:
        type: password
        passwords:
          - ${example.result}
      userName: my-user
      accessString: on ~* &* +@all

Import

Using pulumi import, import a user using the userName. For example:

$ pulumi import aws:memorydb/user:User example my-user

The passwords are not available for imported resources, as this information cannot be read back from the MemoryDB API.

Constructors

User(String name, {UserArgs? args, CustomResourceOptions? options})
Creates a new User. name The Pulumi resource name. args Arguments used to configure this User. The set of arguments for User. options Resource options controlling this resource's behavior.
User.reference(String urn)
Creates a typed reference to an existing User resource.

Properties

accessString ↔ Output<String>
Access permissions string used for this user.
latefinal
arn ↔ Output<String>
ARN of the user.
latefinal
authenticationMode ↔ Output<UserAuthenticationMode>
Denotes the user's authentication properties. Detailed below.
latefinal
childResources Set<Resource>
finalinherited
completionSources Map<String, IOutputCompletionSource>
latefinalinherited
hashCode int
The hash code for this object.
no setterinherited
id ↔ Output<String>
getter/setter pairinherited
isCustom bool
Returns whether this resource is provider-managed.
no setterinherited
isProtected bool
Returns whether this resource is protected from deletion.
no setterinherited
isRemote bool
Whether this resource is registered as remote.
no setterinherited
isResourceReference bool
Whether this instance represents a resource value returned over RPC.
finalinherited
minimumEngineVersion ↔ Output<String>
Minimum engine version supported for the user.
latefinal
region ↔ Output<String>
Region where this resource will be managed. Defaults to the Region set in the provider configuration.
latefinal
resourceTransforms List<ResourceTransform>
Inherited/explicit async transforms.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
tags ↔ Output<Map<String, String>?>
A map of tags to assign to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
latefinal
tagsAll ↔ Output<Map<String, String>>
A map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
latefinal
transformations List<ResourceTransformation>
Inherited/explicit legacy transformations.
no setterinherited
urn ↔ Output<String>
latefinalinherited
userName ↔ Output<String>
Name of the MemoryDB user. Up to 40 characters.
latefinal

Methods

failId(Object error) → void
Completes this resource ID with an error when registration fails.
inherited
failOutputs(Object error) → void
Completes all output properties with error.
inherited
failUrn(Object error) → void
Completes this resource URN with an error when registration fails.
inherited
getProvider(String moduleMember) → ProviderResource?
Returns provider for moduleMember's package, if configured.
inherited
getResourceName() String
Returns this resource's logical name.
inherited
getResourceType() String
Returns this resource's Pulumi type token.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
registerOutput<T>(String propertyName, {Object? decoder(Object?)?, bool isSecret = false}) → Output<T>
Registers a dynamic output property for this resource.
inherited
resolveId(String? value, {required bool isKnown}) → void
Resolves the provider-assigned ID for this resource.
inherited
resolveOutputs(Struct outputs) → void
Resolves all output properties from a monitor response payload.
inherited
resolveUrn(String value) → void
Resolves this resource's URN once assigned by the engine.
inherited
serializeProperties(Map<String, dynamic> properties) Future<Struct>
Serializes resource properties for RPC transmission.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

get(String name, Input<String> id, {UserState? state, CustomResourceOptions? options}) User
Gets an existing User resource's state with the given name and id.