diff --git a/docs/example-template/terraform/main.tf b/docs/example-template/terraform/main.tf index b91fdd8..9a50d04 100644 --- a/docs/example-template/terraform/main.tf +++ b/docs/example-template/terraform/main.tf @@ -2,7 +2,7 @@ terraform { required_providers { netapp-ontap = { source = "NetApp/netapp-ontap" - version = "~> 1.0" + version = "~> 2.5" } } } diff --git a/terraform/nfs-provision/main.tf b/terraform/nfs-provision/main.tf index 8d00e0d..030c209 100644 --- a/terraform/nfs-provision/main.tf +++ b/terraform/nfs-provision/main.tf @@ -36,15 +36,24 @@ resource "netapp-ontap_volume" "nfs_vol" { size_unit = var.volume_size_unit } nas = { - junction_path = "/${var.volume_name}" + junction_path = "/${var.volume_name}" + export_policy_name = netapp-ontap_nfs_export_policy.vol_policy.name } + +} + +# Step 2 — Create a dedicated NFS export policy +resource "netapp-ontap_nfs_export_policy" "vol_policy" { + cx_profile_name = "cluster1" + name = "${var.volume_name}_export_policy" + svm_name = var.svm_name } -# Step 2 — Add a client-match rule to the default export policy +# Step 3 — Add a client-match rule to the dedicated policy resource "netapp-ontap_nfs_export_policy_rule" "client_rule" { cx_profile_name = "cluster1" svm_name = var.svm_name - export_policy_name = "default" + export_policy_name = netapp-ontap_nfs_export_policy.vol_policy.name clients_match = [var.client_match] ro_rule = ["any"] rw_rule = ["any"] @@ -52,6 +61,6 @@ resource "netapp-ontap_nfs_export_policy_rule" "client_rule" { protocols = ["nfs"] depends_on = [ - netapp-ontap_volume.nfs_vol, + netapp-ontap_nfs_export_policy.vol_policy, ] } diff --git a/terraform/nfs-provision/outputs.tf b/terraform/nfs-provision/outputs.tf index 0ee17ac..003b95e 100644 --- a/terraform/nfs-provision/outputs.tf +++ b/terraform/nfs-provision/outputs.tf @@ -8,6 +8,11 @@ output "mount_path" { value = netapp-ontap_volume.nfs_vol.nas.junction_path } +output "export_policy" { + description = "Name of the dedicated NFS export policy" + value = netapp-ontap_nfs_export_policy.vol_policy.name +} + output "client_match" { description = "Client match rule on the export policy" value = var.client_match