/// <summary> /// Performs cluster configuration steps. /// </summary> /// <param name="steps">The configuration steps.</param> public void Configure(ConfigStepList steps) { Covenant.Requires <ArgumentNullException>(steps != null); foreach (var step in steps) { step.Run(this); } }
/// <summary> /// Returns steps that upload a text file to a set of cluster nodes. /// </summary> /// <param name="nodes">The cluster nodes to receive the upload.</param> /// <param name="path">The target path on the Linux node.</param> /// <param name="text">The input text.</param> /// <param name="tabStop">Optionally expands TABs into spaces when non-zero.</param> /// <param name="outputEncoding">Optionally specifies the output text encoding (defaults to UTF-8).</param> /// <param name="permissions">Optionally specifies target file permissions (must be <c>chmod</c> compatible).</param> /// <returns>The steps.</returns> public IEnumerable <ConfigStep> GetFileUploadSteps(IEnumerable <SshProxy <NodeDefinition> > nodes, string path, string text, int tabStop = 0, Encoding outputEncoding = null, string permissions = null) { Covenant.Requires <ArgumentNullException>(nodes != null); var steps = new ConfigStepList(); foreach (var node in nodes) { steps.Add(UploadStep.Text(node.Name, path, text, tabStop, outputEncoding, permissions)); } return(steps); }