public override void ExecuteCmdlet() { if (this.IsParameterBound(c => c.WorkspaceObject)) { this.WorkspaceName = this.WorkspaceObject.Name; } var fileExtension = ".ipynb"; if (this.IsParameterBound(c => c.InputObject)) { WriteToFile(this.InputObject); WriteObject(new FileInfo(Path.Combine(this.OutputFolder, this.InputObject.Name + fileExtension))); } else { if (this.IsParameterBound(c => c.Name)) { var notebook = new PSNotebookResource(SynapseAnalyticsClient.GetNotebook(this.Name), this.WorkspaceName); WriteToFile(notebook); WriteObject(new FileInfo(Path.Combine(this.OutputFolder, notebook.Name + fileExtension))); } else { var infoList = new List <FileInfo>(); var notebooks = SynapseAnalyticsClient.GetNotebooksByWorkspace() .Select(element => new PSNotebookResource(element, this.WorkspaceName)); foreach (var notebook in notebooks) { WriteToFile(notebook); infoList.Add(new FileInfo(Path.Combine(this.OutputFolder, notebook.Name + fileExtension))); } WriteObject(infoList, true); } } }
private void WriteToFile(PSNotebookResource notebook) { string json = Newtonsoft.Json.JsonConvert.SerializeObject(notebook.Properties, Formatting.Indented); File.WriteAllText(Path.Combine(this.OutputFolder, notebook.Name + ".ipynb"), json); }