UNPKG

@studion/infra-code-blocks

Version:
71 lines 2.8 kB
import * as aws from '@pulumi/aws'; import * as awsx from '@pulumi/awsx'; import * as pulumi from '@pulumi/pulumi'; import { DatabaseReplica } from './database-replica'; import { Ec2SSMConnect } from './ec2-ssm-connect'; import { Password } from '../password'; export declare namespace Database { type Instance = { dbName?: pulumi.Input<string>; engineVersion?: pulumi.Input<string>; multiAz?: pulumi.Input<boolean>; instanceClass?: pulumi.Input<string>; allowMajorVersionUpgrade?: pulumi.Input<boolean>; autoMinorVersionUpgrade?: pulumi.Input<boolean>; applyImmediately?: pulumi.Input<boolean>; skipFinalSnapshot?: pulumi.Input<boolean>; }; type Credentials = { username?: pulumi.Input<string>; password?: pulumi.Input<string>; }; type Storage = { allocatedStorage?: pulumi.Input<number>; maxAllocatedStorage?: pulumi.Input<number>; }; type ReplicaConfig = Partial<Omit<DatabaseReplica.Args, 'replicateSourceDb' | keyof DatabaseReplica.Security>> & { /** * Enables monitoring for the replica instance and * reuses the same monitoring role from the primary instance * if you don't provide a custom `monitoringRole`. */ enableMonitoring?: pulumi.Input<boolean>; }; type SSMConnectConfig = Omit<Ec2SSMConnect.Args, 'vpc'>; type Args = Instance & Credentials & Storage & { vpc: pulumi.Input<awsx.ec2.Vpc>; enableMonitoring?: pulumi.Input<boolean>; snapshotIdentifier?: pulumi.Input<string>; parameterGroupName?: pulumi.Input<string>; kmsKeyId?: pulumi.Input<string>; replicaConfigs?: Map<string, ReplicaConfig>; enableSSMConnect?: pulumi.Input<boolean>; ssmConnectConfig?: SSMConnectConfig; tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; }; } export declare class Database extends pulumi.ComponentResource { name: string; instance: aws.rds.Instance; vpc: pulumi.Output<awsx.ec2.Vpc>; dbSubnetGroup: aws.rds.SubnetGroup; dbSecurityGroup: aws.ec2.SecurityGroup; password: Password; kmsKeyId: pulumi.Output<string>; monitoringRole?: aws.iam.Role; encryptedSnapshotCopy?: aws.rds.SnapshotCopy; replicas?: DatabaseReplica[]; ec2SSMConnect?: Ec2SSMConnect; constructor(name: string, args: Database.Args, opts?: pulumi.ComponentResourceOptions); private createSubnetGroup; private createSecurityGroup; private createEncryptionKey; private createMonitoringRole; private createEncryptedSnapshotCopy; private createDatabaseReplica; private createEc2SSMConnect; private createDatabaseInstance; } //# sourceMappingURL=index.d.ts.map