Skip to content

Commit

Permalink
Server Role resoves #81
Browse files Browse the repository at this point in the history
  • Loading branch information
jochenchrist committed Sep 9, 2024
1 parent 60d3146 commit ad2b5c5
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 5 deletions.
18 changes: 13 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -349,11 +349,12 @@ This object _MAY_ be extended with [Specification Extensions](#specification-ext

The fields are dependent on the defined type.

| Field | Type | Description |
|-------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| type | `string` | REQUIRED. The type of the data product technology that implements the data contract. Well-known server types are: `bigquery`, `s3`, `glue`, `redshift`, `azure`, `sqlserver`, `snowflake`, `databricks`, `postgres`, `oracle`, `kafka`, `pubsub`, `sftp`, `kinesis`, `trino`, `local` |
| description | `string` | An optional string describing the server. |
| environment | `string` | An optional string describing the environment, e.g., prod, sit, stg. |
| Field | Type | Description |
|-------------|-------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| type | `string` | REQUIRED. The type of the data product technology that implements the data contract. Well-known server types are: `bigquery`, `s3`, `glue`, `redshift`, `azure`, `sqlserver`, `snowflake`, `databricks`, `postgres`, `oracle`, `kafka`, `pubsub`, `sftp`, `kinesis`, `trino`, `local` |
| description | `string` | An optional string describing the server. |
| environment | `string` | An optional string describing the environment, e.g., prod, sit, stg. |
| roles | Array of `Server Role Object` | An optional array of roles that are available and can be requested to access the server for role-based access control. E.g. separate roles for different regions or sensitive data. |

This object _MAY_ be extended with [Specification Extensions](#specification-extensions).

Expand Down Expand Up @@ -530,6 +531,13 @@ servers:
| path | `string` | The relative or absolute path to the data file(s), such as `./folder/data.parquet`. |
| format | `string` | The format of the file(s), such as `parquet`, `delta`, `csv`, or `json`. |

#### Server Role Object

| Field | Type | Description |
|-------------|----------|--------------------------------------------------------------|
| name | `string` | Name of the role |
| description | `string` | A description of the role and what access the role provides. |

### Terms Object

The terms and conditions of the data contract.
Expand Down
20 changes: 20 additions & 0 deletions datacontract.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1143,6 +1143,26 @@
"trino",
"local"
]
},
"roles": {
"description": " An optional array of roles that are available and can be requested to access the server for role-based access control. E.g. separate roles for different regions or sensitive data.",
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the role."
},
"description": {
"type": "string",
"description": "A description of the role and what access the role provides."
}
},
"required": [
"name"
]
}
}
},
"additionalProperties": true,
Expand Down

0 comments on commit ad2b5c5

Please sign in to comment.