output

package
v2.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

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 {
	ElasticsearchCommon `json:",inline"`

	// 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"`
}

type ElasticsearchCommon added in v2.9.0

type ElasticsearchCommon 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"`
	// Authenticate towards Elastic Cloud using CloudId. If set, cloudAuth must
	// be set as well and host, port, user and password are ignored.
	CloudId *plugins.Secret `json:"cloudId,omitempty"`
	// Authenticate towards Elastic Cloud using cloudAuth.
	CloudAuth *plugins.Secret `json:"cloudAuth,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 ElasticsearchDataStream added in v2.9.0

type ElasticsearchDataStream struct {
	ElasticsearchCommon `json:",inline"`

	// You can specify Elasticsearch data stream name by this parameter. This parameter is mandatory for elasticsearch_data_stream
	DataStreamName *string `json:"dataStreamName"`
}

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_es datastreams plugin
	ElasticsearchDataStream *ElasticsearchDataStream `json:"elasticsearchDataStream,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

func (in *Output) DeepCopyInto(out *Output)

DeepCopyInto implements the DeepCopyInto interface.

func (*Output) Name

func (o *Output) Name() string

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"`
	// the following parameters are for S3 kms https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
	UseServerSideEncryption *string `json:"useServerSideEncryption,omitempty"`
	// The AWS KMS enctyption algorithm.
	SseCustomerAlgorithm *string `json:"sseCustomerAlgorithm,omitempty"`
	// The AWS KMS key ID.
	SsekmsKeyId *string `json:"ssekmsKeyId,omitempty"`
	// The AWS KMS key.
	SseCustomerKey *string `json:"sseCustomerKey,omitempty"`
	// The AWS KMS key MD5.
	SseCustomerKeyMd5 *string `json:"sseCustomerKeyMd5,omitempty"`
}

S3 defines the parameters for out_s3 output plugin

type Stdout

type Stdout struct {
}

Stdout defines an empty placeholder for out_stdout output plugin

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL