Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NetApp/terraform-provider-netapp-cloudmanager
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v20.10.7
Choose a base ref
...
head repository: NetApp/terraform-provider-netapp-cloudmanager
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 14,529 additions and 1,894 deletions.
  1. +71 −0 .github/workflows/codeql-analysis.yml
  2. +298 −12 CHANGELOG.md
  3. +1 −1 GNUmakefile
  4. +18 −17 README.md
  5. +107 −36 cloudmanager/aggregate.go
  6. +336 −0 cloudmanager/anf.go
  7. +442 −0 cloudmanager/aws_fsx.go
  8. +622 −0 cloudmanager/cbs.go
  9. +31 −38 cloudmanager/cifs.go
  10. +501 −74 cloudmanager/client.go
  11. +22 −6 cloudmanager/cloudmanager/restapi/client.go
  12. +33 −52 cloudmanager/cloudmanager/restapi/request.go
  13. +67 −13 cloudmanager/config.go
  14. +117 −102 cloudmanager/cvo_aws.go
  15. +85 −98 cloudmanager/cvo_azure.go
  16. +214 −38 cloudmanager/cvo_gcp.go
  17. +191 −0 cloudmanager/cvo_onprem.go
  18. +75 −0 cloudmanager/data_source_netapp_cloudmanager_aws_fsx.go
  19. +41 −29 cloudmanager/data_source_netapp_cloudmanager_cifs_server.go
  20. +56 −0 cloudmanager/data_source_netapp_cloudmanager_cvo_aws.go
  21. +49 −0 cloudmanager/data_source_netapp_cloudmanager_nss_account.go
  22. +108 −86 cloudmanager/data_source_netapp_cloudmanager_volume.go
  23. +335 −0 cloudmanager/gcp_volume.go
  24. +1,320 −34 cloudmanager/helper.go
  25. +102 −0 cloudmanager/nss_account.go
  26. +326 −73 cloudmanager/occm_aws.go
  27. +53 −48 cloudmanager/occm_azure.go
  28. +189 −6 cloudmanager/occm_azure_json.go
  29. +408 −53 cloudmanager/occm_gcp.go
  30. +85 −2 cloudmanager/provider.go
  31. +94 −67 cloudmanager/resource_netapp_cloudmanager_aggregate.go
  32. +37 −6 cloudmanager/resource_netapp_cloudmanager_aggregate_test.go
  33. +287 −0 cloudmanager/resource_netapp_cloudmanager_anf_volume.go
  34. +302 −0 cloudmanager/resource_netapp_cloudmanager_aws_fsx.go
  35. +365 −0 cloudmanager/resource_netapp_cloudmanager_aws_fsx_volume.go
  36. +127 −0 cloudmanager/resource_netapp_cloudmanager_aws_fsx_volume_test.go
  37. +595 −0 cloudmanager/resource_netapp_cloudmanager_cbs.go
  38. +108 −161 cloudmanager/resource_netapp_cloudmanager_cifs_server.go
  39. +323 −20 cloudmanager/resource_netapp_cloudmanager_connector_aws.go
  40. +151 −17 cloudmanager/resource_netapp_cloudmanager_connector_azure.go
  41. +439 −25 cloudmanager/resource_netapp_cloudmanager_connector_gcp.go
  42. +274 −42 cloudmanager/resource_netapp_cloudmanager_cvo_aws.go
  43. +310 −54 cloudmanager/resource_netapp_cloudmanager_cvo_azure.go
  44. +574 −46 cloudmanager/resource_netapp_cloudmanager_cvo_gcp.go
  45. +138 −0 cloudmanager/resource_netapp_cloudmanager_cvo_onprem.go
  46. +400 −0 cloudmanager/resource_netapp_cloudmanager_cvs_gcp_volume.go
  47. +110 −0 cloudmanager/resource_netapp_cloudmanager_nss_account.go
  48. +283 −0 cloudmanager/resource_netapp_cloudmanager_snapmirror.go
  49. +426 −264 cloudmanager/resource_netapp_cloudmanager_volume.go
  50. +193 −123 cloudmanager/resource_netapp_cloudmanager_volume_test.go
  51. +341 −0 cloudmanager/snapmirror.go
  52. +339 −63 cloudmanager/volume.go
  53. +15 −0 examples/aws/resources.tf
  54. +7 −3 examples/azure/resources.tf
  55. +0 −9 examples/cifs/resources.tf
  56. +1 −1 examples/cloudmanager/local/provider.tf
  57. +2 −2 examples/cloudmanager/provider.tf
  58. +22 −3 examples/cloudmanager/resources.tf
  59. +5 −1 examples/cloudmanager/terraform.tfvars.example
  60. +1 −1 examples/cloudmanager/versions.tf
  61. +79 −2 examples/gcp/resources.tf
  62. +12 −0 examples/nss_account/resources.tf
  63. +71 −0 examples/snapmirror/resources.tf
  64. +14 −14 examples/volume/resources.tf
  65. +1 −1 examples/volume/versions.tf
  66. +94 −4 go.mod
  67. +235 −48 go.sum
  68. +2 −2 scripts/gofmtcheck.sh
  69. +43 −0 website/docs/d/aws_fsx.html.markdown
  70. +44 −0 website/docs/d/cifs_server.html.markdown
  71. +37 −0 website/docs/d/cvo_aws.html.markdown
  72. +36 −0 website/docs/d/nss_account.html.markdown
  73. +59 −0 website/docs/d/volume.html.markdown
  74. +41 −0 website/docs/guides/24.11.1_upgrade_guide.md
  75. +55 −3 website/docs/index.html.markdown
  76. +9 −9 website/docs/r/aggregate.html.markdown
  77. +93 −0 website/docs/r/anf_volume.html.markdown
  78. +75 −0 website/docs/r/aws_fsx.html.markdown
  79. +81 −0 website/docs/r/aws_fsx_volume.html.markdown
  80. +161 −0 website/docs/r/cbs.html.markdown
  81. +14 −13 website/docs/r/cifs_server.html.markdown
  82. +32 −3 website/docs/r/connector_aws.html.markdown
  83. +20 −7 website/docs/r/connector_azure.html.markdown
  84. +27 −14 website/docs/r/connector_gcp.html.markdown
  85. +63 −11 website/docs/r/cvo_aws.html.markdown
  86. +76 −12 website/docs/r/cvo_azure.html.markdown
  87. +131 −13 website/docs/r/cvo_gcp.html.markdown
  88. +46 −0 website/docs/r/cvo_onprem.html.markdown
  89. +53 −10 website/docs/r/cvo_volume.html.markdown
  90. +136 −0 website/docs/r/cvs_gcp_volume.html.markdown
  91. +49 −0 website/docs/r/nss_account.html.markdown
  92. +60 −0 website/docs/r/snapmirror.html.markdown
  93. +8 −2 website/netapp_cloudmanager.erb
71 changes: 71 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '39 6 * * 1'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

steps:
- name: Checkout repository
uses: actions/checkout@v2

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
310 changes: 298 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,298 @@
## 20.10.0 (Unreleased)

FEATURES:

* **New Resource:** `netapp-cloudmanager_connector_aws`
* **New Resource:** `netapp-cloudmanager_connector_azure`
* **New Resource:** `netapp-cloudmanager_connector_gcp`
* **New Resource:** `netapp-cloudmanager_cvo_aws`
* **New Resource:** `netapp-cloudmanager_cvo_azure`
* **New Resource:** `netapp-cloudmanager_cvo_gcp`
* **New Resource:** `netapp-cloudmanager_aggregate`
* **New Resource:** `netapp-cloudmanager_volume`
## 25.1.0
BUG FIXES:
* Update document with proper version terraform 1.1.0 and Go 1.21.
* resource/aggregate: fix `number_of_disks` update failure.
* Fix document typo and aggregate disk size description.
* resource/connector_gcp: Fix error in creation of restricted mode when `associate_public_ip` is false.

## 24.11.3
ENHANCEMENTS:
* Update GCP storage package to support GCP identity federation. This version requires terraform 1.1 and the Go 1.21.
* Update document: indicate the minimum required terraform version.

BUG FIXES:
* resource/connector_gcp: Fix schema structure while creating Restricted mode.

## 24.11.2
BUG FIXES:
* add `azure_tag` option in documentation.

## 24.11.1
BREAKING CHANGE:
* resource/connector_aws: update `instance_type` default value from `t3.xlarge` to `t3.2xlarge`
* resource/connector_azure: update `virtual_machines_size` default value from `Standard_DS3_v2` to `Standard_D8s_v3`
* resource/connector_gcp: update `machine_type` default value from `n2-standard-4` to `n2-standard-8`

## 24.11.0
ENHANCEMENTS:
* resource/connector_azure: adding `azure_tag` option, now supports tags.

NEW FEATURES:
* Azure and GCP connectors now support Restricted mode.

BUG FIXES:
* auth user accesToken: Fix 403 issue with authorizer API token.

## 24.5.1
ENHANCEMENTS:
* remove duplicated volume documentation page.

## 24.5.0
BUG FIXES:
* resoruce/volume: support `comment` update with adding 3 minutes wait time.

## 24.2.0
NEW FEATURES:
* resource/connector_aws: support `instance_metadata` block.

## 24.1.0
ENHANCEMENTS:
* resource/cvo_gcp: fix typo on `vpc3_firewall_rule_tag_name`.
* add logging to API calls.


## 23.11.0
*ENHANCEMENTS: add retries when http returns >200 status code in getWorkingEnvironmentProperties.

## 23.10.0
BUG FIXES:
* resource/aws_fsx: handling for a situation in which the status does not exist yet.
* resource/cifs_server: fix the read function on domain, dns_domain and netbios checking with case insensitive.
* resource/volume: add `export_policy_rule_super_user` and `export_policy_rule_access_control` options. Fix export policy update error.

## 23.8.2
BUG FIXES:
* resource/volume: fix schema structure for export policy response in volume.

ENHANCEMENTS:
* support dev environment.
* resources/cvo: update the documentation on the `ontap_version` naming convention and the way to find the available upgrade versions on `upgrade_ontap_version`.

## 23.8.1
NEW FEATURES:
* resource/cvo_gcp: support LDM/flashCache on both single and HA.

BUG FIXES:
* resource/connector_gcp: fix gcp config flags backward compatible issue.

## 23.8.0
BUG FIXES:
* resource/volume: fix documentation name for volume and add an example for creating on_prem volume.
* ressource/cvo_aws, cvo_azure, cvo_gcp: remove force new from `retries`.

NEW ENHANCEMENTS:
* resource/cvo_aws and cvo_gcp: add `saas_subscription_id`.

NEW FEATURES:
* resource/cvo_gcp: support adding `firewall_tag_name_rule` and `firewall_ip_ranges`.

## 23.7.0
NEW FEATURES:
* resource/connector_gcp: support adding gcp keys `gcp_block_project_ssh_keys`, `gcp_serial_port_enable`, `gcp_enable_os_login` and `gcp_enable_os_login_sk` to the config.

## 23.6.1
NEW FEATURES:
* resource/cvo_gcp: support HIGH `writing_speed_state` in GCP HA. Make `gcp_service_account` optional.

## 23.6.0
NEW FEATURES:
* resource/aws_fsx_volume: add new option`tags`.

## 23.5.2
NEW ENHANCEMENTS:
* resource/cvo_azure: add `saas_subscription_id`.
* provider: add `connector_host` for restricted mode.

## 23.5.1
NEW ENHANCEMENTS:
* resoruce/cvo_aws: add `assume_role_arn` for AWS CVO HA.

## 23.5.0
BUG FIXES:
* resource/cbs: fix cbs to work without volume.

## 23.5.0
BUG FIXES:
* resource/connector_gcp: fix label key and value do not acccpt only numeric value.
* resource/volume: disable `enable_deduplication` and `enable_compression` in read function.

NEW FEATURES:
* resource/cbs: new resource cloud backup service which supports AWS a nd Azure.
* resource/volume: add new option`comment`.

BUG FIXES:
* resource/connector for GCP: Make `service_account_key` optional.

## 23.3.3
BUG FIXES:
* resource/connector: revert the retries change
* resource/cvo: revert the update values on the retries parameter

## 23.3.2
BUG FIXES:
* Documenation formate fix

NEW ENHANCEMENTS:
* resource/cvo for AZURE, GCP and AWS: change `retries` default to 75 and 100 for HA.
* resource/connector for AZURE, GCP and AWS: add `retries` option.

## 23.3.0
NEW ENHANCEMENTS:
* resource/cvo for AZURE and GCP: support two new capacity based package 'Edge' and 'Optimized' in `capacity_package_name`

BUG FIXES:
* cifs_server: fix bug on reading cifs based on the proper svm

## 23.1.1
NEW ENHANCEMENTS:
* BlueXP update domains adjustment
* Update AZURE document

BUG FIXES:
* resource/cvo_gcp:`zone` is not required in HA case. `node1_zone` will be used when `zone` is not provided in HA.
* resource/cvo_volume: update the volume with the proper `svm_name`

## 23.1.0
NEW FEATURES:
* resource/cvo_volume: add `tags` option.
* resource/cvo for AWS, AZURE and GCP: add `worm_retention_period_length` and `worm_retention_period_unit` to support WORM for creating a CVO.

BUG FIXES:
* resource/azure_cvo: fix bug on the `azureEncryptionParameters` with proper type.

## 22.12.0
NEW FEATURES:
* resource/cvo_volume: support create and delete onPrem volume.
* resource/cvo_volume: support create snapshot policy for AWS, AZURE and GCP if the snapshot policy is not available.

## 22.11.0
NEW FEATURES:
* resource/cvo_gcp HA: support add, rename and delete SVMs.
* resource/connector_gcp: add `labels` option.

BUG FIXES:
* resource/cvo_gcp: both capacity_tier and tierl_level should be optional.
* cifs_server on resource and data source: CIFS server with workgroup is depreciated. Since creating CIFS server with AD is the only way, updated the param attributes accordingly.

## 22.10.0
NEW FEATURES:
* resource/connector_snapmirror: support fsx as a source for snapmirror relationship with cvo.
* resource/cvo_aws: add `retries` parameter to increase wait time when creating CVO.
* resource/cvo_azure: add `retries` parameter to increase wait time when creating CVO.
* resource/cvo_gcp: add `retries` parameter to increase wait time when creating CVO.
* resoruce/cvs for AWS, AZURE and GCP: add `svm_name` an optional parameter. The modification is supported.

NEW ENHANCEMENTS:
* resource/connector_azure: display the deployed virtual machine principal_id in state file on the connector azure creation.
* resource/cvo_azure: add `availability_zone_node1` and `availability_zone_node2` to support HA deployment.
* resoruce/cvo_azure: add new support value "Premium_ZRS" in paramter `storage_type`.

## 22.9.1
NEW FEATURES:
* resource/connector_snapmirror: support fsx as a source for snapmirror relationship with fsx/onprem.

NEW ENHANCEMENTS:
* resource/cvo_azure: add `availability_zone` parameter for single node deployment.
* Use sensitive flag on the password of each resource.

BUG FIXES:
* azure: change default authentication to `['cli', 'env']` to give priority to `az login`.

## 22.9.0
NEW FEATURES:
* add retries on the task status check for handling status 504 cases
* azure: support ENV variables in addition to `az login`. Added `azure_auth_methods` to define which methods to use.

BUG FIXES:
* resource/connector_gcp: update machine_type default value.
* resource/connector for GCP: validate `zone` is not empty or a empty space.

## 22.8.3
NEW FEATURES:
* resource/cvo_aws: add mediator_security_group_id option.

NEW ENHANCEMENTS:
* resource/cvo for AWS: add cluster_key_pair_name parameter for key pair on SSH authentication.

## 22.8.2
NEW ENHANCEMENTS:
* resource/cvo for AWS, AZURE and GCP: support backup_volumes_to_cbs and enable_compliance.
* resource/connector for AWS, AZURE and GCP: wait for creation to complete increase to 15 minutes.

BUG FIXES:
* resource/volume: remove default values of enable_thin_provisioning, enable_compression and enable_deduplication.

## 22.8.1
BUG FIXES:
* resource/connector_aws: fix bug whe get instance returns error, but error is not returned to upstream.

## 22.8.0
NEW FEATURES:

* resource/connector_aws: support returning public_ip_address of the aws connector.
* add Terraform variable aws_profile_file_path to specify aws credentials file location. ([#90](https://github.com/NetApp/terraform-provider-netapp-cloudmanager/issues/90))

ENHANCEMENTS:
* resource/connector_azure: support full subnet_id and vnet_id
* resource/aggregate: better handle multi creation with count
* resource/cvo for AWS, AZURE and GCP: add writing_speed_state update

BUG FIXES:
* resource/cvo for AWS, AZURE and GCP: fix force recreation on writing_speed_state ([#104](https://github.com/NetApp/terraform-provider-netapp-cloudmanager/issues/104))

## 22.4.0
BUG FIXES:

* resource/connector_gcp: Support shared vpc.

## 22.2.2
BUG FIXES:

* Support resources operating in parallel
* Allow existing by Node license on CVO creation

ENHANCEMENTS:

* Update the default license_type and capacity_package_name for the CVOs of AWS, AZURE and GCP
* Add snapmirror example

NEW FEATURES:

* resource/connector_gcp: add service_account_key option
* resource/connector_gcp: remove requirement for GCP service account JSON. Support authentication using User Application Default Credentials ("ADCs") as the authentication method. Enable ADCs by running the command gcloud auth application-default login.
* resource/cvo_aws: new option mediator_instance_profile_name.
* resource/aws_fsx: import AWS FSX to CloudManager.
* resource/connector_azure: add storage_account option. Support user defined storage account.


## 22.1.1
BUG FIXES:

* resource/cvo for AWS, AZURE and GCP: add status check on instance_type update
* resource/aws_fsx: validation errors detected on aws_fsx tags

## 22.1.0
ENHANCEMENTS:

* resource/cvo for AWS, AZURE and GCP: add upgrade_ontap_version for ontap_version upgrade
* add Terraform variable aws_profile to support use of profile name in aws credentials file
* resource/snapmirror: add FSX AWS to snapmirror
* resource/volume: add snapshot_policy_name and tiering_policy modification, and check the supporting changeable parameters
* resource/connector_gcp: add network tags option

## 21.12.0
NEW FEATURES:

* resource/aws_fsx_volume: create, update and delete FSx volume.
* resource/cvo_onnprem: This can be used to register an onprem ONTAP system into CloudManager.

## 21.11.1
ENHANCEMENTS:

* resource/cvo for AWS, AZURE and GCP: display svm_name in state file on the CVO creation
* resource/aws_fsx: add name tag as the basic tag on aws_fsx creation

BUG FIXES:

* resource/cvo_aws route_table_ids parameter force recreation ([#77](https://github.com/NetApp/terraform-provider-netapp-cloudmanager/issues/77))
* resource/cvo_azure import function is disabled. Error out if terraform import is used
2 changes: 1 addition & 1 deletion GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
-include $(HOME)/.tf-netapp-cloudmanager-devrc.mk

TEST?=$$(go list ./... |grep -v 'vendor')
GOFMT_FILES?=$$(find . -name '*.go' |grep -v vendor)
GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor | grep -v \.git)

default: build

Loading