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,