Files
railiance-fabric/schemas/dependency.schema.yaml

83 lines
2.1 KiB
YAML

$schema: "https://json-schema.org/draft/2020-12/schema"
$id: "https://railiance.local/fabric/schemas/dependency.schema.yaml"
title: "DependencyDeclaration"
type: object
additionalProperties: false
required:
- apiVersion
- kind
- metadata
- spec
properties:
apiVersion:
$ref: "./common.schema.yaml#/$defs/apiVersion"
kind:
type: string
const: DependencyDeclaration
metadata:
$ref: "./common.schema.yaml#/$defs/metadata"
spec:
type: object
additionalProperties: false
required:
- lifecycle
- environments
- consumer_service_id
- requires
- criticality
- data_classification
properties:
lifecycle:
$ref: "./common.schema.yaml#/$defs/lifecycle"
environments:
$ref: "./common.schema.yaml#/$defs/environments"
consumer_service_id:
$ref: "./common.schema.yaml#/$defs/graphId"
requires:
type: object
additionalProperties: false
required:
- capability_type
properties:
capability_type:
type: string
minLength: 1
capability_id:
$ref: "./common.schema.yaml#/$defs/graphId"
interface:
type: object
additionalProperties: false
properties:
type:
type: string
minLength: 1
version_constraint:
type: string
minLength: 1
auth:
$ref: "./common.schema.yaml#/$defs/auth"
criticality:
$ref: "./common.schema.yaml#/$defs/criticality"
data_classification:
$ref: "./common.schema.yaml#/$defs/dataClassification"
fallback:
type: object
additionalProperties: false
required:
- mode
- description
properties:
mode:
type: string
enum:
- none
- manual
- degraded
- cached
- alternate_provider
description:
type: string
minLength: 1
compatibility:
$ref: "./common.schema.yaml#/$defs/compatibility"