Skip to content

Commit

Permalink
More detail on latest backup import (#510)
Browse files Browse the repository at this point in the history
* Added extra details to latest_backup_status and latest_import_status

* Documentation

* Changelog
  • Loading branch information
JohnSharpe committed May 22, 2024
1 parent 098ace0 commit 2ec2e61
Show file tree
Hide file tree
Showing 22 changed files with 810 additions and 145 deletions.
101 changes: 76 additions & 25 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,42 @@
# Changelog

All notable changes to this project will be documented in this file.
See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/)

## 1.7.0 (29th April 2024)

### Changed

- Deprecated datasources: `rediscloud_subscription`, `rediscloud_database`
- Deprecated
resources: `rediscloud_subscription`, `rediscloud_subscription_database`, `rediscloud_active_active_subscription_database`

### Added

- To replace the deprecated datasources: `rediscloud_flexible_subscription`, `rediscloud_flexible_database`
- To replace the deprecated
resources: `rediscloud_flexible_subscription`, `rediscloud_flexible_database`, `rediscloud_active_active_database`
- Datasources for Active Active features: `rediscloud_active_active_subscription`, `rediscloud_active_active_database`
- Datasources for Essentials
features: `rediscloud_essentials_plan`, `rediscloud_essentials_subscription`, `rediscloud_essentials_database`
- Resources for Essentials features: `rediscloud_essentials_subscription`, `rediscloud_essentials_database`
- `modules`/`global_modules` can be specified on Active Active Subscription/Database resources, enabling `RedisJSON`
- All Subscription resources include the `pricing` attribute
- All Database resources include `latest_backup_status` and `latest_import_status` attributes as appropriate

## 1.6.0 (12 April 2024)

### Fixed

- using the `rediscloud_database` datasource no longer crashes when pointed to an ActiveActive database but offers
limited data. A specific datasource type will be coming soon.
limited data. A specific datasource type will be coming soon.

### Changed

- A subscription's `payment_method` can no longer be updated. It is ignored after resource creation (as with `creation_plan`).
This means if it has been changed behind the scenes, reapplying the same Terraform configuration should not change anything.
- A subscription's `payment_method` can no longer be updated. It is ignored after resource creation (as
with `creation_plan`).
This means if it has been changed behind the scenes, reapplying the same Terraform configuration should not change
anything.

## 1.5.0 (24 November 2023)

Expand Down Expand Up @@ -41,90 +65,107 @@ This means if it has been changed behind the scenes, reapplying the same Terrafo
### Removed

- The `REDISCLOUD_SUBSCRIPTION_TIMEOUT` environment variable is gone. Subscription creation times out after the user's
setting (or 30 minutes by default). Note there is a 6-hour cap, regardless of the user's setting.
setting (or 30 minutes by default). Note there is a 6-hour cap, regardless of the user's setting.

## 1.3.2 (9 October 2023)

### Added

- Added a new environment variable `REDISCLOUD_SUBSCRIPTION_TIMEOUT` to allow
configuring timeouts for subscriptions at the provider level.
This is a **TEMPORARY** solution and will be deleted in the next releases.
configuring timeouts for subscriptions at the provider level.
This is a **TEMPORARY** solution and will be deleted in the next releases.

## 1.3.1 (10 August 2023)

### Fixed

- Documentation fixes

## 1.3.0 (7 August 2023)

### Added

- Added ACL resources and data sources (users, roles, rules)

## 1.2.0 (9 June 2023)

### Added

- Add support for using a custom port number in normal or active/active databases
- Add support for configuring backups for normal or active/active databases
- Add support for peering normal or active/active subscriptions with AWS VPCs that use multiple CIDR ranges

### Fixed

- Documentation fixes
- Make CI runs stream test output rather than batching it up at the end

### Changed

- `rediscloud_subscription.preferred_availability_zones` changed to optional
- `rediscloud_subscription.modules` changed to optional
- `rediscloud_subscription_database.protocol` changed to default to `redis`
- Mark `rediscloud_subscription_database.periodic_backup_path` as deprecated - use `remote_backup` instead.
- Emit a warning if `average_item_size_in_bytes` has been specified when `memory_storage` is set to `ram` as this attribute is only applicable with `ram-and-flash` storage.
- Emit a warning if `average_item_size_in_bytes` has been specified when `memory_storage` is set to `ram` as this
attribute is only applicable with `ram-and-flash` storage.

## 1.1.1 (6 March 2023)

### Fixed

- Documentation fixes

## 1.1.0 (6 March 2023)

### Added

- Added support for active/active databases

### Fixed

- Documentation fixes

## 1.0.3 (1 February 2023)

### Fixed

- Documentation fixes

## 1.0.2 (16 January 2023)

### Fixed

- Documentation fixes

## 1.0.1 (12 September 2022)

### Changed
- Changed the `average_item_size_in_bytes` attribute of the creation_plan block to send a “null” value to the API if omitted.

- Changed the `average_item_size_in_bytes` attribute of the creation_plan block to send a “null” value to the API if
omitted.

### Fixed
- Various documentation fixes
- Fixed an issue where the `source_ips` and `enable_tls` attributes were not being provisioned correctly on the `rediscloud_subscription_database` resource

- Various documentation fixes
- Fixed an issue where the `source_ips` and `enable_tls` attributes were not being provisioned correctly on
the `rediscloud_subscription_database` resource

## 1.0.0 (30 August 2022)

### Added

- Added the creation_plan block in the subscription resource schema.
- Added a new resource type: `rediscloud_subscription_database`.
- Added the migration guide to help users with migrating their old Terraform configuration files to v1.0.0.
- Multi-modules: Added the "modules" attribute into the creation_plan block
and the database resource schema
- Multi-modules: Added the "modules" attribute into the creation_plan block
and the database resource schema

### Changed

- Updates to dependencies and CI related actions

### Removed

- Removed the database block from the subscription resource schema.

## 0.3.0 (May 24 2022)
Expand All @@ -136,7 +177,7 @@ and the database resource schema

### Removed

- Removed a deprecated attribute: persistent_storage_encryption
- Removed a deprecated attribute: persistent_storage_encryption

### Changed

Expand Down Expand Up @@ -184,21 +225,25 @@ and the database resource schema

### Fixed

- Redis Cloud subscription update is failing due to missing payment method id [#149](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/149)
- Redis Cloud subscription update is failing due to missing payment method
id [#149](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/149)
- Wrong syntax in example. [#153](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/153)

## 0.2.4 (July 24, 2021)

### Changed

- Updates additional dependencies contributing to build, (includes tfproviderlint v0.27.1)
- Updates location of compiled provider as well as go and terraform versions [#129](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/129)
- Updates location of compiled provider as well as go and terraform
versions [#129](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/129)
- Updates Terraform Plugin SDK to v2.7.0
- Updates the subscription timeout value for update function to 30 minutes [#133](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/133)
- Updates the subscription timeout value for update function to 30
minutes [#133](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/133)

### Fixed

- Fixed parsing of log-levels by removing date/time prefix [#132](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/132)
- Fixed parsing of log-levels by removing date/time
prefix [#132](https://github.com/RedisLabs/terraform-provider-rediscloud/pull/132)

## 0.2.3 (June 22, 2021)

Expand All @@ -208,7 +253,8 @@ and the database resource schema

### Fixed

- replicaOf setting cannot be disabled from terraform [#121](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/121)
- replicaOf setting cannot be disabled from
terraform [#121](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/121)

## 0.2.2 (April 27, 2021)

Expand All @@ -219,9 +265,13 @@ and the database resource schema
- Updates additional dependencies contributing to build

### Fixed
- Terraform wants to replace fresh imported peering [#102](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/102)
- Need validation for length of the database name [#99](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/99)
- Modules not included when creating DB on existing subscription in GCP [#98](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/98)

- Terraform wants to replace fresh imported
peering [#102](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/102)
- Need validation for length of the database
name [#99](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/99)
- Modules not included when creating DB on existing subscription in
GCP [#98](https://github.com/RedisLabs/terraform-provider-rediscloud/issues/98)

## 0.2.1 (December 7, 2020)

Expand All @@ -242,9 +292,11 @@ and the database resource schema

- Website documentation and HCL examples to correct spelling and update content
- Changelog to record released content
- `network_deployment_cidr` is now required and to resolve issues with plan convergence after a successful Terraform apply
- `network_deployment_cidr` and `networking_vpc_id` were excluded from the hash calculation as
- `networks` added to the `region` block in subscription resource and data source to allow reading all different CIDR and subnets in Multi-AZ subscription
- `network_deployment_cidr` is now required and to resolve issues with plan convergence after a successful Terraform
apply
- `network_deployment_cidr` and `networking_vpc_id` were excluded from the hash calculation as
- `networks` added to the `region` block in subscription resource and data source to allow reading all different CIDR
and subnets in Multi-AZ subscription
- Fixed issues when creating a subscription without a payment method

### Removed
Expand All @@ -257,7 +309,6 @@ and the database resource schema

- Released through `registry.terraform.io` RedisLabs/rediscloud


## 0.1.0 (November 24, 2020)

### Added
Expand Down
20 changes: 19 additions & 1 deletion docs/data-sources/rediscloud_active_active_database.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,22 @@ data "rediscloud_active_active_database" "example" {
* `global_modules` - A list of modules to be enabled on all deployments of this database.
* `public_endpoint` - Public endpoint to access the database.
* `private_endpoint` - Private endpoint to access the database.
* `latest_import_status` - An object containing the JSON-formatted response detailing the latest import status (or an error if the lookup failed).
* `latest_import_status` - A latest_import_status object, documented below.

The `latest_import_status` block contains:

* `error` - An error block, in case this lookup failed, documented below.
* `response` - A detail block, documented below.

The `error` block in `latest_import_status` contains:

* `type` - The type of error encountered while looking up the status of the last import.
* `description` - A description of the error encountered while looking up the status of the last import.
* `status` - Any particular HTTP status code associated with the erroneous status check.

The `response` block `latest_import_status` contains:

* `status` - The status of the last import operation.
* `last_import_time` - When the last import operation occurred.
* `failure_reason` - If a failure, why the import operation failed.
* `failure_reason_params` - Parameters of the failure, if appropriate, in the form of a list of objects each with a `key` entry and a `value` entry.
28 changes: 26 additions & 2 deletions docs/data-sources/rediscloud_essentials_database.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ data "rediscloud_essentials_database" "example" {
* `enable_default_user` - When `true` enables connecting to the database with the default user.
* `alert` - Set of alerts to enable on the database, documented below.
* `modules` A list of database modules, documented below.
* `latest_backup_status` - An object containing the JSON-formatted response detailing the latest backup status (or an error if the lookup failed).
* `latest_import_status` - An object containing the JSON-formatted response detailing the latest import status (or an error if the lookup failed).
* `latest_backup_status` - A latest_backup_status object, documented below.
* `latest_import_status` - A latest_import_status object, documented below.

The `replica` block supports:

Expand All @@ -77,3 +77,27 @@ The `alert` block supports:
Each `modules` entry provides the following attributes:

* `name` - The identifier assigned by the database module.

The `latest_backup_status` and `latest_import_status` blocks contain:

* `error` - An error block, in case this lookup failed, documented below.
* `response` - A detail block, documented below.

The `error` block in both `latest_backup_status` and `latest_import_status` contains:

* `type` - The type of error encountered while looking up the status of the last backup/import.
* `description` - A description of the error encountered while looking up the status of the last backup/import.
* `status` - Any particular HTTP status code associated with the erroneous status check.

The `response` block `latest_backup_status` contains:

* `status` - The status of the last backup operation.
* `last_backup_time` - When the last backup operation occurred.
* `failure_reason` - If a failure, why the backup operation failed.

The `response` block `latest_import_status` contains:

* `status` - The status of the last import operation.
* `last_import_time` - When the last import operation occurred.
* `failure_reason` - If a failure, why the import operation failed.
* `failure_reason_params` - Parameters of the failure, if appropriate, in the form of a list of objects each with a `key` entry and a `value` entry.
28 changes: 26 additions & 2 deletions docs/data-sources/rediscloud_flexible_database.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,34 @@ data "rediscloud_flexible_database" "example" {
* `private_endpoint` - Private endpoint to access the database
* `enable_tls` - Enable TLS for database, default is `false`
* `enable_default_user` - When `true` enables connecting to the database with the default user. Default `true`.
* `latest_backup_status` - An object containing the JSON-formatted response detailing the latest backup status (or an error if the lookup failed).
* `latest_import_status` - An object containing the JSON-formatted response detailing the latest import status (or an error if the lookup failed).
* `latest_backup_status` - A latest_backup_status object, documented below.
* `latest_import_status` - A latest_import_status object, documented below.

The `alert` block supports:

* `name` - The alert name
* `value` - The alert value

The `latest_backup_status` and `latest_import_status` blocks contain:

* `error` - An error block, in case this lookup failed, documented below.
* `response` - A detail block, documented below.

The `error` block in both `latest_backup_status` and `latest_import_status` contains:

* `type` - The type of error encountered while looking up the status of the last backup/import.
* `description` - A description of the error encountered while looking up the status of the last backup/import.
* `status` - Any particular HTTP status code associated with the erroneous status check.

The `response` block `latest_backup_status` contains:

* `status` - The status of the last backup operation.
* `last_backup_time` - When the last backup operation occurred.
* `failure_reason` - If a failure, why the backup operation failed.

The `response` block `latest_import_status` contains:

* `status` - The status of the last import operation.
* `last_import_time` - When the last import operation occurred.
* `failure_reason` - If a failure, why the import operation failed.
* `failure_reason_params` - Parameters of the failure, if appropriate, in the form of a list of objects each with a `key` entry and a `value` entry.
20 changes: 19 additions & 1 deletion docs/resources/rediscloud_active_active_database.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,25 @@ The `timeouts` block allows you to specify [timeouts](https://www.terraform.io/l
* `db_id` - Identifier of the database created
* `public_endpoint` - A map of which public endpoints can to access the database per region, uses region name as key.
* `private_endpoint` - A map of which private endpoints can to access the database per region, uses region name as key.
* `latest_import_status` - An object containing the JSON-formatted response detailing the latest import status (or an error if the lookup failed).
* `latest_import_status` - A latest_import_status object, documented below.

The `latest_import_status` block contains:

* `error` - An error block, in case this lookup failed, documented below.
* `response` - A detail block, documented below.

The `error` block in `latest_import_status` contains:

* `type` - The type of error encountered while looking up the status of the last import.
* `description` - A description of the error encountered while looking up the status of the last import.
* `status` - Any particular HTTP status code associated with the erroneous status check.

The `response` block `latest_import_status` contains:

* `status` - The status of the last import operation.
* `last_import_time` - When the last import operation occurred.
* `failure_reason` - If a failure, why the import operation failed.
* `failure_reason_params` - Parameters of the failure, if appropriate, in the form of a list of objects each with a `key` entry and a `value` entry.

## Import
`rediscloud_active_active_database` can be imported using the ID of the Active-Active subscription and the ID of the database in the format {subscription ID}/{database ID}, e.g.
Expand Down

0 comments on commit 2ec2e61

Please sign in to comment.