{# #}

Data Contract

{{ datacontract.id }}

Info

Information about the data contract

Title
{{ datacontract.info.title }}
Version
{{ datacontract.info.version }}
{% if datacontract.info.status %}
Status
{{ datacontract.info.status }}
{% endif %} {% if datacontract.info.description %}
Description
{{ datacontract.info.description }}
{% endif %} {% if datacontract.info.owner %}
Owner
{{ datacontract.info.owner }}
{% endif %} {% if datacontract.info.contact %}
Contact
{% if datacontract.info.contact.name %} {{ datacontract.info.contact.name }} {% endif %} {% if datacontract.info.contact.email %} {{ datacontract.info.contact.email }} {% endif %} {% if datacontract.info.contact.url %} {% endif %}
{% endif %}
{% if datacontract.servers %}

Servers

Servers of the data contract

    {% for server_name, server in datacontract.servers.items() %}
  • {% if server.type %}
    {% endif %} {% if server.project %}
    {% endif %} {% if server.dataset %}
    {% endif %} {% if server.location %}
    {% endif %} {% if server.endpointUrl %}
    {% endif %} {% if server.account %}
    {% endif %} {% if server.host %}
    {% endif %} {% if server.port %}
    {% endif %} {% if server.catalog %}
    {% endif %} {% if server.database %}
    {% endif %} {% if server.schema_ %}
    {% endif %} {% if server.topic %}
    {% endif %} {% if server.path %}
    {% endif %} {% if server.format %}
    {% endif %} {% if server.delimiter %}
    {% endif %}
  • {% endfor %}
{% endif %} {% if datacontract.terms %}

Terms

Terms and conditions of the data contract

Usage
{{ datacontract.terms.usage }}
Limitations
{{ datacontract.terms.limitations }}
{% if datacontract.terms.billing %}
Billing
{{ datacontract.terms.billing }}
{% endif %} {% if datacontract.terms.noticePeriod %}
Notice Period
{{ datacontract.terms.noticePeriod }}
{% endif %}
{% endif %}

Data Model

The logical data model

{% for model_name, model in datacontract.models.items() %}
{% for field_name, field in model.fields.items() %} {% endfor %}
{{ model_name }} {{ model.type }}
{{ model.description }}
{% if field.title %}
{{ field.title }}
{% endif %}
{{ field_name }}
{# TODO nested fields #}
{% if field.type %} {{ field.type }} {% endif %} {% if field.description %}
{{ field.description }}
{% else %}
No description
{% endif %} {% if field.example %}
Example: {{ field.example }}
{% endif %}
{% if field.primary %} primary {% endif %} {% if field.required %} required {% endif %} {% if field.unique %} unique {% endif %} {% if field.format %} format:{{ field.format }} {% endif %} {% if field.minLength %} minLength:{{ field.minLength }} {% endif %} {% if field.maxLength %} maxLength:{{ field.maxLength }} {% endif %} {% if field.pattern %} pattern:{{ field.pattern }} {% endif %} {% if field.precision %} precision:{{ field.precision }} {% endif %} {% if field.scale %} scale:{{ field.scale }} {% endif %} {% if field.minimum %} minimum:{{ field.minimum }} {% endif %} {% if field.exclusiveMinimum %} exclusiveMinimum:{{ field.exclusiveMinimum }} {% endif %} {% if field.maximum %} maximum:{{ field.maximum }} {% endif %} {% if field.exclusiveMaximum %} exclusiveMaximum:{{ field.exclusiveMaximum }} {% endif %} {% if field.classification %} {{ field.classification }} {% endif %} {% if field.pii %} PII {% endif %}
{% endfor %}
{# TODO add definitions #} {# TODO add service levels #} {% if quality_specification %}

Quality

{{ datacontract.quality.type }}

{{ quality_specification }}
{% endif %}
Created at {{formatted_date}} with Data Contract CLI v{{datacontract_cli_version}}
{{datacontract_yaml}}