$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"