Skip to content

Commit 9dccb52

Browse files
Merge branch 'main' into fix/dataset_size_docs
2 parents 0bcfcae + 4aa605a commit 9dccb52

File tree

76 files changed

+4506
-860
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+4506
-860
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ jobs:
3535

3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v4.1.1
38+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3939

4040
# Initializes the CodeQL tools for scanning.
4141
- name: Initialize CodeQL
42-
uses: github/codeql-action/init@v2
42+
uses: github/codeql-action/init@v3
4343
with:
4444
languages: ${{ matrix.language }}
4545
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -50,7 +50,7 @@ jobs:
5050
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5151
# If this step fails, then you should remove it and run the build manually (see below)
5252
- name: Autobuild
53-
uses: github/codeql-action/autobuild@v2
53+
uses: github/codeql-action/autobuild@v3
5454

5555
# ℹ️ Command-line programs to run using the OS shell.
5656
# 📚 https://git.io/JvXDl
@@ -64,4 +64,4 @@ jobs:
6464
# make release
6565

6666
- name: Perform CodeQL Analysis
67-
uses: github/codeql-action/analyze@v2
67+
uses: github/codeql-action/analyze@v3

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ jobs:
2020
steps:
2121
-
2222
name: Checkout
23-
uses: actions/checkout@v4.1.1
23+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2424
-
2525
name: Unshallow
2626
run: git fetch --prune --unshallow
2727
-
2828
name: Set up Go
29-
uses: actions/setup-go@v4
29+
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
3030
with:
3131
go-version-file: go.mod
3232
-
@@ -38,7 +38,7 @@ jobs:
3838
PASSPHRASE: ${{ secrets.PASSPHRASE }}
3939
-
4040
name: Run GoReleaser
41-
uses: goreleaser/goreleaser-action@v5.0.0
41+
uses: goreleaser/goreleaser-action@v6.3.0
4242
with:
4343
version: latest
4444
args: release --clean

.github/workflows/terraform_provider.yml

Lines changed: 99 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,52 @@ on:
55
branches:
66
- main
77
- develop
8-
paths-ignore:
9-
- '**.md'
108
pull_request:
119
branches:
1210
- main
1311
- develop
14-
paths-ignore:
15-
- '**.md'
1612
env:
1713
TERRAFORM_VERSION: "1.2.6"
14+
REDISCLOUD_ACCESS_KEY: ${{ secrets.REDISCLOUD_ACCESS_KEY_STAGING }}
15+
REDISCLOUD_SECRET_KEY: ${{ secrets.REDISCLOUD_SECRET_KEY_STAGING }}
16+
REDISCLOUD_URL: ${{ secrets.REDISCLOUD_URL_STAGING }}
17+
AWS_TEST_CLOUD_ACCOUNT_NAME: "${{ secrets.AWS_TEST_CLOUD_ACCOUNT_NAME_STAGING }}"
18+
AWS_PEERING_REGION: ${{ secrets.AWS_PEERING_REGION }}
19+
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
20+
AWS_VPC_CIDR: ${{ secrets.AWS_VPC_CIDR }}
21+
AWS_VPC_ID: ${{ secrets.AWS_VPC_ID }}
22+
AWS_TEST_TGW_ID: ${{ secrets.AWS_TEST_TGW_ID_STAGING }}
23+
TF_ACC: true
24+
TF_LOG: info
25+
AWS_ACCESS_KEY_ID: ${{ secrets.CLOUD_ACCOUNT_KEY }}
26+
AWS_ACCESS_SECRET_KEY: ${{ secrets.CLOUD_ACCOUNT_SECRET }}
27+
AWS_CONSOLE_USERNAME: ${{ secrets.CLOUD_ACCOUNT_USERNAME }}
28+
AWS_CONSOLE_PASSWORD: ${{ secrets.CLOUD_ACCOUNT_PASS }}
29+
AWS_SIGNIN_URL: ${{ secrets.CLOUD_ACCOUNT_URL }}
30+
GCP_VPC_PROJECT: ${{ secrets.GCP_VPC_PROJECT }}
31+
GCP_VPC_ID: ${{ secrets.GCP_VPC_ID }}
32+
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
33+
GOOGLE_CREDENTIALS: ${{ secrets.GOOGLE_CREDENTIALS }}
1834

1935
concurrency:
20-
group: ${{ github.workflow }}-${{ github.ref }}
36+
group: <span class="math-inline">\{\{ github\.workflow \}\}\-</span>{{ github.ref }}
2137
cancel-in-progress: true
2238

2339
jobs:
2440
go_build:
2541
name: go build
2642
runs-on: ubuntu-latest
2743
steps:
28-
- uses: actions/checkout@v4.1.1
29-
- uses: actions/cache@v3.3.2
44+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
45+
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
3046
continue-on-error: true
3147
id: cache-terraform-plugin-dir
3248
timeout-minutes: 2
3349
with:
3450
path: terraform-plugin-dir
3551
key: ${{ runner.os }}-terraform-plugin-dir-${{ hashFiles('go.sum') }}-${{ hashFiles('provider/**') }}
3652
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure'
37-
uses: actions/setup-go@v4
53+
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
3854
with:
3955
go-version-file: go.mod
4056
- if: steps.cache-terraform-plugin-dir.outputs.cache-hit != 'true' || steps.cache-terraform-plugin-dir.outcome == 'failure'
@@ -49,22 +65,22 @@ jobs:
4965
needs: [go_build]
5066
runs-on: ubuntu-latest
5167
steps:
52-
- uses: actions/checkout@v4.1.1
53-
- uses: actions/cache@v3.3.2
68+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
69+
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
5470
continue-on-error: true
5571
id: cache-terraform-providers-schema
5672
timeout-minutes: 2
5773
with:
5874
path: terraform-providers-schema
5975
key: ${{ runner.os }}-terraform-providers-schema-${{ hashFiles('go.sum') }}-${{ hashFiles('provider/**') }}
6076
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure'
61-
uses: actions/cache@v3.3.2
77+
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
6278
timeout-minutes: 2
6379
with:
6480
path: terraform-plugin-dir
6581
key: ${{ runner.os }}-terraform-plugin-dir-${{ hashFiles('go.sum') }}-${{ hashFiles('provider/**') }}
6682
- if: steps.cache-terraform-providers-schema.outputs.cache-hit != 'true' || steps.cache-terraform-providers-schema.outcome == 'failure'
67-
uses: hashicorp/setup-terraform@v3.0.0
83+
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
6884
with:
6985
terraform_version: ${{ env.TERRAFORM_VERSION }}
7086
terraform_wrapper: false
@@ -90,64 +106,90 @@ jobs:
90106
mkdir terraform-providers-schema
91107
terraform providers schema -json > terraform-providers-schema/schema.json
92108
93-
go_test:
94-
name: go test
109+
go_test_databases:
110+
name: go test Databases
95111
needs: [go_build]
96112
runs-on: ubuntu-latest
97113
steps:
98-
- uses: actions/checkout@v4.1.1
99-
- uses: actions/setup-go@v4
114+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
115+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
100116
with:
101117
go-version-file: go.mod
102-
- uses: dorny/[email protected]
103-
id: filter
118+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(Essentials|Pro|ActiveActive)Database_.*"'
119+
120+
go_test_subscriptions:
121+
name: go test Subscriptions
122+
needs: [go_test_databases]
123+
runs-on: ubuntu-latest
124+
steps:
125+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
126+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
104127
with:
105-
filters: |
106-
code-changes:
107-
- 'go.mod'
108-
- 'go.sum'
109-
- 'provider/**'
110-
- '*.go'
111-
- '.github/workflows/**'
112-
- run: make testacc
113-
if: steps.filter.outputs.code-changes == 'true'
114-
env:
115-
REDISCLOUD_ACCESS_KEY: ${{ secrets.REDISCLOUD_ACCESS_KEY_STAGING }}
116-
REDISCLOUD_SECRET_KEY: ${{ secrets.REDISCLOUD_SECRET_KEY_STAGING }}
117-
REDISCLOUD_URL: ${{ secrets.REDISCLOUD_URL_STAGING }}
118-
AWS_TEST_CLOUD_ACCOUNT_NAME: "${{ secrets.AWS_TEST_CLOUD_ACCOUNT_NAME_STAGING }}"
119-
AWS_PEERING_REGION: ${{ secrets.AWS_PEERING_REGION }}
120-
AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }}
121-
AWS_VPC_CIDR: ${{ secrets.AWS_VPC_CIDR }}
122-
AWS_VPC_ID: ${{ secrets.AWS_VPC_ID }}
123-
AWS_TEST_TGW_ID: ${{ secrets.AWS_TEST_TGW_ID_STAGING }}
124-
TF_ACC: true
125-
TF_LOG: debug
126-
AWS_ACCESS_KEY_ID: ${{ secrets.CLOUD_ACCOUNT_KEY }}
127-
AWS_ACCESS_SECRET_KEY: ${{ secrets.CLOUD_ACCOUNT_SECRET }}
128-
AWS_CONSOLE_USERNAME: ${{ secrets.CLOUD_ACCOUNT_USERNAME }}
129-
AWS_CONSOLE_PASSWORD: ${{ secrets.CLOUD_ACCOUNT_PASS }}
130-
AWS_SIGNIN_URL: ${{ secrets.CLOUD_ACCOUNT_URL }}
131-
GCP_VPC_PROJECT: ${{ secrets.GCP_VPC_PROJECT }}
132-
GCP_VPC_ID: ${{ secrets.GCP_VPC_ID }}
133-
- name: Generate code coverage report
134-
if: steps.filter.outputs.code-changes == 'true' && (success() || failure())
135-
run: make generate_coverage
136-
- name: Upload code coverage report
137-
if: steps.filter.outputs.code-changes == 'true' && (success() || failure())
138-
uses: actions/upload-artifact@v3
128+
go-version-file: go.mod
129+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(Essentials|Pro|ActiveActive)Subscription_.*"'
130+
131+
go_test_subscriptions_tls:
132+
name: go test Subscriptions TLS
133+
needs: [go_test_subscriptions]
134+
runs-on: ubuntu-latest
135+
steps:
136+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
137+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
139138
with:
140-
name: coverage.html
141-
path: bin/coverage.html
139+
go-version-file: go.mod
140+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloudSubscriptionTls_.*"'
141+
142+
go_test_essentials_plan:
143+
name: go test Essentials Plan
144+
needs: [go_test_subscriptions_tls]
145+
runs-on: ubuntu-latest
146+
steps:
147+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
148+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
149+
with:
150+
go-version-file: go.mod
151+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloudEssentialsPlan_.*"'
152+
153+
go_test_persistence_modules_regions_acl:
154+
name: go test Other
155+
needs: [go_test_essentials_plan]
156+
runs-on: ubuntu-latest
157+
steps:
158+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
159+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
160+
with:
161+
go-version-file: go.mod
162+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(DataPersistence|DatabaseModules|Regions|Acl).*"'
163+
164+
go_test_cloud_account:
165+
name: go test Cloud Account
166+
needs: [go_test_persistence_modules_regions_acl]
167+
runs-on: ubuntu-latest
168+
steps:
169+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
170+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
171+
with:
172+
go-version-file: go.mod
173+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-test.short -run="TestAcc(DataSource|Resource)RedisCloud(CloudAccount).*"'
174+
175+
go_test_transit_payment:
176+
name: go test Transit Gateway & Payment
177+
needs: [go_test_cloud_account]
178+
runs-on: ubuntu-latest
179+
steps:
180+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
181+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
182+
with:
183+
go-version-file: go.mod
184+
- run: EXECUTE_TESTS=true make testacc TESTARGS='-run="TestAcc(DataSource|Resource)RedisCloud(TransitGatewayAttachment|PaymentMethod).*"'
142185

143186
tfproviderlint:
144187
name: tfproviderlint
145188
needs: [go_build]
146189
runs-on: ubuntu-latest
147190
steps:
148-
- uses: actions/checkout@v4.1.1
149-
- uses: actions/setup-go@v4
191+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
192+
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
150193
with:
151194
go-version-file: go.mod
152195
- run: make tfproviderlint
153-

CHANGELOG.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,48 @@
33
All notable changes to this project will be documented in this file.
44
See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/)
55

6+
# 2.1.1 (6th Feb 2025)
7+
8+
### Added
9+
10+
- Documentation related to using the [Redis Cloud Private Service Connect Module](https://github.com/RedisLabs/terraform-rediscloud-private-service-connect)
11+
to simplify the Terraform configuration.
12+
13+
# 2.1.0 (6th Feb 2025)
14+
15+
### Added
16+
17+
- Added resources for provisioning Private Service Connect in GCP on Active-Active and Pro subscriptions.
18+
`rediscloud_private_service_connect`, `rediscloud_private_service_connect_endpoint`, `rediscloud_private_service_connect_endpoint_accepter`,
19+
`rediscloud_active_active_private_service_connect`, `rediscloud_active_active_private_service_connect_endpoint` and
20+
`rediscloud_active_active_private_service_connect_endpoint_accepter` as well as the respective data sources
21+
`rediscloud_private_service_connect`, `rediscloud_private_service_connect_endpoints`, `rediscloud_active_active_private_service_connect`
22+
and `rediscloud_active_active_private_service_connect_endpoints`
23+
24+
### Changed
25+
26+
- Upgraded the provider to use `v0.22.0` of the [rediscloud-go-api](https://github.com/RedisLabs/rediscloud-go-api) SDK.
27+
28+
# 2.0.0 (5th Dec 2024)
29+
30+
### Changed
31+
32+
- Upgraded the provider to use `v0.21.0` of the [rediscloud-go-api](https://github.com/RedisLabs/rediscloud-go-api) which handles API rate limits gracefully.
33+
34+
### Removed
35+
36+
- `latest_backup_status` and `latest_import_status` from `rediscloud_active_active_subscription_database`,
37+
`rediscloud_active_active_subscription_regions`, `rediscloud_subscription_database` and `rediscloud_essentials_database`.
38+
Users should use the equivalent data sources instead.
39+
40+
# 1.9.0 (9th Oct 2024)
41+
42+
### Added
43+
44+
- Tags as key/value pairs on Pro and ActiveActive databases
45+
- The facility for users to upgrade from memorySizeInGb to datasetSizeInGb
46+
(please note that changing back may have unexpected results and is not supported)
47+
648
# 1.8.1 (3rd Sept 2024)
749

850
### Removed

GNUmakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ PLUGINS_PATH = ~/.terraform.d/plugins
1010
PLUGINS_PROVIDER_PATH=$(PROVIDER_HOSTNAME)/$(PROVIDER_NAMESPACE)/$(PROVIDER_TYPE)/$(PROVIDER_VERSION)/$(PROVIDER_TARGET)
1111

1212
# Use a parallelism of 3 by default for tests, overriding whatever GOMAXPROCS is set to.
13-
TEST_PARALLELISM?=3
13+
TEST_PARALLELISM?=6
1414
TESTARGS?=-short
1515

1616
bin:

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ terraform {
7474
source = "RedisLabs/rediscloud"
7575
}
7676
}
77-
required_version = ">= 0.13"
77+
required_version = "~> 1.2"
7878
}
7979
```
8080

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
layout: "rediscloud"
3+
page_title: "Redis Cloud: rediscloud_active_active_private_service_connect"
4+
description: |-
5+
Active-Active Private Service Connect data source in the Redis Cloud Terraform provider.
6+
---
7+
8+
# Data Source: rediscloud_active_active_private_service_connect
9+
10+
The Active-Active Private Service Connect data source allows access to an available the Private Service Connect Service within your Redis Enterprise Subscription.
11+
12+
## Example Usage
13+
14+
```hcl
15+
data "rediscloud_active_active_private_service_connect" "example" {
16+
subscription_id = "1234"
17+
region_id = 1
18+
}
19+
20+
output "rediscloud_psc_status" {
21+
value = data.rediscloud_active_active_private_service_connect.example.status
22+
}
23+
```
24+
25+
## Argument Reference
26+
27+
* `subscription_id` - (Required) The ID of an Active-Active subscription
28+
* `region_id` - (Required) The ID of the GCP region
29+
30+
## Attribute Reference
31+
32+
* `private_service_connect_service_id` - The ID of the Private Service Connect Service relative to the associated subscription
33+
* `connection_host_name` - The connection hostname
34+
* `service_attachment_name` - The service attachment name
35+
* `status` - The Private Service Connect status

0 commit comments

Comments
 (0)