UNPKG

@pulumi/aws-native

Version:

The Pulumi AWS Cloud Control Provider enables you to build, deploy, and manage [any AWS resource that's supported by the AWS Cloud Control API](https://github.com/pulumi/pulumi-aws-native/blob/master/provider/cmd/pulumi-gen-aws-native/supported-types.txt)

173 lines (172 loc) 10.1 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; import * as enums from "../types/enums"; /** * Definition of AWS::RedshiftServerless::Namespace Resource Type */ export declare class Namespace extends pulumi.CustomResource { /** * Get an existing Namespace resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): Namespace; /** * Returns true if the given object is an instance of Namespace. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Namespace; /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true. */ readonly adminPasswordSecretKmsKeyId: pulumi.Output<string | undefined>; /** * The password associated with the admin user for the namespace that is being created. Password must be at least 8 characters in length, should be any printable ASCII character. Must contain at least one lowercase letter, one uppercase letter and one decimal digit. You can't use adminUserPassword if manageAdminPassword is true. */ readonly adminUserPassword: pulumi.Output<string | undefined>; /** * The user name associated with the admin user for the namespace that is being created. Only alphanumeric characters and underscores are allowed. It should start with an alphabet. */ readonly adminUsername: pulumi.Output<string | undefined>; /** * The database name associated for the namespace that is being created. Only alphanumeric characters and underscores are allowed. It should start with an alphabet. */ readonly dbName: pulumi.Output<string | undefined>; /** * The default IAM role ARN for the namespace that is being created. */ readonly defaultIamRoleArn: pulumi.Output<string | undefined>; /** * The name of the namespace the source snapshot was created from. Please specify the name if needed before deleting namespace */ readonly finalSnapshotName: pulumi.Output<string | undefined>; /** * The number of days to retain automated snapshot in the destination region after they are copied from the source region. If the value is -1, the manual snapshot is retained indefinitely. The value must be either -1 or an integer between 1 and 3,653. */ readonly finalSnapshotRetentionPeriod: pulumi.Output<number | undefined>; /** * A list of AWS Identity and Access Management (IAM) roles that can be used by the namespace to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. The Default role limit for each request is 10. */ readonly iamRoles: pulumi.Output<string[] | undefined>; /** * The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the namespace. */ readonly kmsKeyId: pulumi.Output<string | undefined>; /** * The collection of log types to be exported provided by the customer. Should only be one of the three supported log types: userlog, useractivitylog and connectionlog */ readonly logExports: pulumi.Output<enums.redshiftserverless.NamespaceLogExport[] | undefined>; /** * If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. You can't use adminUserPassword if manageAdminPassword is true. If manageAdminPassword is false or not set, Amazon Redshift uses adminUserPassword for the admin user account's password. */ readonly manageAdminPassword: pulumi.Output<boolean | undefined>; /** * Definition of Namespace resource. */ readonly namespace: pulumi.Output<outputs.redshiftserverless.Namespace>; /** * A unique identifier for the namespace. You use this identifier to refer to the namespace for any subsequent namespace operations such as deleting or modifying. All alphabetical characters must be lower case. Namespace name should be unique for all namespaces within an AWS account. */ readonly namespaceName: pulumi.Output<string>; /** * The resource policy document that will be attached to the namespace. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::RedshiftServerless::Namespace` for more information about the expected schema for this property. */ readonly namespaceResourcePolicy: pulumi.Output<any | undefined>; /** * The ARN for the Redshift application that integrates with IAM Identity Center. */ readonly redshiftIdcApplicationArn: pulumi.Output<string | undefined>; /** * The snapshot copy configurations for the namespace. */ readonly snapshotCopyConfigurations: pulumi.Output<outputs.redshiftserverless.NamespaceSnapshotCopyConfiguration[] | undefined>; /** * The list of tags for the namespace. */ readonly tags: pulumi.Output<outputs.Tag[] | undefined>; /** * Create a Namespace resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args?: NamespaceArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Namespace resource. */ export interface NamespaceArgs { /** * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true. */ adminPasswordSecretKmsKeyId?: pulumi.Input<string>; /** * The password associated with the admin user for the namespace that is being created. Password must be at least 8 characters in length, should be any printable ASCII character. Must contain at least one lowercase letter, one uppercase letter and one decimal digit. You can't use adminUserPassword if manageAdminPassword is true. */ adminUserPassword?: pulumi.Input<string>; /** * The user name associated with the admin user for the namespace that is being created. Only alphanumeric characters and underscores are allowed. It should start with an alphabet. */ adminUsername?: pulumi.Input<string>; /** * The database name associated for the namespace that is being created. Only alphanumeric characters and underscores are allowed. It should start with an alphabet. */ dbName?: pulumi.Input<string>; /** * The default IAM role ARN for the namespace that is being created. */ defaultIamRoleArn?: pulumi.Input<string>; /** * The name of the namespace the source snapshot was created from. Please specify the name if needed before deleting namespace */ finalSnapshotName?: pulumi.Input<string>; /** * The number of days to retain automated snapshot in the destination region after they are copied from the source region. If the value is -1, the manual snapshot is retained indefinitely. The value must be either -1 or an integer between 1 and 3,653. */ finalSnapshotRetentionPeriod?: pulumi.Input<number>; /** * A list of AWS Identity and Access Management (IAM) roles that can be used by the namespace to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. The Default role limit for each request is 10. */ iamRoles?: pulumi.Input<pulumi.Input<string>[]>; /** * The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the namespace. */ kmsKeyId?: pulumi.Input<string>; /** * The collection of log types to be exported provided by the customer. Should only be one of the three supported log types: userlog, useractivitylog and connectionlog */ logExports?: pulumi.Input<pulumi.Input<enums.redshiftserverless.NamespaceLogExport>[]>; /** * If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials. You can't use adminUserPassword if manageAdminPassword is true. If manageAdminPassword is false or not set, Amazon Redshift uses adminUserPassword for the admin user account's password. */ manageAdminPassword?: pulumi.Input<boolean>; /** * A unique identifier for the namespace. You use this identifier to refer to the namespace for any subsequent namespace operations such as deleting or modifying. All alphabetical characters must be lower case. Namespace name should be unique for all namespaces within an AWS account. */ namespaceName?: pulumi.Input<string>; /** * The resource policy document that will be attached to the namespace. * * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::RedshiftServerless::Namespace` for more information about the expected schema for this property. */ namespaceResourcePolicy?: any; /** * The ARN for the Redshift application that integrates with IAM Identity Center. */ redshiftIdcApplicationArn?: pulumi.Input<string>; /** * The snapshot copy configurations for the namespace. */ snapshotCopyConfigurations?: pulumi.Input<pulumi.Input<inputs.redshiftserverless.NamespaceSnapshotCopyConfigurationArgs>[]>; /** * The list of tags for the namespace. */ tags?: pulumi.Input<pulumi.Input<inputs.TagArgs>[]>; }