github.com/candidpartners/terraform@v0.9.5-0.20171005231213-29f5f88820f6/builtin/providers/netapp/resource_cloud_volume_test.go (about) 1 package netapp 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/candidpartners/occm-sdk-go/api/workenv" 8 "github.com/hashicorp/terraform/helper/resource" 9 "github.com/hashicorp/terraform/terraform" 10 ) 11 12 func TestAccCloudVolume_nfs_vsa_basic(t *testing.T) { 13 var id *string 14 15 resource.Test(t, resource.TestCase{ 16 PreCheck: func() { testAccPreCheck(t) }, 17 Providers: testAccProviders, 18 CheckDestroy: testAccCheckCloudVolumeDestroy, 19 Steps: []resource.TestStep{ 20 resource.TestStep{ 21 Config: testAccCloudVolume_nfs_vsa_with_aggregate, 22 Check: resource.ComposeTestCheckFunc( 23 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-nfs-volume", id), 24 resource.TestCheckResourceAttrSet( 25 "netapp_cloud_volume.vsa-nfs-volume", "workenv_id"), 26 resource.TestCheckResourceAttrSet( 27 "netapp_cloud_volume.vsa-nfs-volume", "svm_name"), 28 resource.TestCheckResourceAttrSet( 29 "netapp_cloud_volume.vsa-nfs-volume", "aggregate_name"), 30 resource.TestCheckResourceAttr( 31 "netapp_cloud_volume.vsa-nfs-volume", "name", "vsa_nfs_vol"), 32 resource.TestCheckResourceAttr( 33 "netapp_cloud_volume.vsa-nfs-volume", "type", "nfs"), 34 resource.TestCheckResourceAttr( 35 "netapp_cloud_volume.vsa-nfs-volume", "size", "1"), 36 resource.TestCheckResourceAttr( 37 "netapp_cloud_volume.vsa-nfs-volume", "size_unit", "GB"), 38 resource.TestCheckResourceAttr( 39 "netapp_cloud_volume.vsa-nfs-volume", "snapshot_policy", "default"), 40 resource.TestCheckResourceAttr( 41 "netapp_cloud_volume.vsa-nfs-volume", "export_policy.#", "1"), 42 resource.TestCheckResourceAttr( 43 "netapp_cloud_volume.vsa-nfs-volume", "export_policy.0", "10.11.12.13/32"), 44 resource.TestCheckResourceAttr( 45 "netapp_cloud_volume.vsa-nfs-volume", "thin_provisioning", "true"), 46 resource.TestCheckResourceAttr( 47 "netapp_cloud_volume.vsa-nfs-volume", "compression", "true"), 48 resource.TestCheckResourceAttr( 49 "netapp_cloud_volume.vsa-nfs-volume", "deduplication", "true"), 50 resource.TestCheckResourceAttr( 51 "netapp_cloud_volume.vsa-nfs-volume", "provider_volume_type", "gp2"), 52 ), 53 }, 54 }, 55 }) 56 } 57 58 func TestAccCloudVolume_nfs_vsa_data_change(t *testing.T) { 59 var id *string 60 61 resource.Test(t, resource.TestCase{ 62 PreCheck: func() { testAccPreCheck(t) }, 63 Providers: testAccProviders, 64 CheckDestroy: testAccCheckCloudVolumeDestroy, 65 Steps: []resource.TestStep{ 66 resource.TestStep{ 67 Config: testAccCloudVolume_nfs_vsa, 68 Check: resource.ComposeTestCheckFunc( 69 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-nfs-volume", id), 70 resource.TestCheckResourceAttr( 71 "netapp_cloud_volume.vsa-nfs-volume", "export_policy.#", "1"), 72 resource.TestCheckResourceAttr( 73 "netapp_cloud_volume.vsa-nfs-volume", "export_policy.0", "10.11.12.13/32"), 74 ), 75 }, 76 resource.TestStep{ 77 Config: testAccCloudVolume_nfs_vsa_data_change, 78 Check: resource.ComposeTestCheckFunc( 79 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-nfs-volume", id), 80 resource.TestCheckResourceAttr( 81 "netapp_cloud_volume.vsa-nfs-volume", "export_policy.#", "1"), 82 resource.TestCheckResourceAttr( 83 "netapp_cloud_volume.vsa-nfs-volume", "export_policy.0", "20.11.12.13/32"), 84 ), 85 }, 86 }, 87 }) 88 } 89 90 func TestAccCloudVolume_nfs_vsa_tier_change(t *testing.T) { 91 var id *string 92 93 resource.Test(t, resource.TestCase{ 94 PreCheck: func() { testAccPreCheck(t) }, 95 Providers: testAccProviders, 96 CheckDestroy: testAccCheckCloudVolumeDestroy, 97 Steps: []resource.TestStep{ 98 resource.TestStep{ 99 Config: testAccCloudVolume_nfs_vsa, 100 Check: resource.ComposeTestCheckFunc( 101 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-nfs-volume", id), 102 resource.TestCheckResourceAttr( 103 "netapp_cloud_volume.vsa-nfs-volume", "name", "vsa_nfs_vol"), 104 resource.TestCheckResourceAttr( 105 "netapp_cloud_volume.vsa-nfs-volume", "provider_volume_type", "gp2"), 106 ), 107 }, 108 resource.TestStep{ 109 Config: testAccCloudVolume_nfs_vsa_tier_change, 110 Check: resource.ComposeTestCheckFunc( 111 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-nfs-volume", id), 112 resource.TestCheckResourceAttr( 113 "netapp_cloud_volume.vsa-nfs-volume", "name", "vsa_nfs_vol"), 114 resource.TestCheckResourceAttr( 115 "netapp_cloud_volume.vsa-nfs-volume", "provider_volume_type", "st1"), 116 ), 117 }, 118 }, 119 }) 120 } 121 122 func TestAccCloudVolume_nfs_awsha_basic(t *testing.T) { 123 var id *string 124 125 resource.Test(t, resource.TestCase{ 126 PreCheck: func() { testAccPreCheck(t) }, 127 Providers: testAccProviders, 128 CheckDestroy: testAccCheckCloudVolumeDestroy, 129 Steps: []resource.TestStep{ 130 resource.TestStep{ 131 Config: testAccCloudVolume_nfs_awsha, 132 Check: resource.ComposeTestCheckFunc( 133 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-nfs-volume", id), 134 resource.TestCheckResourceAttrSet( 135 "netapp_cloud_volume.awsha-nfs-volume", "workenv_id"), 136 resource.TestCheckResourceAttrSet( 137 "netapp_cloud_volume.awsha-nfs-volume", "svm_name"), 138 resource.TestCheckResourceAttr( 139 "netapp_cloud_volume.awsha-nfs-volume", "name", "awsha_nfs_vol"), 140 resource.TestCheckResourceAttr( 141 "netapp_cloud_volume.awsha-nfs-volume", "type", "nfs"), 142 resource.TestCheckResourceAttr( 143 "netapp_cloud_volume.awsha-nfs-volume", "size", "1"), 144 resource.TestCheckResourceAttr( 145 "netapp_cloud_volume.awsha-nfs-volume", "size_unit", "GB"), 146 resource.TestCheckResourceAttr( 147 "netapp_cloud_volume.awsha-nfs-volume", "snapshot_policy", "default"), 148 resource.TestCheckResourceAttr( 149 "netapp_cloud_volume.awsha-nfs-volume", "export_policy.#", "1"), 150 resource.TestCheckResourceAttr( 151 "netapp_cloud_volume.awsha-nfs-volume", "export_policy.0", "12.13.14.15/32"), 152 resource.TestCheckResourceAttr( 153 "netapp_cloud_volume.awsha-nfs-volume", "thin_provisioning", "true"), 154 resource.TestCheckResourceAttr( 155 "netapp_cloud_volume.awsha-nfs-volume", "compression", "false"), 156 resource.TestCheckResourceAttr( 157 "netapp_cloud_volume.awsha-nfs-volume", "deduplication", "false"), 158 resource.TestCheckResourceAttr( 159 "netapp_cloud_volume.awsha-nfs-volume", "provider_volume_type", "st1"), 160 ), 161 }, 162 }, 163 }) 164 } 165 166 func TestAccCloudVolume_nfs_awsha_tier_change(t *testing.T) { 167 var id *string 168 169 resource.Test(t, resource.TestCase{ 170 PreCheck: func() { testAccPreCheck(t) }, 171 Providers: testAccProviders, 172 CheckDestroy: testAccCheckCloudVolumeDestroy, 173 Steps: []resource.TestStep{ 174 resource.TestStep{ 175 Config: testAccCloudVolume_nfs_awsha, 176 Check: resource.ComposeTestCheckFunc( 177 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-nfs-volume", id), 178 resource.TestCheckResourceAttr( 179 "netapp_cloud_volume.awsha-nfs-volume", "name", "awsha_nfs_vol"), 180 resource.TestCheckResourceAttr( 181 "netapp_cloud_volume.awsha-nfs-volume", "provider_volume_type", "st1"), 182 ), 183 }, 184 resource.TestStep{ 185 Config: testAccCloudVolume_nfs_awsha_tier_change, 186 Check: resource.ComposeTestCheckFunc( 187 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-nfs-volume", id), 188 resource.TestCheckResourceAttr( 189 "netapp_cloud_volume.awsha-nfs-volume", "name", "awsha_nfs_vol"), 190 resource.TestCheckResourceAttr( 191 "netapp_cloud_volume.awsha-nfs-volume", "provider_volume_type", "gp2"), 192 ), 193 }, 194 }, 195 }) 196 } 197 198 func TestAccCloudVolume_nfs_awsha_data_change(t *testing.T) { 199 var id *string 200 201 resource.Test(t, resource.TestCase{ 202 PreCheck: func() { testAccPreCheck(t) }, 203 Providers: testAccProviders, 204 CheckDestroy: testAccCheckCloudVolumeDestroy, 205 Steps: []resource.TestStep{ 206 resource.TestStep{ 207 Config: testAccCloudVolume_nfs_awsha, 208 Check: resource.ComposeTestCheckFunc( 209 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-nfs-volume", id), 210 resource.TestCheckResourceAttr( 211 "netapp_cloud_volume.awsha-nfs-volume", "export_policy.#", "1"), 212 resource.TestCheckResourceAttr( 213 "netapp_cloud_volume.awsha-nfs-volume", "export_policy.0", "12.13.14.15/32"), 214 ), 215 }, 216 resource.TestStep{ 217 Config: testAccCloudVolume_nfs_awsha_data_change, 218 Check: resource.ComposeTestCheckFunc( 219 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-nfs-volume", id), 220 resource.TestCheckResourceAttr( 221 "netapp_cloud_volume.awsha-nfs-volume", "export_policy.#", "1"), 222 resource.TestCheckResourceAttr( 223 "netapp_cloud_volume.awsha-nfs-volume", "export_policy.0", "22.13.14.15/32"), 224 ), 225 }, 226 }, 227 }) 228 } 229 230 func TestAccCloudVolume_cifs_vsa_basic(t *testing.T) { 231 var id *string 232 233 resource.Test(t, resource.TestCase{ 234 PreCheck: func() { testAccPreCheck(t) }, 235 Providers: testAccProviders, 236 CheckDestroy: testAccCheckCloudVolumeDestroy, 237 Steps: []resource.TestStep{ 238 resource.TestStep{ 239 Config: testAccCloudVolume_cifs_vsa, 240 Check: resource.ComposeTestCheckFunc( 241 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-cifs-volume", id), 242 resource.TestCheckResourceAttrSet( 243 "netapp_cloud_volume.vsa-cifs-volume", "workenv_id"), 244 resource.TestCheckResourceAttrSet( 245 "netapp_cloud_volume.vsa-cifs-volume", "svm_name"), 246 resource.TestCheckResourceAttr( 247 "netapp_cloud_volume.vsa-cifs-volume", "name", "vsa_cifs_vol"), 248 resource.TestCheckResourceAttr( 249 "netapp_cloud_volume.vsa-cifs-volume", "type", "cifs"), 250 resource.TestCheckResourceAttr( 251 "netapp_cloud_volume.vsa-cifs-volume", "size", "1"), 252 resource.TestCheckResourceAttr( 253 "netapp_cloud_volume.vsa-cifs-volume", "size_unit", "GB"), 254 resource.TestCheckResourceAttr( 255 "netapp_cloud_volume.vsa-cifs-volume", "snapshot_policy", "default"), 256 resource.TestCheckResourceAttr( 257 "netapp_cloud_volume.vsa-cifs-volume", "share.#", "1"), 258 resource.TestCheckResourceAttr( 259 "netapp_cloud_volume.vsa-cifs-volume", "share.0.name", "cifs_volume_share"), 260 resource.TestCheckResourceAttr( 261 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.#", "1"), 262 resource.TestCheckResourceAttr( 263 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.type", "read"), 264 resource.TestCheckResourceAttr( 265 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.users.#", "1"), 266 resource.TestCheckResourceAttr( 267 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.users.0", "Everyone"), 268 resource.TestCheckResourceAttr( 269 "netapp_cloud_volume.vsa-cifs-volume", "thin_provisioning", "true"), 270 resource.TestCheckResourceAttr( 271 "netapp_cloud_volume.vsa-cifs-volume", "compression", "true"), 272 resource.TestCheckResourceAttr( 273 "netapp_cloud_volume.vsa-cifs-volume", "deduplication", "true"), 274 resource.TestCheckResourceAttr( 275 "netapp_cloud_volume.vsa-cifs-volume", "provider_volume_type", "gp2"), 276 ), 277 }, 278 }, 279 }) 280 } 281 282 func TestAccCloudVolume_cifs_vsa_data_change(t *testing.T) { 283 var id *string 284 285 resource.Test(t, resource.TestCase{ 286 PreCheck: func() { testAccPreCheck(t) }, 287 Providers: testAccProviders, 288 CheckDestroy: testAccCheckCloudVolumeDestroy, 289 Steps: []resource.TestStep{ 290 resource.TestStep{ 291 Config: testAccCloudVolume_cifs_vsa, 292 Check: resource.ComposeTestCheckFunc( 293 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-cifs-volume", id), 294 resource.TestCheckResourceAttr( 295 "netapp_cloud_volume.vsa-cifs-volume", "share.#", "1"), 296 resource.TestCheckResourceAttr( 297 "netapp_cloud_volume.vsa-cifs-volume", "share.0.name", "cifs_volume_share"), 298 resource.TestCheckResourceAttr( 299 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.#", "1"), 300 resource.TestCheckResourceAttr( 301 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.type", "read"), 302 resource.TestCheckResourceAttr( 303 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.users.#", "1"), 304 resource.TestCheckResourceAttr( 305 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.users.0", "Everyone"), 306 ), 307 }, 308 resource.TestStep{ 309 Config: testAccCloudVolume_cifs_vsa_data_change, 310 Check: resource.ComposeTestCheckFunc( 311 testAccCheckCloudVolumeExists("netapp_cloud_volume.vsa-cifs-volume", id), 312 resource.TestCheckResourceAttr( 313 "netapp_cloud_volume.vsa-cifs-volume", "share.#", "1"), 314 resource.TestCheckResourceAttr( 315 "netapp_cloud_volume.vsa-cifs-volume", "share.0.name", "cifs_volume_share"), 316 resource.TestCheckResourceAttr( 317 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.#", "1"), 318 resource.TestCheckResourceAttr( 319 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.type", "full_control"), 320 resource.TestCheckResourceAttr( 321 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.users.#", "1"), 322 resource.TestCheckResourceAttr( 323 "netapp_cloud_volume.vsa-cifs-volume", "share.0.permission.0.users.0", "Administrator"), 324 ), 325 }, 326 }, 327 }) 328 } 329 330 func TestAccCloudVolume_cifs_awsha_basic(t *testing.T) { 331 var id *string 332 333 resource.Test(t, resource.TestCase{ 334 PreCheck: func() { testAccPreCheck(t) }, 335 Providers: testAccProviders, 336 CheckDestroy: testAccCheckCloudVolumeDestroy, 337 Steps: []resource.TestStep{ 338 resource.TestStep{ 339 Config: testAccCloudVolume_cifs_awsha, 340 Check: resource.ComposeTestCheckFunc( 341 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-cifs-volume", id), 342 resource.TestCheckResourceAttrSet( 343 "netapp_cloud_volume.awsha-cifs-volume", "workenv_id"), 344 resource.TestCheckResourceAttrSet( 345 "netapp_cloud_volume.awsha-cifs-volume", "svm_name"), 346 resource.TestCheckResourceAttr( 347 "netapp_cloud_volume.awsha-cifs-volume", "name", "awsha_cifs_vol"), 348 resource.TestCheckResourceAttr( 349 "netapp_cloud_volume.awsha-cifs-volume", "type", "cifs"), 350 resource.TestCheckResourceAttr( 351 "netapp_cloud_volume.awsha-cifs-volume", "size", "1"), 352 resource.TestCheckResourceAttr( 353 "netapp_cloud_volume.awsha-cifs-volume", "size_unit", "GB"), 354 resource.TestCheckResourceAttr( 355 "netapp_cloud_volume.awsha-cifs-volume", "snapshot_policy", "default"), 356 resource.TestCheckResourceAttr( 357 "netapp_cloud_volume.awsha-cifs-volume", "share.#", "1"), 358 resource.TestCheckResourceAttr( 359 "netapp_cloud_volume.awsha-cifs-volume", "share.0.name", "cifs_volume_share"), 360 resource.TestCheckResourceAttr( 361 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.#", "1"), 362 resource.TestCheckResourceAttr( 363 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.type", "read"), 364 resource.TestCheckResourceAttr( 365 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.users.#", "1"), 366 resource.TestCheckResourceAttr( 367 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.users.0", "Everyone"), 368 resource.TestCheckResourceAttr( 369 "netapp_cloud_volume.awsha-cifs-volume", "thin_provisioning", "true"), 370 resource.TestCheckResourceAttr( 371 "netapp_cloud_volume.awsha-cifs-volume", "compression", "true"), 372 resource.TestCheckResourceAttr( 373 "netapp_cloud_volume.awsha-cifs-volume", "deduplication", "true"), 374 resource.TestCheckResourceAttr( 375 "netapp_cloud_volume.awsha-cifs-volume", "provider_volume_type", "gp2"), 376 ), 377 }, 378 }, 379 }) 380 } 381 382 func TestAccCloudVolume_cifs_awsha_data_change(t *testing.T) { 383 var id *string 384 385 resource.Test(t, resource.TestCase{ 386 PreCheck: func() { testAccPreCheck(t) }, 387 Providers: testAccProviders, 388 CheckDestroy: testAccCheckCloudVolumeDestroy, 389 Steps: []resource.TestStep{ 390 resource.TestStep{ 391 Config: testAccCloudVolume_cifs_awsha, 392 Check: resource.ComposeTestCheckFunc( 393 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-cifs-volume", id), 394 resource.TestCheckResourceAttr( 395 "netapp_cloud_volume.awsha-cifs-volume", "share.#", "1"), 396 resource.TestCheckResourceAttr( 397 "netapp_cloud_volume.awsha-cifs-volume", "share.0.name", "cifs_volume_share"), 398 resource.TestCheckResourceAttr( 399 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.#", "1"), 400 resource.TestCheckResourceAttr( 401 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.type", "read"), 402 resource.TestCheckResourceAttr( 403 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.users.#", "1"), 404 resource.TestCheckResourceAttr( 405 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.users.0", "Everyone"), 406 ), 407 }, 408 resource.TestStep{ 409 Config: testAccCloudVolume_cifs_awsha_data_change, 410 Check: resource.ComposeTestCheckFunc( 411 testAccCheckCloudVolumeExists("netapp_cloud_volume.awsha-cifs-volume", id), 412 resource.TestCheckResourceAttr( 413 "netapp_cloud_volume.awsha-cifs-volume", "share.#", "1"), 414 resource.TestCheckResourceAttr( 415 "netapp_cloud_volume.awsha-cifs-volume", "share.0.name", "cifs_volume_share"), 416 resource.TestCheckResourceAttr( 417 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.#", "1"), 418 resource.TestCheckResourceAttr( 419 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.type", "full_control"), 420 resource.TestCheckResourceAttr( 421 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.users.#", "1"), 422 resource.TestCheckResourceAttr( 423 "netapp_cloud_volume.awsha-cifs-volume", "share.0.permission.0.users.0", "Administrator"), 424 ), 425 }, 426 }, 427 }) 428 } 429 430 func testAccCheckCloudVolumeDestroy(s *terraform.State) error { 431 apis := testAccProvider.Meta().(*APIs) 432 433 for _, rs := range s.RootModule().Resources { 434 if rs.Type != "netapp_cloud_volume" { 435 continue 436 } 437 438 if rs.Primary.ID == "" { 439 return fmt.Errorf("No ID is set") 440 } 441 442 _, err := getCloudVolume(apis, rs.Primary.ID) 443 if err == nil { 444 return fmt.Errorf("Volume for ID %s still exists", rs.Primary.ID) 445 } 446 } 447 return nil 448 } 449 450 func testAccCheckCloudVolumeExists(n string, id *string) resource.TestCheckFunc { 451 return func(s *terraform.State) error { 452 rs, ok := s.RootModule().Resources[n] 453 if !ok { 454 return fmt.Errorf("Not found: %s", n) 455 } 456 457 if rs.Primary.ID == "" { 458 return fmt.Errorf("No ID is set") 459 } 460 461 apis := testAccProvider.Meta().(*APIs) 462 463 _, err := getCloudVolume(apis, rs.Primary.ID) 464 if err != nil { 465 return err 466 } 467 468 id = &rs.Primary.ID 469 470 return nil 471 } 472 } 473 474 func getCloudVolume(apis *APIs, id string) (*workenv.VolumeResponse, error) { 475 _, workenvId, _, volumeName, isHA, err := splitId(id) 476 if err != nil { 477 return nil, fmt.Errorf("Error splitting volume ID %s: %s", id, err) 478 } 479 480 var res *workenv.VolumeResponse 481 if isHA { 482 res, err = apis.AWSHAWorkingEnvironmentAPI.GetVolume(workenvId, volumeName) 483 } else { 484 res, err = apis.VSAWorkingEnvironmentAPI.GetVolume(workenvId, volumeName) 485 } 486 487 return res, err 488 } 489 490 const testAccCloudVolume_nfs_vsa_with_aggregate = ` 491 data "netapp_cloud_workenv" "vsa-workenv" { 492 name = "vsaenv" 493 } 494 495 resource "netapp_cloud_volume" "vsa-nfs-volume" { 496 workenv_id = "${data.netapp_cloud_workenv.vsa-workenv.public_id}" 497 svm_name = "${data.netapp_cloud_workenv.vsa-workenv.svm_name}" 498 aggregate_name = "aggr1" 499 name = "vsa_nfs_vol" 500 type = "nfs" 501 size = 1 502 size_unit = "GB" 503 snapshot_policy = "default" 504 export_policy = ["10.11.12.13/32"] 505 thin_provisioning = true 506 compression = true 507 deduplication = true 508 } 509 ` 510 const testAccCloudVolume_nfs_vsa = ` 511 data "netapp_cloud_workenv" "vsa-workenv" { 512 name = "vsaenv" 513 } 514 515 resource "netapp_cloud_volume" "vsa-nfs-volume" { 516 workenv_id = "${data.netapp_cloud_workenv.vsa-workenv.public_id}" 517 svm_name = "${data.netapp_cloud_workenv.vsa-workenv.svm_name}" 518 name = "vsa_nfs_vol" 519 type = "nfs" 520 size = 1 521 size_unit = "GB" 522 snapshot_policy = "default" 523 export_policy = ["10.11.12.13/32"] 524 thin_provisioning = true 525 compression = true 526 deduplication = true 527 } 528 ` 529 const testAccCloudVolume_nfs_vsa_tier_change = ` 530 data "netapp_cloud_workenv" "vsa-workenv" { 531 name = "vsaenv" 532 } 533 534 resource "netapp_cloud_volume" "vsa-nfs-volume" { 535 workenv_id = "${data.netapp_cloud_workenv.vsa-workenv.public_id}" 536 svm_name = "${data.netapp_cloud_workenv.vsa-workenv.svm_name}" 537 name = "vsa_nfs_vol" 538 type = "nfs" 539 size = 1 540 size_unit = "GB" 541 snapshot_policy = "default" 542 export_policy = ["10.11.12.13/32"] 543 provider_volume_type = "st1" 544 thin_provisioning = true 545 compression = true 546 deduplication = true 547 } 548 ` 549 const testAccCloudVolume_nfs_vsa_data_change = ` 550 data "netapp_cloud_workenv" "vsa-workenv" { 551 name = "vsaenv" 552 } 553 554 resource "netapp_cloud_volume" "vsa-nfs-volume" { 555 workenv_id = "${data.netapp_cloud_workenv.vsa-workenv.public_id}" 556 svm_name = "${data.netapp_cloud_workenv.vsa-workenv.svm_name}" 557 name = "vsa_nfs_vol" 558 type = "nfs" 559 size = 1 560 size_unit = "GB" 561 snapshot_policy = "default" 562 export_policy = ["20.11.12.13/32"] 563 thin_provisioning = true 564 compression = true 565 deduplication = true 566 } 567 ` 568 const testAccCloudVolume_nfs_awsha = ` 569 data "netapp_cloud_workenv" "awsha-workenv" { 570 name = "awshaenv" 571 } 572 573 resource "netapp_cloud_volume" "awsha-nfs-volume" { 574 workenv_id = "${data.netapp_cloud_workenv.awsha-workenv.public_id}" 575 svm_name = "${data.netapp_cloud_workenv.awsha-workenv.svm_name}" 576 name = "awsha_nfs_vol" 577 type = "nfs" 578 size = 1 579 size_unit = "GB" 580 snapshot_policy = "default" 581 export_policy = ["12.13.14.15/32"] 582 provider_volume_type = "st1" 583 thin_provisioning = true 584 compression = false 585 deduplication = false 586 } 587 ` 588 const testAccCloudVolume_nfs_awsha_tier_change = ` 589 data "netapp_cloud_workenv" "awsha-workenv" { 590 name = "awshaenv" 591 } 592 593 resource "netapp_cloud_volume" "awsha-nfs-volume" { 594 workenv_id = "${data.netapp_cloud_workenv.awsha-workenv.public_id}" 595 svm_name = "${data.netapp_cloud_workenv.awsha-workenv.svm_name}" 596 name = "awsha_nfs_vol" 597 type = "nfs" 598 size = 1 599 size_unit = "GB" 600 snapshot_policy = "default" 601 export_policy = ["12.13.14.15/32"] 602 provider_volume_type = "gp2" 603 thin_provisioning = true 604 compression = false 605 deduplication = false 606 } 607 ` 608 const testAccCloudVolume_nfs_awsha_data_change = ` 609 data "netapp_cloud_workenv" "awsha-workenv" { 610 name = "awshaenv" 611 } 612 613 resource "netapp_cloud_volume" "awsha-nfs-volume" { 614 workenv_id = "${data.netapp_cloud_workenv.awsha-workenv.public_id}" 615 svm_name = "${data.netapp_cloud_workenv.awsha-workenv.svm_name}" 616 name = "awsha_nfs_vol" 617 type = "nfs" 618 size = 1 619 size_unit = "GB" 620 snapshot_policy = "default" 621 export_policy = ["22.13.14.15/32"] 622 provider_volume_type = "st1" 623 thin_provisioning = true 624 compression = false 625 deduplication = false 626 } 627 ` 628 const testAccCloudVolume_cifs_vsa = ` 629 data "netapp_cloud_workenv" "vsa-workenv" { 630 name = "vsaenv" 631 } 632 633 resource "netapp_cloud_volume" "vsa-cifs-volume" { 634 workenv_id = "${data.netapp_cloud_workenv.vsa-workenv.public_id}" 635 svm_name = "${data.netapp_cloud_workenv.vsa-workenv.svm_name}" 636 name = "vsa_cifs_vol" 637 type = "cifs" 638 size = 1 639 size_unit = "GB" 640 snapshot_policy = "default" 641 share { 642 name = "cifs_volume_share" 643 permission { 644 type = "read" 645 users = ["Everyone"] 646 } 647 } 648 thin_provisioning = true 649 compression = true 650 deduplication = true 651 } 652 ` 653 const testAccCloudVolume_cifs_vsa_data_change = ` 654 data "netapp_cloud_workenv" "vsa-workenv" { 655 name = "vsaenv" 656 } 657 658 resource "netapp_cloud_volume" "vsa-cifs-volume" { 659 workenv_id = "${data.netapp_cloud_workenv.vsa-workenv.public_id}" 660 svm_name = "${data.netapp_cloud_workenv.vsa-workenv.svm_name}" 661 name = "vsa_cifs_vol" 662 type = "cifs" 663 size = 1 664 size_unit = "GB" 665 snapshot_policy = "default" 666 share { 667 name = "cifs_volume_share" 668 permission { 669 type = "full_control" 670 users = ["Administrator"] 671 } 672 } 673 thin_provisioning = true 674 compression = true 675 deduplication = true 676 } 677 ` 678 const testAccCloudVolume_cifs_awsha = ` 679 data "netapp_cloud_workenv" "awsha-workenv" { 680 name = "awshaenv" 681 } 682 683 resource "netapp_cloud_volume" "awsha-cifs-volume" { 684 workenv_id = "${data.netapp_cloud_workenv.awsha-workenv.public_id}" 685 svm_name = "${data.netapp_cloud_workenv.awsha-workenv.svm_name}" 686 name = "awsha_cifs_vol" 687 type = "cifs" 688 size = 1 689 size_unit = "GB" 690 snapshot_policy = "default" 691 share { 692 name = "cifs_volume_share" 693 permission { 694 type = "read" 695 users = ["Everyone"] 696 } 697 } 698 thin_provisioning = true 699 compression = true 700 deduplication = true 701 } 702 ` 703 const testAccCloudVolume_cifs_awsha_data_change = ` 704 data "netapp_cloud_workenv" "awsha-workenv" { 705 name = "awshaenv" 706 } 707 708 resource "netapp_cloud_volume" "awsha-cifs-volume" { 709 workenv_id = "${data.netapp_cloud_workenv.awsha-workenv.public_id}" 710 svm_name = "${data.netapp_cloud_workenv.awsha-workenv.svm_name}" 711 name = "awsha_cifs_vol" 712 type = "cifs" 713 size = 1 714 size_unit = "GB" 715 snapshot_policy = "default" 716 share { 717 name = "cifs_volume_share" 718 permission { 719 type = "full_control" 720 users = ["Administrator"] 721 } 722 } 723 thin_provisioning = true 724 compression = true 725 deduplication = true 726 } 727 `