diff --git a/CHANGELOG.md b/CHANGELOG.md index 78c9312..4ad692c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ The public API SHOULD NOT be considered stable. - Trino support - Field `type: map` support with properties `keys` and `values` - Definitions: `fields`, for type `object`, `record`, and `struct` +- Add Redshift server properties `clusterIdentifier`, `endpoint`, `host` and `port`. ## [0.9.3] - 2024-03-06 diff --git a/README.md b/README.md index a419951..26fd7cd 100644 --- a/README.md +++ b/README.md @@ -409,12 +409,53 @@ servers: #### Redshift Server Object -| Field | Type | Description | -|----------|----------|-------------| -| type | `string` | `redshift` | -| account | `string` | | -| database | `string` | | -| schema | `string` | | +| Field | Type | Description | +|-------------------|----------|---------------------------------------------------------------------------------------------------------------------| +| type | `string` | `redshift` | +| account | `string` | | +| database | `string` | | +| schema | `string` | | +| clusterIdentifier | `string` | Identifier of the cluster.
Example: `analytics-cluster` | +| host | `string` | Host of the cluster.
Example: `analytics-cluster.example.eu-west-1.redshift.amazonaws.com` | +| port | `number` | Port of the cluster.
Example: `5439` | +| endpoint | `string` | Endpoint of the cluster
Example: `analytics-cluster.example.eu-west-1.redshift.amazonaws.com:5439/analytics` | + +Example, specifying an endpoint: + +```yaml +servers: + analytics: + type: redshift + account: '123456789012' + database: analytics + schema: analytics + endpoint: analytics-cluster.example.eu-west-1.redshift.amazonaws.com:5439/analytics +``` + +Example, specifying the cluster identifier: + +```yaml +servers: + analytics: + type: redshift + account: '123456789012' + database: analytics + schema: analytics + clusterIdentifier: analytics-cluster +``` + +Example, specifying the cluster host: + +```yaml +servers: + analytics: + type: redshift + account: '123456789012' + database: analytics + schema: analytics + host: analytics-cluster.example.eu-west-1.redshift.amazonaws.com + port: 5439 +``` #### Azure Server Object diff --git a/datacontract.schema.json b/datacontract.schema.json index 844afc4..924f165 100644 --- a/datacontract.schema.json +++ b/datacontract.schema.json @@ -272,6 +272,10 @@ "type": "string", "description": "An optional string describing the server." }, + "host": { + "type": "string", + "description": "An optional string describing the host name." + }, "database": { "type": "string", "description": "An optional string describing the server." @@ -279,6 +283,28 @@ "schema": { "type": "string", "description": "An optional string describing the server." + }, + "clusterIdentifier": { + "type": "string", + "description": "An optional string describing the cluster's identifier.", + "examples": [ + "redshift-prod-eu", + "analytics-cluster" + ] + }, + "port": { + "type": "integer", + "description": "An optional string describing the cluster's port.", + "examples": [ + 5439 + ] + }, + "endpoint": { + "type": "string", + "description": "An optional string describing the cluster's endpoint.", + "examples": [ + "analytics-cluster.example.eu-west-1.redshift.amazonaws.com:5439/analytics" + ] } }, "additionalProperties": true,