コード例 #1
0
 public WorkloadDefinition(
     WorkloadId id, bool isAbstract, string?description, WorkloadDefinitionKind kind, List <WorkloadId>?extends,
     List <WorkloadPackId>?packs, List <string>?platforms
     ) : base(id)
 {
     IsAbstract  = isAbstract;
     Description = description;
     Kind        = kind;
     Extends     = extends;
     Packs       = packs;
     Platforms   = platforms;
 }
コード例 #2
0
        public IEnumerable <string> GetPacksInWorkload(string workloadId)
        {
            if (string.IsNullOrEmpty(workloadId))
            {
                throw new ArgumentException($"'{nameof(workloadId)}' cannot be null or empty", nameof(workloadId));
            }

            var id = new WorkloadId(workloadId);

            if (!_workloads.TryGetValue(id, out var workload))
            {
                throw new Exception($"Workload not found: {id}. Known workloads: {string.Join(" ", _workloads.Select(workload => workload.Key.ToString()))}");
            }

            if (workload.Extends?.Count > 0)
            {
                return(GetPacksInWorkload(workload).Select(p => p.ToString()));
            }

#nullable disable
            return(workload.Packs.Select(p => p.ToString()) ?? Enumerable.Empty <string>());
コード例 #3
0
 public BaseWorkloadDefinition(WorkloadId id)
 {
     Id = id;
 }
コード例 #4
0
 public WorkloadRedirect(WorkloadId id, WorkloadId replaceWith) : base(id)
 {
     ReplaceWith = replaceWith;
 }