Skip to content

Commit

Permalink
ci: Prepare for the 1.0.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
wai-wong-edb committed Aug 6, 2024
1 parent ece83ea commit 9191806
Show file tree
Hide file tree
Showing 45 changed files with 550 additions and 1,301 deletions.
1 change: 1 addition & 0 deletions .wordlist-en-custom.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ postgres
PostGIS
postGIS
ssd
TDE
terraform
ultradisk
uri
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## v1.0.0 (August 05. 2024)
Features:
* Transparent Data Encryption (TDE) is now supported in `biganimal_cluster` and `biganimal_faraway_replica` resources
* Volume Snapshots are now supported in `biganimal_cluster` resources
* (Breaking change) `biganimal_cluster` data source uses cluster ID instead of cluster name

Enhancements:
* (Breaking change) data groups in `biganimal_pgd` resources now use lists instead of sets
* (Breaking change) blocks are migrated to terraform plugin framework attributes in `biganimal_cluster` resources
* (Breaking change) `biganimal_faraway_replica` resources are migrated to terraform plugin framework attributes
* Updated examples

## v0.11.2 (July 31. 2024)
Bug Fixes:
* fixed pg bouncer settings = null will always show changes on update

## v0.11.0 (June 20. 2024)
Features:
* New Resource to manage Analytical clusters: `biganimal_analytics_cluster`
Expand Down
2 changes: 1 addition & 1 deletion GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ HOSTNAME=registry.terraform.io
NAMESPACE=EnterpriseDB
NAME=biganimal
BINARY=terraform-provider-${NAME}
VERSION=0.11.0
VERSION=1.0.0

# Figure out the OS and ARCH of the
# builder machine
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ terraform {
required_providers {
biganimal = {
source = "EnterpriseDB/biganimal"
version = "0.11.0"
version = "1.0.0"
}
}
}
Expand Down
155 changes: 93 additions & 62 deletions docs/data-sources/cluster.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# biganimal_cluster (Data Source)
The cluster data source describes a BigAnimal cluster. The data source requires your cluster name.
The cluster data source describes a BigAnimal cluster. The data source requires your cluster ID.

## Example Usage
```terraform
variable "cluster_name" {
variable "cluster_id" {
type = string
description = "The name of the cluster"
description = "The id of the cluster"
}
variable "project_id" {
Expand All @@ -14,8 +14,8 @@ variable "project_id" {
}
data "biganimal_cluster" "this" {
cluster_name = var.cluster_name
project_id = var.project_id
cluster_id = var.cluster_id
project_id = var.project_id
}
output "cluster_architecture" {
Expand All @@ -38,14 +38,6 @@ output "csp_auth" {
value = coalesce(data.biganimal_cluster.this.csp_auth, false)
}
output "deleted_at" {
value = data.biganimal_cluster.this.deleted_at
}
output "expired_at" {
value = data.biganimal_cluster.this.expired_at
}
output "instance_type" {
value = data.biganimal_cluster.this.instance_type
}
Expand Down Expand Up @@ -125,65 +117,88 @@ output "pe_allowed_principal_ids" {
output "service_account_ids" {
value = data.biganimal_cluster.this.service_account_ids
}
output "volume_snapshot_backup" {
value = coalesce(data.biganimal_cluster.this.post_gis, false)
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `cluster_name` (String) Name of the cluster.
- `cluster_id` (String) Cluster ID.
- `project_id` (String) BigAnimal Project ID.

### Optional

- `allowed_ip_ranges` (Attributes Set) Allowed IP ranges. (see [below for nested schema](#nestedatt--allowed_ip_ranges))
- `faraway_replica_ids` (Set of String)
- `most_recent` (Boolean) Show the most recent cluster when there are multiple clusters with the same name.
- `pause` (Boolean) Pause cluster. If true it will put the cluster on pause and set the phase as paused, if false it will resume the cluster and set the phase as healthy
- `pe_allowed_principal_ids` (Set of String)
- `backup_retention_period` (String) Backup retention period. For example, "7d", "2w", or "3m".
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider. Available for AWS only, See [Authentication](https://www.enterprisedb.com/docs/biganimal/latest/getting_started/creating_a_cluster/#authentication) for details.
- `maintenance_window` (Attributes) Custom maintenance window. (see [below for nested schema](#nestedatt--maintenance_window))
- `pause` (Boolean) Pause cluster. If true it will put the cluster on pause and set the phase as paused, if false it will resume the cluster and set the phase as healthy. Pausing a cluster allows you to save on compute costs without losing data or cluster configuration settings. While paused, clusters aren't upgraded or patched, but changes are applied when the cluster resumes. Pausing a high availability cluster shuts down all cluster nodes
- `pe_allowed_principal_ids` (Set of String) Cloud provider subscription/account ID, need to be specified when cluster is deployed on BigAnimal's cloud account.
- `pg_bouncer` (Attributes) Pg bouncer. (see [below for nested schema](#nestedatt--pg_bouncer))
- `service_account_ids` (Set of String)
- `pg_config` (Attributes Set) Database configuration parameters. See [Modifying database configuration parameters](https://www.enterprisedb.com/docs/biganimal/latest/using_cluster/03_modifying_your_cluster/05_db_configuration_parameters/) for details. (see [below for nested schema](#nestedatt--pg_config))
- `pg_identity` (String) PG Identity required to grant key permissions to activate the cluster.
- `pgvector` (Boolean) Is pgvector extension enabled. Adds support for vector storage and vector similarity search to Postgres.
- `post_gis` (Boolean) Is postGIS extension enabled. PostGIS extends the capabilities of the PostgreSQL relational database by adding support storing, indexing and querying geographic data.
- `private_networking` (Boolean) Is private networking enabled.
- `read_only_connections` (Boolean) Is read only connection enabled.
- `service_account_ids` (Set of String) A Google Cloud Service Account is used for logs. If you leave this blank, then you will be unable to access log details for this cluster. Required when cluster is deployed on BigAnimal's cloud account.
- `superuser_access` (Boolean) Enable to grant superuser access to the edb_admin role.
- `timeouts` (Block, Optional) (see [below for nested schema](#nestedblock--timeouts))
- `transparent_data_encryption` (Attributes) Transparent Data Encryption (TDE) key (see [below for nested schema](#nestedatt--transparent_data_encryption))
- `volume_snapshot_backup` (Boolean) Volume snapshot.

### Read-Only

- `backup_retention_period` (String) Backup retention period.
- `cloud_provider` (String) Cloud provider.
- `cloud_provider` (String) Cloud provider. For example, "aws", "azure", "gcp" or "bah:aws", "bah:gcp".
- `cluster_architecture` (Attributes) Cluster architecture. (see [below for nested schema](#nestedatt--cluster_architecture))
- `cluster_id` (String) Cluster ID.
- `cluster_type` (String) Type of the Specified Cluster.
- `cluster_name` (String) Name of the cluster.
- `cluster_type` (String) Type of the cluster. For example, "cluster" for biganimal_cluster resources, or "faraway_replica" for biganimal_faraway_replica resources.
- `connection_uri` (String) Cluster connection URI.
- `created_at` (String) Cluster creation time.
- `csp_auth` (Boolean) Is authentication handled by the cloud service provider.
- `deleted_at` (String) Cluster deletion time.
- `expired_at` (String) Cluster expiry time.
- `faraway_replica_ids` (Set of String)
- `first_recoverability_point_at` (String) Earliest backup recover time.
- `id` (String) Datasource ID.
- `instance_type` (String) Instance type.
- `id` (String) Data source ID.
- `instance_type` (String) Instance type. For example, "azure:Standard_D2s_v3", "aws:c5.large" or "gcp:e2-highcpu-4".
- `logs_url` (String) The URL to find the logs of this cluster.
- `maintenance_window` (Attributes) Custom maintenance window. (see [below for nested schema](#nestedatt--maintenance_window))
- `metrics_url` (String) The URL to find the metrics of this cluster.
- `pg_config` (Attributes Set) Database configuration parameters. (see [below for nested schema](#nestedatt--pg_config))
- `pg_type` (String) Postgres type.
- `pg_version` (String) Postgres version.
- `pgvector` (Boolean) Is pgvector extension enabled. Adds support for vector storage and vector similarity search to Postgres.
- `password` (String) Password for the user edb_admin. It must be 12 characters or more.
- `pg_type` (String) Postgres type. For example, "epas", "pgextended", or "postgres".
- `pg_version` (String) Postgres version. See [Supported Postgres types and versions](https://www.enterprisedb.com/docs/biganimal/latest/overview/05_database_version_policy/#supported-postgres-types-and-versions) for supported Postgres types and versions.
- `phase` (String) Current phase of the cluster.
- `post_gis` (Boolean) Is postGIS extension enabled. PostGIS extends the capabilities of the PostgreSQL relational database by adding support storing, indexing and querying geographic data.
- `private_networking` (Boolean) Is private networking enabled.
- `read_only_connections` (Boolean) Is read only connection enabled.
- `region` (String) Region to deploy the cluster.
- `region` (String) Region to deploy the cluster. See [Supported regions](https://www.enterprisedb.com/docs/biganimal/latest/overview/03a_region_support/) for supported regions.
- `resizing_pvc` (List of String) Resizing PVC.
- `ro_connection_uri` (String) Cluster read-only connection URI. Only available for high availability clusters.
- `storage` (Attributes) Storage. (see [below for nested schema](#nestedatt--storage))
- `superuser_access` (Boolean) Is superuser access enabled.
- `transparent_data_encryption_action` (String) Transparent data encryption action.

<a id="nestedatt--allowed_ip_ranges"></a>
### Nested Schema for `allowed_ip_ranges`

Read-Only:
Required:

- `cidr_block` (String) CIDR block.
- `description` (String) CIDR block description.
- `cidr_block` (String) CIDR block

Optional:

- `description` (String) Description of CIDR block


<a id="nestedatt--maintenance_window"></a>
### Nested Schema for `maintenance_window`

Required:

- `is_enabled` (Boolean) Is maintenance window enabled.

Optional:

- `start_day` (Number) The day of week, 0 represents Sunday, 1 is Monday, and so on.
- `start_time` (String) Start time. "hh:mm", for example: "23:59".


<a id="nestedatt--pg_bouncer"></a>
Expand All @@ -208,42 +223,58 @@ Required:



<a id="nestedatt--cluster_architecture"></a>
### Nested Schema for `cluster_architecture`
<a id="nestedatt--pg_config"></a>
### Nested Schema for `pg_config`

Read-Only:
Required:

- `id` (String) Cluster architecture ID.
- `name` (String) Name.
- `nodes` (Number) Node count.
- `name` (String) GUC name.
- `value` (String) GUC value.


<a id="nestedatt--maintenance_window"></a>
### Nested Schema for `maintenance_window`
<a id="nestedblock--timeouts"></a>
### Nested Schema for `timeouts`

Optional:

- `create` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- `delete` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- `update` (String) A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).


<a id="nestedatt--transparent_data_encryption"></a>
### Nested Schema for `transparent_data_encryption`

Read-Only:

- `is_enabled` (Boolean) Is maintenance window enabled.
- `start_day` (Number) The day of week, 0 represents Sunday, 1 is Monday, and so on.
- `start_time` (String) Start time. "hh:mm", for example: "23:59".
- `key_id` (String) Transparent Data Encryption (TDE) key ID.
- `key_name` (String) Key name.
- `status` (String) Status.


<a id="nestedatt--pg_config"></a>
### Nested Schema for `pg_config`
<a id="nestedatt--cluster_architecture"></a>
### Nested Schema for `cluster_architecture`

Required:

- `id` (String) Cluster architecture ID. For example, "single" or "ha".For Extreme High Availability clusters, please use the [biganimal_pgd](https://registry.terraform.io/providers/EnterpriseDB/biganimal/latest/docs/resources/pgd) resource.
- `nodes` (Number) Node count.

Read-Only:

- `name` (String) GUC name.
- `value` (String) GUC value.
- `name` (String) Name.


<a id="nestedatt--storage"></a>
### Nested Schema for `storage`

Read-Only:
Required:

- `size` (String) Size of the volume. It can be set to different values depending on your volume type and properties.
- `volume_properties` (String) Volume properties in accordance with the selected volume type.
- `volume_type` (String) Volume type. For Azure: "azurepremiumstorage" or "ultradisk". For AWS: "gp3", "io2", org s "io2-block-express". For Google Cloud: only "pd-ssd".

Optional:

- `iops` (String) IOPS for the selected volume.
- `size` (String) Size of the volume.
- `throughput` (String) Throughput.
- `volume_properties` (String) Volume properties.
- `volume_type` (String) Volume type.
- `iops` (String) IOPS for the selected volume. It can be set to different values depending on your volume type and properties.
- `throughput` (String) Throughput is automatically calculated by BigAnimal based on the IOPS input if it's not provided.
Loading

0 comments on commit 9191806

Please sign in to comment.