UNPKG

@soft-stech/argo-rollouts

Version:
690 lines (689 loc) 508 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 = "argoproj.io.v1alpha1.ClusterAnalysisTemplate"; const schema = { "type": "object", "properties": { "apiVersion": { "type": "string", "enum": [ "argoproj.io/v1alpha1" ] }, "kind": { "type": "string", "enum": [ "ClusterAnalysisTemplate" ] }, "metadata": { "oneOf": [ { "$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#" }, { "type": "null" } ] }, "spec": { "properties": { "args": { "items": { "properties": { "name": { "type": "string" }, "value": { "type": "string", "nullable": true }, "valueFrom": { "properties": { "fieldRef": { "properties": { "fieldPath": { "type": "string" } }, "required": [ "fieldPath" ], "type": "object", "nullable": true }, "secretKeyRef": { "properties": { "key": { "type": "string" }, "name": { "type": "string" } }, "required": [ "key", "name" ], "type": "object", "nullable": true } }, "type": "object", "nullable": true } }, "required": [ "name" ], "type": "object" }, "type": "array", "nullable": true }, "dryRun": { "items": { "properties": { "metricName": { "type": "string" } }, "required": [ "metricName" ], "type": "object" }, "type": "array", "nullable": true }, "measurementRetention": { "items": { "properties": { "limit": { "format": "int32", "type": "integer" }, "metricName": { "type": "string" } }, "required": [ "limit", "metricName" ], "type": "object" }, "type": "array", "nullable": true }, "metrics": { "items": { "properties": { "consecutiveErrorLimit": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "count": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "failureCondition": { "type": "string", "nullable": true }, "failureLimit": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "inconclusiveLimit": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "initialDelay": { "type": "string", "nullable": true }, "interval": { "type": "string", "nullable": true }, "name": { "type": "string" }, "provider": { "properties": { "cloudWatch": { "properties": { "interval": { "type": "string", "nullable": true }, "metricDataQueries": { "items": { "properties": { "expression": { "type": "string", "nullable": true }, "id": { "type": "string", "nullable": true }, "label": { "type": "string", "nullable": true }, "metricStat": { "properties": { "metric": { "properties": { "dimensions": { "items": { "properties": { "name": { "type": "string", "nullable": true }, "value": { "type": "string", "nullable": true } }, "type": "object" }, "type": "array", "nullable": true }, "metricName": { "type": "string", "nullable": true }, "namespace": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "period": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "stat": { "type": "string", "nullable": true }, "unit": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "period": { "oneOf": [ { "anyOf": [ { "type": "integer" }, { "type": "string" } ] }, { "type": "null" } ] }, "returnData": { "type": "boolean", "nullable": true } }, "type": "object" }, "type": "array" } }, "required": [ "metricDataQueries" ], "type": "object", "nullable": true }, "datadog": { "properties": { "apiVersion": { "type": "string", "nullable": true }, "interval": { "type": "string", "nullable": true }, "query": { "type": "string" } }, "required": [ "query" ], "type": "object", "nullable": true }, "graphite": { "properties": { "address": { "type": "string", "nullable": true }, "query": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "influxdb": { "properties": { "profile": { "type": "string", "nullable": true }, "query": { "type": "string", "nullable": true } }, "type": "object", "nullable": true }, "job": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "labels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object", "nullable": true }, "spec": { "properties": { "activeDeadlineSeconds": { "format": "int64", "type": "integer", "nullable": true }, "backoffLimit": { "format": "int32", "type": "integer", "nullable": true }, "completionMode": { "type": "string", "nullable": true }, "completions": { "format": "int32", "type": "integer", "nullable": true }, "manualSelector": { "type": "boolean", "nullable": true }, "parallelism": { "format": "int32", "type": "integer", "nullable": true }, "podFailurePolicy": { "properties": { "rules": { "items": { "properties": { "action": { "type": "string" }, "onExitCodes": { "properties": { "containerName": { "type": "string", "nullable": true }, "operator": { "type": "string" }, "values": { "items": { "format": "int32", "type": "integer" }, "type": "array" } }, "required": [ "operator", "values" ], "type": "object", "nullable": true }, "onPodConditions": { "items": { "properties": { "status": { "type": "string" }, "type": { "type": "string" } }, "required": [ "status", "type" ], "type": "object" }, "type": "array" } }, "required": [ "action", "onPodConditions" ], "type": "object" }, "type": "array" } }, "required": [ "rules" ], "type": "object", "nullable": true }, "selector": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchLabels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object", "nullable": true }, "suspend": { "type": "boolean", "nullable": true }, "template": { "properties": { "metadata": { "properties": { "annotations": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true }, "labels": { "additionalProperties": { "type": "string" }, "type": "object", "properties": {}, "nullable": true } }, "type": "object", "nullable": true }, "spec": { "properties": { "activeDeadlineSeconds": { "format": "int64", "type": "integer", "nullable": true }, "affinity": { "properties": { "nodeAffinity": { "properties": { "preferredDuringSchedulingIgnoredDuringExecution": { "items": { "properties": { "preference": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchFields": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true } }, "type": "object" }, "weight": { "format": "int32", "type": "integer" } }, "required": [ "preference", "weight" ], "type": "object" }, "type": "array", "nullable": true }, "requiredDuringSchedulingIgnoredDuringExecution": { "properties": { "nodeSelectorTerms": { "items": { "properties": { "matchExpressions": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array", "nullable": true } }, "required": [ "key", "operator" ], "type": "object" }, "type": "array", "nullable": true }, "matchFields": { "items": { "properties": { "key": { "type": "string" }, "operator": { "type": "string" }, "values": { "items": { "type": "string" }, "type": "array",