Skip to content

Commit f2ecaf2

Browse files
authored
chore(rds): document DatabaseInstance.fromDatabaseInstanceAttributes() (#11979)
Ensure `DatabaseInstance.fromDatabaseInstanceAttributes` is included in docs by moving it from the abstract `DatabaseInstanceBase` to the concrete `DatabaseInstance` class. Thx @skinny85 for the suggestion in #11817. Fixes #11817 ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 2cd233a commit f2ecaf2

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

packages/@aws-cdk/aws-rds/lib/instance.ts

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -113,23 +113,11 @@ export interface DatabaseInstanceAttributes {
113113
export abstract class DatabaseInstanceBase extends Resource implements IDatabaseInstance {
114114
/**
115115
* Import an existing database instance.
116+
*
117+
* @deprecated use DatabaseInstance.fromDatabaseInstanceAttributes
116118
*/
117119
public static fromDatabaseInstanceAttributes(scope: Construct, id: string, attrs: DatabaseInstanceAttributes): IDatabaseInstance {
118-
class Import extends DatabaseInstanceBase implements IDatabaseInstance {
119-
public readonly defaultPort = ec2.Port.tcp(attrs.port);
120-
public readonly connections = new ec2.Connections({
121-
securityGroups: attrs.securityGroups,
122-
defaultPort: this.defaultPort,
123-
});
124-
public readonly instanceIdentifier = attrs.instanceIdentifier;
125-
public readonly dbInstanceEndpointAddress = attrs.instanceEndpointAddress;
126-
public readonly dbInstanceEndpointPort = attrs.port.toString();
127-
public readonly instanceEndpoint = new Endpoint(attrs.instanceEndpointAddress, attrs.port);
128-
public readonly engine = attrs.engine;
129-
protected enableIamAuthentication = true;
130-
}
131-
132-
return new Import(scope, id);
120+
return DatabaseInstance.fromDatabaseInstanceAttributes(scope, id, attrs);
133121
}
134122

135123
public abstract readonly instanceIdentifier: string;
@@ -938,6 +926,27 @@ export interface DatabaseInstanceProps extends DatabaseInstanceSourceProps {
938926
* @resource AWS::RDS::DBInstance
939927
*/
940928
export class DatabaseInstance extends DatabaseInstanceSource implements IDatabaseInstance {
929+
/**
930+
* Import an existing database instance.
931+
*/
932+
public static fromDatabaseInstanceAttributes(scope: Construct, id: string, attrs: DatabaseInstanceAttributes): IDatabaseInstance {
933+
class Import extends DatabaseInstanceBase implements IDatabaseInstance {
934+
public readonly defaultPort = ec2.Port.tcp(attrs.port);
935+
public readonly connections = new ec2.Connections({
936+
securityGroups: attrs.securityGroups,
937+
defaultPort: this.defaultPort,
938+
});
939+
public readonly instanceIdentifier = attrs.instanceIdentifier;
940+
public readonly dbInstanceEndpointAddress = attrs.instanceEndpointAddress;
941+
public readonly dbInstanceEndpointPort = attrs.port.toString();
942+
public readonly instanceEndpoint = new Endpoint(attrs.instanceEndpointAddress, attrs.port);
943+
public readonly engine = attrs.engine;
944+
protected enableIamAuthentication = true;
945+
}
946+
947+
return new Import(scope, id);
948+
}
949+
941950
public readonly instanceIdentifier: string;
942951
public readonly dbInstanceEndpointAddress: string;
943952
public readonly dbInstanceEndpointPort: string;

0 commit comments

Comments
 (0)