From a167bbf07cc37d57f5ae4640104b428bed3ca7bc Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:22:56 -0600 Subject: [PATCH 1/8] Updated to make the prerequisites more clear. --- .../Workload-Factory-API-Samples/README.md | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/Management-Utilities/Workload-Factory-API-Samples/README.md b/Management-Utilities/Workload-Factory-API-Samples/README.md index f147d32..c9c804f 100644 --- a/Management-Utilities/Workload-Factory-API-Samples/README.md +++ b/Management-Utilities/Workload-Factory-API-Samples/README.md @@ -1,25 +1,34 @@ # Workload Factory API Samples -The idea behind this folder is to show examples of how to use the [BlueXP Workload Factory APIs](https://console.workloads.netapp.com/api-doc). -Not every API is covered, but the ones required to get you started (get a refresh token, get the BlueXP accountID, -get BlueXP credentials ID) are included. Once you have the information provided from these APIs are ready to start +The idea behind this folder is to show examples of how to use the [Workload Factory APIs](https://console.workloads.netapp.com/api-doc). +Not every API is covered, but the ones required to get you started (i.e. get a refresh token, get the BlueXP accountID, +get BlueXP credentials ID) are included. Once you have the information provided from these APIs you are ready to start calling the others. While these examples are implemented as bash shell scripts you should be able to translate them to the programming language that you prefer, such as Python, Go, or JavaScript. -Note that all these scripts depend on the [wf_utils](wf_utils) file that contains common functions used by all the -scripts. One function in particular, `get_token()`, is used to get an authentication token from the BlueXP Workload -Factory API. So, if you copy just some of the files from this repository, make sure to copy the `wf_utils` file as well. +You authenticate to the Workload Factory APIs with an "Bearer Token." You generate a bearer token +by running a specific API using your "Refresh Token." Instructions on how to obtain your "Refresh Token" and generate an bearer token can be found +in the [NetApp Console documentation](https://docs.netapp.com/us-en/bluexp-automation/platform/create_user_token.html#1-generate-a-netapp-refresh-token). +Note that the bearer tokens expires after 24 hours whereas the Refresh Token does not expire until you revoke from the NetApp Console. + +Also note that all these scripts depend on the [wf_utils](wf_utils) file that contains common functions used by all of them. +So, if you copy just one of these scripts, make sure to also copy the `wf_utils` file as well. + +To make it easier to run the scripts, a `get_token()` function is included in the `wf_utils` file +that retrieves an bearer token for you. So, you don't have to worry about manually generating an bearer token +everyday instead, you just pass the "Refresh Token" to the scripts, they will call the `get_token()` function and +generate an bearer token for you. ## Prerequisites To run these scripts, you need to have the following prerequisites: -- A bash shell. +- A NetApp Console refresh token. You can generate one by visiting [Refresh Token Generator](https://services.cloud.netapp.com/refresh-token) page and following the instructions there. +- A bash shell. If you want to run from a Windows environment, you can use the Windows Subsystem for Linux (WSL). - The `curl` command-line tool installed. - The `jq` command-line JSON processor installed. You can install it using your package manager, e.g., `apt-get install jq` on Debian/Ubuntu or `brew install jq` on macOS. ## Notes: - All scripts allow you to set environment variables to pass options instead of having to use the -command line options. For example, instead of using the `-t` option to pass the -[BlueXP Refresh Token](https://docs.netapp.com/us-en/bluexp-automation/platform/create_user_token.html#1-generate-a-netapp-refresh-token), +command line options. For example, instead of using the `-t` option to pass the Refresh Token you can set the `REFRESH_TOKEN` environment variable. - All scripts accept the `-h` option to display the help message, which includes the available options and their descriptions. From 39d9b112f6cefd95f162b1aad5431018a096f186 Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:35:07 -0600 Subject: [PATCH 2/8] Updated to make the prerequisites more clear. --- .../Workload-Factory-API-Samples/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Management-Utilities/Workload-Factory-API-Samples/README.md b/Management-Utilities/Workload-Factory-API-Samples/README.md index c9c804f..9e6411e 100644 --- a/Management-Utilities/Workload-Factory-API-Samples/README.md +++ b/Management-Utilities/Workload-Factory-API-Samples/README.md @@ -1,23 +1,23 @@ # Workload Factory API Samples The idea behind this folder is to show examples of how to use the [Workload Factory APIs](https://console.workloads.netapp.com/api-doc). -Not every API is covered, but the ones required to get you started (i.e. get a refresh token, get the BlueXP accountID, +Not every API is covered, but the ones required to get you started (i.e. get a bearer token, get the BlueXP accountID, get BlueXP credentials ID) are included. Once you have the information provided from these APIs you are ready to start calling the others. While these examples are implemented as bash shell scripts you should be able to translate them to the programming language that you prefer, such as Python, Go, or JavaScript. -You authenticate to the Workload Factory APIs with an "Bearer Token." You generate a bearer token +You authenticate to the Workload Factory APIs with a "Bearer Token." You generate a bearer token by running a specific API using your "Refresh Token." Instructions on how to obtain your "Refresh Token" and generate an bearer token can be found in the [NetApp Console documentation](https://docs.netapp.com/us-en/bluexp-automation/platform/create_user_token.html#1-generate-a-netapp-refresh-token). -Note that the bearer tokens expires after 24 hours whereas the Refresh Token does not expire until you revoke from the NetApp Console. +Note that a bearer token expires after 24 hours whereas the Refresh Token does not expire until you revoke it from the NetApp Console. Also note that all these scripts depend on the [wf_utils](wf_utils) file that contains common functions used by all of them. So, if you copy just one of these scripts, make sure to also copy the `wf_utils` file as well. To make it easier to run the scripts, a `get_token()` function is included in the `wf_utils` file -that retrieves an bearer token for you. So, you don't have to worry about manually generating an bearer token +that retrieves a bearer token for you. So, you don't have to worry about manually generating a bearer token everyday instead, you just pass the "Refresh Token" to the scripts, they will call the `get_token()` function and -generate an bearer token for you. +generate a bearer token for you. ## Prerequisites To run these scripts, you need to have the following prerequisites: @@ -33,7 +33,7 @@ you can set the `REFRESH_TOKEN` environment variable. - All scripts accept the `-h` option to display the help message, which includes the available options and their descriptions. -Hopefully with these samples you'll be able to create your own scripts that use any the Workload Factory APIs. +Hopefully with these samples you'll be able to create your own scripts that use any of the Workload Factory APIs. If you do create a new script, please consider contributing it back to this repository so that others can benefit from it. ## Available Scripts From e2c1fb97b54cff6d9b816d0d3574272adae71151 Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:41:00 -0600 Subject: [PATCH 3/8] Reorganized the IaC directories --- .../Ansible}/README.md | 0 .../Ansible}/fsx_inventory_report/README.md | 0 .../fsx_inventory_report/generate_report.yaml | 0 .../fsx_inventory_report/get_fsxn_regions.yaml | 0 .../fsx_inventory_report/process_region.yaml | 0 .../Ansible}/snapmirror_report/README.md | 0 .../Ansible}/snapmirror_report/generate_report.yaml | 0 .../snapmirror_report/get_fsxn_regions.yaml | 0 .../Ansible}/snapmirror_report/process_region.yaml | 0 .../NetApp-FSxN-Custom-Resources-Samples/README.md | 0 .../create_clone.yaml | 0 .../create_export_policy.yaml | 0 .../create_sm_with_peering.yaml | 0 .../create_sm_without_peering.yaml | 0 .../create_snapshot.yaml | 0 .../create_volume.yaml | 0 .../scripts/README.md | 0 .../scripts/activate_extensions | 0 .../scripts/createClone.py | 0 .../scripts/create_SM_relationship | 0 .../scripts/create_clone | 0 .../scripts/create_export_policy | 0 .../scripts/create_snapshot | 0 .../scripts/create_volume | 0 .../scripts/deactivate_extensions | 0 .../scripts/deploy_link | 0 .../CloudFormation}/README.md | 0 .../CloudFormation}/deploy-fsx-ontap/README.md | 0 .../deploy-fsx-ontap/images/create_stack-01.png | Bin .../deploy-fsx-ontap/images/create_stack-02.png | Bin .../deploy-fsx-ontap/images/create_stack-03.png | Bin .../CloudFormation}/deploy-fsx-ontap/template.yaml | 0 .../Terraform}/README.md | 0 .../deploy-fsx-ontap-fileshare-access/README.md | 0 .../images/EC2-AD-Check.png | Bin .../images/FSxN+ClientVPN.png | Bin .../images/FSxN-AD-Check.png | Bin .../images/FSxN-FS-Check.png | Bin .../images/IAM_Policy.png | Bin .../images/MacOS-Finder-Connect.png | Bin .../images/VPN-Client-Setup.png | Bin .../deploy-fsx-ontap-fileshare-access/main.tf | 0 .../modules/ec2ad/ec2-ad.tf | 0 .../modules/ec2ad/ec2-ami.tf | 0 .../modules/ec2ad/outputs.tf | 0 .../modules/ec2ad/variables.tf | 0 .../modules/fsxn/fsx-fs.tf | 0 .../modules/fsxn/fsx-svm.tf | 0 .../modules/fsxn/fsx-volume.tf | 0 .../modules/fsxn/outputs.tf | 0 .../modules/fsxn/variables.tf | 0 .../modules/vpn/README.md | 0 .../modules/vpn/certs/README.md | 0 .../modules/vpn/certs/ca.crt | 0 .../modules/vpn/certs/ca.pem | 0 .../modules/vpn/certs/client.fsxn.crt | 0 .../modules/vpn/certs/client.fsxn.key | 0 .../modules/vpn/certs/client.fsxn.pem | 0 .../modules/vpn/certs/server.crt | 0 .../modules/vpn/certs/server.fsxn.crt | 0 .../modules/vpn/certs/server.fsxn.key | 0 .../modules/vpn/certs/server.fsxn.pem | 0 .../modules/vpn/certs/server.key | 0 .../modules/vpn/main.tf | 0 .../modules/vpn/securitygroups.tf | 0 .../modules/vpn/variables.tf | 0 .../deploy-fsx-ontap-fileshare-access/networking.tf | 0 .../deploy-fsx-ontap-fileshare-access/outputs.tf | 0 .../deploy-fsx-ontap-fileshare-access/ssm.tf | 0 .../terraform.sample.tfvars | 0 .../deploy-fsx-ontap-fileshare-access/variables.tf | 0 .../Terraform}/deploy-fsx-ontap-sqlserver/README.md | 0 .../Terraform}/deploy-fsx-ontap-sqlserver/main.tf | 0 .../modules/ec2/ec2-ami.tf | 0 .../modules/ec2/ec2-sql.tf | 0 .../modules/ec2/outputs.tf | 0 .../modules/ec2/variables.tf | 0 .../modules/fsxn/fsx-fs.tf | 0 .../modules/fsxn/fsx-svm.tf | 0 .../modules/fsxn/fsx-volume.tf | 0 .../modules/fsxn/outputs.tf | 0 .../modules/fsxn/variables.tf | 0 .../deploy-fsx-ontap-sqlserver/networking.tf | 0 .../deploy-fsx-ontap-sqlserver/outputs.tf | 0 .../Terraform}/deploy-fsx-ontap-sqlserver/ssm.tf | 0 .../terraform.sample.tfvars | 0 .../deploy-fsx-ontap-sqlserver/variables.tf | 0 .../Terraform}/deploy-fsx-ontap/README.md | 0 .../Terraform}/deploy-fsx-ontap/module/README.md | 0 .../Terraform}/deploy-fsx-ontap/module/main.tf | 0 .../Terraform}/deploy-fsx-ontap/module/output.tf | 0 .../deploy-fsx-ontap/module/security_groups.tf | 0 .../Terraform}/deploy-fsx-ontap/module/variables.tf | 0 .../deploy-fsx-ontap/standalone-module/README.md | 0 .../deploy-fsx-ontap/standalone-module/main.tf | 0 .../deploy-fsx-ontap/standalone-module/output.tf | 0 .../standalone-module/security_groups.tf | 0 .../deploy-fsx-ontap/standalone-module/variables.tf | 0 .../Terraform}/fsxn-replicate/DR_FSxN_variables.tf | 0 .../fsxn-replicate/Primary_FSxN_variables.tf | 0 .../Terraform}/fsxn-replicate/README.md | 0 .../Terraform}/fsxn-replicate/main.tf | 0 .../Terraform}/fsxn-replicate/output.tf | 0 .../Terraform}/fsxn-replicate/security_groups.tf | 0 .../fsxn-replicate/terraform.sample.tfvars | 0 105 files changed, 0 insertions(+), 0 deletions(-) rename {Ansible => Infrastructure_as_Code/Ansible}/README.md (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/fsx_inventory_report/README.md (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/fsx_inventory_report/generate_report.yaml (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/fsx_inventory_report/get_fsxn_regions.yaml (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/fsx_inventory_report/process_region.yaml (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/snapmirror_report/README.md (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/snapmirror_report/generate_report.yaml (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/snapmirror_report/get_fsxn_regions.yaml (100%) rename {Ansible => Infrastructure_as_Code/Ansible}/snapmirror_report/process_region.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/README.md (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/create_clone.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/create_export_policy.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/create_sm_with_peering.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/create_sm_without_peering.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/create_snapshot.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/create_volume.yaml (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/README.md (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/activate_extensions (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/createClone.py (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/create_SM_relationship (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/create_clone (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/create_export_policy (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/create_snapshot (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/create_volume (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/deactivate_extensions (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/NetApp-FSxN-Custom-Resources-Samples/scripts/deploy_link (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/README.md (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/deploy-fsx-ontap/README.md (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/deploy-fsx-ontap/images/create_stack-01.png (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/deploy-fsx-ontap/images/create_stack-02.png (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/deploy-fsx-ontap/images/create_stack-03.png (100%) rename {CloudFormation => Infrastructure_as_Code/CloudFormation}/deploy-fsx-ontap/template.yaml (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/EC2-AD-Check.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/FSxN+ClientVPN.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/FSxN-AD-Check.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/FSxN-FS-Check.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/IAM_Policy.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/MacOS-Finder-Connect.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/images/VPN-Client-Setup.png (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/main.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ad.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ami.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/ec2ad/outputs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/ec2ad/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-fs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-svm.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-volume.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/fsxn/outputs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/fsxn/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.crt (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.pem (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.crt (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.key (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.pem (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.crt (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.crt (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.key (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.pem (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.key (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/main.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/securitygroups.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/modules/vpn/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/networking.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/outputs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/ssm.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/terraform.sample.tfvars (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-fileshare-access/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/main.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-ami.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-sql.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/ec2/outputs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/ec2/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-fs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-svm.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-volume.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/fsxn/outputs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/modules/fsxn/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/networking.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/outputs.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/ssm.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/terraform.sample.tfvars (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap-sqlserver/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/module/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/module/main.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/module/output.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/module/security_groups.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/module/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/standalone-module/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/standalone-module/main.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/standalone-module/output.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/standalone-module/security_groups.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/deploy-fsx-ontap/standalone-module/variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/DR_FSxN_variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/Primary_FSxN_variables.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/README.md (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/main.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/output.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/security_groups.tf (100%) rename {Terraform => Infrastructure_as_Code/Terraform}/fsxn-replicate/terraform.sample.tfvars (100%) diff --git a/Ansible/README.md b/Infrastructure_as_Code/Ansible/README.md similarity index 100% rename from Ansible/README.md rename to Infrastructure_as_Code/Ansible/README.md diff --git a/Ansible/fsx_inventory_report/README.md b/Infrastructure_as_Code/Ansible/fsx_inventory_report/README.md similarity index 100% rename from Ansible/fsx_inventory_report/README.md rename to Infrastructure_as_Code/Ansible/fsx_inventory_report/README.md diff --git a/Ansible/fsx_inventory_report/generate_report.yaml b/Infrastructure_as_Code/Ansible/fsx_inventory_report/generate_report.yaml similarity index 100% rename from Ansible/fsx_inventory_report/generate_report.yaml rename to Infrastructure_as_Code/Ansible/fsx_inventory_report/generate_report.yaml diff --git a/Ansible/fsx_inventory_report/get_fsxn_regions.yaml b/Infrastructure_as_Code/Ansible/fsx_inventory_report/get_fsxn_regions.yaml similarity index 100% rename from Ansible/fsx_inventory_report/get_fsxn_regions.yaml rename to Infrastructure_as_Code/Ansible/fsx_inventory_report/get_fsxn_regions.yaml diff --git a/Ansible/fsx_inventory_report/process_region.yaml b/Infrastructure_as_Code/Ansible/fsx_inventory_report/process_region.yaml similarity index 100% rename from Ansible/fsx_inventory_report/process_region.yaml rename to Infrastructure_as_Code/Ansible/fsx_inventory_report/process_region.yaml diff --git a/Ansible/snapmirror_report/README.md b/Infrastructure_as_Code/Ansible/snapmirror_report/README.md similarity index 100% rename from Ansible/snapmirror_report/README.md rename to Infrastructure_as_Code/Ansible/snapmirror_report/README.md diff --git a/Ansible/snapmirror_report/generate_report.yaml b/Infrastructure_as_Code/Ansible/snapmirror_report/generate_report.yaml similarity index 100% rename from Ansible/snapmirror_report/generate_report.yaml rename to Infrastructure_as_Code/Ansible/snapmirror_report/generate_report.yaml diff --git a/Ansible/snapmirror_report/get_fsxn_regions.yaml b/Infrastructure_as_Code/Ansible/snapmirror_report/get_fsxn_regions.yaml similarity index 100% rename from Ansible/snapmirror_report/get_fsxn_regions.yaml rename to Infrastructure_as_Code/Ansible/snapmirror_report/get_fsxn_regions.yaml diff --git a/Ansible/snapmirror_report/process_region.yaml b/Infrastructure_as_Code/Ansible/snapmirror_report/process_region.yaml similarity index 100% rename from Ansible/snapmirror_report/process_region.yaml rename to Infrastructure_as_Code/Ansible/snapmirror_report/process_region.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/README.md b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/README.md similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/README.md rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/README.md diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_clone.yaml b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_clone.yaml similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_clone.yaml rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_clone.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_export_policy.yaml b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_export_policy.yaml similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_export_policy.yaml rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_export_policy.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_with_peering.yaml b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_with_peering.yaml similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_with_peering.yaml rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_with_peering.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_without_peering.yaml b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_without_peering.yaml similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_without_peering.yaml rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_sm_without_peering.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_snapshot.yaml b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_snapshot.yaml similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_snapshot.yaml rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_snapshot.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_volume.yaml b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_volume.yaml similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_volume.yaml rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/create_volume.yaml diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/README.md b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/README.md similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/README.md rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/README.md diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/activate_extensions b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/activate_extensions similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/activate_extensions rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/activate_extensions diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/createClone.py b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/createClone.py similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/createClone.py rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/createClone.py diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_SM_relationship b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_SM_relationship similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_SM_relationship rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_SM_relationship diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_clone b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_clone similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_clone rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_clone diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_export_policy b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_export_policy similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_export_policy rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_export_policy diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_snapshot b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_snapshot similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_snapshot rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_snapshot diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_volume b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_volume similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_volume rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/create_volume diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deactivate_extensions b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deactivate_extensions similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deactivate_extensions rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deactivate_extensions diff --git a/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deploy_link b/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deploy_link similarity index 100% rename from CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deploy_link rename to Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples/scripts/deploy_link diff --git a/CloudFormation/README.md b/Infrastructure_as_Code/CloudFormation/README.md similarity index 100% rename from CloudFormation/README.md rename to Infrastructure_as_Code/CloudFormation/README.md diff --git a/CloudFormation/deploy-fsx-ontap/README.md b/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/README.md similarity index 100% rename from CloudFormation/deploy-fsx-ontap/README.md rename to Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/README.md diff --git a/CloudFormation/deploy-fsx-ontap/images/create_stack-01.png b/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/images/create_stack-01.png similarity index 100% rename from CloudFormation/deploy-fsx-ontap/images/create_stack-01.png rename to Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/images/create_stack-01.png diff --git a/CloudFormation/deploy-fsx-ontap/images/create_stack-02.png b/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/images/create_stack-02.png similarity index 100% rename from CloudFormation/deploy-fsx-ontap/images/create_stack-02.png rename to Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/images/create_stack-02.png diff --git a/CloudFormation/deploy-fsx-ontap/images/create_stack-03.png b/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/images/create_stack-03.png similarity index 100% rename from CloudFormation/deploy-fsx-ontap/images/create_stack-03.png rename to Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/images/create_stack-03.png diff --git a/CloudFormation/deploy-fsx-ontap/template.yaml b/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/template.yaml similarity index 100% rename from CloudFormation/deploy-fsx-ontap/template.yaml rename to Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap/template.yaml diff --git a/Terraform/README.md b/Infrastructure_as_Code/Terraform/README.md similarity index 100% rename from Terraform/README.md rename to Infrastructure_as_Code/Terraform/README.md diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/README.md diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/EC2-AD-Check.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/EC2-AD-Check.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/EC2-AD-Check.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/EC2-AD-Check.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN+ClientVPN.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN+ClientVPN.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN+ClientVPN.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN+ClientVPN.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-AD-Check.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-AD-Check.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-AD-Check.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-AD-Check.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-FS-Check.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-FS-Check.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-FS-Check.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/FSxN-FS-Check.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/IAM_Policy.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/IAM_Policy.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/IAM_Policy.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/IAM_Policy.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/MacOS-Finder-Connect.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/MacOS-Finder-Connect.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/MacOS-Finder-Connect.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/MacOS-Finder-Connect.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/images/VPN-Client-Setup.png b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/VPN-Client-Setup.png similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/images/VPN-Client-Setup.png rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/images/VPN-Client-Setup.png diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/main.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/main.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/main.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/main.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ad.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ad.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ad.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ad.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ami.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ami.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ami.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/ec2-ami.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/outputs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/outputs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/outputs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/outputs.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/ec2ad/variables.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-fs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-fs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-fs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-fs.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-svm.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-svm.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-svm.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-svm.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-volume.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-volume.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-volume.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/fsx-volume.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/outputs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/outputs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/outputs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/outputs.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/fsxn/variables.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/README.md diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/README.md diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.crt b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.crt similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.crt rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.crt diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.pem b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.pem similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.pem rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/ca.pem diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.crt b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.crt similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.crt rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.crt diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.key b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.key similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.key rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.key diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.pem b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.pem similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.pem rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/client.fsxn.pem diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.crt b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.crt similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.crt rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.crt diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.crt b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.crt similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.crt rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.crt diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.key b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.key similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.key rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.key diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.pem b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.pem similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.pem rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.fsxn.pem diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.key b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.key similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.key rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/certs/server.key diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/main.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/main.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/main.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/main.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/securitygroups.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/securitygroups.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/securitygroups.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/securitygroups.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/modules/vpn/variables.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/networking.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/networking.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/networking.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/networking.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/outputs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/outputs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/outputs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/outputs.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/ssm.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/ssm.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/ssm.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/ssm.tf diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/terraform.sample.tfvars b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/terraform.sample.tfvars similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/terraform.sample.tfvars rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/terraform.sample.tfvars diff --git a/Terraform/deploy-fsx-ontap-fileshare-access/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-fileshare-access/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access/variables.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/README.md diff --git a/Terraform/deploy-fsx-ontap-sqlserver/main.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/main.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/main.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/main.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-ami.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-ami.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-ami.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-ami.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-sql.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-sql.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-sql.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/ec2-sql.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/outputs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/outputs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/outputs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/outputs.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/ec2/variables.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-fs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-fs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-fs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-fs.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-svm.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-svm.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-svm.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-svm.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-volume.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-volume.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-volume.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/fsx-volume.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/outputs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/outputs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/outputs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/outputs.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/modules/fsxn/variables.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/networking.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/networking.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/networking.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/networking.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/outputs.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/outputs.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/outputs.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/outputs.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/ssm.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/ssm.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/ssm.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/ssm.tf diff --git a/Terraform/deploy-fsx-ontap-sqlserver/terraform.sample.tfvars b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/terraform.sample.tfvars similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/terraform.sample.tfvars rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/terraform.sample.tfvars diff --git a/Terraform/deploy-fsx-ontap-sqlserver/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap-sqlserver/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver/variables.tf diff --git a/Terraform/deploy-fsx-ontap/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/README.md diff --git a/Terraform/deploy-fsx-ontap/module/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap/module/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/README.md diff --git a/Terraform/deploy-fsx-ontap/module/main.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/main.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/module/main.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/main.tf diff --git a/Terraform/deploy-fsx-ontap/module/output.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/output.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/module/output.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/output.tf diff --git a/Terraform/deploy-fsx-ontap/module/security_groups.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/security_groups.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/module/security_groups.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/security_groups.tf diff --git a/Terraform/deploy-fsx-ontap/module/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/module/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module/variables.tf diff --git a/Terraform/deploy-fsx-ontap/standalone-module/README.md b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/README.md similarity index 100% rename from Terraform/deploy-fsx-ontap/standalone-module/README.md rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/README.md diff --git a/Terraform/deploy-fsx-ontap/standalone-module/main.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/main.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/standalone-module/main.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/main.tf diff --git a/Terraform/deploy-fsx-ontap/standalone-module/output.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/output.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/standalone-module/output.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/output.tf diff --git a/Terraform/deploy-fsx-ontap/standalone-module/security_groups.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/security_groups.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/standalone-module/security_groups.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/security_groups.tf diff --git a/Terraform/deploy-fsx-ontap/standalone-module/variables.tf b/Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/variables.tf similarity index 100% rename from Terraform/deploy-fsx-ontap/standalone-module/variables.tf rename to Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module/variables.tf diff --git a/Terraform/fsxn-replicate/DR_FSxN_variables.tf b/Infrastructure_as_Code/Terraform/fsxn-replicate/DR_FSxN_variables.tf similarity index 100% rename from Terraform/fsxn-replicate/DR_FSxN_variables.tf rename to Infrastructure_as_Code/Terraform/fsxn-replicate/DR_FSxN_variables.tf diff --git a/Terraform/fsxn-replicate/Primary_FSxN_variables.tf b/Infrastructure_as_Code/Terraform/fsxn-replicate/Primary_FSxN_variables.tf similarity index 100% rename from Terraform/fsxn-replicate/Primary_FSxN_variables.tf rename to Infrastructure_as_Code/Terraform/fsxn-replicate/Primary_FSxN_variables.tf diff --git a/Terraform/fsxn-replicate/README.md b/Infrastructure_as_Code/Terraform/fsxn-replicate/README.md similarity index 100% rename from Terraform/fsxn-replicate/README.md rename to Infrastructure_as_Code/Terraform/fsxn-replicate/README.md diff --git a/Terraform/fsxn-replicate/main.tf b/Infrastructure_as_Code/Terraform/fsxn-replicate/main.tf similarity index 100% rename from Terraform/fsxn-replicate/main.tf rename to Infrastructure_as_Code/Terraform/fsxn-replicate/main.tf diff --git a/Terraform/fsxn-replicate/output.tf b/Infrastructure_as_Code/Terraform/fsxn-replicate/output.tf similarity index 100% rename from Terraform/fsxn-replicate/output.tf rename to Infrastructure_as_Code/Terraform/fsxn-replicate/output.tf diff --git a/Terraform/fsxn-replicate/security_groups.tf b/Infrastructure_as_Code/Terraform/fsxn-replicate/security_groups.tf similarity index 100% rename from Terraform/fsxn-replicate/security_groups.tf rename to Infrastructure_as_Code/Terraform/fsxn-replicate/security_groups.tf diff --git a/Terraform/fsxn-replicate/terraform.sample.tfvars b/Infrastructure_as_Code/Terraform/fsxn-replicate/terraform.sample.tfvars similarity index 100% rename from Terraform/fsxn-replicate/terraform.sample.tfvars rename to Infrastructure_as_Code/Terraform/fsxn-replicate/terraform.sample.tfvars From e939a3946be03aed525d1771680e23192a940a1a Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:48:33 -0600 Subject: [PATCH 4/8] Reorganized the IaC directories --- Infrastructure_as_Code/README.md | 32 ++++++++++++++++++++++++++++++++ README.md | 25 +++++++++++++------------ 2 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 Infrastructure_as_Code/README.md diff --git a/Infrastructure_as_Code/README.md b/Infrastructure_as_Code/README.md new file mode 100644 index 0000000..7a09b50 --- /dev/null +++ b/Infrastructure_as_Code/README.md @@ -0,0 +1,32 @@ +# Infrastructure as Code + +This folder contains code samples and automation scripts for FSx for NetApp ONTAP operations using the various Infrastructure as Code (IAC) tools. + +* [Anisble](Ansible) + * [FSx ONTAP inventory report](Ansible/fsx_inventory_report) + * [SnapMirror report](Ansible/snapmirror_report) +* [CloudFormation](CloudFormation) + * [NetApp-FSxN-Custom-Resources-Samples](CloudFormation/NetApp-FSxN-Custom-Resources-Samples) + * [deploy-fsx-ontap](CloudFormation/deploy-fsx-ontap) +* [Terraform](Terraform) + * [FSx ONTAP deployment using Terraform](Terraform/deploy-fsx-ontap) + * [FSx ONTAP Replication](Terraform/fsxn-replicate) + * [Deployment of SQL Server on EC2 with FSx ONTAP](Terraform/deploy-fsx-ontap-sqlserver) + * [Deployment of FSx ONTAP with VPN for File Share Access](Terraform/deploy-fsx-ontap-fileshare-access) + +## Author Information + +This repository is maintained by the contributors listed on [GitHub](https://github.com/NetApp/FSx-ONTAP-samples-scripts/graphs/contributors). + +## License + +Licensed under the Apache License, Version 2.0 (the "License"). + +You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0). + +Unless required by applicable law or agreed to in writing, software distributed under the License +is distributed on an _"AS IS"_ basis, without WARRANTIES or conditions of any kind, either express or implied. + +See the License for the specific language governing permissions and limitations under the License. + +© 2024 NetApp, Inc. All Rights Reserved. diff --git a/README.md b/README.md index 8e06315..0e28d92 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ built to maximize cost performance, resilience, and accessibility in business-cr This GitHub repository contains comprehensive code samples and automation scripts for FSx for Netapp ONTAP operations, promoting the use of Infrastructure as Code (IAC) tools and encouraging developers to extend the product's functionalities through code. The samples here go alongside the automation, management and monitoring that -[BlueXP Workload Factory](https://console.workloads.netapp.com) provides. +[Workload Factory](https://console.workloads.netapp.com) provides. We welcome contributions from the community! Please read our [contribution guidelines](CONTRIBUTING.md) before getting started. @@ -16,12 +16,18 @@ Have a great idea? We'd love to hear it! Please email us at [ng-fsxn-github-samp ## Table of Contents -* [Anisble](/Ansible) - * [FSx ONTAP inventory report](/Ansible/fsx_inventory_report) - * [SnapMirror report](/Ansible/snapmirror_report) -* [CloudFormation](/CloudFormation) - * [NetApp-FSxN-Custom-Resources-Samples](/CloudFormation/NetApp-FSxN-Custom-Resources-Samples) - * [deploy-fsx-ontap](/CloudFormation/deploy-fsx-ontap) +* [Infrastructure as Code](/Infrastructure_as_Code) + * [Anisble](Ansible) + * [FSx ONTAP inventory report](Ansible/fsx_inventory_report) + * [SnapMirror report](Ansible/snapmirror_report) + * [CloudFormation](CloudFormation) + * [NetApp-FSxN-Custom-Resources-Samples](CloudFormation/NetApp-FSxN-Custom-Resources-Samples) + * [deploy-fsx-ontap](CloudFormation/deploy-fsx-ontap) + * [Terraform](Terraform) + * [FSx ONTAP deployment using Terraform](Terraform/deploy-fsx-ontap) + * [FSx ONTAP Replication](Terraform/fsxn-replicate) + * [Deployment of SQL Server on EC2 with FSx ONTAP](Terraform/deploy-fsx-ontap-sqlserver) + * [Deployment of FSx ONTAP with VPN for File Share Access](Terraform/deploy-fsx-ontap-fileshare-access) * [EKS](/EKS) * [Backup-EKS-Applications-with-Trident-Protect](/EKS/Backup-EKS-Applications-with-Trident-Protect) * [FSx for NetApp ONTAP as persistent storage for EKS](/EKS/FSxN-as-PVC-for-EKS) @@ -43,11 +49,6 @@ Have a great idea? We'd love to hear it! Please email us at [ng-fsxn-github-samp * [Monitor FSx for ONTAP with Harvest on EKS](/Monitoring/monitor_fsxn_with_harvest_on_eks) * [Solutions](/Solutions) * [k8s applications non-stdout logs collection into ELK](/Solutions/EKS-logs-to-ELK) -* [Terraform](/Terraform) - * [FSx ONTAP deployment using Terraform](/Terraform/deploy-fsx-ontap) - * [FSx ONTAP Replication](/Terraform/fsxn-replicate) - * [Deployment of SQL Server on EC2 with FSx ONTAP](/Terraform/deploy-fsx-ontap-sqlserver) - * [Deployment of FSx ONTAP with VPN for File Share Access](/Terraform/deploy-fsx-ontap-fileshare-access) ## Author Information From 225a8ca7d604406dab8045303830cf6dd0982fa4 Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:52:23 -0600 Subject: [PATCH 5/8] Reorganized the IaC directories --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 0e28d92..404ae8f 100644 --- a/README.md +++ b/README.md @@ -17,17 +17,17 @@ Have a great idea? We'd love to hear it! Please email us at [ng-fsxn-github-samp ## Table of Contents * [Infrastructure as Code](/Infrastructure_as_Code) - * [Anisble](Ansible) - * [FSx ONTAP inventory report](Ansible/fsx_inventory_report) - * [SnapMirror report](Ansible/snapmirror_report) - * [CloudFormation](CloudFormation) - * [NetApp-FSxN-Custom-Resources-Samples](CloudFormation/NetApp-FSxN-Custom-Resources-Samples) - * [deploy-fsx-ontap](CloudFormation/deploy-fsx-ontap) - * [Terraform](Terraform) - * [FSx ONTAP deployment using Terraform](Terraform/deploy-fsx-ontap) - * [FSx ONTAP Replication](Terraform/fsxn-replicate) - * [Deployment of SQL Server on EC2 with FSx ONTAP](Terraform/deploy-fsx-ontap-sqlserver) - * [Deployment of FSx ONTAP with VPN for File Share Access](Terraform/deploy-fsx-ontap-fileshare-access) + * [Ansible](/Infrastructure_as_Code/Ansible) + * [FSx ONTAP inventory report](/Infrastructure_as_Code/Ansible/fsx_inventory_report) + * [SnapMirror report](/Infrastructure_as_Code/Ansible/snapmirror_report) + * [CloudFormation](/Infrastructure_as_Code/CloudFormation) + * [NetApp-FSxN-Custom-Resources-Samples](/Infrastructure_as_Code/CloudFormation/NetApp-FSxN-Custom-Resources-Samples) + * [deploy-fsx-ontap](/Infrastructure_as_Code/CloudFormation/deploy-fsx-ontap) + * [Terraform](/Infrastructure_as_Code/Terraform) + * [FSx ONTAP deployment using Terraform](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap) + * [FSx ONTAP Replication](/Infrastructure_as_Code/Terraform/fsxn-replicate) + * [Deployment of SQL Server on EC2 with FSx ONTAP](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-sqlserver) + * [Deployment of FSx ONTAP with VPN for File Share Access](/Infrastructure_as_Code/Terraform/deploy-fsx-ontap-fileshare-access) * [EKS](/EKS) * [Backup-EKS-Applications-with-Trident-Protect](/EKS/Backup-EKS-Applications-with-Trident-Protect) * [FSx for NetApp ONTAP as persistent storage for EKS](/EKS/FSxN-as-PVC-for-EKS) From 05ae1190154edcfb38a5fb71d00030ed8618e474 Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:52:57 -0600 Subject: [PATCH 6/8] Reorganized the IaC directories --- Infrastructure_as_Code/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Infrastructure_as_Code/README.md b/Infrastructure_as_Code/README.md index 7a09b50..118b43e 100644 --- a/Infrastructure_as_Code/README.md +++ b/Infrastructure_as_Code/README.md @@ -2,7 +2,7 @@ This folder contains code samples and automation scripts for FSx for NetApp ONTAP operations using the various Infrastructure as Code (IAC) tools. -* [Anisble](Ansible) +* [Ansible](Ansible) * [FSx ONTAP inventory report](Ansible/fsx_inventory_report) * [SnapMirror report](Ansible/snapmirror_report) * [CloudFormation](CloudFormation) From 93fcd9aeab2daff712db7267da003b305fef5671 Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 18:54:52 -0600 Subject: [PATCH 7/8] Reorganized the IaC directories --- Infrastructure_as_Code/Terraform/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Infrastructure_as_Code/Terraform/README.md b/Infrastructure_as_Code/Terraform/README.md index 61df744..bcc46e6 100644 --- a/Infrastructure_as_Code/Terraform/README.md +++ b/Infrastructure_as_Code/Terraform/README.md @@ -3,10 +3,10 @@ This subfolder contains various examples of how you can use Terraform to deploy | Tool | Description | | --- | --- | -| [Deploy FSx ONTAP File Share](/Terraform/deploy-fsx-ontap-fileshare-access) | This sample shows how to deploy an FSx for ONTAP file system and access it from a remote system using OpenVPN. | -| [Deploy FSx ONTAP SQL Server](/Terraform/deploy-fsx-ontap-sqlserver) | This sample shows how to deploy on FSx for ONTAP file system and use it as a shared storage for a SQL Server. | -| [Deploy FSx ONTAP](/Terraform/deploy-fsx-ontap) | This sample shows how to deploy an FSx for ONTAP file system using Terraform. | -| [FSx ONTAP Replicate](/Terraform/fsxn-replicate)| This sample shows how to use Terraform to replicate an FSx for ONTAP file system for disaster recovery purposes. | +| [Deploy FSx ONTAP File Share](deploy-fsx-ontap-fileshare-access) | This sample shows how to deploy an FSx for ONTAP file system and access it from a remote system using OpenVPN. | +| [Deploy FSx ONTAP SQL Server](deploy-fsx-ontap-sqlserver) | This sample shows how to deploy on FSx for ONTAP file system and use it as a shared storage for a SQL Server. | +| [Deploy FSx ONTAP](deploy-fsx-ontap) | This sample shows how to deploy an FSx for ONTAP file system using Terraform. | +| [FSx ONTAP Replicate](fsxn-replicate)| This sample shows how to use Terraform to replicate an FSx for ONTAP file system for disaster recovery purposes. | ## Author Information From 06d3b9a09801bea80454cc50880e4b820635e236 Mon Sep 17 00:00:00 2001 From: Keith Cantrell Date: Tue, 17 Feb 2026 19:02:39 -0600 Subject: [PATCH 8/8] Reorganized the IaC directories --- .github/workflows/terraform-docs.yml | 8 ++++---- .github/workflows/terraform.yml | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/terraform-docs.yml b/.github/workflows/terraform-docs.yml index cd6d07b..8a1c7d9 100644 --- a/.github/workflows/terraform-docs.yml +++ b/.github/workflows/terraform-docs.yml @@ -7,10 +7,10 @@ name: "Documentation: terraform-docs" on: pull_request: paths: - - 'Terraform/**' + - 'Infrastructure_as_Code/Terraform/**' push: paths: - - 'Terraform/**' + - 'Infrastructure_as_Code/Terraform/**' branches: - main @@ -20,8 +20,8 @@ jobs: strategy: matrix: directory: - - 'Terraform/deploy-fsx-ontap/module' - - 'Terraform/deploy-fsx-ontap/standalone-module' + - 'Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module' + - 'Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module' steps: - name: Checkout pull request uses: actions/checkout@v3.5.0 diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index 8b9ed55..6e74c3b 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -7,10 +7,10 @@ name: "Code Quality: Terraform" on: pull_request: paths: - - 'Terraform/**' + - 'Infrastructure_as_Code/Terraform/**' push: paths: - - 'Terraform/**' + - 'Infrastructure_as_Code/Terraform/**' branches: - main @@ -21,8 +21,8 @@ jobs: strategy: matrix: directory: - - 'Terraform/deploy-fsx-ontap/module' - - 'Terraform/deploy-fsx-ontap/standalone-module' + - 'Infrastructure_as_Code/Terraform/deploy-fsx-ontap/module' + - 'Infrastructure_as_Code/Terraform/deploy-fsx-ontap/standalone-module' defaults: run: working-directory: ${{ matrix.directory }} @@ -47,4 +47,4 @@ jobs: # run: terraform fmt -diff -check -no-color -recursive - name: Validate Terraform configuration - run: terraform validate \ No newline at end of file + run: terraform validate