Function: vCenter Host System Firewall Ruleset Allowed IPs Toggle

by Simon Sparks · 23 March 2026

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;
}
TypeScript

Public Function: FirewallRulesetAllowedIPsDisable

public FirewallRulesetAllowedIPsDisable(objVcHostSystem: VcHostSystem, strRulesetName: string): boolean {

    let blnReturn: boolean = this.FirewallRulesetAllowedIPsToggle(objVcHostSystem, strRulesetName, []);

    return blnReturn;
}
TypeScript

Private 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;
    }
}
TypeScript

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like