-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better type database engine versions #6532
Labels
@aws-cdk/aws-rds
Related to Amazon Relational Database
effort/medium
Medium work item – several days of effort
feature-request
A feature should be added or improved.
in-progress
This issue is being actively worked on.
Milestone
Comments
nija-at
added
good first issue
Related to contributions. See CONTRIBUTING.md
feature-request
A feature should be added or improved.
@aws-cdk/aws-rds
Related to Amazon Relational Database
effort/small
Small work item – less than a day of effort
labels
Mar 2, 2020
nija-at
added
effort/medium
Medium work item – several days of effort
and removed
effort/small
Small work item – less than a day of effort
good first issue
Related to contributions. See CONTRIBUTING.md
labels
Mar 2, 2020
Or an enum-like class, perhaps something similar to Lambda's |
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jun 6, 2020
Change the types of the engine from DatabaseClusterEngine and its subclass, DatabaseInstanceEngine, to 2 separate interfaces, IClusterEngine and IInstanceEngine. Add properties to each of them, including engineVersion, and thus stop taking engineVersion separately as a property for instances, clusters and OptionGroups. Allow changing the version of an existing engine to an arbitrary string. Add a bind()-like protocol to both IClusterEngine and IInstanceEngine, which allows expressing validation and default values logic directly in the engines, instead of hard-coding them in cluster and instance. Because of those changes, creating a default cluster with Aurora MySQL or Postgres engines now works out of the box, instead of failing at deploy time. We also correctly set the port for Postgres clusters to 5432, instead of setting it to 3306 (which is the MySQL port). Fixes aws#2213 Fixes aws#2512 Fixes aws#4150 Fixes aws#5126 Fixes aws#6532 Fixes aws#7072 BREAKING CHANGE: the class DatabaseClusterEngine has been replaced with the interface IClusterEngine in the type of DatabaseClusterProps.engine * **rds**: the class DatabaseInstanceEngine has been replaced with the interface IInstanceEngine in the type of DatabaseInstanceSourceProps.engine * **rds**: DatabaseClusterProps.engineVersion has been removed, in favor of the withVersion() method on IClusterEngine * **rds**: DatabaseInstanceNewProps.instanceClass has been renamed to instanceType * **rds**: DatabaseInstanceSourceProps.engineVersion has been removed, in favor of the withVersion() method on IInstanceEngine * **rds**: the engine property can no longer be passed when creating a DatabaseInstanceReadReplica * **rds**: the property majorEngineVersion can no longer be passed when creating an OptionGroup (instead, the version is taken directly from the passed engine)
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jul 11, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed interfaces with static constants representing common versions. Fixes aws#6532
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jul 15, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes aws#6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property engineVersion in IClusterEngine changed from an optional string to a required EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from an optional string to a required EngineVersion
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jul 16, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes aws#6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion * **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional * **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jul 16, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes aws#6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion * **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional * **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jul 16, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes aws#6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion * **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional * **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
skinny85
added a commit
to skinny85/aws-cdk
that referenced
this issue
Jul 16, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes aws#6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion * **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional * **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
mergify bot
pushed a commit
that referenced
this issue
Jul 16, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes #6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property ParameterGroupProps.family has been renamed to engine, and its type changed from string to IEngine * **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion * **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional * **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
curtiseppel
pushed a commit
to curtiseppel/aws-cdk
that referenced
this issue
Aug 11, 2020
Change engine versions, for boh cluster and instance engines, from strings to strongly-typed classes with static constants representing common versions. Fixes aws#6532 BREAKING CHANGE: the property 'version' has been changed from string to an engine-specific version class; use VersionClass.of() if you need to create a specific version of an engine from a string * **rds**: the property ParameterGroupProps.family has been renamed to engine, and its type changed from string to IEngine * **rds**: the property engineVersion in IClusterEngine changed from a string to EngineVersion * **rds**: the property engineVersion in IInstanceEngine changed from a string to EngineVersion * **rds**: the property parameterGroupFamily in IClusterEngine changed from required to optional * **rds**: the property parameterGroupFamily in IInstanceEngine changed from required to optional
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
@aws-cdk/aws-rds
Related to Amazon Relational Database
effort/medium
Medium work item – several days of effort
feature-request
A feature should be added or improved.
in-progress
This issue is being actively worked on.
Currently, the
engineVersion
ofDatabaseInstance
is a free-form string. Type it into something stronger, like a string enum, so that it's harder to make a mistake on.See here for the list of supported database engine versions.
This is a 🚀 Feature Request
The text was updated successfully, but these errors were encountered: