private void ValidateWorkloadIdsInput()
        {
            var avaliableWorkloads = _workloadResolver.GetAvaliableWorkloads();

            foreach (var workloadId in _workloadIds)
            {
                if (avaliableWorkloads.Select(workload => workload.Id.ToString()).Contains(workloadId))
                {
                    if (!_workloadResolver.IsWorkloadPlatformCompatible(new WorkloadId(workloadId)))
                    {
                        throw new GracefulException(string.Format(LocalizableStrings.WorkloadNotSupportedOnPlatform, workloadId));
                    }
                }
                else
                {
                    throw new GracefulException(string.Format(LocalizableStrings.WorkloadNotRecognized, workloadId));
                }
            }
        }
Пример #2
0
        public override int Execute()
        {
            var avaliableWorkloads = _workloadResolver.GetAvaliableWorkloads();

            if (!string.IsNullOrEmpty(_workloadIdStub))
            {
                avaliableWorkloads = avaliableWorkloads.Where(workload => workload.Id.ToString().Contains(_workloadIdStub, StringComparison.OrdinalIgnoreCase));
            }

            var table = new PrintableTable <WorkloadDefinition>();

            table.AddColumn(LocalizableStrings.WorkloadIdColumnName, workload => workload.Id.ToString());
            table.AddColumn(LocalizableStrings.DescriptionColumnName, workload => workload.Description);
            if (_verbosity.VerbosityIsDetailedOrDiagnostic())
            {
                table.AddColumn(LocalizableStrings.PlatformColumnName, workload => workload.Platforms == null ? string.Empty : string.Join(" ", workload.Platforms));
            }

            _reporter.WriteLine();
            table.PrintRows(avaliableWorkloads, l => _reporter.WriteLine(l));
            _reporter.WriteLine();

            return(0);
        }