Function: Create an NSX Edge

by Simon Sparks · 3 October 2021

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

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

Filename: OrchestratorService.ts

Description: Orchestrator Function to Get Storage DRS Settings for a vCenter Virtual Machine

Function serverFindAllForType

The following is the vCO Workflow Script to Create an NSX Edge

public NSXEdgeCreate(objNSXConnection: NSXConnection): void {
    let objNSXAddressGroup: NSXAddressGroup = new NSXAddressGroup(null);
    objNSXAddressGroup.displayName = strDisplayName;
    objNSXAddressGroup.subnetMask = strSubnetMask;
    objNSXAddressGroup.primaryAddress = strPrimaryAddress;
    objNSXAddressGroup.secondaryAddresses = null;

    let arrNSXAddressGroups: NSXAddressGroup[] = [];
    arrNSXAddressGroups.push(objNSXAddressGroup);

    let objNSXAddressGroups: NSXAddressGroups = new NSXAddressGroups();
    objNSXAddressGroups.addressGroups = arrNSXAddressGroups;

    let objNSXNicINTERNAL: NSXNic = new NSXNic();
    objNSXNicINTERNAL.index = 0;
    objNSXNicINTERNAL.name = "Internal";
    objNSXNicINTERNAL.type = "Internal";
    objNSXNicINTERNAL.portgroupId = strPortGroupID;
    objNSXNicINTERNAL.addressGroups = objNSXAddressGroups;

    let objNSXNicEXTERNAL: NSXNic = new NSXNic();
    objNSXNicEXTERNAL.index = 0;
    objNSXNicEXTERNAL.name = "Uplink";
    objNSXNicEXTERNAL.type = "Uplink";
    objNSXNicEXTERNAL.portgroupId = strPortGroupID;
    objNSXNicEXTERNAL.addressGroups = objNSXAddressGroups;

    let arrNSXNic: NSXNic[] = [];
    arrNSXNic.push(objNSXNicINTERNAL);
    arrNSXNic.push(objNSXNicEXTERNAL);

    let objNSXNics: NSXNics = new NSXNics();
    objNSXNics.nics = arrNSXNic;

    let objNSXAppliances: NSXAppliances = new NSXAppliances();

    let arrNSXAppliances: NSXAppliances[] = objNSXAppliances.appliances;

    let objNSXEdge: NSXEdge = new NSXEdge();
    objNSXEdge.name = strName;
    objNSXEdge.description = strDescription;
    objNSXEdge.datacenterMoid = datacenterMoid;
    objNSXEdge.tenantId = tenant;
    objNSXEdge.appliances = arrNSXAppliances;
    objNSXEdge.nics = objNSXNics;

    objNSXEdge = NSXEdgeManager.createEdge(objNSXConnection, objNSXEdge);
}

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.