<commit_before>﻿using System;
using System.Text;
using CmdLine;

namespace f5ltm
{
	[CommandLineArguments(Program = "f5tlm", Title = "f5ltm", Description = "Manage the F5 BIG IP LTM")]
	internal class Arguments
	{
		private string _password;

		[CommandLineParameter(Command = "?", Default = false, Description = "Show help", Name = "Help", IsHelp = true)]
		public bool Help { get; set; }

		[CommandLineParameter(Name = "bigip", ParameterIndex = 1, Required = true,
			Description = "The address of the BigIP to manage.")]
		public string BigIp { get; set; }

		[CommandLineParameter(Command = "user", Description = "Username for BigIP connection.", Required = true)]
		public string UserName { get; set; }

		[CommandLineParameter(Command = "password", Description = "Password for BigIP connection. Omit to be prompted.", Required = false)]
		public string Password
		{
			get
			{
				if (string.IsNullOrWhiteSpace(_password))
					_password = ReadPasswordFromConsole();
				return _password;
			}
			set { _password = value; }
		}

		[CommandLineParameter(Command = "listnodes", Description = "List the nodes", Required = false)]
		public bool ListNodes { get; set; }

		[CommandLineParameter(Command = "dumpnode", Description = "Dump a node as json to stdout /dumpnode:{name}", Required = false)]
		public string DumpNodeName { get; set; }

		[CommandLineParameter(Command = "applynode", Description = "Apply a node from a file containing a json definition /applynode:myNode.json", Required = false)]
		public string ApplyNodeFile { get; set; }

		[CommandLineParameter(Command = "deletenode", Description = "Delete a node by its address /deletenode:172.25.12.34", Required = false)]
		public string DeleteNodeName { get; set; }

		[CommandLineParameter(Command = "listpools", Description = "List the pools", Required = false)]
		public bool ListPools { get; set; }

		[CommandLineParameter(Command = "dumppool", Description = "Dump a pool as json to stdout /dumppool:{name}", Required = false)]
		public string DumpPoolName { get; set; }

		[CommandLineParameter(Command = "applypool", Description = "Apply a pool from a file containing a json definition /applypool:myPool.json", Required = false)]
		public string ApplyPoolFile { get; set; }

		[CommandLineParameter(Command = "deletepool", Description = "Delete a pool by its name /deletepool:/Common/SomePool", Required = false)]
		public string DeletePoolName { get; set; }

		[CommandLineParameter(Command = "listvirtualservers", Description = "List the virtual servers", Required = false)]
		public bool ListVirtualServers { get; set; }

		[CommandLineParameter(Command = "dumpvirtualserver", Description = "Dump a virtual server as json to stdout /dumpvirtualserver:{name}", Required = false)]
		public string DumpVirtualServerName { get; set; }<commit_msg>Updating message in delete node to be accurate.<commit_after>﻿using System;
using System.Text;
using CmdLine;

namespace f5ltm
{
	[CommandLineArguments(Program = "f5tlm", Title = "f5ltm", Description = "Manage the F5 BIG IP LTM")]
	internal class Arguments
	{
		private string _password;

		[CommandLineParameter(Command = "?", Default = false, Description = "Show help", Name = "Help", IsHelp = true)]
		public bool Help { get; set; }

		[CommandLineParameter(Name = "bigip", ParameterIndex = 1, Required = true,
			Description = "The address of the BigIP to manage.")]
		public string BigIp { get; set; }

		[CommandLineParameter(Command = "user", Description = "Username for BigIP connection.", Required = true)]
		public string UserName { get; set; }

		[CommandLineParameter(Command = "password", Description = "Password for BigIP connection. Omit to be prompted.", Required = false)]
		public string Password
		{
			get
			{
				if (string.IsNullOrWhiteSpace(_password))
					_password = ReadPasswordFromConsole();
				return _password;
			}
			set { _password = <PASSWORD>; }
		}

		[CommandLineParameter(Command = "listnodes", Description = "List the nodes", Required = false)]
		public bool ListNodes { get; set; }

		[CommandLineParameter(Command = "dumpnode", Description = "Dump a node as json to stdout /dumpnode:{name}", Required = false)]
		public string DumpNodeName { get; set; }

		[CommandLineParameter(Command = "applynode", Description = "Apply a node from a file containing a json definition /applynode:myNode.json", Required = false)]
		public string ApplyNodeFile { get; set; }

		[CommandLineParameter(Command = "deletenode", Description = "Delete a node by its name /deletenode:/Common/MyNode", Required = false)]
		public string DeleteNodeName { get; set; }

		[CommandLineParameter(Command = "listpools", Description = "List the pools", Required = false)]
		public bool ListPools { get; set; }

		[CommandLineParameter(Command = "dumppool", Description = "Dump a pool as json to stdout /dumppool:{name}", Required = false)]
		public string DumpPoolName { get; set; }

		[CommandLineParameter(Command = "applypool", Description = "Apply a pool from a file containing a json definition /applypool:myPool.json", Required = false)]
		public string ApplyPoolFile { get; set; }

		[CommandLineParameter(Command = "deletepool", Description = "Delete a pool by its name /deletepool:/Common/SomePool", Required = false)]
		public string DeletePoolName { get; set; }

		[CommandLineParameter(Command = "listvirtualservers", Description = "List the virtual servers", Required = false)]
		public bool ListVirtualServers { get; set; }

		[CommandLineParameter(Command = "dumpvirtualserver", Description = "Dump a virtual server as json to stdout /dumpvirtualserver:{name}", Required = false)]
		public string DumpVirtualServerName { get; set; }
{'fraction_non_alphanumeric': 0.11232394366197183, 'fraction_numerical': 0.003345070422535211, 'mean_word_length': 4.844650205761317, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2051268', 'n_tokens_mistral': 1716, 'n_tokens_neox': 1569, 'n_words': 547}