RDS DB Clusters are reported as Ready: true or false, yet there are many facets of cluster status', that Crossplane and its users are not aware of, some of which may cause async errors, e.g. during upgrades.
One use case is being able to upgrade an RDS cluster and enabling Crossplane users to know that the cluster is upgrading, while there may be async errors.
How could Official AWS Provider help solve your problem?
DB cluster status Billed Description
Available Billed
The DB cluster is healthy and available. When an Aurora Serverless cluster is available and paused, you're billed for storage only.
Backing-up Billed
The DB cluster is currently being backed up.
Backtracking Billed
The DB cluster is currently being backtracked. This status only applies to Aurora MySQL.
Cloning-failed Not billed
Cloning a DB cluster failed.
Creating Not billed
The DB cluster is being created. The DB cluster is inaccessible while it is being created.
Deleting Not billed
The DB cluster is being deleted.
Failing-over Billed
A failover from the primary instance to an Aurora Replica is being performed.
Inaccessible-encryption-credentials Not billed
The AWS KMS key used to encrypt or decrypt the DB cluster can't be accessed or recovered.
Inaccessible-encryption-credentials-recoverable
Billed for storage
The KMS key used to encrypt or decrypt the DB cluster can't be accessed. However, if the KMS key is active, restarting the DB cluster can recover it.
For more information, see [Encrypting an Amazon Aurora DB cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Overview.Encryption.html#Overview.Encryption.Enabling).
Maintenance Billed
Amazon RDS is applying a maintenance update to the DB cluster. This status is used for DB cluster-level maintenance that RDS schedules well in advance.
Migrating Billed
A DB cluster snapshot is being restored to a DB cluster.
Migration-failed Not billed
A migration failed.
Modifying Billed
The DB cluster is being modified because of a customer request to modify the DB cluster.
Promoting Billed
A read replica is being promoted to a standalone DB cluster.
Preparing-data-migration Billed
Amazon RDS is preparing to migrate data to Aurora.
Renaming Billed
The DB cluster is being renamed because of a customer request to rename it.
Resetting-master-credentials Billed
The master credentials for the DB cluster are being reset because of a customer request to reset them.
Starting Billed for storage
The DB cluster is starting.
Stopped Billed for storage
The DB cluster is stopped.
Stopping Billed for storage
The DB cluster is being stopped.
Storage-optimization Billed
Your DB instance is being modified to change the storage size or type. The DB instance is fully operational. However, while the status of your DB instance is storage-optimization, you can't request any changes to the storage of your DB instance. The storage optimization process is usually short, but can sometimes take up to and even beyond 24 hours.
Update-iam-db-auth Billed
IAM authorization for the DB cluster is being updated.
Upgrading Billed
The DB cluster engine version is being upgraded.
What problem are you facing?
RDS DB Clusters are reported as Ready: true or false, yet there are many facets of cluster status', that Crossplane and its users are not aware of, some of which may cause async errors, e.g. during upgrades.
One use case is being able to upgrade an RDS cluster and enabling Crossplane users to know that the cluster is upgrading, while there may be async errors.
How could Official AWS Provider help solve your problem?
Support the available RDS DB Cluster status conditions similar to how some of them are supported in the community AWS provider. See https://github.com/crossplane-contrib/provider-aws/blob/master/pkg/controller/rds/dbinstance/setup.go#L360 and https://github.com/crossplane-contrib/provider-aws/blob/master/pkg/controller/rds/dbcluster/setup.go#L113
See status information here