Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudWatch ¶
type CloudWatch struct {
//
AutoCreateStream *bool `json:"autoCreateStream,omitempty"`
//
AwsKeyId *plugins.Secret `json:"awsKeyId,omitempty"`
//
AwsSecKey *plugins.Secret `json:"awsSecKey,omitempty"`
//
AwsUseSts *bool `json:"awsUseSts,omitempty"`
//
AwsStsRoleARN *string `json:"awsStsRoleArn,omitempty"`
//
AwsStsSessionName *string `json:"awsStsSessionName,omitempty"`
//
AwsStsExternalId *string `json:"awsStsExternalId,omitempty"`
//
AwsStsPolicy *string `json:"awsStsPolicy,omitempty"`
//
AwsStsDurationSeconds *string `json:"awsStsDurationSeconds,omitempty"`
//
AwsStsEndpointUrl *string `json:"awsStsEndpointUrl,omitempty"`
//
AwsEcsAuthentication *bool `json:"awsEcsAuthentication,omitempty"`
//
Concurrency *int `json:"concurrency,omitempty"`
// Specify an AWS endpoint to send data to.
Endpoint *string `json:"endpoint,omitempty"`
//
SslVerifyPeer *bool `json:"sslVerifyPeer,omitempty"`
//
HttpProxy *string `json:"httpProxy,omitempty"`
//
IncludeTimeKey *bool `json:"includeTimeKey,omitempty"`
//
JsonHandler *string `json:"jsonHandler,omitempty"`
//
Localtime *bool `json:"localtime,omitempty"`
//
LogGroupAwsTags *string `json:"logGroupAwsTags,omitempty"`
//
LogGroupAwsTagsKey *string `json:"logGroupAwsTagsKey,omitempty"`
//
LogGroupName *string `json:"logGroupName,omitempty"`
//
LogGroupNameKey *string `json:"logGroupNameKey,omitempty"`
//
LogRejectedRequest *string `json:"logRejectedRequest,omitempty"`
//
LogStreamName *string `json:"logStreamName,omitempty"`
//
LogStreamNameKey *string `json:"logStreamNameKey,omitempty"`
//
MaxEventsPerBatch *string `json:"maxEventsPerBatch,omitempty"`
//
MaxMessageLength *string `json:"maxMessageLength,omitempty"`
//
MessageKeys *string `json:"messageKeys,omitempty"`
//
PutLogEventsDisableRetryLimit *bool `json:"putLogEventsDisableRetryLimit,omitempty"`
//
PutLogEventsRetryLimit *string `json:"putLogEventsRetryLimit,omitempty"`
//
PutLogEventsRetryWait *string `json:"putLogEventsRetryWait,omitempty"`
// The AWS region.
Region *string `json:"region,omitempty"`
//
RemoveLogGroupAwsTagsKey *bool `json:"removeLogGroupAwsTagsKey,omitempty"`
//
RemoveLogGroupNameKey *bool `json:"removeLogGroupNameKey,omitempty"`
//
RemoveLogStreamNameKey *bool `json:"removeLogStreamNameKey,omitempty"`
//
RemoveRetentionInDaysKey *bool `json:"removeRetentionInDaysKey,omitempty"`
//
RetentionInDays *string `json:"retentionInDays,omitempty"`
//
RetentionInDaysKey *string `json:"retentionInDaysKey,omitempty"`
//
UseTagAsGroup *string `json:"useTagAsGroup,omitempty"`
//
UseTagAsStream *string `json:"useTagAsStream,omitempty"`
// ARN of an IAM role to assume (for cross account access).
RoleARN *string `json:"roleArn,omitempty"`
// Role Session name
RoleSessionName *string `json:"roleSessionName,omitempty"`
// Web identity token file
WebIdentityTokenFile *string `json:"webIdentityTokenFile,omitempty"`
//
Policy *string `json:"policy,omitempty"`
//
DurationSeconds *string `json:"durationSeconds,omitempty"`
}
CloudWatch defines the parametes for out_cloudwatch output plugin
type Copy ¶ added in v2.7.0
type Copy struct {
// CopyMode defines how to pass the events to <store> plugins.
// +kubebuilder:validation:Enum:=no_copy;shallow;deep;marshal
CopyMode *string `json:"copyMode"`
}
Copy defines the parameters for out_Copy plugin
type Datadog ¶ added in v2.4.0
type Datadog struct {
// This parameter is required in order to authenticate your fluent agent.
ApiKey *plugins.Secret `json:"apiKey,omitempty"`
// Event format, if true, the event is sent in json format. Othwerwise, in plain text.
UseJson *bool `json:"useJson,omitempty"`
// Automatically include the Fluentd tag in the record.
IncludeTagKey *bool `json:"includeTagKey,omitempty"`
// Where to store the Fluentd tag.
TagKey *string `json:"tagKey,omitempty"`
// Name of the attribute which will contain timestamp of the log event. If nil, timestamp attribute is not added.
TimestampKey *string `json:"timestampKey,omitempty"`
// If true, the agent initializes a secure connection to Datadog. In clear TCP otherwise.
UseSSL *bool `json:"useSSL,omitempty"`
// Disable SSL validation (useful for proxy forwarding)
NoSSLValidation *bool `json:"noSSLValidation,omitempty"`
// Port used to send logs over a SSL encrypted connection to Datadog. If use_http is disabled, use 10516 for the US region and 443 for the EU region.
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
SSLPort *uint32 `json:"sslPort,omitempty"`
// The number of retries before the output plugin stops. Set to -1 for unlimited retries
MaxRetries *uint32 `json:"maxRetries,omitempty"`
// The maximum time waited between each retry in seconds
MaxBackoff *uint32 `json:"maxBackoff,omitempty"`
// Enable HTTP forwarding. If you disable it, make sure to change the port to 10514 or ssl_port to 10516
UseHTTP *bool `json:"useHTTP,omitempty"`
// Enable log compression for HTTP
UseCompression *bool `json:"useCompression,omitempty"`
// Set the log compression level for HTTP (1 to 9, 9 being the best ratio)
CompressionLevel *uint32 `json:"compressionLevel,omitempty"`
// This tells Datadog what integration it is
DDSource *string `json:"ddSource,omitempty"`
// Multiple value attribute. Can be used to refine the source attribute
DDSourcecategory *string `json:"ddSourcecategory,omitempty"`
// Custom tags with the following format "key1:value1, key2:value2"
DDTags *string `json:"ddTags,omitempty"`
// Used by Datadog to identify the host submitting the logs.
DDHostname *string `json:"ddHostname,omitempty"`
// Used by Datadog to correlate between logs, traces and metrics.
Service *string `json:"service,omitempty"`
// Proxy port when logs are not directly forwarded to Datadog and ssl is not used
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *uint32 `json:"port,omitempty"`
// Proxy endpoint when logs are not directly forwarded to Datadog
Host *string `json:"host,omitempty"`
// HTTP proxy, only takes effect if HTTP forwarding is enabled (use_http). Defaults to HTTP_PROXY/http_proxy env vars.
HttpProxy *string `json:"httpProxy,omitempty"`
}
Datadog defines the parameters for out_datadog plugin
type Elasticsearch ¶
type Elasticsearch struct {
// The hostname of your Elasticsearch node (default: localhost).
Host *string `json:"host,omitempty"`
// The port number of your Elasticsearch node (default: 9200).
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *uint32 `json:"port,omitempty"`
// Hosts defines a list of hosts if you want to connect to more than one Elasticsearch nodes
Hosts *string `json:"hosts,omitempty"`
// Specify https if your Elasticsearch endpoint supports SSL (default: http).
Scheme *string `json:"scheme,omitempty"`
// Path defines the REST API endpoint of Elasticsearch to post write requests (default: nil).
Path *string `json:"path,omitempty"`
// IndexName defines the placeholder syntax of Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
IndexName *string `json:"indexName,omitempty"`
// If true, Fluentd uses the conventional index name format logstash-%Y.%m.%d (default: false). This option supersedes the index_name option.
LogstashFormat *bool `json:"logstashFormat,omitempty"`
// LogstashPrefix defines the logstash prefix index name to write events when logstash_format is true (default: logstash).
LogstashPrefix *string `json:"logstashPrefix,omitempty"`
// Optional, The login credentials to connect to Elasticsearch
User *plugins.Secret `json:"user,omitempty"`
// Optional, The login credentials to connect to Elasticsearch
Password *plugins.Secret `json:"password,omitempty"`
// Optional, Force certificate validation
SslVerify *bool `json:"sslVerify,omitempty"`
// Optional, Absolute path to CA certificate file
CAFile *string `json:"caFile,omitempty"`
// Optional, Absolute path to client Certificate file
ClientCert *string `json:"clientCert,omitempty"`
// Optional, Absolute path to client private Key file
ClientKey *string `json:"clientKey,omitempty"`
// Optional, password for ClientKey file
ClientKeyPassword *plugins.Secret `json:"clientKeyPassword,omitempty"`
}
Elasticsearch defines the parameters for out_es output plugin
type Forward ¶
type Forward struct {
// Servers defines the servers section, at least one is required
Servers []*common.Server `json:"servers"`
// ServiceDiscovery defines the service_discovery section
ServiceDiscovery *common.ServiceDiscovery `json:"serviceDiscovery,omitempty"`
// ServiceDiscovery defines the security section
Security *common.Security `json:"security,omitempty"`
// Changes the protocol to at-least-once. The plugin waits the ack from destination's in_forward plugin.
RequireAckResponse *bool `json:"requireAckResponse,omitempty"`
// This option is used when require_ack_response is true. This default value is based on popular tcp_syn_retries.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
AckResponseTimeout *string `json:"ackResponseTimeout,omitempty"`
// The timeout time when sending event logs.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
SendTimeout *string `json:"sendTimeout,omitempty"`
// The connection timeout for the socket. When the connection is timed out during the connection establishment, Errno::ETIMEDOUT error is raised.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
ConnectTimeout *string `json:"connectTimeout,omitempty"`
// The wait time before accepting a server fault recovery.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
RecoverWait *string `json:"recoverWait,omitempty"`
// Specifies the transport protocol for heartbeats. Set none to disable.
// +kubebuilder:validation:Enum:=transport;tcp;udp;none
HeartbeatType *string `json:"heartbeatType,omitempty"`
// The interval of the heartbeat packer.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
HeartbeatInterval *string `json:"heartbeatInterval,omitempty"`
// Use the "Phi accrual failure detector" to detect server failure.
PhiFailureDetector *bool `json:"phiFailureDetector,omitempty"`
// The threshold parameter used to detect server faults.
PhiThreshold *uint16 `json:"phiThreshold,omitempty"`
// The hard timeout used to detect server failure. The default value is equal to the send_timeout parameter.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
HardTimeout *string `json:"hardTimeout,omitempty"`
// Sets TTL to expire DNS cache in seconds. Set 0 not to use DNS Cache.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
ExpireDnsCache *string `json:"expireDnsCache,omitempty"`
// Enable client-side DNS round robin. Uniform randomly pick an IP address to send data when a hostname has several IP addresses.
// heartbeat_type udp is not available with dns_round_robintrue. Use heartbeat_type tcp or heartbeat_type none.
DnsRoundRobin *bool `json:"dnsRoundRobin,omitempty"`
// Ignores DNS resolution and errors at startup time.
IgnoreNetworkErrorsAtStartup *bool `json:"ignoreNetworkErrorsAtStartup,omitempty"`
// The default version of TLS transport.
// +kubebuilder:validation:Enum:=TLSv1_1;TLSv1_2
TlsVersion *string `json:"tlsVersion,omitempty"`
// The cipher configuration of TLS transport.
TlsCiphers *string `json:"tlsCiphers,omitempty"`
// Skips all verification of certificates or not.
TlsInsecureMode *bool `json:"tlsInsecureMode,omitempty"`
// Allows self-signed certificates or not.
TlsAllowSelfSignedCert *bool `json:"tlsAllowSelfSignedCert,omitempty"`
// Verifies hostname of servers and certificates or not in TLS transport.
TlsVerifyHostname *bool `json:"tlsVerifyHostname,omitempty"`
// The additional CA certificate path for TLS.
TlsCertPath *string `json:"tlsCertPath,omitempty"`
// The client certificate path for TLS.
TlsClientCertPath *string `json:"tlsClientCertPath,omitempty"`
// The client private key path for TLS.
TlsClientPrivateKeyPath *string `json:"tlsClientPrivateKeyPath,omitempty"`
// The TLS private key passphrase for the client.
TlsClientPrivateKeyPassphrase *string `json:"tlsClientPrivateKeyPassphrase,omitempty"`
// The certificate thumbprint for searching from Windows system certstore. This parameter is for Windows only.
TlsCertThumbprint *string `json:"tlsCertThumbprint,omitempty"`
// The certificate logical store name on Windows system certstore. This parameter is for Windows only.
TlsCertLogicalStoreName *string `json:"tlsCertLogicalStoreName,omitempty"`
// Enables the certificate enterprise store on Windows system certstore. This parameter is for Windows only.
TlsCertUseEnterpriseStore *bool `json:"tlsCertUseEnterpriseStore,omitempty"`
// Enables the keepalive connection.
Keepalive *bool `json:"keepalive,omitempty"`
// Timeout for keepalive. Default value is nil which means to keep the connection alive as long as possible.
// +kubebuilder:validation:Pattern:="^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$"
KeepaliveTimeout *string `json:"keepaliveTimeout,omitempty"`
// Verify that a connection can be made with one of out_forward nodes at the time of startup.
VerifyConnectionAtStartup *bool `json:"verifyConnectionAtStartup,omitempty"`
}
Forward defines the out_forward Buffered Output plugin forwards events to other fluentd nodes.
type Http ¶
type Http struct {
// Auth section for this plugin
*common.Auth `json:"auth,omitempty"`
// Endpoint defines the endpoint for HTTP request. If you want to use HTTPS, use https prefix.
Endpoint *string `json:"endpoint,omitempty"`
// HttpMethod defines the method for HTTP request.
// +kubebuilder:validation:Enum:=post;put
HttpMethod *string `json:"httpMethod,omitempty"`
// Proxy defines the proxy for HTTP request.
Proxy *string `json:"proxy,omitempty"`
// ContentType defines Content-Type for HTTP request. out_http automatically set Content-Type for built-in formatters when this parameter is not specified.
ContentType *string `json:"contentType,omitempty"`
// JsonArray defines whether to use the array format of JSON or not
JsonArray *bool `json:"jsonArray,omitempty"`
// Headers defines the additional headers for HTTP request.
Headers *string `json:"headers,omitempty"`
// Additional placeholder based headers for HTTP request. If you want to use tag or record field, use this parameter instead of headers.
HeadersFromPlaceholders *string `json:"headersFromPlaceholders,omitempty"`
// OpenTimeout defines the connection open timeout in seconds.
OpenTimeout *uint16 `json:"openTimeout,omitempty"`
// ReadTimeout defines the read timeout in seconds.
ReadTimeout *uint16 `json:"readTimeout,omitempty"`
// SslTimeout defines the TLS timeout in seconds.
SslTimeout *uint16 `json:"sslTimeout,omitempty"`
// TlsCaCertPath defines the CA certificate path for TLS.
TlsCaCertPath *string `json:"tlsCaCertPath,omitempty"`
// TlsClientCertPath defines the client certificate path for TLS.
TlsClientCertPath *string `json:"tlsClientCertPath,omitempty"`
// TlsPrivateKeyPath defines the client private key path for TLS.
TlsPrivateKeyPath *string `json:"tlsPrivateKeyPath,omitempty"`
// TlsPrivateKeyPassphrase defines the client private key passphrase for TLS.
TlsPrivateKeyPassphrase *string `json:"tlsPrivateKeyPassphrase,omitempty"`
// TlsVerifyMode defines the verify mode of TLS.
// +kubebuilder:validation:Enum:=peer;none
TlsVerifyMode *string `json:"tlsVerifyMode,omitempty"`
// TlsVersion defines the default version of TLS transport.
// +kubebuilder:validation:Enum:=TLSv1_1;TLSv1_2
TlsVersion *string `json:"tlsVersion,omitempty"`
// TlsCiphers defines the cipher suites configuration of TLS.
TlsCiphers *string `json:"tlsCiphers,omitempty"`
// Raise UnrecoverableError when the response code is not SUCCESS.
ErrorResponseAsUnrecoverable *bool `json:"errorResponseAsUnrecoverable,omitempty"`
// The list of retryable response codes. If the response code is included in this list, out_http retries the buffer flush.
RetryableResponseCodes *string `json:"retryableResponseCodes,omitempty"`
}
Http defines the parameters for out_http output plugin
type Kafka2 ¶
type Kafka2 struct {
// The list of all seed brokers, with their host and port information. Default: localhost:9092
Brokers *string `json:"brokers,omitempty"`
// The field name for the target topic. If the field value is app, this plugin writes events to the app topic.
TopicKey *string `json:"topicKey,omitempty"`
// The name of the default topic. (default: nil)
DefaultTopic *string `json:"defaultTopic,omitempty"`
// Set fluentd event time to Kafka's CreateTime.
UseEventTime *bool `json:"useEventTime,omitempty"`
// The number of acks required per request.
RequiredAcks *int16 `json:"requiredAcks,omitempty"`
// The codec the producer uses to compress messages (default: nil).
// +kubebuilder:validation:Enum:=gzip;snappy
CompressionCodec *string `json:"compressionCodec,omitempty"`
}
Kafka2 defines the parameters for out_kafka output plugin
type Loki ¶
type Loki struct {
// Loki URL.
Url *string `json:"url"`
// Set HTTP basic authentication user name.
HTTPUser *plugins.Secret `json:"httpUser,omitempty"`
// Password for user defined in HTTP_User
// Set HTTP basic authentication password
HTTPPasswd *plugins.Secret `json:"httpPassword,omitempty"`
// Tenant ID used by default to push logs to Loki.
// If omitted or empty it assumes Loki is running in single-tenant mode and no X-Scope-OrgID header is sent.
TenantID *plugins.Secret `json:"tenantID,omitempty"`
// Stream labels for API request. It can be multiple comma separated of strings specifying key=value pairs.
// In addition to fixed parameters, it also allows to add custom record keys (similar to label_keys property).
Labels []string `json:"labels,omitempty"`
// Optional list of record keys that will be placed as stream labels.
// This configuration property is for records key only.
LabelKeys []string `json:"labelKeys,omitempty"`
// Optional list of record keys that will be removed from stream labels.
// This configuration property is for records key only.
RemoveKeys []string `json:"removeKeys,omitempty"`
// Format to use when flattening the record to a log line. Valid values are json or key_value.
// If set to json, the log line sent to Loki will be the Fluentd record dumped as JSON.
// If set to key_value, the log line will be each item in the record concatenated together (separated by a single space) in the format.
// +kubebuilder:validation:Enum:=json;key_value
LineFormat string `json:"lineFormat,omitempty"`
// If set to true, it will add all Kubernetes labels to the Stream labels.
ExtractKubernetesLabels *bool `json:"extractKubernetesLabels,omitempty"`
// If a record only has 1 key, then just set the log line to the value and discard the key.
DropSingleKey *bool `json:"dropSingleKey,omitempty"`
// Whether or not to include the fluentd_thread label when multiple threads are used for flushing
IncludeThreadLabel *bool `json:"includeThreadLabel,omitempty"`
// Disable certificate validation
Insecure *bool `json:"insecure,omitempty"`
// TlsCaCert defines the CA certificate file for TLS.
TlsCaCertFile *string `json:"tlsCaCertFile,omitempty"`
// TlsClientCert defines the client certificate file for TLS.
TlsClientCertFile *string `json:"tlsClientCertFile,omitempty"`
// TlsPrivateKey defines the client private key file for TLS.
TlsPrivateKeyFile *string `json:"tlsPrivateKeyFile,omitempty"`
}
The loki output plugin, allows to ingest your records into a Loki service.
type Opensearch ¶
type Opensearch struct {
// The hostname of your Opensearch node (default: localhost).
Host *string `json:"host,omitempty"`
// The port number of your Opensearch node (default: 9200).
// +kubebuilder:validation:Minimum:=1
// +kubebuilder:validation:Maximum:=65535
Port *uint32 `json:"port,omitempty"`
// Hosts defines a list of hosts if you want to connect to more than one Openearch nodes
Hosts *string `json:"hosts,omitempty"`
// Specify https if your Opensearch endpoint supports SSL (default: http).
Scheme *string `json:"scheme,omitempty"`
// Path defines the REST API endpoint of Opensearch to post write requests (default: nil).
Path *string `json:"path,omitempty"`
// IndexName defines the placeholder syntax of Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
IndexName *string `json:"indexName,omitempty"`
// If true, Fluentd uses the conventional index name format logstash-%Y.%m.%d (default: false). This option supersedes the index_name option.
LogstashFormat *bool `json:"logstashFormat,omitempty"`
// LogstashPrefix defines the logstash prefix index name to write events when logstash_format is true (default: logstash).
LogstashPrefix *string `json:"logstashPrefix,omitempty"`
// Optional, The login credentials to connect to Opensearch
User *plugins.Secret `json:"user,omitempty"`
// Optional, The login credentials to connect to Opensearch
Password *plugins.Secret `json:"password,omitempty"`
}
Opensearch defines the parameters for out_opensearch plugin
type Output ¶
type Output struct {
OutputCommon `json:",inline,omitempty"`
// match setions
common.BufferSection `json:",inline,omitempty"`
// out_forward plugin
Forward *Forward `json:"forward,omitempty"`
// out_http plugin
Http *Http `json:"http,omitempty"`
// out_es plugin
Elasticsearch *Elasticsearch `json:"elasticsearch,omitempty"`
// out_opensearch plugin
Opensearch *Opensearch `json:"opensearch,omitempty"`
// out_kafka plugin
Kafka *Kafka2 `json:"kafka,omitempty"`
// out_s3 plugin
S3 *S3 `json:"s3,omitempty"`
// out_stdout plugin
Stdout *Stdout `json:"stdout,omitempty"`
// out_loki plugin
Loki *Loki `json:"loki,omitempty"`
// Custom plugin type
CustomPlugin *custom.CustomPlugin `json:"customPlugin,omitempty"`
// out_cloudwatch plugin
CloudWatch *CloudWatch `json:"cloudWatch,omitempty"`
// datadog plugin
Datadog *Datadog `json:"datadog,omitempty"`
// copy plugin
Copy *Copy `json:"copy,omitempty"`
}
Output defines all available output plugins and their parameters
func (*Output) DeepCopyInto ¶
DeepCopyInto implements the DeepCopyInto interface.
func (*Output) Params ¶
func (o *Output) Params(loader plugins.SecretLoader) (*params.PluginStore, error)
type OutputCommon ¶
type OutputCommon struct {
Id *string `json:"-"`
// The @log_level parameter specifies the plugin-specific logging level
LogLevel *string `json:"logLevel,omitempty"`
// The @label parameter is to route the events to <label> sections
Label *string `json:"-"`
// Which tag to be matched.
Tag *string `json:"tag,omitempty"`
}
OutputCommon defines the common parameters for output plugin
type S3 ¶
type S3 struct {
// The AWS access key id.
AwsKeyId *string `json:"awsKeyId,omitempty"`
// The AWS secret key.
AwsSecKey *string `json:"awsSecKey,omitempty"`
// The Amazon S3 bucket name.
S3Bucket *string `json:"s3Bucket,omitempty"`
// The Amazon S3 region name
S3Region *string `json:"s3Region,omitempty"`
// The endpoint URL (like "http://localhost:9000/")
S3Endpoint *string `json:"s3Endpoint,omitempty"`
// This prevents AWS SDK from breaking endpoint URL
ForcePathStyle *bool `json:"forcePathStyle,omitempty"`
// This timestamp is added to each file name
TimeSliceFormat *string `json:"timeSliceFormat,omitempty"`
// The path prefix of the files on S3.
Path *string `json:"path,omitempty"`
// The actual S3 path. This is interpolated to the actual path.
S3ObjectKeyFormat *string `json:"s3ObjectKeyFormat,omitempty"`
// The compression type.
// +kubebuilder:validation:Enum:= gzip;lzo;json;txt
StoreAs *string `json:"storeAs,omitempty"`
// The proxy URL.
ProxyUri *string `json:"proxyUri,omitempty"`
// Verify the SSL certificate of the endpoint.
SslVerifyPeer *bool `json:"sslVerifyPeer,omitempty"`
}
S3 defines the parameters for out_s3 output plugin