@soft-stech/flagger
Version:
117 lines (116 loc) • 3.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MetricTemplate = void 0;
const IoK8sApimachineryPkgApisMetaV1ObjectMeta_1 = require("@soft-stech/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta");
const base_1 = require("@soft-stech/base");
const validate_1 = require("@soft-stech/validate");
const schemaId = "flagger.app.v1beta1.MetricTemplate";
const schema = {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"enum": [
"flagger.app/v1beta1"
]
},
"kind": {
"type": "string",
"enum": [
"MetricTemplate"
]
},
"metadata": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#"
},
{
"type": "null"
}
]
},
"spec": {
"type": "object",
"required": [
"provider",
"query"
],
"properties": {
"provider": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"prometheus",
"influxdb",
"datadog",
"stackdriver",
"cloudwatch",
"newrelic",
"graphite",
"dynatrace"
]
},
"address": {
"type": "string",
"nullable": true
},
"secretRef": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
}
},
"nullable": true
},
"region": {
"type": "string",
"nullable": true
},
"insecureSkipVerify": {
"type": "boolean",
"nullable": true
}
}
},
"query": {
"type": "string"
}
},
"nullable": true
}
},
"required": [
"apiVersion",
"kind"
]
};
/**
* MetricTemplate is the Schema for the MetricTemplates API.
*/
class MetricTemplate extends base_1.Model {
constructor(data) {
super({
apiVersion: MetricTemplate.apiVersion,
kind: MetricTemplate.kind,
...data
});
}
}
exports.MetricTemplate = MetricTemplate;
MetricTemplate.apiVersion = "flagger.app/v1beta1";
MetricTemplate.kind = "MetricTemplate";
MetricTemplate.is = (0, base_1.createTypeMetaGuard)(MetricTemplate);
(0, base_1.setSchema)(MetricTemplate, schemaId, () => {
(0, IoK8sApimachineryPkgApisMetaV1ObjectMeta_1.addSchema)();
(0, validate_1.register)(schemaId, schema);
});