diff --git a/src/coreform/baseform/BaseForm.tsx b/src/coreform/baseform/BaseForm.tsx index 6b0bb9d..530d5d2 100644 --- a/src/coreform/baseform/BaseForm.tsx +++ b/src/coreform/baseform/BaseForm.tsx @@ -179,7 +179,7 @@ const BaseForm = (props: BaseFormProps) => { return errors; } }} - validateOnChange={false} + validateOnChange={true} onSubmit={values => handleSubmit(values)} > {props => ( diff --git a/src/coreform/database/DatabaseForm.tsx b/src/coreform/database/DatabaseForm.tsx index d08a153..6266923 100644 --- a/src/coreform/database/DatabaseForm.tsx +++ b/src/coreform/database/DatabaseForm.tsx @@ -803,6 +803,50 @@ const DatabaseReplicas = () => { ); }; +const SecondaryRegionDatabaseReplica = () => { + const classes = useStyles(); + const { values }: { values: any } = useFormikContext(); + const [field, , fieldHelper] = useField(path.secondaryRegionReadReplica); + const isSecondaryRegionReadReplicaDefined = field.value !== undefined; + const instance = + values.extraResources.database?.secondaryRegionReadReplica?.awsInstanceClass || ''; + + return ( + + { + fieldHelper.setValue(_m.newSecondaryRegionReadReplica()); + }} + removeAction={() => { + fieldHelper.setValue(undefined); + }} + > + {isSecondaryRegionReadReplicaDefined ? ( + <> + + + } + label="Performance Insights" + /> + + } + label="Disable Multi-AZ for secondary region read replica" + /> + + ) : null} + + ); +}; + const DatabaseForm = () => { const { values, setValues }: { values: any; setValues: any } = useFormikContext(); const classes = useStyles(); @@ -841,6 +885,7 @@ const DatabaseForm = () => { + diff --git a/src/models/Manifest.ts b/src/models/Manifest.ts index bf370f9..dd34714 100644 --- a/src/models/Manifest.ts +++ b/src/models/Manifest.ts @@ -27,6 +27,7 @@ export const path = { dynamicConfiguration: 'dynamicConfiguration', database: 'extraResources.database', readReplica: 'extraResources.database.readReplica', + secondaryRegionReadReplica: 'extraResources.database.secondaryRegionReadReplica', docdb: 'extraResources.docdb', awsAccess: 'extraResources.aws_access', s3Buckets: 'extraResources.s3_buckets', @@ -986,6 +987,14 @@ export const newReadReplica = () => { }; }; +export const newSecondaryRegionReadReplica = () => { + return { + awsInstanceClass: 'db.t4g.small', + performanceInsightsEnabled: false, + multiAZDisabled: true, + }; +}; + export const newS3Bucket = () => { return { anonymizedBucketName: '',