Skip to content

Commit 39fe628

Browse files
committed
Add private service connect resources and datasources
1 parent 1527349 commit 39fe628

File tree

35 files changed

+3803
-101
lines changed

35 files changed

+3803
-101
lines changed

.github/workflows/terraform_provider.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ jobs:
126126
AWS_SIGNIN_URL: ${{ secrets.CLOUD_ACCOUNT_URL }}
127127
GCP_VPC_PROJECT: ${{ secrets.GCP_VPC_PROJECT }}
128128
GCP_VPC_ID: ${{ secrets.GCP_VPC_ID }}
129+
# TODO
130+
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
129131
- name: Generate code coverage report
130132
if: steps.filter.outputs.code-changes == 'true' && (success() || failure())
131133
run: make generate_coverage

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
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
layout: "rediscloud"
3+
page_title: "Redis Cloud: rediscloud_active_active_private_service_connect_endpoints"
4+
description: |-
5+
Active-Active Private Service Connect Endpoints data source in the Redis Cloud Terraform provider.
6+
---
7+
8+
# Data Source: rediscloud_active_active_private_service_connect_endpoints
9+
10+
The Active-Active Private Service Connect Endpoints data source allows access to an available the endpoints within your Redis Enterprise Subscription.
11+
12+
## Example Usage
13+
14+
```hcl
15+
data "rediscloud_active_active_private_service_connect_endpoints" "example" {
16+
subscription_id = "1234"
17+
private_service_connect_service_id = 5678
18+
region_id = 1
19+
}
20+
21+
output "rediscloud_endpoints" {
22+
value = data.rediscloud_active_active_private_service_connect.example.endpoints
23+
}
24+
```
25+
26+
## Argument Reference
27+
28+
* `subscription_id` - (Required) The ID of an Active-Active subscription
29+
* `private_service_connect_service_id` - (Required) The ID of the Private Service Connect Service relative to the associated subscription
30+
* `region_id` - (Required) The ID of the GCP region
31+
32+
## Attribute Reference
33+
34+
* `endpoints` - List of Private Service Connect endpoints, documented below
35+
36+
The `endpoints` object has these attributes:
37+
38+
* `private_service_connect_endpoint_id` - The ID of the Private Service Connect endpoint
39+
* `gcp_project_id` - The Google Cloud Project ID
40+
* `gcp_vpc_name` - The GCP VPC name
41+
* `gcp_vpc_subnet_name` - The GCP Subnet name
42+
* `endpoint_connection_name` - The endpoint connection name
43+
* `status` - The endpoint status
44+
* `service_attachments` - The 40 service attachments that are created for the Private Service Connect endpoint, documented below
45+
46+
The `service_attachments` object has these attributes:
47+
48+
* `name` - Name of the service attachment
49+
* `dns_record` - DNS record for the service attachment
50+
* `ip_address_name` - IP address name for the service attachment
51+
* `forwarding_rule_name` - Name of the forwarding rule for the service attachment
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
layout: "rediscloud"
3+
page_title: "Redis Cloud: rediscloud_private_service_connect"
4+
description: |-
5+
Private Service Connect data source in the Redis Cloud Terraform provider.
6+
---
7+
8+
# Data Source: rediscloud_private_service_connect
9+
10+
The 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_private_service_connect" "example" {
16+
subscription_id = "1234"
17+
}
18+
19+
output "rediscloud_psc_status" {
20+
value = data.rediscloud_private_service_connect.example.status
21+
}
22+
```
23+
24+
## Argument Reference
25+
26+
* `subscription_id` - (Required) The ID of a Pro subscription
27+
28+
## Attribute Reference
29+
30+
* `private_service_connect_service_id` - The ID of the Private Service Connect Service relative to the associated subscription
31+
* `connection_host_name` - The connection hostname
32+
* `service_attachment_name` - The service attachment name
33+
* `status` - The Private Service Connect status
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
layout: "rediscloud"
3+
page_title: "Redis Cloud: rediscloud_private_service_connect_endpoints"
4+
description: |-
5+
Private Service Connect Endpoints data source in the Redis Cloud Terraform provider.
6+
---
7+
8+
# Data Source: rediscloud_private_service_connect_endpoints
9+
10+
The Private Service Connect Endpoints data source allows access to an available the endpoints within your Redis Enterprise Subscription.
11+
12+
## Example Usage
13+
14+
```hcl
15+
data "rediscloud_private_service_connect_endpoints" "example" {
16+
subscription_id = "1234"
17+
private_service_connect_service_id = 5678
18+
}
19+
20+
output "rediscloud_endpoints" {
21+
value = data.rediscloud_private_service_connect.example.endpoints
22+
}
23+
```
24+
25+
## Argument Reference
26+
27+
* `subscription_id` - (Required) The ID of a Pro subscription
28+
* `private_service_connect_service_id` - (Required) The ID of the Private Service Connect Service relative to the associated subscription
29+
30+
## Attribute Reference
31+
32+
* `endpoints` - List of Private Service Connect endpoints, documented below
33+
34+
The `endpoints` object has these attributes:
35+
36+
* `private_service_connect_endpoint_id` - The ID of the Private Service Connect endpoint
37+
* `gcp_project_id` - The Google Cloud Project ID
38+
* `gcp_vpc_name` - The GCP VPC name
39+
* `gcp_vpc_subnet_name` - The GCP Subnet name
40+
* `endpoint_connection_name` - The endpoint connection name
41+
* `status` - The endpoint status
42+
* `service_attachments` - The 40 service attachments that are created for the Private Service Connect endpoint, documented below
43+
44+
The `service_attachments` object has these attributes:
45+
46+
* `name` - Name of the service attachment
47+
* `dns_record` - DNS record for the service attachment
48+
* `ip_address_name` - IP address name for the service attachment
49+
* `forwarding_rule_name` - Name of the forwarding rule for the service attachment
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
layout: "rediscloud"
3+
page_title: "Redis Cloud: rediscloud_active_active_private_service_connect"
4+
description: |-
5+
Private Service Connect resource for Active-Active Subscription in the Redis Cloud Terraform provider.
6+
---
7+
8+
# Resource: rediscloud_active_active_private_service_connect
9+
10+
Manages a Private Service Connect to an Active-Active Subscription in your Redis Enterprise Cloud Account.
11+
12+
## Example Usage
13+
14+
[Full example in the `rediscloud_active_active_private_service_connect_endpoint` resource](./rediscloud_active_active_private_service_connect_endpoint.md)
15+
16+
## Argument Reference
17+
18+
* `subscription_id` - (Required) The ID of the Pro subscription to attach **Modifying this attribute will force creation of a new resource.**
19+
* `region_id` - (Required) The ID of the region, as created by the API **Modifying this attribute will force creation of a new resource.**
20+
21+
## Attribute Reference
22+
23+
* `private_service_connect_service_id` - The ID of the Private Service Connect Service relative to the associated subscription
24+
25+
## Import
26+
27+
`rediscloud_active_active_private_service_connect` can be imported using the ID of the Active-Active subscription, the region ID and the ID of the Private Service Connect in the format {subscription ID/region ID/private service connect ID}, e.g.
28+
29+
```
30+
$ terraform import rediscloud_active_active_private_service_connect.id 1000/1/123456
31+
```

0 commit comments

Comments
 (0)