To use this function add it to the class library file named PluginVCHostSystemService.ts
GitHub Repository: https://github.com/SimonSparksUK/Orchestrator
Filename: PluginVCHostSystemService.ts
Public Function: FirewallRulesetAllowedIPsEnable
public FirewallRulesetAllowedIPsEnable(objVcHostSystem: VcHostSystem, strRulesetName: string, arrAllowedIPs: string[]): boolean {
let blnReturn: boolean = this.FirewallRulesetAllowedIPsToggle(objVcHostSystem, strRulesetName, arrAllowedIPs);
return blnReturn;
}TypeScriptPublic Function: FirewallRulesetAllowedIPsDisable
public FirewallRulesetAllowedIPsDisable(objVcHostSystem: VcHostSystem, strRulesetName: string): boolean {
let blnReturn: boolean = this.FirewallRulesetAllowedIPsToggle(objVcHostSystem, strRulesetName, []);
return blnReturn;
}TypeScriptPrivate Function: FirewallRulesetAllowedIPsToggle
private FirewallRulesetAllowedIPsToggle(objVcHostSystem: VcHostSystem, strRulesetName: string, arrAllowedIPs: string[]): boolean {
try {
let objVcHostConfigManager: VcHostConfigManager = objVcHostSystem.configManager;
let objVcHostFirewallSystem: VcHostFirewallSystem = objVcHostConfigManager.firewallSystem;
this.objLogger.info(`Attempting to Set Allowed IPs to ${JSON.stringify(arrAllowedIPs)} on Firewall Ruleset '${strRulesetName}' on vCenter Host: '${objVcHostSystem.name}'...`);
let objVcHostFirewallRulesetIpList: VcHostFirewallRulesetIpList = new VcHostFirewallRulesetIpList();
objVcHostFirewallRulesetIpList.allIp = true;
if (arrAllowedIPs === null || arrAllowedIPs.length === 0) {
objVcHostFirewallRulesetIpList.ipAddress = [];
}
else if (arrAllowedIPs.length > 0) {
objVcHostFirewallRulesetIpList.ipAddress = arrAllowedIPs;
}
let objVcHostFirewallRulesetRulesetSpec: VcHostFirewallRulesetRulesetSpec = new VcHostFirewallRulesetRulesetSpec();
objVcHostFirewallRulesetRulesetSpec.allowedHosts = objVcHostFirewallRulesetIpList;
objVcHostFirewallSystem.updateRuleset(strRulesetName, objVcHostFirewallRulesetRulesetSpec)
this.objLogger.info(`Succesfully Set Allowed IPs to ${JSON.stringify(arrAllowedIPs)} on Firewall Ruleset '${strRulesetName}' on vCenter Host: '${objVcHostSystem.name}'...`);
return true;
}
catch (objException) {
this.objLogger.info(`Failed to Set Allowed IPs to ${JSON.stringify(arrAllowedIPs)} on Firewall Ruleset '${strRulesetName}' on vCenter Host: '${objVcHostSystem.name}'...`);
return false;
}
}TypeScriptDiscover more from Cloud Build Tools
Subscribe to get the latest posts sent to your email.
