<commit_before>package main

import (
	"bufio"
	"context"
	"crypto/tls"
	"crypto/x509"
	"encoding/base64"
	"io"
	"os"
	"strconv"
	"strings"
	"time"

	fmt "github.com/jhunt/go-ansi"
	"go.etcd.io/etcd/clientv3"

	"github.com/shieldproject/shield/plugin"
)

//global variables
var (
	RoleBasedAuthentication   = "Role-Based Authentication"
	CertificateAuthentication = "Certificate-Based Authentication"
	BothAuthentication        = "Both"
)

func main() {
	p := EtcdPlugin{
		Name:    "Etcd Backup Plugin",
		Author:  "<NAME>, <NAME>, <NAME>, <NAME>",
		Version: "0.0.1",
		Features: plugin.PluginFeatures{
			Target: "yes",
			Store:  "no",
		},
		Example: `
            {
            "url"         : "https://192.168.42.45:2379,https://192.168.23.54:2379"                                             # REQUIRED
            
            "timeout"     : "2"                                                                                                 # connection timeout
            "auth"        : ""                                                                                                  # is role based or cert based auth enabled on the etcd cluster
            "username"    : "admin"                                                                                             # username for role based authentication
            "password"    : "<PASSWORD>"                                                                                          # password for role based authentication
            "client_cert" : "-----BEGIN CERTIFICATE-----\n(cert contents)\n(... etc ...)\n-----END CERTIFICATE-----"            # path to client certificate
            "client_key"  : "-----BEGIN RSA PRIVATE KEY-----\n(cert contents)\n(... etc ...)\n-----END RSA PRIVATE KEY-----"    # path to client key
            "ca_cert"     : "-----BEGIN CERTIFICATE-----\n(cert contents)\n(... etc ...)\n-----END CERTIFICATE-----"            # path to CA certificate
            "overwrite"   : "false"                                                                                             # enable or disable full overwrite of the cluster
            "prefix"      : "starkandwayne"                                                                                     # backup specific keys
            }
            `,
		Defaults: `
            {
                "timeout"	: "2"
            }
            `,<commit_msg>Fix help output of etcd plugin<commit_after>package main

import (
	"bufio"
	"context"
	"crypto/tls"
	"crypto/x509"
	"encoding/base64"
	"io"
	"os"
	"strconv"
	"strings"
	"time"

	fmt "github.com/jhunt/go-ansi"
	"go.etcd.io/etcd/clientv3"

	"github.com/shieldproject/shield/plugin"
)

//global variables
var (
	RoleBasedAuthentication   = "Role-Based Authentication"
	CertificateAuthentication = "Certificate-Based Authentication"
	BothAuthentication        = "Both"
)

func main() {
	p := EtcdPlugin{
		Name:    "Etcd Backup Plugin",
		Author:  "<NAME>, <NAME>, <NAME>, <NAME>",
		Version: "0.0.1",
		Features: plugin.PluginFeatures{
			Target: "yes",
			Store:  "no",
		},
		Example: `
{
  "url"         : "https://192.168.42.45:2379,https://192.168.23.54:2379",       # REQUIRED
  "auth"        : "Role-Based Authentication",
  "username"    : "admin",
  "password"    : "<PASSWORD>",
  "overwrite"   : "true",
  "prefix"      : "/data1"
}
`,
		Defaults: `
{
  "timeout" : "2"
}
`,
{'fraction_non_alphanumeric': 0.13954171562867215, 'fraction_numerical': 0.022914218566392478, 'mean_word_length': 1.3226466575716234, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 4, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 28, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '473925', 'n_tokens_mistral': 1048, 'n_tokens_neox': 948, 'n_words': 211}