private Deployment(InlineDeploymentSettings settings) { if (settings is null) { throw new ArgumentNullException(nameof(settings)); } _projectName = settings.Project; _stackName = settings.Stack; _isDryRun = settings.IsDryRun; SetAllConfig(settings.Config, settings.ConfigSecretKeys); if (string.IsNullOrEmpty(settings.MonitorAddr) || string.IsNullOrEmpty(settings.EngineAddr) || string.IsNullOrEmpty(_projectName) || string.IsNullOrEmpty(_stackName)) { throw new InvalidOperationException("Inline execution was not provided the necessary parameters to run the Pulumi engine."); } var deploymentLogger = settings.Logger ?? CreateDefaultLogger(); deploymentLogger.LogDebug("Creating deployment engine"); Engine = new GrpcEngine(settings.EngineAddr); deploymentLogger.LogDebug("Created deployment engine"); deploymentLogger.LogDebug("Creating deployment monitor"); Monitor = new GrpcMonitor(settings.MonitorAddr); deploymentLogger.LogDebug("Created deployment monitor"); _runner = new Runner(this, deploymentLogger); _logger = new EngineLogger(this, deploymentLogger, Engine); }
private Deployment(InlineDeploymentSettings settings) { if (settings is null) { throw new ArgumentNullException(nameof(settings)); } _projectName = settings.Project; _stackName = settings.Stack; _isDryRun = settings.IsDryRun; SetAllConfig(settings.Config); if (string.IsNullOrEmpty(settings.MonitorAddr) || string.IsNullOrEmpty(settings.EngineAddr) || string.IsNullOrEmpty(_projectName) || string.IsNullOrEmpty(_stackName)) { throw new InvalidOperationException("Inline execution was not provided the necessary parameters to run the Pulumi engine."); } Serilog.Log.Debug("Creating Deployment Engine."); Engine = new GrpcEngine(settings.EngineAddr); Serilog.Log.Debug("Created Deployment Engine."); Serilog.Log.Debug("Creating Deployment Monitor."); Monitor = new GrpcMonitor(settings.MonitorAddr); Serilog.Log.Debug("Created Deployment Monitor."); _runner = new Runner(this); _logger = new Logger(this, Engine); }
private Deployment(InlineDeploymentSettings settings) { if (settings is null) throw new ArgumentNullException(nameof(settings)); _projectName = settings.Project; _stackName = settings.Stack; _isDryRun = settings.IsDryRun; SetAllConfig(settings.Config, settings.ConfigSecretKeys); if (string.IsNullOrEmpty(settings.MonitorAddr) || string.IsNullOrEmpty(settings.EngineAddr) || string.IsNullOrEmpty(_projectName) || string.IsNullOrEmpty(_stackName)) { throw new InvalidOperationException("Inline execution was not provided the necessary parameters to run the Pulumi engine."); } var deploymentLogger = settings.Logger ?? CreateDefaultLogger(); deploymentLogger.LogDebug("Creating deployment engine"); Engine = new GrpcEngine(settings.EngineAddr); deploymentLogger.LogDebug("Created deployment engine"); deploymentLogger.LogDebug("Creating deployment monitor"); Monitor = new GrpcMonitor(settings.MonitorAddr); deploymentLogger.LogDebug("Created deployment monitor"); // Tell the runner that we are running inside an inline automation program // in which case it shall not set/pollute the global process exit code // when encountering unhandles exceptions var runnerOptions = new RunnerOptions { IsInlineAutomationProgram = true }; _runner = new Runner(this, deploymentLogger, runnerOptions); _logger = new EngineLogger(this, deploymentLogger, Engine); }