You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Go](https://golang.org/doc/install) 1.24 (to build the provider plugin)
11
+
12
+
## Limitations
13
+
14
+
### Untested features
15
+
16
+
Due to limited testing capacities, the following features are not tested/stable yet:
17
+
18
+
* External Schemas
19
+
* Hive Database
20
+
* RDS Postgres Database
21
+
* RDS MySQL Database
22
+
* Redshift Database
23
+
* Temporary Credentials Cluster Identifier
24
+
* Temporary Credentials Assume Role
25
+
* Datashares
26
+
27
+
### Using the AWS Redshift Data API
28
+
29
+
This provider *does* support connecting to the Redshift instance using the AWS Redshift Data API. However, this is not
30
+
the default behavior, requires some additional configuration and comes along with some caveats:
31
+
32
+
* Transactions are not run as real DB-level transactions, but rather as a sequence of individual statements (`BatchExecuteStatement` executes all statements at once and does not support queries while being in transaction mode).
33
+
* Due to the unsupported state of transactions, interfering DB interactions might lead to unexpected results.
34
+
* In order to
35
+
prevent [errors due to conflicts with concurrent transactions](https://stackoverflow.com/questions/37344942/redshift-could-not-complete-because-of-conflict-with-concurrent-transaction),
36
+
all statements depend on one lock across resources. This may lead to longer execution times, especially when multiple
37
+
resources are created or updated at the same time.
11
38
12
39
## Building The Provider
13
40
@@ -21,14 +48,15 @@ Enter the provider directory and build the provider
21
48
$ cd terraform-provider-redshift
22
49
$ make build
23
50
```
51
+
24
52
## Development
25
53
26
54
If you're new to provider development, a good place to start is the [Extending
@@ -58,8 +87,9 @@ Use `go generate` to update generated docs.
58
87
59
88
## Releasing
60
89
61
-
Builds and releases are automated with GitHub Actions and [GoReleaser](https://github.com/goreleaser/goreleaser/).
62
-
The changelog is managed with [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator).
90
+
Builds and releases are automated with GitHub Actions and [GoReleaser](https://github.com/goreleaser/goreleaser/).
91
+
The changelog is managed
92
+
with [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator).
Copy file name to clipboardExpand all lines: docs/index.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,8 @@ The Redshift provider provides configuration management resources for
12
12
13
13
## Example Usage
14
14
15
+
Please note that only one authentication method can be used at a time. There is no logic to fall back to another method if the first one fails.
16
+
15
17
### Authentication using fixed password
16
18
17
19
```terraform
@@ -22,6 +24,18 @@ provider "redshift" {
22
24
}
23
25
```
24
26
27
+
### Authentication using Redshift Data API
28
+
29
+
```terraform
30
+
provider "redshift" {
31
+
database = var.redshift_database
32
+
data_api {
33
+
workgroup_name = var.redshift_workgroup
34
+
region = var.aws_region
35
+
}
36
+
}
37
+
```
38
+
25
39
### Authentication using temporary credentials
26
40
27
41
```terraform
@@ -54,6 +68,7 @@ provider "redshift" {
54
68
55
69
### Optional
56
70
71
+
-`data_api` (Block List, Max: 1) Configuration for using the Redshift Data API. This can only be used for serverless Redshift clusters. (see [below for nested schema](#nestedblock--data_api))
57
72
-`database` (String) The name of the database to connect to. The default is `redshift`.
58
73
-`host` (String) Name of Redshift server address to connect to.
59
74
-`max_connections` (Number) Maximum number of connections to establish to the database. Zero means unlimited.
@@ -63,6 +78,15 @@ provider "redshift" {
63
78
-`temporary_credentials` (Block List, Max: 1) Configuration for obtaining a temporary password using redshift:GetClusterCredentials (see [below for nested schema](#nestedblock--temporary_credentials))
64
79
-`username` (String) Redshift user name to connect as.
65
80
81
+
<aid="nestedblock--data_api"></a>
82
+
### Nested Schema for `data_api`
83
+
84
+
Required:
85
+
86
+
-`region` (String) The AWS region where the Redshift Serverless workgroup is located. If not specified, the region will be determined from the AWS SDK configuration.
87
+
-`workgroup_name` (String) The name of the Redshift Serverless workgroup to connect to.
0 commit comments