{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "ProjectGenMultiFileConfig", "type": "object", "additionalProperties": false, "properties": { "Suffix": { "type": [ "null", "string" ] }, "Projects": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/ProjectGenFileConfig" } }, "Jenkins": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/ProjectGenMultiFileConfigJenkins" } ] } }, "definitions": { "ProjectGenFileConfig": { "type": "object", "additionalProperties": false, "required": [ "Path" ], "properties": { "Name": { "type": [ "null", "string" ] }, "Path": { "type": "string", "minLength": 1 }, "ConfigFile": { "type": [ "null", "string" ] }, "Suffix": { "type": [ "null", "string" ] }, "ConfigJson": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/ProjectConfig" } ] }, "OutFolder": { "type": [ "null", "string" ] }, "ParallelGroup": { "type": [ "null", "string" ] } } }, "ProjectConfig": { "type": "object", "additionalProperties": false, "properties": { "Suffix": { "type": [ "null", "string" ] }, "Dockerfile": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/DockerfileConfig" } ] }, "GenDockerfile": { "type": "boolean" }, "GenJenkinsfile": { "type": "boolean" }, "GenK8sDeployment": { "type": "boolean" }, "Jenkinsfile": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/JenkinsFileConfig" } ] }, "K8SDeployment": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sDeploymentConfig" } ] }, "NugetFile": { "type": [ "null", "string" ] }, "OutFolder": { "type": [ "null", "string" ] }, "ProjectFolderFull": { "type": [ "null", "string" ] }, "ProjectFolderName": { "type": [ "null", "string" ] }, "Root2ProjectDir": { "type": [ "null", "string" ] } } }, "DockerfileConfig": { "type": "object", "additionalProperties": false, "properties": { "Suffix": { "type": [ "null", "string" ] }, "ExposePorts": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/PortConfig" } }, "Image": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/DockerImage" } ] }, "ImageRuntime": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/DockerImage" } ] }, "ImageSdk": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/DockerImage" } ] }, "NugetCacheId": { "type": [ "null", "string" ] }, "BuildArgs": { "type": [ "null", "object" ], "additionalProperties": { "type": "string" } }, "SystemBuildArgs": { "type": [ "null", "object" ], "additionalProperties": { "type": "string" } } } }, "PortConfig": { "type": "object", "additionalProperties": false, "required": [ "Port" ], "properties": { "Port": { "type": "integer", "format": "int32", "maximum": 65000.0, "minimum": 0.0 }, "Name": { "type": [ "null", "string" ] }, "Protocol": { "type": [ "null", "string" ] } } }, "DockerImage": { "type": "object", "additionalProperties": false, "properties": { "BashInits": { "type": [ "array", "null" ], "items": { "type": "string" } }, "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT": { "type": [ "boolean", "null" ] }, "EnvInits": { "type": [ "array", "null" ], "items": { "type": "string" } }, "Image": { "type": [ "null", "string" ] }, "Tag": { "type": [ "null", "string" ] }, "Version": { "type": [ "null", "string" ] } } }, "JenkinsFileConfig": { "type": "object", "additionalProperties": false, "properties": { "GenLatestTag": { "type": "boolean" }, "GenStageBuild": { "type": "boolean" }, "GenStageDeploy": { "type": "boolean" }, "GenStagePush": { "type": "boolean" }, "GenStageValidateRunning": { "type": "boolean" } } }, "K8sDeploymentConfig": { "type": "object", "additionalProperties": false, "properties": { "Name": { "type": [ "null", "string" ] }, "Suffix": { "type": [ "null", "string" ] }, "Replicas": { "type": [ "integer", "null" ], "format": "int32" }, "ServiceSpec": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sServiceSpec" } ] }, "Containers": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/K8sContainer" } }, "DeploymentStrategy": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sDeploymentStrategy" } ] }, "Volumes": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/K8sVolume" } }, "Annotations": { "type": [ "null", "object" ], "additionalProperties": { "type": "string" } }, "NodeSelector": { "type": [ "null", "object" ], "additionalProperties": { "type": "string" } }, "Affinity": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/AffinityV1" } ] } } }, "K8sServiceSpec": { "type": "object", "additionalProperties": false, "properties": { "Type": { "$ref": "#/definitions/K8sServiceSpecType" }, "Ports": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/K8sServiceSpectPortConfig" } } } }, "K8sServiceSpecType": { "type": "string", "description": "", "x-enumNames": [ "ClusterIP", "NodePort", "ExternalName", "LoadBalancer" ], "enum": [ "ClusterIP", "NodePort", "ExternalName", "LoadBalancer" ] }, "K8sServiceSpectPortConfig": { "type": "object", "additionalProperties": false, "required": [ "TargetPort", "Port" ], "properties": { "Protocol": { "type": [ "null", "string" ] }, "Name": { "type": [ "null", "string" ] }, "TargetPort": { "type": "integer", "format": "int32", "maximum": 65000.0, "minimum": 0.0 }, "Port": { "type": "integer", "format": "int32", "maximum": 65000.0, "minimum": 0.0 }, "NodePort": { "type": [ "integer", "null" ], "format": "int32", "maximum": 65000.0, "minimum": 0.0 } } }, "K8sContainer": { "type": "object", "additionalProperties": false, "properties": { "Image": { "type": [ "null", "string" ] }, "ImagePullPolicy": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sImagePullPolicy" } ] }, "Name": { "type": [ "null", "string" ] }, "Resources": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sContainerResources" } ] }, "Args": { "type": [ "array", "null" ], "items": { "type": "string" } }, "Env": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/K8sContainerEnv" } }, "VolumeMounts": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/K8sContainerVolumeMount" } }, "Ports": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/K8sContainerPort" } }, "LivenessProbe": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/ProbeV1" } ] }, "ReadinessProbe": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/ProbeV1" } ] } } }, "K8sImagePullPolicy": { "type": "string", "description": "", "x-enumNames": [ "IfNotPresent", "Always", "Never" ], "enum": [ "IfNotPresent", "Always", "Never" ] }, "K8sContainerResources": { "type": "object", "additionalProperties": false, "properties": { "Limits": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sContainerResource" } ] }, "Requests": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sContainerResource" } ] } } }, "K8sContainerResource": { "type": "object", "additionalProperties": false, "properties": { "CPU": { "type": [ "null", "string" ] }, "Memory": { "type": [ "null", "string" ] } } }, "K8sContainerEnv": { "type": "object", "additionalProperties": false, "properties": { "Name": { "type": [ "null", "string" ] }, "Value": { "type": [ "null", "string" ] } } }, "K8sContainerVolumeMount": { "type": "object", "additionalProperties": false, "required": [ "Name", "MountPath" ], "properties": { "Name": { "type": "string", "minLength": 1 }, "MountPath": { "type": "string", "minLength": 1 } } }, "K8sContainerPort": { "type": "object", "additionalProperties": false, "required": [ "Name", "ContainerPort" ], "properties": { "Name": { "type": "string", "minLength": 1 }, "ContainerPort": { "type": "integer", "format": "int32", "maximum": 65500.0, "minimum": 1.0 }, "Protocol": { "type": [ "null", "string" ] } } }, "ProbeV1": { "type": "object", "additionalProperties": false, "properties": { "Exec": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/ExecActionV1" } ] }, "Grpc": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/GRPCActionV1" } ] }, "FailureThreshold": { "type": [ "integer", "null" ], "format": "int32" }, "SuccessThreshold": { "type": [ "integer", "null" ], "format": "int32" }, "InitialDelaySeconds": { "type": [ "integer", "null" ], "format": "int32" }, "PeriodSeconds": { "type": [ "integer", "null" ], "format": "int32" }, "TerminationGracePeriodSeconds": { "type": [ "integer", "null" ], "format": "int64" }, "TimeoutSeconds": { "type": [ "integer", "null" ], "format": "int32" }, "HttpGet": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/HTTPGetActionV1" } ] }, "TcpSocket": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/TCPSocketActionV1" } ] } } }, "ExecActionV1": { "type": "object", "additionalProperties": false, "properties": { "Command": { "type": [ "array", "null" ], "items": { "type": "string" } } } }, "GRPCActionV1": { "type": "object", "additionalProperties": false, "properties": { "Service": { "type": [ "null", "string" ] }, "Port": { "type": "integer", "format": "int32" } } }, "HTTPGetActionV1": { "type": "object", "additionalProperties": false, "properties": { "Scheme": { "type": [ "null", "string" ] }, "Path": { "type": [ "null", "string" ] }, "HttpHeaders": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/HTTPHeaderV1" } }, "Host": { "type": [ "null", "string" ] }, "Port": { "type": [ "null", "number", "string" ] } } }, "HTTPHeaderV1": { "type": "object", "additionalProperties": false, "properties": { "Name": { "type": [ "null", "string" ] }, "Value": { "type": [ "null", "string" ] } } }, "TCPSocketActionV1": { "type": "object", "additionalProperties": false, "properties": { "Host": { "type": [ "null", "string" ] }, "Port": { "type": [ "null", "number", "string" ] } } }, "K8sDeploymentStrategy": { "type": "object", "additionalProperties": false, "properties": { "Type": { "$ref": "#/definitions/K8sDeploymentStrategyType" }, "RollingUpdate": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sDeploymentStrategyRollingUpdate" } ] } } }, "K8sDeploymentStrategyType": { "type": "string", "description": "", "x-enumNames": [ "Recreate", "RollingUpdate", "Custom" ], "enum": [ "Recreate", "RollingUpdate", "Custom" ] }, "K8sDeploymentStrategyRollingUpdate": { "type": "object", "additionalProperties": false, "properties": { "MaxSurge": { "type": "integer", "format": "int32" }, "MaxUnavailable": { "type": "integer", "format": "int32" } } }, "K8sVolume": { "type": "object", "additionalProperties": false, "required": [ "Name" ], "properties": { "Name": { "type": "string", "minLength": 1 }, "ConfigMap": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/K8sVolumeConfigMap" } ] } } }, "K8sVolumeConfigMap": { "type": "object", "additionalProperties": false, "required": [ "Name" ], "properties": { "Name": { "type": "string", "minLength": 1 } } }, "AffinityV1": { "type": "object", "additionalProperties": false, "properties": { "NodeAffinity": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/NodeAffinityV1" } ] }, "PodAffinity": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/PodAffinityV1" } ] }, "PodAntiAffinity": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/PodAntiAffinityV1" } ] } } }, "NodeAffinityV1": { "type": "object", "additionalProperties": false, "properties": { "PreferredDuringSchedulingIgnoredDuringExecution": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/PreferredSchedulingTermV1" } }, "RequiredDuringSchedulingIgnoredDuringExecution": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/NodeSelectorV1" } ] } } }, "PreferredSchedulingTermV1": { "type": "object", "additionalProperties": false, "properties": { "Preference": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/NodeSelectorTermV1" } ] }, "Weight": { "type": "integer", "format": "int32" } } }, "NodeSelectorTermV1": { "type": "object", "additionalProperties": false, "properties": { "MatchExpressions": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/NodeSelectorRequirementV1" } }, "MatchFields": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/NodeSelectorRequirementV1" } } } }, "NodeSelectorRequirementV1": { "type": "object", "additionalProperties": false, "properties": { "Operator": { "type": [ "null", "string" ] }, "Values": { "type": [ "array", "null" ], "items": { "type": "string" } }, "Key": { "type": [ "null", "string" ] } } }, "NodeSelectorV1": { "type": "object", "additionalProperties": false, "properties": { "NodeSelectorTerms": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/NodeSelectorTermV1" } } } }, "PodAffinityV1": { "type": "object", "additionalProperties": false, "properties": { "PreferredDuringSchedulingIgnoredDuringExecution": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/WeightedPodAffinityTermV1" } }, "RequiredDuringSchedulingIgnoredDuringExecution": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/PodAffinityTermV1" } } } }, "WeightedPodAffinityTermV1": { "type": "object", "additionalProperties": false, "properties": { "PodAffinityTerm": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/PodAffinityTermV1" } ] }, "Weight": { "type": "integer", "format": "int32" } } }, "PodAffinityTermV1": { "type": "object", "additionalProperties": false, "properties": { "LabelSelector": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/LabelSelectorV1" } ] }, "NamespaceSelector": { "oneOf": [ { "type": "null" }, { "$ref": "#/definitions/LabelSelectorV1" } ] }, "MatchLabelKeys": { "type": [ "array", "null" ], "items": { "type": "string" } }, "MismatchLabelKeys": { "type": [ "array", "null" ], "items": { "type": "string" } }, "Namespaces": { "type": [ "array", "null" ], "items": { "type": "string" } }, "TopologyKey": { "type": [ "null", "string" ] } } }, "LabelSelectorV1": { "type": "object", "additionalProperties": false, "properties": { "MatchExpressions": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/LabelSelectorRequirementV1" } }, "MatchLabels": { "type": [ "null", "object" ], "additionalProperties": { "type": "string" } } } }, "LabelSelectorRequirementV1": { "type": "object", "additionalProperties": false, "properties": { "Operator": { "type": [ "null", "string" ] }, "Values": { "type": [ "array", "null" ], "items": { "type": "string" } }, "Key": { "type": [ "null", "string" ] } } }, "PodAntiAffinityV1": { "type": "object", "additionalProperties": false, "properties": { "PreferredDuringSchedulingIgnoredDuringExecution": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/WeightedPodAffinityTermV1" } }, "RequiredDuringSchedulingIgnoredDuringExecution": { "type": [ "array", "null" ], "items": { "$ref": "#/definitions/PodAffinityTermV1" } } } }, "ProjectGenMultiFileConfigJenkins": { "type": "object", "additionalProperties": false, "properties": { "FileName": { "type": [ "null", "string" ] }, "UseParallel": { "type": "boolean" }, "FailFast": { "type": "boolean" }, "IsGenFile": { "type": "boolean" }, "UseGenMulti": { "type": "boolean" }, "UseCIGen": { "type": "boolean" } } } } }