{"id":20397094,"url":"https://github.com/elasticpath/terraform-provider-epcc","last_synced_at":"2026-05-10T18:04:31.779Z","repository":{"id":38334259,"uuid":"366396656","full_name":"elasticpath/terraform-provider-epcc","owner":"elasticpath","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-11T19:36:41.000Z","size":5544,"stargazers_count":0,"open_issues_count":29,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-15T11:12:17.947Z","etag":null,"topics":["elastic-path","elastic-path-commerce-cloud","terraform","terraform-provider"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elasticpath.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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}},"created_at":"2021-05-11T13:45:17.000Z","updated_at":"2023-03-20T15:32:14.000Z","dependencies_parsed_at":"2024-06-21T08:43:36.916Z","dependency_job_id":"e79241f9-f251-43d6-a53a-b28f879d8f96","html_url":"https://github.com/elasticpath/terraform-provider-epcc","commit_stats":{"total_commits":155,"total_committers":25,"mean_commits":6.2,"dds":0.7870967741935484,"last_synced_commit":"671d5b60dc1f9be5b3b3c4370ed26512a0a295fc"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticpath%2Fterraform-provider-epcc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticpath%2Fterraform-provider-epcc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticpath%2Fterraform-provider-epcc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticpath%2Fterraform-provider-epcc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elasticpath","download_url":"https://codeload.github.com/elasticpath/terraform-provider-epcc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241945526,"owners_count":20046869,"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","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":["elastic-path","elastic-path-commerce-cloud","terraform","terraform-provider"],"created_at":"2024-11-15T04:11:44.778Z","updated_at":"2026-05-10T18:04:31.684Z","avatar_url":"https://github.com/elasticpath.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elastic Path Commerce Cloud Terraform Provider\n\nThis repository contains a [Terraform](https://www.terraform.io) provider for the [Elastic Path Commerce Cloud API](https://documentation.elasticpath.com/commerce-cloud/docs/api/).\n\nThis project was based upon the [Terraform Provider Scaffolding Project](https://github.com/hashicorp/terraform-provider-scaffolding)\n\n## Requirements\n\n- [Terraform](https://www.terraform.io/downloads.html) \u003e= 0.15.x\n- [Go](https://golang.org/doc/install) \u003e= 1.15\n\n## Building The Provider\n\n1. Clone the repository\n1. Enter the repository directory\n1. Build the provider using the Go `install` command:\n\n```sh\n$ go install\n```\n\n## Environment Variables\n\nThe following environment variables are defined in the EPCC Terraform Provider.\n\n| Name                     | Default          | Description                                                                                                                                        |\n|--------------------------|------------------| ------------ |\n| `EPCC_API_BASE_URL`      | -                | The Base URL of the EPCC API                                          |\n| `EPCC_BETA_API_FEATURES` | -                | The value of the `EP-Beta-Features` header being sent to the EPCC API |\n| `EPCC_CLIENT_ID`         | -                | Client ID used for authenticating to the EPCC API                     |\n| `EPCC_CLIENT_SECRET`     | -                | Client Secret used for authenticating to the EPCC API                 |\n| `EPCC_RATE_LIMIT`        | 25               | A limit on the number of requests that can be made per second to EPCC |\n| `EPCC_LOG_DIR`           | (work directory) | The directory of the http log files                                   |\n\n## Adding Dependencies\n\nThis provider uses [Go modules](https://github.com/golang/go/wiki/Modules). Please see the Go documentation for the most up to date information about using Go\nmodules.\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\n## Project Layout\n\nThis project follows the terraform provider template: [GitHub template repository documentation](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template)\n\n| Directory         | Description                                                                                    |\n|-------------------|------------------------------------------------------------------------------------------------|\n| `docs/`            | Folder that contains documentation                                                            |\n| `examples/`        | Directory for sample resources and data sources                                               |\n| `component-tests/` | Component tests for the service are located in here.                                          |\n| `external/`        | Any Go package that can be shared with other projects                                         |\n| `internal/`        | Application specific Go packages, e.g., they cannot be shared and are specific to this service|\n\n## Using the provider\n\nYou would use the epcc-terraform-provider just as any other terraform provider. See the `./examples` directory for sample resources and data sources.\n\nSee the [Core Terraform Workflow] (https://www.terraform.io/guides/core-workflow.html) page for more info on using Terraform.\n\n## Useful commands\n\n| Command         | Description                                                                                   |\n| ----------------| ----------------------------------------------------------------------------------------------|\n| go install      | Compile the provider. This will build the provider and put the provider binary in the `$GOPATH/bin` directory.|\n| go generate     | Generate or update documentation                                                                       |\n| make testacc    | Runs the full suite of Acceptance tests                                             |\n\n## Debugging the Provider\n\n1. Run `make build`\n\n2. Run the following command (assuming you've installed delve)\n\n```bash\ndlv exec --accept-multiclient --continue --headless ./bin/terraform-provider-epcc --listen=:41837 -- -debug\n```\n\n3. Connect with your Debugger\n\n4. Find the line `TF_REATTACH_PROVIDERS` in the output\n\n5. When running terraform prefix the above to the command, for example:\n\n```\nTF_REATTACH_PROVIDERS='...' terraform apply\n```\n\n## Code Style\n\nPlease run `gofmt` prior to committing, the following [pre-commit hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) (create and mark executable\nin `.git/hooks/pre-commit`) can do this automatically for you\n\n```bash\n#!/bin/bash\n\necho \"Running commit hook\"\n\necho \"Fixing changed files\"\ngit diff --cached --name-only --diff-filter=ACM | grep -E \"\\.go$\" | xargs -n 1 -d \"\\n\" gofmt -s -w\n\ngit diff --cached --name-only --diff-filter=ACM | grep -E \"\\.go$\" | xargs git add \n\necho \"Inspecting all other files\"\n\nif [ \"$(gofmt -s -l . | wc -l)\" -gt 0 ]; then\n  echo \"Code style differences detected:\"\n  gofmt -s -l .\n  exit 1\nfi\n```\n\n[Debugging Providers](https://www.terraform.io/docs/extend/debugging.html#starting-a-provider-in-debug-mode)\n\n### Useful Links\n\n1. [AWS SDK for Go](https://github.com/aws/aws-sdk-go-v2)\n2. [Extending Terraform](https://www.terraform.io/docs/extend/index.html)\n3. [AWS Terraform Provider](https://github.com/hashicorp/terraform-provider-aws)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felasticpath%2Fterraform-provider-epcc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felasticpath%2Fterraform-provider-epcc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felasticpath%2Fterraform-provider-epcc/lists"}