# yaml-language-server: $schema=https://raw.githubusercontent.com/Luftfartsverket/reqstool-client/main/src/reqstool/resources/schemas/v1/requirements.schema.json

metadata:
  urn: sys-ed254-mp # unique resource name
  type: requirements
  variant: microservice # enum of system, microservice or external
  title: title
  url: optional

systems: #Optional
  git:
    - env_token: e.g. GITLAB_TOKEN or empty
      branch: branch
      url: url
      path: path
      filters:
        sys001:
          requirement_ids:
            imports: ["REQ_002"] # list of requirement ids
        sys002:
          requirement_ids:
            excludes: ["REQ_002"] # list of requirement ids
        sys003:
          custom:
            imports: ids == "REQ_001"
        sys004:
          custom:
            exclude: ids == "REQ_001", "REQ_002"" # list of requirement ids
        sys005:
          requirement_ids:
            excludes: ["REQ_002"] # list of requirement ids
          custom:
            exclude: ids == "REQ_003" # list of requirement ids
        sys006:
          requirement_ids:
            imports: ["REQ_001"]
          custom:
            imports: ids == "REQ_003" # list of requirement ids

  maven:
    - url: x.se
      group_id: x
      artifact_id: y
      version: 1.0.0
      classifier: s
      path: d
      filters:
        sys001:
          requirement_ids:
            imports: ["REQ_002"] # list of requirement ids

  local:
    - path: path

requirements:
  - id: id # alphanumerical
    title: title # text
    significance: shall # was level # shall, should, may # https://www.rfc-editor.org/rfc/rfc2119
    description: description # text
    rationale: rationale # text
    category: [business] # [Business, User Interface, System Interface, Performance, IT Security, Information Security, Reliability, Operational]
    references: # links, source
      - requirement_ids: [REQ123] # links to another requirement in this document
        sources: [FSB] # FSB, SAF, SWAL
      - requirement_ids: [REQ123] # links to another requirement in this document
        sources: [FSB] # FSB, SAF, SWAL
    revision: 0.0.0 # requirement added from revision number, e.g. 1.0.2