UNPKG

@luminati-io/kubernetes-models-fluent-operator

Version:
531 lines (530 loc) 27.9 kB
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.Filter"; const schema = { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ "fluentd.fluent.io/v1alpha1" ] }, "kind": { "type": "string", "enum": [ "Filter" ] }, "metadata": { "oneOf": [ { "$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#" }, { "type": "null" } ] }, "spec": { "properties": { "filters": { "items": { "properties": { "customPlugin": { "properties": { "config": { "type": "string" } }, "required": [ "config" ], "type": "object", "nullable": true }, "grep": { "properties": { "and": { "items": { "properties": { "exclude": { "properties": { "key": { "type": "string", "nullable": true }, "pattern": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "regexp": { "properties": { "key": { "type": "string", "nullable": true }, "pattern": { "type": "string", "nullable": true } }, "type": "object", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true }, "exclude": { "items": { "properties": { "key": { "type": "string", "nullable": true }, "pattern": { "type": "string", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true }, "or": { "items": { "properties": { "exclude": { "properties": { "key": { "type": "string", "nullable": true }, "pattern": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "regexp": { "properties": { "key": { "type": "string", "nullable": true }, "pattern": { "type": "string", "nullable": true } }, "type": "object", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true }, "regexp": { "items": { "properties": { "key": { "type": "string", "nullable": true }, "pattern": { "type": "string", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true } }, "type": "object", "nullable": true }, "logLevel": { "type": "string", "nullable": true }, "parser": { "properties": { "emitInvalidRecordToError": { "type": "boolean", "nullable": true }, "hashValueField": { "type": "string", "nullable": true }, "injectKeyPrefix": { "type": "string", "nullable": true }, "keyName": { "type": "string" }, "parse": { "properties": { "estimateCurrentEvent": { "type": "boolean", "nullable": true }, "expression": { "type": "string", "nullable": true }, "id": { "type": "string", "nullable": true }, "keepTimeKey": { "type": "boolean", "nullable": true }, "localtime": { "type": "boolean", "nullable": true }, "logLevel": { "type": "string", "nullable": true }, "timeFormat": { "type": "string", "nullable": true }, "timeFormatFallbacks": { "type": "string", "nullable": true }, "timeKey": { "type": "string", "nullable": true }, "timeType": { "enum": [ "float", "unixtime", "string", "mixed" ], "type": "string", "nullable": true }, "timeout": { "type": "string", "pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$", "nullable": true }, "timezone": { "type": "string", "nullable": true }, "type": { "enum": [ "regexp", "apache2", "apache_error", "nginx", "syslog", "csv", "tsv", "ltsv", "json", "multiline", "none" ], "type": "string" }, "types": { "type": "string", "nullable": true }, "utc": { "type": "boolean", "nullable": true } }, "required": [ "type" ], "type": "object" }, "removeKeyNameField": { "type": "boolean", "nullable": true }, "replaceInvalidSequence": { "type": "boolean", "nullable": true }, "reserveData": { "type": "boolean", "nullable": true }, "reserveTime": { "type": "boolean", "nullable": true } }, "required": [ "keyName", "parse" ], "type": "object", "nullable": true }, "recordTransformer": { "properties": { "autoTypecast": { "type": "boolean", "nullable": true }, "enableRuby": { "type": "boolean", "nullable": true }, "keepKeys": { "type": "string", "nullable": true }, "records": { "items": { "properties": { "key": { "type": "string" }, "value": { "type": "string" } }, "required": [ "key", "value" ], "type": "object" }, "type": "array", "nullable": true }, "removeKeys": { "type": "string", "nullable": true }, "renewRecord": { "type": "boolean", "nullable": true }, "renewTimeKey": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "stdout": { "properties": { "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 }, "inject": { "properties": { "hostname": { "type": "string", "nullable": true }, "hostnameKey": { "type": "string", "nullable": true }, "inline": { "properties": { "localtime": { "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 }, "utc": { "type": "boolean", "nullable": true } }, "type": "object", "nullable": true }, "tagKey": { "type": "string", "nullable": true }, "timeKey": { "type": "string", "nullable": true }, "workerIdKey": { "type": "string", "nullable": true } }, "type": "object", "nullable": true } }, "type": "object", "nullable": true }, "tag": { "type": "string", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true } }, "type": "object", "nullable": true }, "status": { "type": "object", "properties": {}, "nullable": true } }, "required": [ "apiVersion", "kind" ] }; /** * Filter is the Schema for the filters API */ export class Filter extends Model { constructor(data) { super({ apiVersion: Filter.apiVersion, kind: Filter.kind, ...data }); } } Filter.apiVersion = "fluentd.fluent.io/v1alpha1"; Filter.kind = "Filter"; Filter.is = createTypeMetaGuard(Filter); setSchema(Filter, schemaId, () => { addSchema(); register(schemaId, schema); });