@luminati-io/kubernetes-models-fluent-operator
Version:
Models for https://github.com/fluent/fluent-operator
914 lines • 110 kB
JavaScript
import { addSchema } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta";
import { Model, setSchema, createTypeMetaGuard } from "@kubernetes-models/base";
import { register } from "@kubernetes-models/validate";
const schemaId = "fluentd.fluent.io.v1alpha1.Output";
const schema = {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"enum": [
"fluentd.fluent.io/v1alpha1"
]
},
"kind": {
"type": "string",
"enum": [
"Output"
]
},
"metadata": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#"
},
{
"type": "null"
}
]
},
"spec": {
"properties": {
"outputs": {
"items": {
"properties": {
"buffer": {
"properties": {
"calcNumRecords": {
"type": "string",
"nullable": true
},
"chunkFormat": {
"enum": [
"msgpack",
"text",
"auto"
],
"type": "string",
"nullable": true
},
"chunkLimitRecords": {
"type": "string",
"pattern": "^\\d+(KB|MB|GB|TB)$",
"nullable": true
},
"chunkLimitSize": {
"type": "string",
"pattern": "^\\d+(KB|MB|GB|TB)$",
"nullable": true
},
"compress": {
"enum": [
"text",
"gzip"
],
"type": "string",
"nullable": true
},
"delayedCommitTimeout": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"disableChunkBackup": {
"type": "boolean",
"nullable": true
},
"flushAtShutdown": {
"type": "boolean",
"nullable": true
},
"flushInterval": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"flushMode": {
"enum": [
"default",
"lazy",
"interval",
"immediate"
],
"type": "string",
"nullable": true
},
"flushThreadCount": {
"type": "string",
"pattern": "^\\d+$",
"nullable": true
},
"id": {
"type": "string",
"nullable": true
},
"localtime": {
"type": "boolean",
"nullable": true
},
"logLevel": {
"type": "string",
"nullable": true
},
"overflowAction": {
"type": "string",
"nullable": true
},
"path": {
"type": "string",
"nullable": true
},
"pathSuffix": {
"type": "string",
"nullable": true
},
"queueLimitLength": {
"type": "string",
"pattern": "^\\d+.?\\d+$",
"nullable": true
},
"queuedChunksLimitSize": {
"type": "integer",
"minimum": 1,
"nullable": true
},
"retryExponentialBackoffBase": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?$",
"nullable": true
},
"retryForever": {
"type": "boolean",
"nullable": true
},
"retryMaxInterval": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"retryMaxTimes": {
"type": "integer",
"nullable": true
},
"retryRandomize": {
"type": "boolean",
"nullable": true
},
"retrySecondaryThreshold": {
"type": "string",
"pattern": "^\\d+.?\\d+$",
"nullable": true
},
"retryTimeout": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"retryType": {
"type": "string",
"nullable": true
},
"retryWait": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"timeFormat": {
"type": "string",
"nullable": true
},
"timeFormatFallbacks": {
"type": "string",
"nullable": true
},
"timeType": {
"enum": [
"float",
"unixtime",
"string",
"mixed"
],
"type": "string",
"nullable": true
},
"timekey": {
"type": "string",
"nullable": true
},
"timekeyWait": {
"type": "string",
"nullable": true
},
"timezone": {
"type": "string",
"nullable": true
},
"totalLimitSize": {
"type": "string",
"pattern": "^\\d+(KB|MB|GB|TB)$",
"nullable": true
},
"type": {
"enum": [
"file",
"memory",
"file_single"
],
"type": "string"
},
"utc": {
"type": "boolean",
"nullable": true
}
},
"required": [
"type"
],
"type": "object",
"nullable": true
},
"cloudWatch": {
"properties": {
"autoCreateStream": {
"type": "boolean",
"nullable": true
},
"awsEcsAuthentication": {
"type": "boolean",
"nullable": true
},
"awsKeyId": {
"properties": {
"valueFrom": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"optional": {
"type": "boolean",
"nullable": true
}
},
"required": [
"key"
],
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"awsSecKey": {
"properties": {
"valueFrom": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"optional": {
"type": "boolean",
"nullable": true
}
},
"required": [
"key"
],
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"awsStsDurationSeconds": {
"type": "string",
"nullable": true
},
"awsStsEndpointUrl": {
"type": "string",
"nullable": true
},
"awsStsExternalId": {
"type": "string",
"nullable": true
},
"awsStsPolicy": {
"type": "string",
"nullable": true
},
"awsStsRoleArn": {
"type": "string",
"nullable": true
},
"awsStsSessionName": {
"type": "string",
"nullable": true
},
"awsUseSts": {
"type": "boolean",
"nullable": true
},
"concurrency": {
"type": "integer",
"nullable": true
},
"durationSeconds": {
"type": "string",
"nullable": true
},
"endpoint": {
"type": "string",
"nullable": true
},
"httpProxy": {
"type": "string",
"nullable": true
},
"includeTimeKey": {
"type": "boolean",
"nullable": true
},
"jsonHandler": {
"type": "string",
"nullable": true
},
"localtime": {
"type": "boolean",
"nullable": true
},
"logGroupAwsTags": {
"type": "string",
"nullable": true
},
"logGroupAwsTagsKey": {
"type": "string",
"nullable": true
},
"logGroupName": {
"type": "string",
"nullable": true
},
"logGroupNameKey": {
"type": "string",
"nullable": true
},
"logRejectedRequest": {
"type": "string",
"nullable": true
},
"logStreamName": {
"type": "string",
"nullable": true
},
"logStreamNameKey": {
"type": "string",
"nullable": true
},
"maxEventsPerBatch": {
"type": "string",
"nullable": true
},
"maxMessageLength": {
"type": "string",
"nullable": true
},
"messageKeys": {
"type": "string",
"nullable": true
},
"policy": {
"type": "string",
"nullable": true
},
"putLogEventsDisableRetryLimit": {
"type": "boolean",
"nullable": true
},
"putLogEventsRetryLimit": {
"type": "string",
"nullable": true
},
"putLogEventsRetryWait": {
"type": "string",
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"removeLogGroupAwsTagsKey": {
"type": "boolean",
"nullable": true
},
"removeLogGroupNameKey": {
"type": "boolean",
"nullable": true
},
"removeLogStreamNameKey": {
"type": "boolean",
"nullable": true
},
"removeRetentionInDaysKey": {
"type": "boolean",
"nullable": true
},
"retentionInDays": {
"type": "string",
"nullable": true
},
"retentionInDaysKey": {
"type": "string",
"nullable": true
},
"roleArn": {
"type": "string",
"nullable": true
},
"roleSessionName": {
"type": "string",
"nullable": true
},
"sslVerifyPeer": {
"type": "boolean",
"nullable": true
},
"useTagAsGroup": {
"type": "string",
"nullable": true
},
"useTagAsStream": {
"type": "string",
"nullable": true
},
"webIdentityTokenFile": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"customPlugin": {
"properties": {
"config": {
"type": "string"
}
},
"required": [
"config"
],
"type": "object",
"nullable": true
},
"datadog": {
"properties": {
"apiKey": {
"properties": {
"valueFrom": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"optional": {
"type": "boolean",
"nullable": true
}
},
"required": [
"key"
],
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"compressionLevel": {
"format": "int32",
"type": "integer",
"nullable": true
},
"ddHostname": {
"type": "string",
"nullable": true
},
"ddSource": {
"type": "string",
"nullable": true
},
"ddSourcecategory": {
"type": "string",
"nullable": true
},
"ddTags": {
"type": "string",
"nullable": true
},
"host": {
"type": "string",
"nullable": true
},
"httpProxy": {
"type": "string",
"nullable": true
},
"includeTagKey": {
"type": "boolean",
"nullable": true
},
"maxBackoff": {
"format": "int32",
"type": "integer",
"nullable": true
},
"maxRetries": {
"format": "int32",
"type": "integer",
"nullable": true
},
"noSSLValidation": {
"type": "boolean",
"nullable": true
},
"port": {
"format": "int32",
"type": "integer",
"minimum": 1,
"maximum": 65535,
"nullable": true
},
"service": {
"type": "string",
"nullable": true
},
"sslPort": {
"format": "int32",
"type": "integer",
"minimum": 1,
"maximum": 65535,
"nullable": true
},
"tagKey": {
"type": "string",
"nullable": true
},
"timestampKey": {
"type": "string",
"nullable": true
},
"useCompression": {
"type": "boolean",
"nullable": true
},
"useHTTP": {
"type": "boolean",
"nullable": true
},
"useJson": {
"type": "boolean",
"nullable": true
},
"useSSL": {
"type": "boolean",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"elasticsearch": {
"properties": {
"host": {
"type": "string",
"nullable": true
},
"hosts": {
"type": "string",
"nullable": true
},
"indexName": {
"type": "string",
"nullable": true
},
"logstashFormat": {
"type": "boolean",
"nullable": true
},
"logstashPrefix": {
"type": "string",
"nullable": true
},
"password": {
"properties": {
"valueFrom": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"optional": {
"type": "boolean",
"nullable": true
}
},
"required": [
"key"
],
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"path": {
"type": "string",
"nullable": true
},
"port": {
"format": "int32",
"type": "integer",
"minimum": 1,
"maximum": 65535,
"nullable": true
},
"scheme": {
"type": "string",
"nullable": true
},
"user": {
"properties": {
"valueFrom": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"optional": {
"type": "boolean",
"nullable": true
}
},
"required": [
"key"
],
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"format": {
"properties": {
"delimiter": {
"type": "string",
"nullable": true
},
"id": {
"type": "string",
"nullable": true
},
"localtime": {
"type": "boolean",
"nullable": true
},
"logLevel": {
"type": "string",
"nullable": true
},
"newline": {
"enum": [
"lf",
"crlf"
],
"type": "string",
"nullable": true
},
"outputTag": {
"type": "boolean",
"nullable": true
},
"outputTime": {
"type": "boolean",
"nullable": true
},
"timeFormat": {
"type": "string",
"nullable": true
},
"timeFormatFallbacks": {
"type": "string",
"nullable": true
},
"timeType": {
"enum": [
"float",
"unixtime",
"string",
"mixed"
],
"type": "string",
"nullable": true
},
"timezone": {
"type": "string",
"nullable": true
},
"type": {
"enum": [
"out_file",
"json",
"ltsv",
"csv",
"msgpack",
"hash",
"single_value"
],
"type": "string",
"nullable": true
},
"utc": {
"type": "boolean",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"forward": {
"properties": {
"ackResponseTimeout": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"connectTimeout": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"dnsRoundRobin": {
"type": "boolean",
"nullable": true
},
"expireDnsCache": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"hardTimeout": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"heartbeatInterval": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"heartbeatType": {
"enum": [
"transport",
"tcp",
"udp",
"none"
],
"type": "string",
"nullable": true
},
"ignoreNetworkErrorsAtStartup": {
"type": "boolean",
"nullable": true
},
"keepalive": {
"type": "boolean",
"nullable": true
},
"keepaliveTimeout": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"phiFailureDetector": {
"type": "boolean",
"nullable": true
},
"phiThreshold": {
"type": "integer",
"nullable": true
},
"recoverWait": {
"type": "string",
"pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$",
"nullable": true
},
"requireAckResponse": {
"type": "boolean",
"nullable": true
},
"security": {
"properties": {
"allowAnonymousSource": {
"type": "string",
"nullable": true
},
"selfHostname": {
"type": "string",
"nullable": true
},
"sharedKey": {
"type": "string",
"nullable": true
},
"user": {
"properties": {
"password": {
"properties": {
"valueFrom": {
"properties": {
"secretKeyRef": {
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"optional": {
"type": "boolean",
"nullable": true
}
},
"required": [
"key"
],
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nulla