INFRA-3968 | Saqib | Changes for cross region replica checkbox.

This commit is contained in:
Saqib Perwaiz
2024-12-04 19:51:13 +05:30
parent 2ed003df77
commit 925a38db31
3 changed files with 18 additions and 17 deletions

View File

@@ -179,7 +179,7 @@ const BaseForm = (props: BaseFormProps) => {
return errors;
}
}}
validateOnChange={false}
validateOnChange={true}
onSubmit={values => handleSubmit(values)}
>
{props => (

View File

@@ -803,42 +803,43 @@ const DatabaseReplicas = () => {
);
};
const CrossRegionDatabaseReplica = () => {
const SecondaryRegionDatabaseReplica = () => {
const classes = useStyles();
const { values }: { values: any } = useFormikContext();
const [field, , fieldHelper] = useField('extraResources.database.crossRegionReadReplica');
const isCrossRegionReadReplicaDefined = field.value !== undefined;
const instance = values.extraResources.database?.crossRegionReadReplica?.awsInstanceClass || '';
const [field, , fieldHelper] = useField(path.secondaryRegionReadReplica);
const isSecondaryRegionReadReplicaDefined = field.value !== undefined;
const instance =
values.extraResources.database?.secondaryRegionReadReplica?.awsInstanceClass || '';
return (
<CardLayout heading="Cross Region Read Replica">
<CardLayout heading="Secondary Region Read Replica">
<AddRemoveButton
className={classes.button}
addRemoveCondition={isCrossRegionReadReplicaDefined}
addRemoveCondition={isSecondaryRegionReadReplicaDefined}
addAction={() => {
fieldHelper.setValue(_m.newCrossRegionReadReplica());
fieldHelper.setValue(_m.newSecondaryRegionReadReplica());
}}
removeAction={() => {
fieldHelper.setValue(undefined);
}}
></AddRemoveButton>
{isCrossRegionReadReplicaDefined ? (
{isSecondaryRegionReadReplicaDefined ? (
<>
<DbClassSelect
name="extraResources.database.crossRegionReadReplica.awsInstanceClass"
name="extraResources.database.secondaryRegionReadReplica.awsInstanceClass"
instance={instance}
/>
<MarginedFormControlLabel
control={
<FormikCheckbox name="extraResources.database.crossRegionReadReplica.performanceInsightsEnabled" />
<FormikCheckbox name="extraResources.database.secondaryRegionReadReplica.performanceInsightsEnabled" />
}
label="Performance Insights"
/>
<MarginedFormControlLabel
control={
<FormikCheckbox name="extraResources.database.crossRegionReadReplica.multiAZDisabled" />
<FormikCheckbox name="extraResources.database.secondaryRegionReadReplica.multiAZDisabled" />
}
label="Disable Multi-AZ for cross region read replica"
label="Disable Multi-AZ for secondary region read replica"
/>
</>
) : null}
@@ -849,7 +850,7 @@ const CrossRegionDatabaseReplica = () => {
const DatabaseForm = () => {
const { values, setValues }: { values: any; setValues: any } = useFormikContext();
const classes = useStyles();
let isDeployedStatus = false;
let isDeployedStatus: boolean = false;
if (
values.extraResources !== undefined &&
values.extraResources.database !== undefined &&
@@ -884,7 +885,7 @@ const DatabaseForm = () => {
<Grid item>
<DatabaseAlerts />
<DatabaseReplicas />
<CrossRegionDatabaseReplica />
<SecondaryRegionDatabaseReplica />
</Grid>
</Grid>
</Grid>

View File

@@ -27,7 +27,7 @@ export const path = {
dynamicConfiguration: 'dynamicConfiguration',
database: 'extraResources.database',
readReplica: 'extraResources.database.readReplica',
crossRegionReadReplica: 'extraResources.database.crossRegionReadReplica',
secondaryRegionReadReplica: 'extraResources.database.secondaryRegionReadReplica',
docdb: 'extraResources.docdb',
awsAccess: 'extraResources.aws_access',
s3Buckets: 'extraResources.s3_buckets',
@@ -987,7 +987,7 @@ export const newReadReplica = () => {
};
};
export const newCrossRegionReadReplica = () => {
export const newSecondaryRegionReadReplica = () => {
return {
awsInstanceClass: 'db.t4g.small',
performanceInsightsEnabled: false,