INFRA-3968 | Saqib | Changes for cross region replica checkbox.
This commit is contained in:
@@ -179,7 +179,7 @@ const BaseForm = (props: BaseFormProps) => {
|
||||
return errors;
|
||||
}
|
||||
}}
|
||||
validateOnChange={false}
|
||||
validateOnChange={true}
|
||||
onSubmit={values => handleSubmit(values)}
|
||||
>
|
||||
{props => (
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user