UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,047 lines 77.5 kB
import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { aws_ec2 as ec2Refs, aws_kms as kmsRefs } from "../../interfaces"; import { DBClusterParameterGroupReference, DBClusterReference, DBInstanceReference, DBParameterGroupReference, DBSubnetGroupReference, EventSubscriptionReference, IDBClusterParameterGroupRef, IDBClusterRef, IDBInstanceRef, IDBParameterGroupRef, IDBSubnetGroupRef, IEventSubscriptionRef } from "../../interfaces/generated/aws-neptune-interfaces.generated"; /** * The `AWS::Neptune::DBCluster` resource creates an Amazon Neptune DB cluster. Neptune is a fully managed graph database. * * > Currently, you can create this resource only in AWS Regions in which Amazon Neptune is supported. * * If no `DeletionPolicy` is set for `AWS::Neptune::DBCluster` resources, the default deletion behavior is that the entire volume will be deleted without a snapshot. To retain a backup of the volume, the `DeletionPolicy` should be set to `Snapshot` . For more information about how CloudFormation deletes resources, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) . * * You can use `AWS::Neptune::DBCluster.DeletionProtection` to help guard against unintended deletion of your DB cluster. * * @cloudformationResource AWS::Neptune::DBCluster * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html */ export declare class CfnDBCluster extends cdk.CfnResource implements cdk.IInspectable, IDBClusterRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDBCluster from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDBCluster; /** * Checks whether the given object is a CfnDBCluster */ static isCfnDBCluster(x: any): x is CfnDBCluster; /** * Provides a list of the Amazon Identity and Access Management (IAM) roles that are associated with the DB cluster. */ private _associatedRoles?; /** * Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in. */ private _availabilityZones?; /** * Specifies the number of days for which automatic DB snapshots are retained. */ private _backupRetentionPeriod?; /** * *If set to `true` , tags are copied to any snapshot of the DB cluster that is created.*. */ private _copyTagsToSnapshot?; /** * Contains a user-supplied DB cluster identifier. */ private _dbClusterIdentifier?; /** * Provides the name of the DB cluster parameter group. */ private _dbClusterParameterGroupName?; /** * The name of the DB parameter group to apply to all instances of the DB cluster. */ private _dbInstanceParameterGroupName?; /** * The port number on which the DB instances in the DB cluster accept connections. */ private _dbPort?; /** * Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group. */ private _dbSubnetGroupName?; /** * Indicates whether or not the DB cluster has deletion protection enabled. */ private _deletionProtection?; /** * Specifies a list of log types that are enabled for export to CloudWatch Logs. */ private _enableCloudwatchLogsExports?; /** * Indicates the database engine version. */ private _engineVersion?; /** * True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. */ private _iamAuthEnabled?; /** * The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . */ private _kmsKeyId?; /** * Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the `BackupRetentionPeriod` . */ private _preferredBackupWindow?; /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ private _preferredMaintenanceWindow?; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ private _restoreToTime?; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ private _restoreType?; /** * Contains the scaling configuration of an Neptune Serverless DB cluster. */ private _serverlessScalingConfiguration?; /** * Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot. */ private _snapshotIdentifier?; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ private _sourceDbClusterIdentifier?; /** * Indicates whether the DB cluster is encrypted. */ private _storageEncrypted?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags assigned to this cluster. */ private _tagsRaw?; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ private _useLatestRestorableTime?; /** * Provides a list of VPC security groups that the DB cluster belongs to. */ private _vpcSecurityGroupIds?; protected readonly cfnPropertyNames: Record<string, string>; /** * Create a new `AWS::Neptune::DBCluster`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnDBClusterProps); get dbClusterRef(): DBClusterReference; /** * Provides a list of the Amazon Identity and Access Management (IAM) roles that are associated with the DB cluster. */ get associatedRoles(): Array<CfnDBCluster.DBClusterRoleProperty | cdk.IResolvable> | cdk.IResolvable | undefined; /** * Provides a list of the Amazon Identity and Access Management (IAM) roles that are associated with the DB cluster. */ set associatedRoles(value: Array<CfnDBCluster.DBClusterRoleProperty | cdk.IResolvable> | cdk.IResolvable | undefined); /** * Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in. */ get availabilityZones(): Array<string> | undefined; /** * Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in. */ set availabilityZones(value: Array<string> | undefined); /** * Specifies the number of days for which automatic DB snapshots are retained. */ get backupRetentionPeriod(): number | undefined; /** * Specifies the number of days for which automatic DB snapshots are retained. */ set backupRetentionPeriod(value: number | undefined); /** * *If set to `true` , tags are copied to any snapshot of the DB cluster that is created.*. */ get copyTagsToSnapshot(): boolean | cdk.IResolvable | undefined; /** * *If set to `true` , tags are copied to any snapshot of the DB cluster that is created.*. */ set copyTagsToSnapshot(value: boolean | cdk.IResolvable | undefined); /** * Contains a user-supplied DB cluster identifier. */ get dbClusterIdentifier(): string | undefined; /** * Contains a user-supplied DB cluster identifier. */ set dbClusterIdentifier(value: string | undefined); /** * Provides the name of the DB cluster parameter group. */ get dbClusterParameterGroupName(): string | undefined; /** * Provides the name of the DB cluster parameter group. */ set dbClusterParameterGroupName(value: string | undefined); /** * The name of the DB parameter group to apply to all instances of the DB cluster. */ get dbInstanceParameterGroupName(): string | undefined; /** * The name of the DB parameter group to apply to all instances of the DB cluster. */ set dbInstanceParameterGroupName(value: string | undefined); /** * The port number on which the DB instances in the DB cluster accept connections. */ get dbPort(): number | undefined; /** * The port number on which the DB instances in the DB cluster accept connections. */ set dbPort(value: number | undefined); /** * Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group. */ get dbSubnetGroupName(): string | undefined; /** * Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group. */ set dbSubnetGroupName(value: string | undefined); /** * Indicates whether or not the DB cluster has deletion protection enabled. */ get deletionProtection(): boolean | cdk.IResolvable | undefined; /** * Indicates whether or not the DB cluster has deletion protection enabled. */ set deletionProtection(value: boolean | cdk.IResolvable | undefined); /** * Specifies a list of log types that are enabled for export to CloudWatch Logs. */ get enableCloudwatchLogsExports(): Array<string> | undefined; /** * Specifies a list of log types that are enabled for export to CloudWatch Logs. */ set enableCloudwatchLogsExports(value: Array<string> | undefined); /** * Indicates the database engine version. */ get engineVersion(): string | undefined; /** * Indicates the database engine version. */ set engineVersion(value: string | undefined); /** * True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. */ get iamAuthEnabled(): boolean | cdk.IResolvable | undefined; /** * True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. */ set iamAuthEnabled(value: boolean | cdk.IResolvable | undefined); /** * The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . */ get kmsKeyId(): string | undefined; /** * The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . */ set kmsKeyId(value: string | undefined); /** * Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the `BackupRetentionPeriod` . */ get preferredBackupWindow(): string | undefined; /** * Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the `BackupRetentionPeriod` . */ set preferredBackupWindow(value: string | undefined); /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ get preferredMaintenanceWindow(): string | undefined; /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ set preferredMaintenanceWindow(value: string | undefined); /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ get restoreToTime(): string | undefined; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ set restoreToTime(value: string | undefined); /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ get restoreType(): string | undefined; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ set restoreType(value: string | undefined); /** * Contains the scaling configuration of an Neptune Serverless DB cluster. */ get serverlessScalingConfiguration(): cdk.IResolvable | CfnDBCluster.ServerlessScalingConfigurationProperty | undefined; /** * Contains the scaling configuration of an Neptune Serverless DB cluster. */ set serverlessScalingConfiguration(value: cdk.IResolvable | CfnDBCluster.ServerlessScalingConfigurationProperty | undefined); /** * Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot. */ get snapshotIdentifier(): string | undefined; /** * Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot. */ set snapshotIdentifier(value: string | undefined); /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ get sourceDbClusterIdentifier(): string | undefined; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ set sourceDbClusterIdentifier(value: string | undefined); /** * Indicates whether the DB cluster is encrypted. */ get storageEncrypted(): boolean | cdk.IResolvable | undefined; /** * Indicates whether the DB cluster is encrypted. */ set storageEncrypted(value: boolean | cdk.IResolvable | undefined); /** * The tags assigned to this cluster. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags assigned to this cluster. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ get useLatestRestorableTime(): boolean | cdk.IResolvable | undefined; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. */ set useLatestRestorableTime(value: boolean | cdk.IResolvable | undefined); /** * Provides a list of VPC security groups that the DB cluster belongs to. */ get vpcSecurityGroupIds(): Array<string> | undefined; /** * Provides a list of VPC security groups that the DB cluster belongs to. */ set vpcSecurityGroupIds(value: Array<string> | undefined); /** * The resource id for the DB cluster. For example: `cluster-ABCD1234EFGH5678IJKL90MNOP` . The cluster ID uniquely identifies the cluster and is used in things like IAM authentication policies. * * @cloudformationAttribute ClusterResourceId */ get attrClusterResourceId(): string; /** * The connection endpoint for the DB cluster. For example: `mystack-mydbcluster-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com` * * @cloudformationAttribute Endpoint */ get attrEndpoint(): string; /** * The port number on which the DB instances in the DB cluster accept connections. * * @cloudformationAttribute Port */ get attrPort(): string; /** * The reader endpoint for the DB cluster. For example: `mystack-mydbcluster-ro-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com` * * @cloudformationAttribute ReadEndpoint */ get attrReadEndpoint(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnDBCluster { /** * Describes an Amazon Identity and Access Management (IAM) role that is associated with a DB cluster. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html */ interface DBClusterRoleProperty { /** * The name of the feature associated with the Amazon Identity and Access Management (IAM) role. * * For the list of supported feature names, see [DescribeDBEngineVersions](https://docs.aws.amazon.com/neptune/latest/userguide/api-other-apis.html#DescribeDBEngineVersions) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html#cfn-neptune-dbcluster-dbclusterrole-featurename */ readonly featureName?: string; /** * The Amazon Resource Name (ARN) of the IAM role that is associated with the DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-dbclusterrole.html#cfn-neptune-dbcluster-dbclusterrole-rolearn */ readonly roleArn: string; } /** * Contains the scaling configuration of a Neptune Serverless DB cluster. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-serverlessscalingconfiguration.html */ interface ServerlessScalingConfigurationProperty { /** * The maximum number of Neptune capacity units (NCUs) for a DB instance in a Neptune Serverless cluster. * * You can specify NCU values in half-step increments, such as 40, 40.5, 41, and so on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-serverlessscalingconfiguration.html#cfn-neptune-dbcluster-serverlessscalingconfiguration-maxcapacity */ readonly maxCapacity: number; /** * The minimum number of Neptune capacity units (NCUs) for a DB instance in a Neptune Serverless cluster. * * You can specify NCU values in half-step increments, such as 8, 8.5, 9, and so on. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-neptune-dbcluster-serverlessscalingconfiguration.html#cfn-neptune-dbcluster-serverlessscalingconfiguration-mincapacity */ readonly minCapacity: number; } } /** * Properties for defining a `CfnDBCluster` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html */ export interface CfnDBClusterProps { /** * Provides a list of the Amazon Identity and Access Management (IAM) roles that are associated with the DB cluster. * * IAM roles that are associated with a DB cluster grant permission for the DB cluster to access other Amazon services on your behalf. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-associatedroles */ readonly associatedRoles?: Array<CfnDBCluster.DBClusterRoleProperty | cdk.IResolvable> | cdk.IResolvable; /** * Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-availabilityzones */ readonly availabilityZones?: Array<string>; /** * Specifies the number of days for which automatic DB snapshots are retained. * * An update may require some interruption. See [ModifyDBInstance](https://docs.aws.amazon.com/neptune/latest/userguide/api-instances.html#ModifyDBInstance) in the Amazon Neptune User Guide for more information. * * @default - 1 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-backupretentionperiod */ readonly backupRetentionPeriod?: number; /** * *If set to `true` , tags are copied to any snapshot of the DB cluster that is created.*. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-copytagstosnapshot */ readonly copyTagsToSnapshot?: boolean | cdk.IResolvable; /** * Contains a user-supplied DB cluster identifier. * * This identifier is the unique key that identifies a DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbclusteridentifier */ readonly dbClusterIdentifier?: string; /** * Provides the name of the DB cluster parameter group. * * An update may require some interruption. See [ModifyDBInstance](https://docs.aws.amazon.com/neptune/latest/userguide/api-instances.html#ModifyDBInstance) in the Amazon Neptune User Guide for more information. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbclusterparametergroupname */ readonly dbClusterParameterGroupName?: string; /** * The name of the DB parameter group to apply to all instances of the DB cluster. * * Used only in case of a major engine version upgrade request * * Note that when you apply a parameter group using `DBInstanceParameterGroupName` , parameter changes are applied immediately, not during the next maintenance window. * * **Constraints** - The DB parameter group must be in the same DB parameter group family as the target DB cluster version. * - The `DBInstanceParameterGroupName` parameter is only valid for major engine version upgrades. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbinstanceparametergroupname */ readonly dbInstanceParameterGroupName?: string; /** * The port number on which the DB instances in the DB cluster accept connections. * * If not specified, the default port used is `8182` . * * > The `Port` property will soon be deprecated. Please update existing templates to use the new `DBPort` property that has the same functionality. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbport */ readonly dbPort?: number; /** * Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-dbsubnetgroupname */ readonly dbSubnetGroupName?: string; /** * Indicates whether or not the DB cluster has deletion protection enabled. * * The database can't be deleted when deletion protection is enabled. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-deletionprotection */ readonly deletionProtection?: boolean | cdk.IResolvable; /** * Specifies a list of log types that are enabled for export to CloudWatch Logs. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-enablecloudwatchlogsexports */ readonly enableCloudwatchLogsExports?: Array<string>; /** * Indicates the database engine version. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-engineversion */ readonly engineVersion?: string; /** * True if mapping of Amazon Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-iamauthenabled */ readonly iamAuthEnabled?: boolean | cdk.IResolvable; /** * The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the database instances in the DB cluster, such as `arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef` . * * If you enable the `StorageEncrypted` property but don't specify this property, the default KMS key is used. If you specify this property, you must set the `StorageEncrypted` property to `true` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-kmskeyid */ readonly kmsKeyId?: kmsRefs.IKeyRef | string; /** * Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the `BackupRetentionPeriod` . * * An update may require some interruption. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredbackupwindow */ readonly preferredBackupWindow?: string; /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-preferredmaintenancewindow */ readonly preferredMaintenanceWindow?: string; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. * * If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group. * * If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-restoretotime */ readonly restoreToTime?: string; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. * * If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group. * * If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group. * * @default - "full-copy" * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-restoretype */ readonly restoreType?: string; /** * Contains the scaling configuration of an Neptune Serverless DB cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-serverlessscalingconfiguration */ readonly serverlessScalingConfiguration?: cdk.IResolvable | CfnDBCluster.ServerlessScalingConfigurationProperty; /** * Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot. * * After you restore a DB cluster using a `SnapshotIdentifier` , you must specify the same `SnapshotIdentifier` for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed. * * However, if you don't specify the `SnapshotIdentifier` , an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, the DB cluster is restored from the snapshot specified by the `SnapshotIdentifier` , and the original DB cluster is deleted. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-snapshotidentifier */ readonly snapshotIdentifier?: string; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. * * If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group. * * If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-sourcedbclusteridentifier */ readonly sourceDbClusterIdentifier?: string; /** * Indicates whether the DB cluster is encrypted. * * If you specify the `KmsKeyId` property, then you must enable encryption and set this property to `true` . * * If you enable the `StorageEncrypted` property but don't specify the `KmsKeyId` property, then the default KMS key is used. If you specify the `KmsKeyId` property, then that KMS key is used to encrypt the database instances in the DB cluster. * * If you specify the `SourceDBClusterIdentifier` property, and don't specify this property or disable it, the value is inherited from the source DB cluster. If the source DB cluster is encrypted, the `KmsKeyId` property from the source cluster is used. * * If you specify the `DBSnapshotIdentifier` and don't specify this property or disable it, the value is inherited from the snapshot and the specified `KmsKeyId` property from the snapshot is used. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-storageencrypted */ readonly storageEncrypted?: boolean | cdk.IResolvable; /** * The tags assigned to this cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-tags */ readonly tags?: Array<cdk.CfnTag>; /** * Creates a new DB cluster from a DB snapshot or DB cluster snapshot. * * If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group. * * If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-uselatestrestorabletime */ readonly useLatestRestorableTime?: boolean | cdk.IResolvable; /** * Provides a list of VPC security groups that the DB cluster belongs to. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbcluster.html#cfn-neptune-dbcluster-vpcsecuritygroupids */ readonly vpcSecurityGroupIds?: Array<ec2Refs.ISecurityGroupRef | string>; } /** * The `AWS::Neptune::DBClusterParameterGroup` resource creates a new Amazon Neptune DB cluster parameter group. * * > Applying a parameter group to a DB cluster might require instances to reboot, resulting in a database outage while the instances reboot. > If you provide a custom `DBClusterParameterGroup` that you associate with the `DBCluster` , it is best to specify an `EngineVersion` property in the `DBCluster` . That `EngineVersion` needs to be compatible with the value of the `Family` property in the `DBClusterParameterGroup` . * * @cloudformationResource AWS::Neptune::DBClusterParameterGroup * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html */ export declare class CfnDBClusterParameterGroup extends cdk.CfnResource implements cdk.IInspectable, IDBClusterParameterGroupRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDBClusterParameterGroup from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDBClusterParameterGroup; /** * Checks whether the given object is a CfnDBClusterParameterGroup */ static isCfnDBClusterParameterGroup(x: any): x is CfnDBClusterParameterGroup; /** * Provides the customer-specified description for this DB cluster parameter group. */ private _description; /** * Must be `neptune1` for engine versions prior to [1.2.0.0](https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.2.0.0.html) , or `neptune1.2` for engine version `1.2.0.0` and higher. */ private _family; /** * Provides the name of the DB cluster parameter group. */ private _name?; /** * The parameters to set for this DB cluster parameter group. */ private _parameters; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags that you want to attach to this parameter group. */ private _tagsRaw?; protected readonly cfnPropertyNames: Record<string, string>; /** * Create a new `AWS::Neptune::DBClusterParameterGroup`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnDBClusterParameterGroupProps); get dbClusterParameterGroupRef(): DBClusterParameterGroupReference; /** * Provides the customer-specified description for this DB cluster parameter group. */ get description(): string; /** * Provides the customer-specified description for this DB cluster parameter group. */ set description(value: string); /** * Must be `neptune1` for engine versions prior to [1.2.0.0](https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.2.0.0.html) , or `neptune1.2` for engine version `1.2.0.0` and higher. */ get family(): string; /** * Must be `neptune1` for engine versions prior to [1.2.0.0](https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.2.0.0.html) , or `neptune1.2` for engine version `1.2.0.0` and higher. */ set family(value: string); /** * Provides the name of the DB cluster parameter group. */ get name(): string | undefined; /** * Provides the name of the DB cluster parameter group. */ set name(value: string | undefined); /** * The parameters to set for this DB cluster parameter group. */ get parameters(): any | cdk.IResolvable; /** * The parameters to set for this DB cluster parameter group. */ set parameters(value: any | cdk.IResolvable); /** * The tags that you want to attach to this parameter group. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * The tags that you want to attach to this parameter group. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnDBClusterParameterGroup` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html */ export interface CfnDBClusterParameterGroupProps { /** * Provides the customer-specified description for this DB cluster parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-description */ readonly description: string; /** * Must be `neptune1` for engine versions prior to [1.2.0.0](https://docs.aws.amazon.com/neptune/latest/userguide/engine-releases-1.2.0.0.html) , or `neptune1.2` for engine version `1.2.0.0` and higher. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-family */ readonly family: string; /** * Provides the name of the DB cluster parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-name */ readonly name?: string; /** * The parameters to set for this DB cluster parameter group. * * The parameters are expressed as a JSON object consisting of key-value pairs. * * If you update the parameters, some interruption may occur depending on which parameters you update. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-parameters */ readonly parameters: any | cdk.IResolvable; /** * The tags that you want to attach to this parameter group. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbclusterparametergroup.html#cfn-neptune-dbclusterparametergroup-tags */ readonly tags?: Array<cdk.CfnTag>; } /** * The `AWS::Neptune::DBInstance` type creates an Amazon Neptune DB instance. * * *Updating DB Instances* * * You can set a deletion policy for your DB instance to control how CloudFormation handles the instance when the stack is deleted. For Neptune DB instances, you can choose to *retain* the instance, to *delete* the instance, or to *create a snapshot* of the instance. The default CloudFormation behavior depends on the `DBClusterIdentifier` property: * * - For `AWS::Neptune::DBInstance` resources that don't specify the `DBClusterIdentifier` property, CloudFormation saves a snapshot of the DB instance. * - For `AWS::Neptune::DBInstance` resources that do specify the `DBClusterIdentifier` property, CloudFormation deletes the DB instance. * * *Deleting DB Instances* * * > If a DB instance is deleted or replaced during an update, CloudFormation deletes all automated snapshots. However, it retains manual DB snapshots. During an update that requires replacement, you can apply a stack policy to prevent DB instances from being replaced. * * When properties labeled *Update requires: Replacement* are updated, CloudFormation first creates a replacement DB instance, changes references from other dependent resources to point to the replacement DB instance, and finally deletes the old DB instance. * * > We highly recommend that you take a snapshot of the database before updating the stack. If you don't, you lose the data when CloudFormation replaces your DB instance. To preserve your data, perform the following procedure: * > * > - Deactivate any applications that are using the DB instance so that there's no activity on the DB instance. * > - Create a snapshot of the DB instance. * > - If you want to restore your instance using a DB snapshot, modify the updated template with your DB instance changes and add the `DBSnapshotIdentifier` property with the ID of the DB snapshot that you want to use. * > - Update the stack. * * @cloudformationResource AWS::Neptune::DBInstance * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html */ export declare class CfnDBInstance extends cdk.CfnResource implements cdk.IInspectable, IDBInstanceRef, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDBInstance from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDBInstance; /** * Checks whether the given object is a CfnDBInstance */ static isCfnDBInstance(x: any): x is CfnDBInstance; /** * Indicates that major version upgrades are allowed. */ private _allowMajorVersionUpgrade?; /** * Indicates that minor version patches are applied automatically. */ private _autoMinorVersionUpgrade?; /** * Specifies the name of the Availability Zone the DB instance is located in. */ private _availabilityZone?; /** * If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of. */ private _dbClusterIdentifier?; /** * Contains the name of the compute and memory capacity class of the DB instance. */ private _dbInstanceClass; /** * Contains a user-supplied database identifier. */ private _dbInstanceIdentifier?; /** * The name of an existing DB parameter group or a reference to an AWS::Neptune::DBParameterGroup resource created in the template. */ private _dbParameterGroupName?; /** * This parameter is not supported. * * @deprecated this property has been deprecated */ private _dbSnapshotIdentifier?; /** * A DB subnet group to associate with the DB instance. */ private _dbSubnetGroupName?; /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ private _preferredMaintenanceWindow?; /** * Indicates whether the DB instance is publicly accessible. */ private _publiclyAccessible?; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * An arbitrary set of tags (key-value pairs) for this DB instance. */ private _tagsRaw?; protected readonly cfnPropertyNames: Record<string, string>; /** * Create a new `AWS::Neptune::DBInstance`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnDBInstanceProps); get dbInstanceRef(): DBInstanceReference; /** * Indicates that major version upgrades are allowed. */ get allowMajorVersionUpgrade(): boolean | cdk.IResolvable | undefined; /** * Indicates that major version upgrades are allowed. */ set allowMajorVersionUpgrade(value: boolean | cdk.IResolvable | undefined); /** * Indicates that minor version patches are applied automatically. */ get autoMinorVersionUpgrade(): boolean | cdk.IResolvable | undefined; /** * Indicates that minor version patches are applied automatically. */ set autoMinorVersionUpgrade(value: boolean | cdk.IResolvable | undefined); /** * Specifies the name of the Availability Zone the DB instance is located in. */ get availabilityZone(): string | undefined; /** * Specifies the name of the Availability Zone the DB instance is located in. */ set availabilityZone(value: string | undefined); /** * If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of. */ get dbClusterIdentifier(): string | undefined; /** * If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of. */ set dbClusterIdentifier(value: string | undefined); /** * Contains the name of the compute and memory capacity class of the DB instance. */ get dbInstanceClass(): string; /** * Contains the name of the compute and memory capacity class of the DB instance. */ set dbInstanceClass(value: string); /** * Contains a user-supplied database identifier. */ get dbInstanceIdentifier(): string | undefined; /** * Contains a user-supplied database identifier. */ set dbInstanceIdentifier(value: string | undefined); /** * The name of an existing DB parameter group or a reference to an AWS::Neptune::DBParameterGroup resource created in the template. */ get dbParameterGroupName(): string | undefined; /** * The name of an existing DB parameter group or a reference to an AWS::Neptune::DBParameterGroup resource created in the template. */ set dbParameterGroupName(value: string | undefined); /** * This parameter is not supported. * * @deprecated this property has been deprecated */ get dbSnapshotIdentifier(): string | undefined; /** * This parameter is not supported. * * @deprecated this property has been deprecated */ set dbSnapshotIdentifier(value: string | undefined); /** * A DB subnet group to associate with the DB instance. */ get dbSubnetGroupName(): string | undefined; /** * A DB subnet group to associate with the DB instance. */ set dbSubnetGroupName(value: string | undefined); /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ get preferredMaintenanceWindow(): string | undefined; /** * Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). */ set preferredMaintenanceWindow(value: string | undefined); /** * Indicates whether the DB instance is publicly accessible. */ get publiclyAccessible(): boolean | cdk.IResolvable | undefined; /** * Indicates whether the DB instance is publicly accessible. */ set publiclyAccessible(value: boolean | cdk.IResolvable | undefined); /** * An arbitrary set of tags (key-value pairs) for this DB instance. */ get tagsRaw(): Array<cdk.CfnTag> | undefined; /** * An arbitrary set of tags (key-value pairs) for this DB instance. */ set tagsRaw(value: Array<cdk.CfnTag> | undefined); /** * The connection endpoint for the database. For example: `mystack-mydb-1apw1j4phylrk.cg034hpkmmjt.us-east-2.rds.amazonaws.com` . * * @cloudformationAttribute Endpoint */ get attrEndpoint(): string; /** * The port number on which the database accepts connections. For example: `8182` . * * @cloudformationAttribute Port */ get attrPort(): string; protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnDBInstance` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-neptune-dbinstance.html */ export interface CfnDBInstanceProps { /** * Indicates that major version upgrades are allowed. * * Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version. * * When you change this parameter for an existing DB cluster, CloudFormation will replace your existing DB cluster with a new, empty one that uses the engine vers