Orchestrator Workflow Action to Create an Empty vCloud vApp and link it to a Virtual Data Center Network

by Simon Sparks · 5 September 2013

The following script enables the creation of an Empty vCloud vApp and the linking of it to a virtual data center network.

var objVclSyslogServerSettings = new VclSyslogServerSettings();

var objVclNetworkConfiguration = new VclNetworkConfiguration();
	objVclNetworkConfiguration.ipScope = null;
	objVclNetworkConfiguration.ipScopes = objVclOrgVdcNetwork.configuration.ipScopes;
	objVclNetworkConfiguration.parentNetwork = objVclOrgVdcNetwork.getReference();
	objVclNetworkConfiguration.fenceMode = "bridged";
	objVclNetworkConfiguration.features = null;
	objVclNetworkConfiguration.routerInfo = null;
	objVclNetworkConfiguration.backwardCompatibilityMode = false;
	objVclNetworkConfiguration.retainNetInfoAcrossDeployments = false;
	objVclNetworkConfiguration.syslogServerSettings = objVclSyslogServerSettings;

var objVclVAppNetworkConfiguration = new VclVAppNetworkConfiguration();
	objVclVAppNetworkConfiguration.configuration = objVclNetworkConfiguration;
	objVclVAppNetworkConfiguration.description = objVclOrgVdcNetwork.name;
	objVclVAppNetworkConfiguration.networkName = objVclOrgVdcNetwork.name;
	objVclVAppNetworkConfiguration.isDeployed = true;

var objVclNetworkConfigSection = new VclNetworkConfigSection();
	objVclNetworkConfigSection.info = new VclMsg();
	objVclNetworkConfigSection.info.value = "NetworkConfigSection";
	objVclNetworkConfigSection.networkConfig.add(objVclVAppNetworkConfiguration);

var objVclInstantiationParams = new VclInstantiationParams()
	objVclInstantiationParams.section.add(objVclNetworkConfigSection);

var objVclComposeVAppParams = new VclComposeVAppParams();
	objVclComposeVAppParams.name = strVclVAppName;
	objVclComposeVAppParams.description = "vCO Deployed vApp - " + strFullName + " (" + strUserName + ")";
	objVclComposeVAppParams.deploy = false;
	objVclComposeVAppParams.powerOn = false;
	objVclComposeVAppParams.allEULAsAccepted = true;
	objVclComposeVAppParams.linkedClone = true;
	objVclComposeVAppParams.instantiationParams = objVclInstantiationParams;

var objVclVApp = objVclVdc.composeVApp(objVclComposeVAppParams);

var objVclTasksInProgress =  objVclVApp.tasks;

if (objVclTasksInProgress != null)
{
	var arrVclTask = objVclTasksInProgress.getTasks();

	var objVclTask = arrVclTask[0];

	objCustomActions.waitVclTask(objVclTask);
}

objVclVApp.updateInternalState();

Discover more from Cloud Build Tools

Subscribe to get the latest posts sent to your email.

You may also like