76 lines
2.2 KiB
TypeScript
76 lines
2.2 KiB
TypeScript
import type { Endpoint } from './endpoint';
|
|
import type { IConnectable, ISecurityGroup } from '../../aws-ec2';
|
|
import type { ISecretAttachmentTarget } from '../../aws-secretsmanager';
|
|
import type { IResource } from '../../core';
|
|
import type { IDBClusterRef } from '../../interfaces/generated/aws-docdb-interfaces.generated';
|
|
/**
|
|
* Create a clustered database with a given number of instances.
|
|
*/
|
|
export interface IDatabaseCluster extends IResource, IConnectable, ISecretAttachmentTarget, IDBClusterRef {
|
|
/**
|
|
* Identifier of the cluster
|
|
*/
|
|
readonly clusterIdentifier: string;
|
|
/**
|
|
* Identifiers of the replicas
|
|
*/
|
|
readonly instanceIdentifiers: string[];
|
|
/**
|
|
* The endpoint to use for read/write operations
|
|
* @attribute Endpoint,Port
|
|
*/
|
|
readonly clusterEndpoint: Endpoint;
|
|
/**
|
|
* Endpoint to use for load-balanced read-only operations.
|
|
* @attribute ReadEndpoint
|
|
*/
|
|
readonly clusterReadEndpoint: Endpoint;
|
|
/**
|
|
* Endpoints which address each individual replica.
|
|
*/
|
|
readonly instanceEndpoints: Endpoint[];
|
|
/**
|
|
* The security group for this database cluster
|
|
*/
|
|
readonly securityGroupId: string;
|
|
}
|
|
/**
|
|
* Properties that describe an existing cluster instance
|
|
*/
|
|
export interface DatabaseClusterAttributes {
|
|
/**
|
|
* The database port
|
|
* @default - none
|
|
*/
|
|
readonly port?: number;
|
|
/**
|
|
* The security group of the database cluster
|
|
* @default - no security groups
|
|
*/
|
|
readonly securityGroup?: ISecurityGroup;
|
|
/**
|
|
* Identifier for the cluster
|
|
*/
|
|
readonly clusterIdentifier: string;
|
|
/**
|
|
* Identifier for the instances
|
|
* @default - no instance identifiers
|
|
*/
|
|
readonly instanceIdentifiers?: string[];
|
|
/**
|
|
* Cluster endpoint address
|
|
* @default - no cluster endpoint address
|
|
*/
|
|
readonly clusterEndpointAddress?: string;
|
|
/**
|
|
* Reader endpoint address
|
|
* @default - no reader endpoint address
|
|
*/
|
|
readonly readerEndpointAddress?: string;
|
|
/**
|
|
* Endpoint addresses of individual instances
|
|
* @default - no instance endpoint addresses
|
|
*/
|
|
readonly instanceEndpointAddresses?: string[];
|
|
}
|