Skip to content

Namespace

Source: src/AWS/RedshiftServerless/Namespace.ts

An Amazon Redshift Serverless namespace — the storage-and-database half of a serverless data warehouse.

A namespace holds databases, schemas, tables, admin credentials, and IAM roles. Compute is provided separately by a Workgroup that points at the namespace. Creating a namespace is quick (~1 minute); the provider waits (bounded) for it to become AVAILABLE.

Inline Admin Credentials

const namespace = yield* RedshiftServerless.Namespace("Analytics", {
dbName: "analytics",
adminUsername: "admin",
adminUserPassword: Redacted.make("SuperSecret123!"),
});

Secrets-Manager-Managed Admin Password

const namespace = yield* RedshiftServerless.Namespace("Analytics", {
dbName: "analytics",
adminUsername: "admin",
manageAdminPassword: true,
});
// namespace.adminPasswordSecretArn -> the generated secret's ARN
const namespace = yield* RedshiftServerless.Namespace("Analytics", {
dbName: "analytics",
defaultIamRoleArn: role.roleArn,
iamRoles: [role.roleArn],
kmsKeyId: key.keyId,
logExports: ["userlog", "connectionlog"],
});