Esempio n. 1
0
        /// <summary>
        /// Enable of disable vApp firewall
        /// </summary>
        /// <param name="vApp"></param>
        /// <param name="networkName"></param>
        /// <param name="isEnabled"></param>
        public void ConfigVAppNetworkFirework(Vapp vApp, string networkName, bool isEnabled)
        {
            var networkConfig = vApp.GetNetworkConfigSection();

            var configType = networkConfig.NetworkConfig.SingleOrDefault(n => n.networkName == networkName);

            if (configType != null)
            {
                var config = configType.Configuration;

                var firewallService = config.Features.SingleOrDefault(f => (f as FirewallServiceType) != null);

                firewallService.IsEnabled = true;

                vApp.UpdateSection(networkConfig).WaitForTask(1000 * 60);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Power on vApp
 /// </summary>
 /// <param name="vApp"></param>
 public void PowerOnVapp(Vapp vApp)
 {
     PowerOnVapp(vApp, 0);
 }
Esempio n. 3
0
        /// <summary>
        /// Power on vApp
        /// </summary>
        /// <param name="vApp"></param>
        /// <param name="timeout"></param>
        public void PowerOnVapp(Vapp vApp, int timeout)
        {
            if (vApp == null)
            {
                string errorMsg = "vApp is null reference";
                Log.logger.Error(errorMsg);
                throw new EnvironmentException(VCLOUD, errorMsg);
            }

            try
            {
                Log.logger.Debug(string.Format("PowerOn vApp Start: {0}", vApp.Reference.name));
                vApp.PowerOn().WaitForTask(timeout);
                Log.logger.Debug(string.Format("PowerOn vApp Finish: {0}", vApp.Reference.name));
            }
            catch (Exception e)
            {
                Log.logger.Error(e.Message);
                throw new EnvironmentException(VCLOUD, e.Message, e);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Power off vApp async
        /// </summary>
        /// <param name="vApp"></param>
        /// <param name="timeout"></param>
        public void PowerOffVappAsync(Vapp vApp)
        {
            if (vApp == null)
            {
                string errorMsg = "vApp is null reference";
                Log.logger.Error(errorMsg);
                throw new EnvironmentException(VCLOUD, errorMsg);
            }

            try
            {
                Log.logger.Debug(string.Format("PowerOff vApp: {0}", vApp.Reference.name));
                vApp.PowerOff();
            }
            catch (Exception e)
            {
                Log.logger.Error(e.Message);
                throw new EnvironmentException(VCLOUD, e.Message, e);
            }
        }
Esempio n. 5
0
 /// <summary>
 /// Get VM in specific vApp
 /// </summary>
 /// <param name="vApp"></param>
 /// <returns></returns>
 public IList<VM> GetVMsByVapp(Vapp vApp)
 {
     return vApp.GetChildrenVms();
 }
Esempio n. 6
0
        /// <summary>
        /// Deploy vApp async
        /// </summary>
        /// <param name="vApp"></param>
        /// <param name="isPowerOn"></param>
        /// <param name="lease"></param>
        /// <param name="forceCustomization"></param>
        public void DeployVappAsync(Vapp vApp, bool isPowerOn, int lease, bool forceCustomization)
        {
            if (vApp == null)
            {
                string errorMsg = "vApp is null reference";
                Log.logger.Error(errorMsg);
                throw new EnvironmentException(VCLOUD, errorMsg);
            }

            try
            {
                Log.logger.Debug(string.Format("Deploy vApp: {0}", vApp.Reference.name));
                vApp.Deploy(isPowerOn, lease, forceCustomization);
            }
            catch (Exception e)
            {
                Log.logger.Error(e.Message);
                throw new EnvironmentException(VCLOUD, e.Message, e);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Get vApp status
        /// </summary>
        /// <param name="vApp"></param>
        /// <returns></returns>
        public vAppStatus GetVAppStatus(Vapp vApp)
        {
            if (vApp == null)
            {
                return vAppStatus.NotExist;
            }

            // get vApp status by vCloud SDK
            var status = vApp.GetVappStatus().Value();

            if (vApp.IsDeployed())
            {
                if (status == VappStatus.POWERED_ON.Value())
                {
                    // todo: check vm is ready for use, more than just power on
                    return vAppStatus.Ready;
                }
                else if (status == VappStatus.FAILED_CREATION.Value())
                {
                    return vAppStatus.Error;
                }
            }
            else
            {
                if (status == VappStatus.FAILED_CREATION.Value())
                {
                    return vAppStatus.Error;
                }
                else if (status == VappStatus.MIXED.Value())
                {
                    return vAppStatus.Error;
                }
                else if (status == VappStatus.POWERED_OFF.Value())
                {
                    return vAppStatus.Undeploy;
                }
                else if (status == VappStatus.UNKNOWN.Value())
                {
                    return vAppStatus.Unknow;
                }
            }

            return vAppStatus.Unknow;
        }
Esempio n. 8
0
 /// <summary>
 /// Delete vApp
 /// </summary>
 /// <param name="vApp"></param>
 public void DeleteVapp(Vapp vApp)
 {
     DeleteVapp(vApp, 0);
 }
Esempio n. 9
0
 /// <summary>
 /// Deploy vApp
 /// </summary>
 /// <param name="vApp"></param>
 /// <param name="isPowerOn"></param>
 /// <param name="lease"></param>
 /// <param name="forceCustomization"></param>
 public void DeployVapp(Vapp vApp, bool isPowerOn, int lease, bool forceCustomization)
 {
     DeployVapp(vApp, isPowerOn, lease, forceCustomization, 0);
 }
Esempio n. 10
0
 /// <summary>
 /// Wait for all task in vApp finished
 /// </summary>
 /// <param name="vapp"></param>
 /// <param name="timeout"></param>
 public void WaitAppTaskFinish(Vapp vapp, int timeout)
 {
     foreach (var task in vapp.Tasks)
     {
         task.WaitForTask(timeout);
     }
 }
Esempio n. 11
0
        /// <summary>
        /// Undeploy vApp async
        /// </summary>
        /// <param name="vApp"></param>
        /// <param name="timeout"></param>
        public void UndeployVappAsync(Vapp vApp)
        {
            if (vApp == null)
            {
                string errorMsg = "vApp is null reference";
                Log.logger.Error(errorMsg);
                throw new EnvironmentException(VCLOUD, errorMsg);
            }

            try
            {
                Log.logger.Debug(string.Format("Undeploy vApp: {0}", vApp.Reference.name));
                vApp.Undeploy(UndeployPowerActionType.DEFAULT);
            }
            catch (Exception e)
            {
                Log.logger.Error(e.Message);
                throw new EnvironmentException(VCLOUD, e.Message, e);
            }
        }
Esempio n. 12
0
 /// <summary>
 /// Undeploy vApp
 /// </summary>
 /// <param name="vApp"></param>
 public void UndeployVapp(Vapp vApp)
 {
     UndeployVapp(vApp, 0);
 }
Esempio n. 13
0
 /// <summary>
 /// Suspend vApp
 /// </summary>
 /// <param name="vApp"></param>
 public void SuspendVapp(Vapp vApp)
 {
     SuspendVapp(vApp, 0);
 }
Esempio n. 14
0
 /// <summary>
 /// Shutdown vApp
 /// </summary>
 /// <param name="vApp"></param>
 public void ShutdownVapp(Vapp vApp)
 {
     ShutdownVapp(vApp, 0);
 }