Add support for firewall rule name (#21430)

This commit is contained in:
Cheena Malhotra
2022-12-16 18:29:44 -08:00
committed by GitHub
parent e2b1e6cbf3
commit ca22686061
11 changed files with 303 additions and 85 deletions

View File

@@ -13,6 +13,8 @@ export class FirewallRuleViewModel {
public selectedAccount: azdata.Account | undefined;
public selectedTenantId: string | undefined;
private _defaultFirewallRuleName: string;
private _firewallRuleName: string;
private _defaultIPAddress?: string;
private _defaultFromSubnetIPRange?: string;
private _defaultToSubnetIPRange?: string;
@@ -23,6 +25,22 @@ export class FirewallRuleViewModel {
this.isIPAddressSelected = true;
}
public set defaultFirewallRuleName(ruleName: string) {
this._defaultFirewallRuleName = ruleName;
}
public get defaultFirewallRuleName(): string | undefined {
return this._defaultFirewallRuleName;
}
public set firewallRuleName(ruleName: string) {
this._firewallRuleName = ruleName;
}
public get firewallRuleName(): string | undefined {
return this._firewallRuleName;
}
public get defaultIPAddress(): string | undefined {
return this._defaultIPAddress;
}
@@ -60,6 +78,29 @@ export class FirewallRuleViewModel {
}
public updateDefaultValues(ipAddress: string): void {
function padTo2Digits(num: number) {
return num.toString().padStart(2, '0');
}
// format as "YYYY-MM-DD_hh-mm-ss" (default Azure rulename format)
function formatDate(date: Date) {
return (
[
date.getFullYear(),
padTo2Digits(date.getMonth() + 1),
padTo2Digits(date.getDate()),
].join('-') +
'_' +
[
padTo2Digits(date.getHours()),
padTo2Digits(date.getMinutes()),
padTo2Digits(date.getSeconds()),
].join('-')
);
}
// Use default rule name format as Azure portal.
this._defaultFirewallRuleName = `ClientIPAddress_${formatDate(new Date())}`;
this._defaultIPAddress = ipAddress;
this._defaultFromSubnetIPRange = ipAddress.replace(/\.[0-9]+$/g, '.0');
this._defaultToSubnetIPRange = ipAddress.replace(/\.[0-9]+$/g, '.255');