@luminati-io/kubernetes-models-fluent-operator
Version:
Models for https://github.com/fluent/fluent-operator
1,088 lines • 68.1 kB
TypeScript
import { IObjectMeta } from "@kubernetes-models/apimachinery/apis/meta/v1/ObjectMeta";
import { Model, ModelData } from "@kubernetes-models/base";
/**
* ClusterOutput is the Schema for the clusteroutputs API
*/
export interface IClusterOutput {
/**
* APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
*/
"apiVersion": "fluentd.fluent.io/v1alpha1";
/**
* Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
"kind": "ClusterOutput";
"metadata"?: IObjectMeta;
/**
* ClusterOutputSpec defines the desired state of ClusterOutput
*/
"spec"?: {
"outputs"?: Array<{
/**
* buffer section
*/
"buffer"?: {
/**
* Calculates the number of records, chunk size, during chunk resume.
*/
"calcNumRecords"?: string;
/**
* ChunkFormat specifies the chunk format for calc_num_records.
*/
"chunkFormat"?: "msgpack" | "text" | "auto";
/**
* The max number of events that each chunks can store in it.
*/
"chunkLimitRecords"?: string;
/**
* Buffer parameters The max size of each chunks: events will be written into chunks until the size of chunks become this size Default: 8MB (memory) / 256MB (file)
*/
"chunkLimitSize"?: string;
/**
* Fluentd will decompress these compressed chunks automatically before passing them to the output plugin If gzip is set, Fluentd compresses data records before writing to buffer chunks. Default:text.
*/
"compress"?: "text" | "gzip";
/**
* The timeout (seconds) until output plugin decides if the async write operation has failed. Default is 60s
*/
"delayedCommitTimeout"?: string;
/**
* Instead of storing unrecoverable chunks in the backup directory, just discard them. This option is new in Fluentd v1.2.6.
*/
"disableChunkBackup"?: boolean;
/**
* Flush parameters This specifies whether to flush/write all buffer chunks on shutdown or not.
*/
"flushAtShutdown"?: boolean;
/**
* FlushInterval defines the flush interval
*/
"flushInterval"?: string;
/**
* FlushMode defines the flush mode: lazy: flushes/writes chunks once per timekey interval: flushes/writes chunks per specified time via flush_interval immediate: flushes/writes chunks immediately after events are appended into chunks default: equals to lazy if time is specified as chunk key, interval otherwise
*/
"flushMode"?: "default" | "lazy" | "interval" | "immediate";
/**
* The number of threads to flush/write chunks in parallel
*/
"flushThreadCount"?: string;
/**
* The @id parameter specifies a unique name for the configuration.
*/
"id"?: string;
/**
* If true, uses local time.
*/
"localtime"?: boolean;
/**
* The @log_level parameter specifies the plugin-specific logging level
*/
"logLevel"?: string;
/**
* OverflowAtction defines the output plugin behave when its buffer queue is full. Default: throw_exception
*/
"overflowAction"?: string;
/**
* The path where buffer chunks are stored. This field would make no effect in memory buffer plugin.
*/
"path"?: string;
/**
* Changes the suffix of the buffer file.
*/
"pathSuffix"?: string;
/**
* The queue length limitation of this buffer plugin instance. Default: 0.95
*/
"queueLimitLength"?: string;
/**
* Limit the number of queued chunks. Default: 1 If a smaller flush_interval is set, e.g. 1s, there are lots of small queued chunks in the buffer. With file buffer, it may consume a lot of fd resources when output destination has a problem. This parameter mitigates such situations.
*/
"queuedChunksLimitSize"?: number;
/**
* The base number of exponential backoff for retries.
*/
"retryExponentialBackoffBase"?: string;
/**
* If true, plugin will ignore retry_timeout and retry_max_times options and retry flushing forever.
*/
"retryForever"?: boolean;
/**
* The maximum interval (seconds) for exponential backoff between retries while failing
*/
"retryMaxInterval"?: string;
/**
* The maximum number of times to retry to flush the failed chunks. Default: none
*/
"retryMaxTimes"?: number;
/**
* If true, the output plugin will retry after randomized interval not to do burst retries
*/
"retryRandomize"?: boolean;
/**
* The ratio of retry_timeout to switch to use the secondary while failing.
*/
"retrySecondaryThreshold"?: string;
/**
* Retry parameters The maximum time (seconds) to retry to flush again the failed chunks, until the plugin discards the buffer chunks
*/
"retryTimeout"?: string;
/**
* Output plugin will retry periodically with fixed intervals.
*/
"retryType"?: string;
/**
* Wait in seconds before the next retry to flush or constant factor of exponential backoff
*/
"retryWait"?: string;
/**
* The output plugins group events into chunks. Chunk keys, specified as the argument of <buffer> section, control how to group events into chunks. If tag is empty, which means blank Chunk Keys. Tag also supports Nested Field, combination of Chunk Keys, placeholders, etc. See https://docs.fluentd.org/configuration/buffer-section.
*/
"tag"?: string;
/**
* Process value according to the specified format. This is available only when time_type is string
*/
"timeFormat"?: string;
/**
* Uses the specified time format as a fallback in the specified order. You can parse undetermined time format by using time_format_fallbacks. This options is enabled when time_type is mixed.
*/
"timeFormatFallbacks"?: string;
/**
* parses/formats value according to this type, default is string
*/
"timeType"?: "float" | "unixtime" | "string" | "mixed";
/**
* Output plugin will flush chunks per specified time (enabled when time is specified in chunk keys)
*/
"timekey"?: string;
/**
* Output plugin will write chunks after timekey_wait seconds later after timekey expiration
*/
"timekeyWait"?: string;
/**
* Uses the specified timezone.
*/
"timezone"?: string;
/**
* The size limitation of this buffer plugin instance Default: 512MB (memory) / 64GB (file)
*/
"totalLimitSize"?: string;
/**
* The @type parameter specifies the type of the plugin.
*/
"type": "file" | "memory" | "file_single";
/**
* If true, uses UTC.
*/
"utc"?: boolean;
};
/**
* out_cloudwatch plugin
*/
"cloudWatch"?: {
"autoCreateStream"?: boolean;
"awsEcsAuthentication"?: boolean;
/**
* Secret defines the key of a value.
*/
"awsKeyId"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Secret defines the key of a value.
*/
"awsSecKey"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
"awsStsDurationSeconds"?: string;
"awsStsEndpointUrl"?: string;
"awsStsExternalId"?: string;
"awsStsPolicy"?: string;
"awsStsRoleArn"?: string;
"awsStsSessionName"?: string;
"awsUseSts"?: boolean;
"concurrency"?: number;
"durationSeconds"?: string;
/**
* Specify an AWS endpoint to send data to.
*/
"endpoint"?: string;
"httpProxy"?: string;
"includeTimeKey"?: boolean;
"jsonHandler"?: string;
"localtime"?: boolean;
"logGroupAwsTags"?: string;
"logGroupAwsTagsKey"?: string;
"logGroupName"?: string;
"logGroupNameKey"?: string;
"logRejectedRequest"?: string;
"logStreamName"?: string;
"logStreamNameKey"?: string;
"maxEventsPerBatch"?: string;
"maxMessageLength"?: string;
"messageKeys"?: string;
"policy"?: string;
"putLogEventsDisableRetryLimit"?: boolean;
"putLogEventsRetryLimit"?: string;
"putLogEventsRetryWait"?: string;
/**
* The AWS region.
*/
"region"?: string;
"removeLogGroupAwsTagsKey"?: boolean;
"removeLogGroupNameKey"?: boolean;
"removeLogStreamNameKey"?: boolean;
"removeRetentionInDaysKey"?: boolean;
"retentionInDays"?: string;
"retentionInDaysKey"?: string;
/**
* ARN of an IAM role to assume (for cross account access).
*/
"roleArn"?: string;
/**
* Role Session name
*/
"roleSessionName"?: string;
"sslVerifyPeer"?: boolean;
"useTagAsGroup"?: string;
"useTagAsStream"?: string;
/**
* Web identity token file
*/
"webIdentityTokenFile"?: string;
};
/**
* Custom plugin type
*/
"customPlugin"?: {
"config": string;
};
/**
* datadog plugin
*/
"datadog"?: {
/**
* This parameter is required in order to authenticate your fluent agent.
*/
"apiKey"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Set the log compression level for HTTP (1 to 9, 9 being the best ratio)
*/
"compressionLevel"?: number;
/**
* Used by Datadog to identify the host submitting the logs.
*/
"ddHostname"?: string;
/**
* This tells Datadog what integration it is
*/
"ddSource"?: string;
/**
* Multiple value attribute. Can be used to refine the source attribute
*/
"ddSourcecategory"?: string;
/**
* Custom tags with the following format "key1:value1, key2:value2"
*/
"ddTags"?: string;
/**
* Proxy endpoint when logs are not directly forwarded to Datadog
*/
"host"?: string;
/**
* HTTP proxy, only takes effect if HTTP forwarding is enabled (use_http). Defaults to HTTP_PROXY/http_proxy env vars.
*/
"httpProxy"?: string;
/**
* Automatically include the Fluentd tag in the record.
*/
"includeTagKey"?: boolean;
/**
* The maximum time waited between each retry in seconds
*/
"maxBackoff"?: number;
/**
* The number of retries before the output plugin stops. Set to -1 for unlimited retries
*/
"maxRetries"?: number;
/**
* Disable SSL validation (useful for proxy forwarding)
*/
"noSSLValidation"?: boolean;
/**
* Proxy port when logs are not directly forwarded to Datadog and ssl is not used
*/
"port"?: number;
/**
* Used by Datadog to correlate between logs, traces and metrics.
*/
"service"?: string;
/**
* 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.
*/
"sslPort"?: number;
/**
* Where to store the Fluentd tag.
*/
"tagKey"?: string;
/**
* Name of the attribute which will contain timestamp of the log event. If nil, timestamp attribute is not added.
*/
"timestampKey"?: string;
/**
* Enable log compression for HTTP
*/
"useCompression"?: boolean;
/**
* Enable HTTP forwarding. If you disable it, make sure to change the port to 10514 or ssl_port to 10516
*/
"useHTTP"?: boolean;
/**
* Event format, if true, the event is sent in json format. Othwerwise, in plain text.
*/
"useJson"?: boolean;
/**
* If true, the agent initializes a secure connection to Datadog. In clear TCP otherwise.
*/
"useSSL"?: boolean;
};
/**
* out_es plugin
*/
"elasticsearch"?: {
/**
* The hostname of your Elasticsearch node (default: localhost).
*/
"host"?: string;
/**
* Hosts defines a list of hosts if you want to connect to more than one Elasticsearch nodes
*/
"hosts"?: string;
/**
* IndexName defines the placeholder syntax of Fluentd plugin API. See https://docs.fluentd.org/configuration/buffer-section.
*/
"indexName"?: string;
/**
* If true, Fluentd uses the conventional index name format logstash-%Y.%m.%d (default: false). This option supersedes the index_name option.
*/
"logstashFormat"?: boolean;
/**
* LogstashPrefix defines the logstash prefix index name to write events when logstash_format is true (default: logstash).
*/
"logstashPrefix"?: string;
/**
* Optional, The login credentials to connect to Elasticsearch
*/
"password"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Path defines the REST API endpoint of Elasticsearch to post write requests (default: nil).
*/
"path"?: string;
/**
* The port number of your Elasticsearch node (default: 9200).
*/
"port"?: number;
/**
* Specify https if your Elasticsearch endpoint supports SSL (default: http).
*/
"scheme"?: string;
/**
* Optional, The login credentials to connect to Elasticsearch
*/
"user"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
};
/**
* format section
*/
"format"?: {
/**
* Delimiter for each field.
*/
"delimiter"?: string;
/**
* The @id parameter specifies a unique name for the configuration.
*/
"id"?: string;
/**
* If true, uses local time.
*/
"localtime"?: boolean;
/**
* The @log_level parameter specifies the plugin-specific logging level
*/
"logLevel"?: string;
/**
* Specify newline characters.
*/
"newline"?: "lf" | "crlf";
/**
* Output tag field if true.
*/
"outputTag"?: boolean;
/**
* Output time field if true.
*/
"outputTime"?: boolean;
/**
* Process value according to the specified format. This is available only when time_type is string
*/
"timeFormat"?: string;
/**
* Uses the specified time format as a fallback in the specified order. You can parse undetermined time format by using time_format_fallbacks. This options is enabled when time_type is mixed.
*/
"timeFormatFallbacks"?: string;
/**
* parses/formats value according to this type, default is string
*/
"timeType"?: "float" | "unixtime" | "string" | "mixed";
/**
* Uses the specified timezone.
*/
"timezone"?: string;
/**
* The @type parameter specifies the type of the plugin.
*/
"type"?: "out_file" | "json" | "ltsv" | "csv" | "msgpack" | "hash" | "single_value";
/**
* If true, uses UTC.
*/
"utc"?: boolean;
};
/**
* out_forward plugin
*/
"forward"?: {
/**
* This option is used when require_ack_response is true. This default value is based on popular tcp_syn_retries.
*/
"ackResponseTimeout"?: string;
/**
* The connection timeout for the socket. When the connection is timed out during the connection establishment, Errno::ETIMEDOUT error is raised.
*/
"connectTimeout"?: string;
/**
* 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"?: boolean;
/**
* Sets TTL to expire DNS cache in seconds. Set 0 not to use DNS Cache.
*/
"expireDnsCache"?: string;
/**
* The hard timeout used to detect server failure. The default value is equal to the send_timeout parameter.
*/
"hardTimeout"?: string;
/**
* The interval of the heartbeat packer.
*/
"heartbeatInterval"?: string;
/**
* Specifies the transport protocol for heartbeats. Set none to disable.
*/
"heartbeatType"?: "transport" | "tcp" | "udp" | "none";
/**
* Ignores DNS resolution and errors at startup time.
*/
"ignoreNetworkErrorsAtStartup"?: boolean;
/**
* Enables the keepalive connection.
*/
"keepalive"?: boolean;
/**
* Timeout for keepalive. Default value is nil which means to keep the connection alive as long as possible.
*/
"keepaliveTimeout"?: string;
/**
* Use the "Phi accrual failure detector" to detect server failure.
*/
"phiFailureDetector"?: boolean;
/**
* The threshold parameter used to detect server faults.
*/
"phiThreshold"?: number;
/**
* The wait time before accepting a server fault recovery.
*/
"recoverWait"?: string;
/**
* Changes the protocol to at-least-once. The plugin waits the ack from destination's in_forward plugin.
*/
"requireAckResponse"?: boolean;
/**
* ServiceDiscovery defines the security section
*/
"security"?: {
/**
* Allows the anonymous source. <client> sections are required, if disabled.
*/
"allowAnonymousSource"?: string;
/**
* The hostname.
*/
"selfHostname"?: string;
/**
* The shared key for authentication.
*/
"sharedKey"?: string;
/**
* Defines user section directly.
*/
"user"?: {
/**
* Secret defines the key of a value.
*/
"password"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Secret defines the key of a value.
*/
"username"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
};
/**
* If true, user-based authentication is used.
*/
"userAuth"?: string;
};
/**
* The timeout time when sending event logs.
*/
"sendTimeout"?: string;
/**
* Servers defines the servers section, at least one is required
*/
"servers": Array<{
/**
* Host defines the IP address or host name of the server.
*/
"host"?: string;
/**
* The @id parameter specifies a unique name for the configuration.
*/
"id"?: string;
/**
* The @log_level parameter specifies the plugin-specific logging level
*/
"logLevel"?: string;
/**
* Name defines the name of the server. Used for logging and certificate verification in TLS transport (when the host is the address).
*/
"name"?: string;
/**
* Password defines the password for authentication.
*/
"password"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Port defines the port number of the host. Note that both TCP packets (event stream) and UDP packets (heartbeat messages) are sent to this port.
*/
"port"?: string;
/**
* SharedKey defines the shared key per server.
*/
"sharedKey"?: string;
/**
* Standby marks a node as the standby node for an Active-Standby model between Fluentd nodes.
*/
"standby"?: string;
/**
* The @type parameter specifies the type of the plugin.
*/
"type"?: string;
/**
* Username defines the username for authentication.
*/
"username"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Weight defines the load balancing weight
*/
"weight"?: string;
}>;
/**
* ServiceDiscovery defines the service_discovery section
*/
"serviceDiscovery"?: {
/**
* The encoding of the configuration file.
*/
"confEncoding"?: string;
/**
* DnsLookup resolves the hostname to IP address of the SRV's Target.
*/
"dnsLookup"?: string;
/**
* DnsServerHost defines the hostname of the DNS server to request the SRV record.
*/
"dnsServerHost"?: string;
/**
* The name in RFC2782.
*/
"hostname"?: string;
/**
* The @id parameter specifies a unique name for the configuration.
*/
"id"?: string;
/**
* Interval defines the interval of sending requests to DNS server.
*/
"interval"?: string;
/**
* The @log_level parameter specifies the plugin-specific logging level
*/
"logLevel"?: string;
/**
* The path of the target list. Default is '/etc/fluent/sd.yaml'
*/
"path"?: string;
/**
* Proto without the underscore in RFC2782.
*/
"proto"?: string;
/**
* The server section of this plugin
*/
"server"?: {
/**
* Host defines the IP address or host name of the server.
*/
"host"?: string;
/**
* The @id parameter specifies a unique name for the configuration.
*/
"id"?: string;
/**
* The @log_level parameter specifies the plugin-specific logging level
*/
"logLevel"?: string;
/**
* Name defines the name of the server. Used for logging and certificate verification in TLS transport (when the host is the address).
*/
"name"?: string;
/**
* Password defines the password for authentication.
*/
"password"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Port defines the port number of the host. Note that both TCP packets (event stream) and UDP packets (heartbeat messages) are sent to this port.
*/
"port"?: string;
/**
* SharedKey defines the shared key per server.
*/
"sharedKey"?: string;
/**
* Standby marks a node as the standby node for an Active-Standby model between Fluentd nodes.
*/
"standby"?: string;
/**
* The @type parameter specifies the type of the plugin.
*/
"type"?: string;
/**
* Username defines the username for authentication.
*/
"username"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* Weight defines the load balancing weight
*/
"weight"?: string;
};
/**
* Service without the underscore in RFC2782.
*/
"service"?: string;
/**
* The @type parameter specifies the type of the plugin.
*/
"type": "static" | "file" | "srv";
};
/**
* Allows self-signed certificates or not.
*/
"tlsAllowSelfSignedCert"?: boolean;
/**
* The certificate logical store name on Windows system certstore. This parameter is for Windows only.
*/
"tlsCertLogicalStoreName"?: string;
/**
* The additional CA certificate path for TLS.
*/
"tlsCertPath"?: string;
/**
* The certificate thumbprint for searching from Windows system certstore. This parameter is for Windows only.
*/
"tlsCertThumbprint"?: string;
/**
* Enables the certificate enterprise store on Windows system certstore. This parameter is for Windows only.
*/
"tlsCertUseEnterpriseStore"?: boolean;
/**
* The cipher configuration of TLS transport.
*/
"tlsCiphers"?: string;
/**
* The client certificate path for TLS.
*/
"tlsClientCertPath"?: string;
/**
* The TLS private key passphrase for the client.
*/
"tlsClientPrivateKeyPassphrase"?: string;
/**
* The client private key path for TLS.
*/
"tlsClientPrivateKeyPath"?: string;
/**
* Skips all verification of certificates or not.
*/
"tlsInsecureMode"?: boolean;
/**
* Verifies hostname of servers and certificates or not in TLS transport.
*/
"tlsVerifyHostname"?: boolean;
/**
* The default version of TLS transport.
*/
"tlsVersion"?: "TLSv1_1" | "TLSv1_2";
/**
* Verify that a connection can be made with one of out_forward nodes at the time of startup.
*/
"verifyConnectionAtStartup"?: boolean;
};
/**
* out_http plugin
*/
"http"?: {
/**
* Auth section for this plugin
*/
"auth"?: {
/**
* The method for HTTP authentication. Now only basic.
*/
"auth"?: string;
/**
* The password for basic authentication.
*/
"password"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
/**
* The username for basic authentication.
*/
"username"?: {
/**
* ValueSource defines how to find a value's key.
*/
"valueFrom"?: {
/**
* Selects a key of a secret in the pod's namespace
*/
"secretKeyRef"?: {
/**
* The key of the secret to select from. Must be a valid secret key.
*/
"key": string;
/**
* Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?
*/
"name"?: string;
/**
* Specify whether the Secret or its key must be defined
*/
"optional"?: boolean;
};
};
};
};
/**
* 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;
/**
* Endpoint defines the endpoint for HTTP request. If you want to use HTTPS, use https prefix.
*/
"endpoint"?: string;
/**
* Raise UnrecoverableError when the response code is not SUCCESS.
*/
"errorResponseAsUnrecoverable"?: boolean;
/**
* Headers defines the additional headers for HTTP request.
*/
"headers"?: string;
/**
* Additional placeholder based headers for HTTP request. If you want to use tag or record field, use this parameter instead of headers.
*/
"headersFromPlaceholders"?: string;
/**
* HttpMethod defines the method for HTTP request.
*/
"httpMethod"?: "post" | "put";
/**