@luminati-io/kubernetes-models-fluent-operator
Version:
Models for https://github.com/fluent/fluent-operator
747 lines (746 loc) • 38.2 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 = "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);
});