Function: Copy Firewall Rules from an Edge to another Edge

by Simon Sparks · 1 November 2025

To use this function add it to the class library file named vCloudService.ts

GitHub Repository: https://github.com/SimonSparksUK/Orchestrator

Filename: vCloudService.ts

Description: Orchestrator Function to Copy of Firewall Rules from a Edge to another

Function: VclFirewallServiceGet

private VclFirewallServiceGet(objVclGateway: VclGateway): VclFirewallService {
    let objVclGatewayConfiguration: VclGatewayConfiguration = objVclGateway.configuration;

    let objVclGatewayFeatures: VclGatewayFeatures = objVclGatewayConfiguration.edgeGatewayServiceConfiguration;

    let objVclAbstractObjectSet: VclAbstractObjectSet = objVclGatewayFeatures.networkService;

    let arrVclFirewallService: VclFirewallService[] = objVclAbstractObjectSet.find(new VclFirewallService());

    let objVclFirewallService: VclFirewallService = arrVclFirewallService[0];

    return objVclFirewallService;
}

Function: VclFirewallRuleCopy

public VclFirewallRuleCopy(objVclGateway: VclGateway, objVclGatewayNew: VclGateway): void {

    let objVclFirewallService: VclFirewallService = this.VclFirewallServiceGet(objVclGateway);

    let objVclObjectListVclFirewallRule: VclObjectList = objVclFirewallService.firewallRule;

    let arrVclFirewallRule: VclFirewallRule[] = objVclObjectListVclFirewallRule.enumerate();

    let objVclFirewallServiceNew: VclFirewallService = this.VclFirewallServiceGet(objVclGatewayNew);

    let objVclObjectList: VclObjectList = objVclFirewallServiceNew.firewallRule;

    arrVclFirewallRule.forEach((objVclFirewallRule: VclFirewallRule): void => {

        objVclFirewallServiceNew.firewallRule.add(objVclFirewallRule);

    });

    let objVclTask: VclTask = objVclGatewayNew.update();

    this.WaitForVclTask(objVclTask, 1);
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like