Skip to content

Commit 72df295

Browse files
committed
Add final-db-snapshot-identifier validation
1 parent 0bd2a76 commit 72df295

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/main/java/gyro/aws/rds/DbClusterResource.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import gyro.core.validation.ConflictsWith;
4242
import gyro.core.validation.Required;
4343
import gyro.core.validation.ValidStrings;
44+
import gyro.core.validation.ValidationError;
4445
import software.amazon.awssdk.services.rds.RdsClient;
4546
import software.amazon.awssdk.services.rds.model.CreateDbClusterRequest;
4647
import software.amazon.awssdk.services.rds.model.CreateDbClusterResponse;
@@ -1094,7 +1095,8 @@ public void delete(GyroUI ui, State state) {
10941095

10951096
client.deleteDBCluster(
10961097
r -> r.dbClusterIdentifier(getIdentifier())
1097-
.finalDBSnapshotIdentifier(!getSkipFinalSnapshot() ? getFinalDbSnapshotIdentifier() : null)
1098+
.finalDBSnapshotIdentifier(
1099+
Boolean.TRUE.equals(getSkipFinalSnapshot()) ? null : getFinalDbSnapshotIdentifier())
10981100
.skipFinalSnapshot(getSkipFinalSnapshot())
10991101
);
11001102

@@ -1129,4 +1131,20 @@ private void waitForActiveStatus(RdsClient client, TimeoutSettings.Action action
11291131
throw new GyroException("Unable to reach 'available' state for rds db cluster - " + getIdentifier());
11301132
}
11311133
}
1134+
1135+
@Override
1136+
public List<ValidationError> validate(Set<String> configuredFields) {
1137+
ArrayList<ValidationError> errors = new ArrayList<>();
1138+
1139+
if ((getSkipFinalSnapshot() == null || Boolean.FALSE.equals(getSkipFinalSnapshot())) &&
1140+
getFinalDbSnapshotIdentifier() == null) {
1141+
errors.add(new ValidationError(
1142+
this,
1143+
"final-db-snapshot-identifier",
1144+
"'final-db-snapshot-identifier' is required when 'skip-final-snapshot' is unspecified or set to 'false'."
1145+
));
1146+
}
1147+
1148+
return errors;
1149+
}
11321150
}

0 commit comments

Comments
 (0)