func getS3ConnInfo(e plugin.ShieldEndpoint) (S3ConnectionInfo, error) { host, err := e.StringValueDefault("s3_host", DefaultS3Host) if err != nil { return S3ConnectionInfo{}, err } insecure_ssl, err := e.BooleanValueDefault("skip_ssl_validation", DefaultSkipSSLValidation) if err != nil { return S3ConnectionInfo{}, err } key, err := e.StringValue("access_key_id") if err != nil { return S3ConnectionInfo{}, err } secret, err := e.StringValue("secret_access_key") if err != nil { return S3ConnectionInfo{}, err } bucket, err := e.StringValue("bucket") if err != nil { return S3ConnectionInfo{}, err } prefix, err := e.StringValueDefault("prefix", DefaultPrefix) if err != nil { return S3ConnectionInfo{}, err } sigVer, err := e.StringValueDefault("signature_version", DefaultSigVersion) if !validSigVersion(sigVer) { return S3ConnectionInfo{}, fmt.Errorf("Invalid `signature_version` specified (`%s`). Expected `2` or `4`", sigVer) } proxy, err := e.StringValueDefault("socks5_proxy", "") if err != nil { return S3ConnectionInfo{}, err } return S3ConnectionInfo{ Host: host, SkipSSLValidation: insecure_ssl, AccessKey: key, SecretKey: secret, Bucket: bucket, PathPrefix: prefix, SignatureVersion: sigVer, SOCKS5Proxy: proxy, }, nil }
func (p RabbitMQBrokerPlugin) Validate(endpoint plugin.ShieldEndpoint) error { var ( s string err error fail bool ) s, err = endpoint.StringValue("rmq_url") if err != nil { ansi.Printf("@R{\u2717 rmq_url %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 rmq_url} @C{%s}\n", s) } s, err = endpoint.StringValue("rmq_username") if err != nil { ansi.Printf("@R{\u2717 rmq_username %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 rmq_username} @C{%s}\n", s) } s, err = endpoint.StringValue("rmq_password") if err != nil { ansi.Printf("@R{\u2717 rmq_password %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 rmq_password} @C{%s}\n", s) } tf, err := endpoint.BooleanValueDefault("skip_ssl_validation", false) if err != nil { ansi.Printf("@R{\u2717 skip_ssl_validation %s}\n", err) fail = true } else { if tf { ansi.Printf("@G{\u2713 skip_ssl_validation} @C{yes}, SSL will @Y{NOT} be validated\n") } else { ansi.Printf("@G{\u2713 skip_ssl_validation} @C{no}, SSL @Y{WILL} be validated\n") } } if fail { return fmt.Errorf("rabbitmq-broker: invalid configuration") } return nil }
func getScalityConnInfo(e plugin.ShieldEndpoint) (ScalityConnectionInfo, error) { host, err := e.StringValue("scality_host") if err != nil { return ScalityConnectionInfo{}, err } insecure_ssl, err := e.BooleanValueDefault("skip_ssl_validation", DefaultSkipSSLValidation) if err != nil { return ScalityConnectionInfo{}, err } key, err := e.StringValue("access_key_id") if err != nil { return ScalityConnectionInfo{}, err } secret, err := e.StringValue("secret_access_key") if err != nil { return ScalityConnectionInfo{}, err } bucket, err := e.StringValue("bucket") if err != nil { return ScalityConnectionInfo{}, err } prefix, err := e.StringValueDefault("prefix", DefaultPrefix) if err != nil { return ScalityConnectionInfo{}, err } proxy, err := e.StringValueDefault("socks5_proxy", "") if err != nil { return ScalityConnectionInfo{}, err } return ScalityConnectionInfo{ Host: host, SkipSSLValidation: insecure_ssl, AccessKey: key, SecretKey: secret, Bucket: bucket, PathPrefix: prefix, SOCKS5Proxy: proxy, }, nil }
func (p S3Plugin) Validate(endpoint plugin.ShieldEndpoint) error { var ( s string err error fail bool ) s, err = endpoint.StringValueDefault("s3_host", DefaultS3Host) if err != nil { ansi.Printf("@R{\u2717 s3_host %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 s3_host} @C{%s}\n", s) } s, err = endpoint.StringValue("access_key_id") if err != nil { ansi.Printf("@R{\u2717 access_key_id %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 access_key_id} @C{%s}\n", s) } s, err = endpoint.StringValue("secret_access_key") if err != nil { ansi.Printf("@R{\u2717 secret_access_key %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 secret_access_key} @C{%s}\n", s) } s, err = endpoint.StringValue("bucket") if err != nil { ansi.Printf("@R{\u2717 bucket %s}\n", err) fail = true } else { ansi.Printf("@G{\u2713 bucket} @C{%s}\n", s) } s, err = endpoint.StringValueDefault("prefix", DefaultPrefix) if err != nil { ansi.Printf("@R{\u2717 prefix %s}\n", err) fail = true } else if s == "" { ansi.Printf("@G{\u2713 prefix} (none)\n") } else { ansi.Printf("@G{\u2713 prefix} @C{%s}\n", s) } s, err = endpoint.StringValueDefault("signature_version", DefaultSigVersion) if err != nil { ansi.Printf("@R{\u2717 signature_version %s}\n", err) fail = true } else if !validSigVersion(s) { ansi.Printf("@R{\u2717 signature_version Unexpected signature version '%s' found (expecting '2' or '4')}\n", s) fail = true } else { ansi.Printf("@G{\u2713 signature_version} @C{%s}\n", s) } s, err = endpoint.StringValueDefault("socks5_proxy", "") if err != nil { ansi.Printf("@R{\u2717 socks5_proxy %s}\n", err) fail = true } else if s == "" { ansi.Printf("@G{\u2713 socks5_proxy} (no proxy will be used)\n") } else { ansi.Printf("@G{\u2713 socks5_proxy} @C{%s}\n", s) } tf, err := endpoint.BooleanValueDefault("skip_ssl_validation", DefaultSkipSSLValidation) if err != nil { ansi.Printf("@R{\u2717 skip_ssl_validation %s}\n", err) fail = true } else if tf { ansi.Printf("@G{\u2713 skip_ssl_validation} @C{yes}, SSL will @Y{NOT} be validated\n") } else { ansi.Printf("@G{\u2713 skip_ssl_validation} @C{no}, SSL @Y{WILL} be validated\n") } if fail { return fmt.Errorf("s3: invalid configuration") } return nil }