public static ProjectManifest GetEmpty(string projectName, ManifestKind kind) { return(new ProjectManifest { ApiVersion = "apps/v1", Kind = kind, Metadata = new MetadataBase { Name = projectName } }); }
public static TaskBase GetApiServiceInstance(ManifestKind enm, IServiceProvider services) { MemberInfo[] mi = enm.GetType().GetMember(enm.ToString()); if (mi != null && mi.Length > 0) { MappedApiServiceAttribute attr = Attribute.GetCustomAttribute(mi[0], typeof(MappedApiServiceAttribute)) as MappedApiServiceAttribute; if (attr != null) { return(Activator.CreateInstance(attr.targetType, new object[] { services }) as TaskBase); } } throw new ArgumentOutOfRangeException($"No service mapped to {enm.ToString()}"); }
public async Task WriteManifestAsync(AzDoServices.Dtos.Project project, ManifestKind manifest, string content) { var filePath = GetFilePath(project.Name, manifest); using var op = IcClient.BeginOperation($"Writing file [{filePath}] ..."); await EnsureProjectDirectory(project); if (File.Exists(filePath)) { op.Message("Deleting existing file..."); File.Delete(filePath); } await File.WriteAllTextAsync(filePath, content); }
private string GetFilePath(string projectName, ManifestKind manifest) { return(Path.Combine(GetProjectRootDirectory(projectName), $"{manifest.ToString()}.yaml")); }