// Деплоим инстанс и всего host ОПРЕДЕЛЯЕТСя ПО ВКЛАКДКЕ DEPLOYMENT public void DeployInstance(IInstance inst, bool cascade) { if (inst == null) { throw new InstanceNullReferenceException(); } IInstance host = GetInstance(inst.Host); if (host != null) { DeployInstance(host, cascade); } if (inst.DeploymentStatus != EDeploymentStatus.deployed) { inst.Deploy(EActionForCurrentlyDeployedObjects.redeployOriginal, ESkipIfCurrentlyUndeployed.dontSkipIfCurrentlyUndeployed, EDeployOnScan.doDeployOnScan, EForceOffScan.doForceOffScan, cascade ? ECascade.doCascade : ECascade.dontCascade, true); } if (!inst.CommandResult.Successful) { throw new GalaxyObjectDeployException(inst.Tagname, inst.CommandResult); } }
// Деплоим экземпляр асинхронно public async static Task DeployAsync(this IInstance inst) { if (inst == null) { throw new ArgumentNullException(nameof(inst)); } await Task.Run(() => { inst.Deploy( EActionForCurrentlyDeployedObjects.redeployOriginal, ESkipIfCurrentlyUndeployed.dontSkipIfCurrentlyUndeployed, EDeployOnScan.doDeployOnScan, EForceOffScan.doForceOffScan, ECascade.dontCascade); }); if (!inst.CommandResult.Successful) { InstanceException.ThrowIfNoSuccess(inst.CommandResult); } }