UNPKG

@soft-stech/flagger

Version:
114 lines (113 loc) 3.15 kB
import { addSchema } from "@soft-stech/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta"; import { Model, setSchema, createTypeMetaGuard } from "@soft-stech/base"; import { register } from "@soft-stech/validate"; const schemaId = "flagger.app.v1beta1.AlertProvider"; const schema = { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ "flagger.app/v1beta1" ] }, "kind": { "type": "string", "enum": [ "AlertProvider" ] }, "metadata": { "oneOf": [ { "$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#" }, { "type": "null" } ] }, "spec": { "type": "object", "oneOf": [ { "required": [ "type", "address" ] }, { "required": [ "type", "secretRef" ] } ], "properties": { "type": { "type": "string", "enum": [ "slack", "msteams", "discord", "rocket", "gchat" ], "nullable": true }, "channel": { "type": "string", "nullable": true }, "username": { "type": "string", "nullable": true }, "address": { "type": "string", "nullable": true }, "proxy": { "type": "string", "nullable": true }, "secretRef": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string" } }, "nullable": true } }, "nullable": true } }, "required": [ "apiVersion", "kind" ] }; /** * AlertProvider is the Schema for the AlertProvider API. */ export class AlertProvider extends Model { constructor(data) { super({ apiVersion: AlertProvider.apiVersion, kind: AlertProvider.kind, ...data }); } } AlertProvider.apiVersion = "flagger.app/v1beta1"; AlertProvider.kind = "AlertProvider"; AlertProvider.is = createTypeMetaGuard(AlertProvider); setSchema(AlertProvider, schemaId, () => { addSchema(); register(schemaId, schema); });