Make it so user cannot create or scale PG server group to 1 worker node (#16005)

* Added not equals validation

* Added validation to worker node in deploy

* Fixed info

* Change string

* Change string

* Change string
This commit is contained in:
nasc17
2021-07-07 12:25:07 -07:00
committed by GitHub
parent 14ce88023e
commit 6078e9f459
5 changed files with 26 additions and 3 deletions

View File

@@ -25,7 +25,8 @@ export const enum ValidationType {
IsInteger = 'is_integer',
Regex = 'regex_match',
LessThanOrEqualsTo = '<=',
GreaterThanOrEqualsTo = '>='
GreaterThanOrEqualsTo = '>=',
NotEqualTo = '!='
}
export type ValidationInfo = RegexValidationInfo | IntegerValidationInfo | ComparisonValidationInfo;
@@ -175,12 +176,21 @@ export class GreaterThanOrEqualsValidation extends Comparison {
}
}
export class NotEqualValidation extends Comparison {
async isComparisonSuccessful() {
const value = (await this.getValue());
const targetValue = this.target;
return (isUndefinedOrEmpty(value) || isUndefinedOrEmpty(targetValue)) ? true : value!.toString() !== targetValue!;
}
}
export function createValidation(validation: ValidationInfo, valueGetter: ValueGetter, targetValueGetter?: TargetValueGetter, onTargetValidityChangedGetter?: OnTargetValidityChangedGetter, onDisposableCreated?: (disposable: vscode.Disposable) => void): Validation {
switch (validation.type) {
case ValidationType.Regex: return new RegexValidation(<RegexValidationInfo>validation, valueGetter);
case ValidationType.IsInteger: return new IntegerValidation(<IntegerValidationInfo>validation, valueGetter);
case ValidationType.LessThanOrEqualsTo: return new LessThanOrEqualsValidation(<ComparisonValidationInfo>validation, valueGetter, targetValueGetter!, onTargetValidityChangedGetter!, onDisposableCreated!);
case ValidationType.GreaterThanOrEqualsTo: return new GreaterThanOrEqualsValidation(<ComparisonValidationInfo>validation, valueGetter, targetValueGetter!, onTargetValidityChangedGetter!, onDisposableCreated!);
case ValidationType.NotEqualTo: return new NotEqualValidation(<ComparisonValidationInfo>validation, valueGetter, targetValueGetter!, onTargetValidityChangedGetter!, onDisposableCreated!);
default: throw new Error(`unknown validation type:${validation.type}`); //dev error
}
}