UNPKG

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

Version:
747 lines (746 loc) 38.2 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 = "fluentbit.fluent.io.v1alpha2.Filter"; const schema = { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ "fluentbit.fluent.io/v1alpha2" ] }, "kind": { "type": "string", "enum": [ "Filter" ] }, "metadata": { "oneOf": [ { "$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#" }, { "type": "null" } ] }, "spec": { "properties": { "filters": { "items": { "properties": { "aws": { "properties": { "accountID": { "type": "boolean", "nullable": true }, "alias": { "type": "string", "nullable": true }, "amiID": { "type": "boolean", "nullable": true }, "az": { "type": "boolean", "nullable": true }, "ec2InstanceID": { "type": "boolean", "nullable": true }, "ec2InstanceType": { "type": "boolean", "nullable": true }, "hostName": { "type": "boolean", "nullable": true }, "imdsVersion": { "enum": [ "v1", "v2" ], "type": "string", "nullable": true }, "privateIP": { "type": "boolean", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "vpcID": { "type": "boolean", "nullable": true } }, "type": "object", "nullable": true }, "customPlugin": { "properties": { "config": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "grep": { "properties": { "alias": { "type": "string", "nullable": true }, "exclude": { "type": "string", "nullable": true }, "regex": { "type": "string", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true } }, "type": "object", "nullable": true }, "kubernetes": { "properties": { "alias": { "type": "string", "nullable": true }, "annotations": { "type": "boolean", "nullable": true }, "bufferSize": { "type": "string", "pattern": "^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$", "nullable": true }, "cacheUseDockerId": { "type": "boolean", "nullable": true }, "dnsRetries": { "format": "int32", "type": "integer", "nullable": true }, "dnsWaitTime": { "format": "int32", "type": "integer", "nullable": true }, "dummyMeta": { "type": "boolean", "nullable": true }, "k8sLoggingExclude": { "type": "boolean", "nullable": true }, "k8sLoggingParser": { "type": "boolean", "nullable": true }, "keepLog": { "type": "boolean", "nullable": true }, "kubeCAFile": { "type": "string", "nullable": true }, "kubeCAPath": { "type": "string", "nullable": true }, "kubeMetaCacheTTL": { "type": "string", "nullable": true }, "kubeMetaPreloadCacheDir": { "type": "string", "nullable": true }, "kubeTagPrefix": { "type": "string", "nullable": true }, "kubeTokenFile": { "type": "string", "nullable": true }, "kubeTokenTTL": { "type": "string", "nullable": true }, "kubeURL": { "type": "string", "nullable": true }, "kubeletHost": { "type": "string", "nullable": true }, "kubeletPort": { "format": "int32", "type": "integer", "nullable": true }, "labels": { "type": "boolean", "nullable": true }, "mergeLog": { "type": "boolean", "nullable": true }, "mergeLogKey": { "type": "string", "nullable": true }, "mergeLogTrim": { "type": "boolean", "nullable": true }, "mergeParser": { "type": "string", "nullable": true }, "regexParser": { "type": "string", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "tlsDebug": { "format": "int32", "type": "integer", "nullable": true }, "tlsVerify": { "type": "boolean", "nullable": true }, "useJournal": { "type": "boolean", "nullable": true }, "useKubelet": { "type": "boolean", "nullable": true } }, "type": "object", "nullable": true }, "lua": { "properties": { "alias": { "type": "string", "nullable": true }, "call": { "type": "string" }, "protectedMode": { "type": "boolean", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "script": { "properties": { "key": { "type": "string" }, "name": { "type": "string", "nullable": true }, "optional": { "type": "boolean", "nullable": true } }, "required": [ "key" ], "type": "object" }, "timeAsTable": { "type": "boolean", "nullable": true }, "typeIntKey": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "call", "script" ], "type": "object", "nullable": true }, "modify": { "properties": { "alias": { "type": "string", "nullable": true }, "conditions": { "items": { "properties": { "aKeyMatches": { "type": "string", "nullable": true }, "keyDoesNotExist": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "keyExists": { "type": "string", "nullable": true }, "keyValueDoesNotEqual": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "keyValueDoesNotMatch": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "keyValueEquals": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "keyValueMatches": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "matchingKeysDoNotHaveMatchingValues": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "matchingKeysHaveMatchingValues": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "noKeyMatches": { "type": "string", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "rules": { "items": { "properties": { "add": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "copy": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "hardCopy": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "hardRename": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "remove": { "type": "string", "nullable": true }, "removeRegex": { "type": "string", "nullable": true }, "removeWildcard": { "type": "string", "nullable": true }, "rename": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "set": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object" }, "type": "array", "nullable": true } }, "type": "object", "nullable": true }, "multiline": { "properties": { "alias": { "type": "string", "nullable": true }, "keyContent": { "type": "string", "nullable": true }, "parser": { "type": "string" }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true } }, "required": [ "parser" ], "type": "object", "nullable": true }, "nest": { "properties": { "addPrefix": { "type": "string", "nullable": true }, "alias": { "type": "string", "nullable": true }, "nestUnder": { "type": "string", "nullable": true }, "nestedUnder": { "type": "string", "nullable": true }, "operation": { "enum": [ "nest", "lift" ], "type": "string", "nullable": true }, "removePrefix": { "type": "string", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "wildcard": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "type": "object", "nullable": true }, "parser": { "properties": { "alias": { "type": "string", "nullable": true }, "keyName": { "type": "string", "nullable": true }, "parser": { "type": "string", "nullable": true }, "preserveKey": { "type": "boolean", "nullable": true }, "reserveData": { "type": "boolean", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "unescapeKey": { "type": "boolean", "nullable": true } }, "type": "object", "nullable": true }, "recordModifier": { "properties": { "alias": { "type": "string", "nullable": true }, "allowlistKeys": { "items": { "type": "string" }, "type": "array", "nullable": true }, "records": { "items": { "type": "string" }, "type": "array", "nullable": true }, "removeKeys": { "items": { "type": "string" }, "type": "array", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "uuidKeys": { "items": { "type": "string" }, "type": "array", "nullable": true }, "whitelistKeys": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "type": "object", "nullable": true }, "rewriteTag": { "properties": { "alias": { "type": "string", "nullable": true }, "emitterName": { "type": "string", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "rules": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "type": "object", "nullable": true }, "throttle": { "properties": { "alias": { "type": "string", "nullable": true }, "interval": { "type": "string", "pattern": "^\\d+(\\.[0-9]{0,2})?(s|m|h|d)?$", "nullable": true }, "printStatus": { "type": "boolean", "nullable": true }, "rate": { "format": "int64", "type": "integer", "nullable": true }, "retryLimit": { "type": "string", "pattern": "^(((f|F)alse)|(no_limits)|(no_retries)|([1-9]+[0-9]*))$", "nullable": true }, "window": { "format": "int64", "type": "integer", "nullable": true } }, "type": "object", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true }, "logLevel": { "enum": [ "off", "error", "warning", "info", "debug", "trace" ], "type": "string", "nullable": true }, "match": { "type": "string", "nullable": true }, "matchRegex": { "type": "string", "nullable": true } }, "type": "object", "nullable": true } }, "required": [ "apiVersion", "kind" ] }; /** * Filter is the Schema for namespace level filter API */ export class Filter extends Model { constructor(data) { super({ apiVersion: Filter.apiVersion, kind: Filter.kind, ...data }); } } Filter.apiVersion = "fluentbit.fluent.io/v1alpha2"; Filter.kind = "Filter"; Filter.is = createTypeMetaGuard(Filter); setSchema(Filter, schemaId, () => { addSchema(); register(schemaId, schema); });