{"id":15041256,"url":"https://github.com/redislabs/terraform-provider-rediscloud","last_synced_at":"2026-01-29T12:18:37.274Z","repository":{"id":38257539,"uuid":"308013981","full_name":"RedisLabs/terraform-provider-rediscloud","owner":"RedisLabs","description":"Terraform Redis Cloud Provider: Deploy, update, and manage Redis Cloud databases as code through HashiCorp Terraform","archived":false,"fork":false,"pushed_at":"2025-07-19T16:10:21.000Z","size":7388,"stargazers_count":34,"open_issues_count":12,"forks_count":21,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-07-19T20:03:06.249Z","etag":null,"topics":["databases","redis","redis-enterprise-cloud","terraform","terraform-provider","terraform-provider-rediscloud"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/providers/RedisLabs/rediscloud/latest","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RedisLabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-10-28T12:47:19.000Z","updated_at":"2025-07-01T19:05:10.000Z","dependencies_parsed_at":"2023-10-24T15:31:11.583Z","dependency_job_id":"cc8f1ec4-a9b9-4dea-8716-a798110c5093","html_url":"https://github.com/RedisLabs/terraform-provider-rediscloud","commit_stats":{"total_commits":329,"total_committers":24,"mean_commits":"13.708333333333334","dds":0.8115501519756839,"last_synced_commit":"6a4f34a626e9e65ec30b99a03b22242874ffdc23"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/RedisLabs/terraform-provider-rediscloud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fterraform-provider-rediscloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fterraform-provider-rediscloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fterraform-provider-rediscloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fterraform-provider-rediscloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RedisLabs","download_url":"https://codeload.github.com/RedisLabs/terraform-provider-rediscloud/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RedisLabs%2Fterraform-provider-rediscloud/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266572363,"owners_count":23950007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["databases","redis","redis-enterprise-cloud","terraform","terraform-provider","terraform-provider-rediscloud"],"created_at":"2024-09-24T20:45:49.270Z","updated_at":"2026-01-29T12:18:37.214Z","avatar_url":"https://github.com/RedisLabs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Terraform Provider Redis Cloud\n==================\n\nThe Redis Enterprise Cloud Terraform provider is a plugin for Terraform that allows Redis Enterprise Cloud customers to manage the full \nlifecycle of their subscriptions and related Redis databases.\n\nRequirements\n------------\n\n-\t[Terraform](https://www.terraform.io/downloads.html) \u003e= 1.x\n-\t[Go](https://golang.org/doc/install) \u003e= 1.19\n\nQuick Starts\n------------\n\n- [Using the provider](https://registry.terraform.io/providers/RedisLabs/rediscloud/latest/docs)\n\nTo use the Redis Enterprise Cloud Terraform provider you will need to set the following environment variables, \nand these are created through the Redis Enterprise Cloud console under the settings menu.\n\n- `REDISCLOUD_ACCESS_KEY` - Account Cloud API Access Key\n- `REDISCLOUD_SECRET_KEY` - Individual user Cloud API Secret Key\n\n\nDeveloping the Provider\n-----------------------\n\nIf you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (see [Requirements](#requirements) above).\nYou will also need to create or have access to a [Redis Cloud Enterprise](https://redislabs.com/redis-enterprise-cloud/overview) account.\n\nBuilding the Provider\n---------------------\n\n1. Clone the repository\n2. Enter the repository directory\n3. Build the provider using the `make build` command: \n```sh\n$ make build\n```\n\nThe `make build` command will build a local provider binary into a `bin` directory at the root of the repository.\n\nInstalling the Provider\n-----------------------\n\nAfter the provider has been built locally it must be placed in the user plugins directory so it can be discovered by the \nTerraform CLI.  The default user plugins directory root is `~/.terraform.d/plugins`.  \n\nUse the following make command to install the provider locally.\n```sh\n$ make install_local\n```\n\nThe provider will now be installed in the following location ready to be used by Terraform\n```\n~/.terraform.d/plugins\n└── registry.terraform.io\n    └── RedisLabs\n        └── rediscloud\n            └── 99.99.99\n                └── \u003cOS\u003e_\u003cARCH\u003e\n                    └── terraform-provider-rediscloud_v99.99.99\n```\n\nThe provider binary is built using a version number of `99.99.99` and this will allow Terraform to use the locally \nbuilt provider over a released version.\n\nThe terraform provider is installed and can now be discovered by Terraform through the following HCL block.\n\n```hcl-terraform\nterraform {\n  required_providers {\n    rediscloud = {\n      source = \"RedisLabs/rediscloud\"\n    }\n  }\n  required_version = \"~\u003e 1.2\"\n}\n``` \n\nThe following is an example of using the `rediscloud_regions` data-source to discover a list of supported regions.  It can be \nused to verify that the provider is set up and installed correctly without incurring the cost of subscriptions and databases.\n\n```hcl-terraform\ndata \"rediscloud_regions\" \"example\" {\n}\n\noutput \"all_regions\" {\n  value = data.rediscloud_regions.example.regions\n}\n```\n\nTesting the Provider\n--------------------\n\nIn order to run the full suite of Acceptance tests, run `make testacc`.\n\n*Note:* Acceptance tests create real resources, and often cost money to run.\n\n```sh\n$ make testacc\n```\n\nIn order to run an individual acceptance test, the '-run' flag can be used together with a regular expression. \nThe following example uses a regular expression matching single test called 'TestAccResourceRedisCloudSubscription_createWithDatabase'.\n\n```sh\n$ make testacc TESTARGS='-run=TestAccResourceRedisCloudSubscription_createWithDatabase'\n```\n\nIn order to run the tests with extra debugging context, prefix the make command with TF_LOG (see the [terraform documentation](https://www.terraform.io/docs/internals/debugging.html) for details).\n```sh\n$ TF_LOG=trace make testacc\n```\n\nBy default, the tests run with a parallelism of 3. This can be reduced if some tests are failing due to network-related \nissues, or increased if possible, to reduce the running time of the tests. Prefix the make command with TEST_PARALLELISM, \nas in the following example, to configure this.\n```sh\n$ TEST_PARALLELISM=2 make testacc\n```\n\nA core set of Acceptance tests are executed through the build pipeline, (considered short tests).  \nFunctionality that requires additional setup or environment variables can be executed using the following flags.\n\n| Flag        | Description                                       |\n|-------------|---------------------------------------------------|\n| `-tls`      | Allows execution of TLS based acceptance tests    |\n| `-contract` | Allows execution of contract payment method tests |\n\nAdding Dependencies\n-------------------\n\nThis provider uses [Go modules](https://github.com/golang/go/wiki/Modules).\nPlease see the Go documentation for the most up-to-date information about using Go modules.\n\nTo add a new dependency `github.com/author/dependency` to your Terraform provider:\n\n```\ngo get github.com/author/dependency\ngo mod tidy\n```\n\nThen commit the changes to `go.mod` and `go.sum`.\n\nReleasing the Provider\n----------------------\n\nThe steps to release a provider are:\n1. Decide what the next version number will be. As this provider tries to follow [semantic versioning](https://semver.org/), the best strategy would be to look at the previous release number and decide whether the `MAJOR`, `MINOR` or `PATCH` version should be incremented.\n2. Create a new tag on your local copy of this Git repository in the format of `vMAJOR.MINOR.PATCH`, where `MAJOR.MINOR.PATCH` is the version number you settled on in the previous step.\n3. Push the tag from your local copy to GitHub. This will trigger the [release GitHub Action workflow](.github/workflows/release.yml) that will create the release for you.\n4. While you are waiting for GitHub to finish building the release, update the [CHANGELOG](./CHANGELOG.md) with what has been added, fixed and changed in this release.\n5. Once the release workflow has finished, the Terraform Registry will eventually spot the new version and update [the registry page](https://registry.terraform.io/providers/RedisLabs/rediscloud/latest) - this may take a few minutes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredislabs%2Fterraform-provider-rediscloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredislabs%2Fterraform-provider-rediscloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredislabs%2Fterraform-provider-rediscloud/lists"}