{"id":15546864,"url":"https://github.com/netapp/terraform-provider-netapp-cloudmanager","last_synced_at":"2025-08-21T08:31:18.797Z","repository":{"id":38797790,"uuid":"302105633","full_name":"NetApp/terraform-provider-netapp-cloudmanager","owner":"NetApp","description":"Terraform provider to create NetAPP OCCM instances, CVO resources, volumes, snapshots, ... in Azure, AWS, GCP.","archived":false,"fork":false,"pushed_at":"2025-08-18T20:26:19.000Z","size":816,"stargazers_count":19,"open_issues_count":14,"forks_count":29,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-08-18T22:12:46.219Z","etag":null,"topics":["aws","azure","cloudmanager","cvo","netapp","netapp-public","terraform"],"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,"zenodo":null}},"created_at":"2020-10-07T17:06:22.000Z","updated_at":"2025-08-18T20:26:23.000Z","dependencies_parsed_at":"2023-02-15T00:16:20.297Z","dependency_job_id":"7bc575cd-3a15-46a5-ba66-a4641a330abf","html_url":"https://github.com/NetApp/terraform-provider-netapp-cloudmanager","commit_stats":{"total_commits":231,"total_committers":6,"mean_commits":38.5,"dds":0.08225108225108224,"last_synced_commit":"aac40279e3d1710735a229ccf10d5c553106338b"},"previous_names":[],"tags_count":80,"template":false,"template_full_name":null,"purl":"pkg:github/NetApp/terraform-provider-netapp-cloudmanager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-cloudmanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-cloudmanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-cloudmanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-cloudmanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NetApp","download_url":"https://codeload.github.com/NetApp/terraform-provider-netapp-cloudmanager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NetApp%2Fterraform-provider-netapp-cloudmanager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271449170,"owners_count":24761618,"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-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["aws","azure","cloudmanager","cvo","netapp","netapp-public","terraform"],"created_at":"2024-10-02T13:05:06.871Z","updated_at":"2025-08-21T08:31:18.792Z","avatar_url":"https://github.com/NetApp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Provider for NetApp Cloud Volumes ONTAP for AWS, GCP and Azure\n\nThis is the repository for the Terraform Provider for NetApp Cloud Volumes ONTAP (CVO) for AWS, GCP and Azure.  The Provider can be used\nwith Terraform to work with Cloud Volumes ONTAP for AWS, GCP and Azure 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 ONTAP for AWS, GCP and Azure 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\n# Using the Provider\n\nThe current version of this provider requires Terraform 1.1.0 or higher to\nrun.\n\nTerraform 1.1.0 introduces a registry, and you can use directly the provider without\nbuilding it yourself.\nSee https://registry.terraform.io/providers/NetApp/netapp-cloudmanager\n\nIf you want to build it, see [the section below](#building-the-provider).\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:\nhttps://registry.terraform.io/providers/NetApp/netapp-cloudmanager/latest/docs\n\nThe provider is also documented [here][tf-netapp-cloudmanager-docs].\n\nCheck the provider documentation for details on\nentering your connection information and how to get started with writing\nconfiguration for NetApp CVO resources.\n\n[tf-netapp-cloudmanager-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_providers` block in your Terraform configuration.\n\nThe syntax is as follows:\n\n```hcl\nterraform {\n  required_version = \"\u003e= 1.1.0\"\n  required_providers {\n    netapp-cloudmanager = {\n      source = \"NetApp/netapp-cloudmanager\"\n      version = \"24.12.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.21+ 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/Azure/azure-sdk-for-go v46.4.0+incompatible\n\tgithub.com/Azure/go-autorest/autorest/azure/auth v0.5.3\n\tgithub.com/aws/aws-sdk-go v1.35.5\n\tgithub.com/fatih/structs v1.1.0\n\tgithub.com/hashicorp/terraform v0.13.4\n\tgithub.com/sirupsen/logrus v1.7.0\n\tgolang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43\n\tgolang.org/x/tools v0.0.0-20201008025239-9df69603baec // 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-cloudmanager`:\n\n```sh\nmkdir -p $GOPATH\ncd $GOPATH\ngit clone https://github.com/NetApp/terraform-provider-netapp-cloudmanager.git\n```\n\n## Running the Build\n\nAfter the clone has been completed, you can enter the provider directory and\nbuild the provider.\n\n```sh\ncd $GOPATH/terraform-provider-netapp-cloudmanager\nmake build\n```\nNote: go install will move the binary to $GOPATH/bin\n\n## Installing the Local Plugin\n\nWith Terraform 1.1.0 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-cloudmanager` binary into\nthe same path as your `terraform` binary, and re-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-cloudmanager/issues\n[gh-prs]: https://github.com/netapp/terraform-provider-netapp-cloudmanager/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 ONTAP for AWS, GCP and Azure is currently a complex operation as it\nrequires having a NetApp CVO subscription in CVO 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[`cloudmanager/`](cloudmanager/) 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-cloudmanager-devrc.mk` file\n\nThe [`tf-netapp-cloudmanager-devrc.mk.example`](tf-netapp-cloudmanager-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-cloudmanager-devrc.mk` and change the permissions to\nsomething more secure (ie: `chmod 600 $HOME/.tf-netapp-cloudmanager-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=TestAccNetAppCVOOCCM\"\n```\n\nThis following example would run all of the acceptance tests matching\n`TestAccNetAppCVOOCCM`. 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_netapp_cloudmanager\ncd tf_na_netapp_cloudmanager\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\n#### linux\n\n```\ncurl -O https://go.dev/dl/go1.21.0.linux-amd64.tar.gz\ntar -C $GO_INSTALL_DIR -xvf go1.21.0.linux-amd64.tar.gz\n\nexport PATH=$PATH:$GO_INSTALL_DIR/go/bin\n\ncurl -O https://releases.hashicorp.com/terraform/1.1.0/terraform_1.1.0_linux_amd64.zip\nunzip terraform_1.1.0_linux_amd64.zip\nmv terraform $GO_INSTALL_DIR/go/bin\n```\n\n#### mac\n\n```\ncurl -O https://go.dev/dl/go1.21.0.darwin-amd64.tar.gz\ntar -C $GO_INSTALL_DIR -xvf go1.21.0.darwin-amd64.tar.gz\n\nexport PATH=$PATH:$GO_INSTALL_DIR/go/bin\n\ncurl -O https://releases.hashicorp.com/terraform/1.1.0/terraform_1.1.0_darwin_amd64.zip\nunzip terraform_1.1.0_darwin_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-cloudmanager.git\ncd terraform-provider-netapp-cloudmanager\nmake build\n# binary is in: $GOPATH/bin/terraform-provider-netapp-cloudmanager\n```\n\nThe build step will install the provider in the $GOPATH/bin directory.\n\n### Sanity check\n\n#### Local installation - linux\n\n```\nmkdir -p /tmp/terraform/netapp.com/netapp/netapp-cloudmanager/24.12.0/linux_amd64\ncp $GOPATH/bin/terraform-provider-netapp-cloudmanager /tmp/terraform/netapp.com/netapp/netapp-cloudmanager/24.12.0/linux_amd64\n```\n\n#### Local installation - mac\n\n```\nmkdir -p ~/.terraform.d/plug-in/netapp.com/netapp/netapp-cloudmanager/24.12.0/darwin_amd64\ncp $GOPATH/bin/terraform-provider-netapp-cloudmanager ~/.terraform.d/plug-in/netapp.com/netapp/netapp-cloudmanager/24.12.0/darwin_amd64\n```\n\n#### Check the provider can be loaded\n```\ncd examples/cloudmanager/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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fterraform-provider-netapp-cloudmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetapp%2Fterraform-provider-netapp-cloudmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetapp%2Fterraform-provider-netapp-cloudmanager/lists"}