Skip to content

Commit 1cca86e

Browse files
toshikagarwalmatty271828Talina06
authored
[AV-129324] Release Ceremony for TFv1.8.1 (#569)
Co-authored-by: Matty <65253959+matty271828@users.noreply.github.com> Co-authored-by: Talina Shrotriya <5362897+Talina06@users.noreply.github.com>
1 parent 3535d09 commit 1cca86e

17 files changed

Lines changed: 413 additions & 32 deletions

.github/workflows/lint.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ jobs:
2323
path: ~/go/pkg/mod
2424
key: cache-${{ github.run_id }}
2525
- name: golangci-lint
26-
uses: golangci/golangci-lint-action@v6
26+
uses: golangci/golangci-lint-action@v7
2727
with:
28-
version: v1.64.8
28+
version: v2.11.4
2929
only-new-issues: true
3030

3131
tfproviderlint:

.github_changelog_generator

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
user=couchbasecloud
22
project=terraform-provider-couchbase-capella
3-
future-release=v1.8.0
4-
since-tag=v1.7.1
3+
future-release=v1.8.1
4+
since-tag=v1.8.0
55
exclude-labels=no-changelog-needed,dependencies
66
enhancement-labels=enhancement,feature
77
bug-labels=bug,bugfix,fix

.golangci.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
version: "2"
2+
13
linters:
4+
default: none
25
enable:
36
- durationcheck
47
- errcheck
@@ -17,9 +20,8 @@ linters:
1720
- unparam
1821
- unused
1922
- govet
20-
21-
linters-settings:
22-
errorlint:
23-
errorf: true
24-
asserts: true
25-
comparison: true
23+
settings:
24+
errorlint:
25+
errorf: true
26+
asserts: true
27+
comparison: true

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## [v1.8.1](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/v1.8.1) (2026-04-30)
4+
5+
[Full Changelog](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/compare/v1.8.0...v1.8.1)
6+
7+
**Implemented enhancements:**
8+
9+
- \[AV-126800\] Allow to filter on cluster or project [\#543](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/543) ([l0n3star](https://github.com/l0n3star))
10+
- \[AV-123821\] Implement a UUID parsing helper function [\#506](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/506) ([stanleefdz](https://github.com/stanleefdz))
11+
12+
**Fixed bugs:**
13+
14+
- \[AV-128730\] Prevent perpetual state drift by preserving nil CORS configuration [\#566](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/566) ([stanleefdz](https://github.com/stanleefdz))
15+
- \[AV-125170\] Fix app endpoint creation without CORS [\#565](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/565) ([stanleefdz](https://github.com/stanleefdz))
16+
- \[AV-125169\] Fix import crash [\#559](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/559) ([l0n3star](https://github.com/l0n3star))
17+
- \[AV-127117\] Make CopyToRegions a Set [\#548](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/548) ([SophieWegmann](https://github.com/SophieWegmann))
18+
- \[AV-125172\] Set state straight after successful App Endpoint creation [\#540](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/540) ([IsaacLambat](https://github.com/IsaacLambat))
19+
20+
**Closed issues:**
21+
22+
- endpoint creation - lost state? [\#469](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/issues/469)
23+
24+
**Merged pull requests:**
25+
326
## [v1.8.0](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/v1.8.0) (2026-04-02)
427

528
[Full Changelog](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/compare/v1.7.1...v1.8.0)

docs/data-sources/cluster.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "couchbase-capella_cluster Data Source - terraform-provider-couchbase-capella"
4+
subcategory: ""
5+
description: |-
6+
The data source retrieves the details of a single Couchbase Capella cluster.
7+
---
8+
9+
# couchbase-capella_cluster (Data Source)
10+
11+
The data source retrieves the details of a single Couchbase Capella cluster.
12+
13+
14+
15+
<!-- schema generated by tfplugindocs -->
16+
## Schema
17+
18+
### Required
19+
20+
- `organization_id` (String) The GUID4 ID of the organization.
21+
- `project_id` (String) The GUID4 ID of the project.
22+
23+
### Read-Only
24+
25+
- `app_service_id` (String) The GUID4 ID of the appService.
26+
- `audit` (Attributes) Couchbase audit data. (see [below for nested schema](#nestedatt--audit))
27+
- `availability` (Attributes) (see [below for nested schema](#nestedatt--availability))
28+
- `cloud_provider` (Attributes) (see [below for nested schema](#nestedatt--cloud_provider))
29+
- `configuration_type` (String)
30+
- `connection_string` (String)
31+
- `couchbase_server` (Attributes) (see [below for nested schema](#nestedatt--couchbase_server))
32+
- `current_state` (String)
33+
- `description` (String)
34+
- `enable_private_dns_resolution` (Boolean)
35+
- `etag` (String) Entity tag for the resource, used for caching and conditional requests.
36+
- `id` (String) The ID of this resource.
37+
- `if_match` (String) A precondition header that specifies the entity tag of a resource.
38+
- `name` (String)
39+
- `service_groups` (Attributes List) (see [below for nested schema](#nestedatt--service_groups))
40+
- `support` (Attributes) (see [below for nested schema](#nestedatt--support))
41+
- `zones` (List of String)
42+
43+
<a id="nestedatt--audit"></a>
44+
### Nested Schema for `audit`
45+
46+
Read-Only:
47+
48+
- `created_at` (String) - The RFC3339 timestamp associated with when the resource was initially created.
49+
- **Format**: Date-time in RFC3339 format
50+
- `created_by` (String) - The user who created the resource; this will be a UUID4 ID for standard users and will be a string such as "internal-support" for internal Couchbase support users.
51+
- `modified_at` (String) - The RFC3339 timestamp associated with when the resource was last modified.
52+
- **Format**: Date-time in RFC3339 format
53+
- `modified_by` (String) - The user who last modified the resource; this will be a UUID4 ID for standard users and wilmal be a string such as "internal-support" for internal Couchbase support users.
54+
- `version` (Number) - The version of the document. This value is incremented each time the resource is modified.
55+
56+
57+
<a id="nestedatt--availability"></a>
58+
### Nested Schema for `availability`
59+
60+
Read-Only:
61+
62+
- `type` (String) - Availability zone type, either 'single' or 'multi'. Availability zone type allowed for singleNode cluster is only 'single'.
63+
- **Valid Values**: `single`, `multi`
64+
65+
66+
<a id="nestedatt--cloud_provider"></a>
67+
### Nested Schema for `cloud_provider`
68+
69+
Read-Only:
70+
71+
- `cidr` (String) - CIDR block for Cloud Provider.
72+
- **Constraints**: Pattern: `^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\/\d{1,2}$`
73+
- `region` (String) - Cloud provider region, for example `us-west-2`.
74+
- `type` (String) - Cloud provider type. Note: For singleNode cluster, only AWS type cloud provider is allowed. `aws`: Amazon Web Services `gcp`: Google Cloud Platform `azure`: Microsoft Azure
75+
- **Valid Values**: `aws`, `gcp`, `azure`
76+
77+
78+
<a id="nestedatt--couchbase_server"></a>
79+
### Nested Schema for `couchbase_server`
80+
81+
Read-Only:
82+
83+
- `version` (String)
84+
85+
86+
<a id="nestedatt--service_groups"></a>
87+
### Nested Schema for `service_groups`
88+
89+
Read-Only:
90+
91+
- `node` (Attributes) (see [below for nested schema](#nestedatt--service_groups--node))
92+
- `num_of_nodes` (Number)
93+
- `services` (List of String)
94+
95+
<a id="nestedatt--service_groups--node"></a>
96+
### Nested Schema for `service_groups.node`
97+
98+
Read-Only:
99+
100+
- `compute` (Attributes) (see [below for nested schema](#nestedatt--service_groups--node--compute))
101+
- `disk` (Attributes) (see [below for nested schema](#nestedatt--service_groups--node--disk))
102+
103+
<a id="nestedatt--service_groups--node--compute"></a>
104+
### Nested Schema for `service_groups.node.compute`
105+
106+
Read-Only:
107+
108+
- `cpu` (Number)
109+
- `ram` (Number)
110+
111+
112+
<a id="nestedatt--service_groups--node--disk"></a>
113+
### Nested Schema for `service_groups.node.disk`
114+
115+
Read-Only:
116+
117+
- `autoexpansion` (Boolean)
118+
- `iops` (Number)
119+
- `storage` (Number)
120+
- `type` (String)
121+
122+
123+
124+
125+
<a id="nestedatt--support"></a>
126+
### Nested Schema for `support`
127+
128+
Read-Only:
129+
130+
- `plan` (String) - Plan type, either 'Basic', 'Developer Pro', or 'Enterprise'. Plan type allowed for singleNode cluster is either 'Basic', or 'Developer Pro'. In case of 'Basic' plan timezone field value is ignored.
131+
- **Valid Values**: `basic`, `developer pro`, `enterprise`
132+
- `timezone` (String) - The standard timezone for the cluster. Should be the TZ identifier.
133+
- **Valid Values**: `ET`, `GMT`, `IST`, `PT`

docs/data-sources/project.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "couchbase-capella_project Data Source - terraform-provider-couchbase-capella"
4+
subcategory: ""
5+
description: |-
6+
The data source to retrieve information about a Capella project.
7+
---
8+
9+
# couchbase-capella_project (Data Source)
10+
11+
The data source to retrieve information about a Capella project.
12+
13+
## Example Usage
14+
15+
```terraform
16+
data "couchbase-capella_projects" "existing_projects" {
17+
organization_id = "<organization_id>"
18+
}
19+
```
20+
21+
<!-- schema generated by tfplugindocs -->
22+
## Schema
23+
24+
### Required
25+
26+
- `id` (String) - A GUID4 identifier of the project.
27+
- **Format**: UUID (GUID4)
28+
- `organization_id` (String) The GUID4 ID of the organization.
29+
30+
### Optional
31+
32+
- `if_match` (String) A precondition header that specifies the entity tag of a resource.
33+
34+
### Read-Only
35+
36+
- `audit` (Attributes) Couchbase audit data. (see [below for nested schema](#nestedatt--audit))
37+
- `description` (String) - A short description of the project (up to 256 characters).
38+
- **Constraints**: Maximum length: 256 characters
39+
- `etag` (String) Entity tag for the resource, used for caching and conditional requests.
40+
- `name` (String) - The name of the project (up to 128 characters).
41+
- **Constraints**: Maximum length: 128 characters
42+
43+
<a id="nestedatt--audit"></a>
44+
### Nested Schema for `audit`
45+
46+
Read-Only:
47+
48+
- `created_at` (String) - The RFC3339 timestamp associated with when the resource was initially created.
49+
- **Format**: Date-time in RFC3339 format
50+
- `created_by` (String) - The user who created the resource; this will be a UUID4 ID for standard users and will be a string such as "internal-support" for internal Couchbase support users.
51+
- `modified_at` (String) - The RFC3339 timestamp associated with when the resource was last modified.
52+
- **Format**: Date-time in RFC3339 format
53+
- `modified_by` (String) - The user who last modified the resource; this will be a UUID4 ID for standard users and wilmal be a string such as "internal-support" for internal Couchbase support users.
54+
- `version` (Number) - The version of the document. This value is incremented each time the resource is modified.

docs/guides/1.8.1-upgrade-guide.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
layout: "couchbase-capella"
3+
page_title: "Couchbase Capella Provider 1.8.1: Upgrade and Information Guide"
4+
sidebar_current: "docs-couchbase-capella-guides-181-upgrade-guide"
5+
description: |-
6+
Couchbase Capella Provider 1.8.1: Upgrade and Information Guide
7+
---
8+
9+
# Couchbase Capella Provider 1.8.1: Upgrade and Information Guide
10+
11+
Here is a list of what's new in 1.8.1
12+
13+
## New Features
14+
15+
* UUID Parsing Helper: New helper function for parsing UUIDs consistently across resources.
16+
* Filter by Cluster or Project: Enhanced filtering capabilities for data sources.
17+
18+
## Bug Fixes
19+
20+
* Prevent perpetual state drift by preserving nil CORS configuration [#566](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/566)
21+
* Fix app endpoint creation without CORS [#565](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/565)
22+
* Fix import crash [#559](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/559)
23+
* Make CopyToRegions a Set to prevent ordering issues [#548](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/548)
24+
* Set state straight after successful App Endpoint creation [#540](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/pull/540)
25+
26+
## Breaking Changes
27+
28+
There are no breaking changes as part of this release.
29+
30+
## Changes
31+
32+
1.8.1 includes bug fixes and general improvements. See the [CHANGELOG](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/master/CHANGELOG.md) for more specific information.
33+
34+
### Helpful Links
35+
36+
- [Getting Started with the Terraform Provider](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/master/examples/getting_started)
37+
- [Capella Management API v4.0](https://docs.couchbase.com/cloud/management-api-reference/index.html)
38+
- [See Specific Examples](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/master/examples)

docs/index.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,15 +174,17 @@ To get started, see the [Provider Example Configs](https://github.com/couchbasec
174174

175175
Every API key is associated with an allowed IP Address list, and one or more organization roles, which determine the [privileges that the API key has](https://docs.couchbase.com/cloud/management-api-guide/management-api-start.html#understand-management-api-keys) within the organization.
176176

177-
* [Create & Manage Projects](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/main/examples/project):
177+
* [Create, Manage & Retrieve Projects](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/main/examples/project):
178178

179179
Within organizations, [projects](https://docs.couchbase.com/cloud/projects/projects.html) are used to organize and manage groups of Couchbase databases.
180180
An organization can contain any number of projects, and a project can contain any number of databases.
181+
You can also retrieve the details of an existing project using the `couchbase-capella_project` datasource.
181182

182-
* [Create & Manage Capella Clusters (databases)](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/main/examples/cluster):
183+
* [Create, Manage & Retrieve Capella Clusters (databases)](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/main/examples/cluster):
183184

184185
The Cluster is the individual instance of a [Couchbase Database](https://docs.couchbase.com/cloud/clusters/databases.html), spanning one or more nodes on your Cloud Service Provider, and containing the Data Service, and any other services which you choose to deploy.
185186
Within this sits the hierarchy of bucket, scope, collection, and document.
187+
You can also retrieve the details of an existing cluster using the `couchbase-capella_cluster` datasource.
186188

187189
* [Retrieve Cluster Certificate Details](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/blob/main/examples/certificate):
188190

@@ -236,6 +238,14 @@ To get started, see the [Provider Example Configs](https://github.com/couchbasec
236238

237239
Define custom JavaScript access control functions to implement fine-grained data access policies for App Endpoints.
238240

241+
* [Configure App Endpoint Logging](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/app_endpoint_logging_config):
242+
243+
Manage the logging configuration for App Endpoints. Controls what logs are streamed to the log collector configured on the App Service. Requires App Service Log Streaming to be enabled.
244+
245+
* [Manage App Endpoint Resync](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/app_endpoint_resync):
246+
247+
Start and stop an App Endpoint Resync in Capella to re-synchronize data between the Couchbase Server and mobile clients.
248+
239249
* [Configure App Endpoint Import Filters](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/import_filter):
240250

241251
Set up import filters to control which documents are synced from the Couchbase Server to mobile clients.
@@ -291,10 +301,22 @@ To get started, see the [Provider Example Configs](https://github.com/couchbasec
291301
Turning off your database only turns off the compute. All of your data, schema (buckets, scopes, and collections), and indexes remain, as well as your cluster configuration, including users and allow lists.
292302
When you turn your provisioned database off, you will be charged the OFF amount for the database.
293303

304+
* [Retrieve Cluster Statistics](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/cluster_stats):
305+
306+
Retrieve statistics for a specific cluster in Capella, including resource utilization and performance metrics.
307+
294308
* [Turn App Service On/Off On Demand](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/app_service_onoff_ondemand):
295309

296310
You can turn the cluster and any linked app services on or off on demand using the [cluster API](https://docs.couchbase.com/cloud/management-api-reference/index.html#tag/clusters).
297311

312+
* [Configure App Service Log Streaming](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/app_service_log_streaming):
313+
314+
Set up and manage log streaming for a Capella App Service to forward logs to an external log collector.
315+
316+
* [Manage App Service Log Streaming Activation Status](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/app_service_log_streaming_activation_status):
317+
318+
Control whether App Service Log Streaming is paused or enabled. Log Streaming must already be configured on the App Service.
319+
298320
* [Import Sample Dataset Buckets](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/sample_bucket):
299321

300322
The sampleBucket endpoint lets users easily create a bucket filled with sample data. This is a quick way for users to try out features and learn how things work with ready-to-use data.
@@ -327,6 +349,14 @@ To get started, see the [Provider Example Configs](https://github.com/couchbasec
327349

328350
List the information of all the events within an organization. The list can be customized using filters.
329351

352+
* [Retrieve a Specific Project Event](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/project_event):
353+
354+
Fetch the details of any specific event within a project using the event ID, project ID, and organization ID.
355+
356+
* [Retrieve All Project Events](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/project_events):
357+
358+
List all events within a project. The list can be filtered by cluster ID, user ID, severity levels, tags, time range, and other attributes.
359+
330360
* [Retrieve Private Endpoint Command for AWS](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/private_endpoint_command/AWS):
331361

332362
Retrieve the AWS command used to configure a VPC endpoint.
@@ -339,6 +369,10 @@ To get started, see the [Provider Example Configs](https://github.com/couchbasec
339369

340370
Retrieve the Azure command used to configure a private endpoint.
341371

372+
* [Retrieve Azure Network Peer Role Assignment Command](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/network_peer_command_azure):
373+
374+
Retrieve the Azure role assignment command to be run in the Azure CLI to configure a network peer. Requires the Admin consent granting process to be completed through the Capella UI first.
375+
342376
* [Manage Private Endpoint Service](https://github.com/couchbasecloud/terraform-provider-couchbase-capella/tree/main/examples/private_endpoint_service):
343377

344378
Enable or disable the Private Endpoint Service in Capella.

examples/cluster/get_cluster.tf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
output "existing_cluster" {
2+
value = data.couchbase-capella_cluster.existing_cluster
3+
}
4+
5+
data "couchbase-capella_cluster" "existing_cluster" {
6+
organization_id = var.organization_id
7+
project_id = var.project_id
8+
id = var.cluster_id
9+
}

0 commit comments

Comments
 (0)