{"id":21526352,"url":"https://github.com/netapp/terraform-provider-netapp-gcp","last_synced_at":"2026-02-28T09:32:08.143Z","repository":{"id":39788344,"uuid":"245176397","full_name":"NetApp/terraform-provider-netapp-gcp","owner":"NetApp","description":"Support for Volume, Snapshot, and Active Directory resources.","archived":false,"fork":false,"pushed_at":"2024-06-06T20:59:22.000Z","size":710,"stargazers_count":10,"open_issues_count":10,"forks_count":16,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-24T01:23:16.625Z","etag":null,"topics":["netapp-public","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":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NetApp.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":"2020-03-05T13:54:29.000Z","updated_at":"2024-08-13T10:44:41.000Z","dependencies_parsed_at":"2023-02-15T12:31:32.012Z","dependency_job_id":"c467b031-ebfe-487e-99aa-5dffba36ba07","html_url":"https://github.com/NetApp/terraform-provider-netapp-gcp","commit_stats":{"total_commits":152,"total_committers":8,"mean_commits":19.0,"dds":"0.42105263157894735","last_synced_commit":"44143d1e45f3c389fa23d8bf4249b863c705d437"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-gcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-gcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-gcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-gcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetApp","download_url":"https://codeload.github.com/NetApp/terraform-provider-netapp-gcp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248130014,"owners_count":21052681,"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":["netapp-public","terraform","terraform-provider"],"created_at":"2024-11-24T01:44:41.585Z","updated_at":"2026-02-28T09:32:08.077Z","avatar_url":"https://github.com/NetApp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Provider for NetApp Cloud Volumes Service for Google Cloud\n\nThis is the repository for the Terraform Provider for NetApp Cloud Volumes Service (CVS) for Google Cloud.  The Provider can be used\nwith Terraform to work with Cloud Volumes Service for Google Cloud resources.\n\nFor general information about Terraform, visit the [official\nwebsite][tf-website] and the [GitHub project page][tf-github].\n\n[tf-website]: https://terraform.io/\n[tf-github]: https://github.com/hashicorp/terraform\n\nThe provider plugin was developed by NetApp.\n\n# Naming Conventions\n\nThe APIs for NetApp Cloud Volumes Service for Google Cloud do not require resource names to be unique.  They are considered\nas 'labels' and resources are uniquely identified by 'ids'.  However these ids are not\nuser friendly, and as they are generated on the fly, they make it difficult to track\nresources and automate.\n\nThis provider assumes that resource names are unique, and enforces it within its scope.\nThis is not an issue if everything is managed through Terraform, but could raise\nconflicts if the rule is not respected outside of Terraform.\n\nFor the snapshot resource, you can also use the volume creation token (with or without\nthe volume name) to ensure uniqueness.\n\n# Using the Provider\n\nThe current version of this provider requires Terraform 0.12 or higher to\nrun.   Though we recommend 0.13 or better.\n\nFor version 0.12, you will need to build the provider before being able to use it\n(see [the section below](#building-the-provider)).\n\nFor version 0.13 and above, you can either build your provider, or use the verified provider in\nTerraform registery. If you don't need to customize our provider, using 0.13 is highly recommended.\nPlease see Terraform website for more information:\nhttps://registry.terraform.io/providers/NetApp/netapp-gcp/latest\n\nIf you are using 0.12 and would like to upgrade to 0.13, please see Terraform website for details:\nhttps://www.terraform.io/upgrade-guides/0-13.html\n\nNote that you need to run `terraform init` to fetch the provider before\ndeploying.\n\n## Provider Documentation\n\nThe documentation is available at: https://registry.terraform.io/providers/NetApp/netapp-gcp/latest/docs\n\nThe provider is also documented [here][tf-netapp-gcp-docs].\n\nCheck the provider documentation for details on\nentering your connection information and how to get started with writing\nconfiguration for NetApp GCP resources.\n\n[tf-netapp-gcp-docs]: website/docs/index.html.markdown\n\n### Controlling the provider version\n\nNote that you can also control the provider version. This is controlled by a\n`required_provider` block in your Terraform configuration.\n\nThe syntax is as follows:\n\n```hcl\nterraform {\n  required_providers {\n    netapp-gcp = {\n      source = \"NetApp/netapp-gcp\"\n      version = \"20.10.0\"\n    }\n  }\n}\n```\n\n[Read more][provider-vc] on provider version control.\n\n[provider-vc]: https://www.terraform.io/docs/configuration/provider-requirements.html#requiring-providers\n\n# Building The Provider\n\n## Prerequisites\n\nIf you wish to work on the provider, you'll first need [Go][go-website]\ninstalled on your machine (version 1.11+ is **required**). You'll also need to\ncorrectly setup a [GOPATH][gopath], as well as adding `$GOPATH/bin` to your\n`$PATH`.\n\n[go-website]: https://golang.org/\n[gopath]: http://golang.org/doc/code.html#GOPATH\n\nThe following go packages are required to build the provider:\n```\n\tgithub.com/fatih/structs v1.1.0\n\tgithub.com/hashicorp/terraform v0.12.28\n\tgithub.com/sirupsen/logrus v1.6.0\n\tgolang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d\n\tgolang.org/x/sys v0.0.0-20191026070338-33540a1f6037 // indirect\n```\n\nCheck go.mod for the latest list.\n\n## Cloning the Project\n\nFirst, you will want to clone the repository to\n`$GOPATH/terraform-provider-netapp-gcp`:\n\n```sh\nmkdir -p $GOPATH\ncd $GOPATH\ngit clone https://github.com/NetApp/terraform-provider-netapp-gcp.git\n```\n\n## Running the Build\n\nNote: check go.mod and make necessary updates to use TF 0.13 for instance.\n\nAfter the clone operation is complete, you can enter the provider directory and\nbuild the provider.\n\n```sh\ncd $GOPATH/terraform-provider-netapp-gcp\nmake build\n```\nNote: go install will move the binary to $GOPATH/bin\n\n## Installing the Local Plugin\n\nWith Terraform 0.13 or newer, see the [sanity check](#sanity-check) section under **Walkthrough example**.\n\nWith earlier versions of Terraform, after\nthe build is complete, copy the `terraform-provider-netapp-gcp` binary into\nthe same path as your `terraform` binary, and run `terraform init`.\n\nAfter this, your project-local `.terraform/plugins/ARCH/lock.json` (where `ARCH`\nmatches the architecture of your machine) file should contain a SHA256 sum that\nmatches the local plugin. Run `shasum -a 256` on the binary to verify the values\nmatch.\n\n# Developing the Provider\n\n**NOTE:** Before you start work on a feature, please make sure to check the\n[issue tracker][gh-issues] and existing [pull requests][gh-prs] to ensure that\nwork is not being duplicated. For further clarification, you can also ask in a\nnew issue.\n\n[gh-issues]: https://github.com/netapp/terraform-provider-netapp-gcp/issues\n[gh-prs]: https://github.com/netapp/terraform-provider-netapp-gcp/pulls\n\nSee [Building the Provider](#building-the-provider) for details on building the provider.\n\n# Testing the Provider\n\n**NOTE:** Testing the provider for NetApp Cloud Volumes Service for Google Cloud is currently a complex operation as it\nrequires having a NetApp CVS subscription in GCP to test against.\nYou can then use a .json file to expose your credentials.\n\n## Configuring Environment Variables\n\nMost of the tests in this provider require a comprehensive list of environment\nvariables to run. See the individual `*_test.go` files in the\n[`gcp/`](netapp_gcp/) directory for more details. The next section also\ndescribes how you can manage a configuration file of the test environment\nvariables.\n\n### Using the `.tf-netapp-gcp-devrc.mk` file\n\nThe [`tf-netapp-gcp-devrc.mk.example`](tf-netapp-gcp-devrc.mk.example) file contains\nan up-to-date list of environment variables required to run the acceptance\ntests. Copy this to `$HOME/.tf-netapp-gcp-devrc.mk` and change the permissions to\nsomething more secure (ie: `chmod 600 $HOME/.tf-netapp-gcp-devrc.mk`), and\nconfigure the variables accordingly.\n\n## Running the Acceptance Tests\n\nAfter this is done, you can run the acceptance tests by running:\n\n```sh\n$ make testacc\n```\n\nIf you want to run against a specific set of tests, run `make testacc` with the\n`TESTARGS` parameter containing the run mask as per below:\n\n```sh\nmake testacc TESTARGS=\"-run=TestAccNetAppGCPVolume\"\n```\n\nThis following example would run all of the acceptance tests matching\n`TestAccNetAppGCPSwVolume`. Change this for the specific tests you want to\nrun.\n\n\n# Walkthrough example\n\n### Installing go and terraform\n\n```\nbash\nmkdir tf_na_gcp_cvs\ncd tf_na_gcp_cvs\n\n# if you want a private installation, use\nexport GO_INSTALL_DIR=`pwd`/go_install\nmkdir $GO_INSTALL_DIR\n# otherwise, go recommends to use\nexport GO_INSTALL_DIR=/usr/local\n\n\ncurl -O https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz\ntar -C $GO_INSTALL_DIR -xvf go1.14.1.linux-amd64.tar.gz\n\nexport PATH=$PATH:$GO_INSTALL_DIR/go/bin\n```\n\n#### Installing Terraform 0.12 \n```\ncurl -O https://releases.hashicorp.com/terraform/0.12.24/terraform_0.12.24_linux_amd64.zip\nunzip terraform_0.12.24_linux_amd64.zip\nmv terraform $GO_INSTALL_DIR/go/bin\n```\n\nNote: for mac, subtitute linux_amd64 with darwin_amd64.\n\n#### Installing Terraform 0.13 \n```\ncurl -O https://releases.hashicorp.com/terraform/0.13.4/terraform_0.13.4_linux_amd64.zip\nunzip terraform_0.13.4_linux_amd64.zip\nmv terraform $GO_INSTALL_DIR/go/bin\n```\n\n### Installing dependencies\n\nWe're using go.mod to manage dependencies, so there is not much to do.\n```\n# make sure git is installed\nwhich git\n\nexport GOPATH=`pwd`\n```\n\n### Cloning the NetApp provider repository and building the provider\n\n\n```\ngit clone https://github.com/NetApp/terraform-provider-netapp-gcp.git\ncd terraform-provider-netapp-gcp\nmake build\nmv $GOPATH/bin/terraform-provider-netapp-gcp $GO_INSTALL_DIR/go/bin\n```\n\nThe build step will install the provider in the $GOPATH/bin directory.\n\n### Sanity check\n\n#### Sanity check with TF 0.12\n\n```\nmv $GOPATH/bin/terraform-provider-netapp-gcp $GO_INSTALL_DIR/go/bin\ncd examples/gcp/local_012\nterraform init\n```\n\nShould do nothing but indicate that `Terraform has been successfully initialized!`\n\n#### Sanity check with TF 0.13\n\n0.13 is using registry by default, so it is a bit more involved to use a local build.\n\n##### Local installation - linux\n\n```\nmkdir -p /tmp/terraform/netapp.com/netapp/netapp-gcp/20.10.0/linux_amd64\ncp $GOPATH/bin/terraform-provider-netapp-gcp /tmp/terraform/netapp.com/netapp/netapp-gcp/20.10.0/linux_amd64\n```\n\n##### Local installation - mac\n\n```\nmkdir -p ~/.terraform.d/plugins/netapp.com/netapp/netapp-gcp/20.10.0/darwin_amd64\ncp $GOPATH/bin/terraform-provider-netapp-gcp ~/.terraform.d/plugins/netapp.com/netapp/netapp-gcp/20.10.0/darwin_amd64\n```\n\n##### Check the provider can be loaded\n```\ncd examples/gcp/local\nexport TF_CLI_CONFIG_FILE=`pwd`/terraform.rc\nterraform init\n```\n\nShould do nothing but indicate that `Terraform has been successfully initialized!`\n\n#### Debugging\n\n```\nexport TF_LOG=TRACE\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fterraform-provider-netapp-gcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetapp%2Fterraform-provider-netapp-gcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fterraform-provider-netapp-gcp/lists"}