Skip to content

Commit be80335

Browse files
committed
updates to docs and test
1 parent 01b1601 commit be80335

File tree

7 files changed

+173
-2
lines changed

7 files changed

+173
-2
lines changed

ibm/service/vpc/data_source_ibm_is_share.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@ func DataSourceIbmIsShare() *schema.Resource {
4141
Elem: &schema.Schema{Type: schema.TypeString},
4242
Description: "Allowed transit encryption modes",
4343
},
44+
"allowed_access_protocols": {
45+
Type: schema.TypeList,
46+
Computed: true,
47+
Elem: &schema.Schema{Type: schema.TypeString},
48+
Description: "Allowed access protocols for this share",
49+
},
50+
"bandwidth": {
51+
Type: schema.TypeInt,
52+
Computed: true,
53+
Description: "The bandwidth for this share.",
54+
},
4455
"created_at": {
4556
Type: schema.TypeString,
4657
Computed: true,
@@ -692,6 +703,16 @@ func dataSourceIbmIsShareRead(context context.Context, d *schema.ResourceData, m
692703
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_share", "read", "set-allowed_transit_encryption_modes").GetDiag()
693704
}
694705
}
706+
if !core.IsNil(share.AllowedAccessProtocols) {
707+
if err = d.Set("allowed_access_protocols", share.AllowedAccessProtocols); err != nil {
708+
err = fmt.Errorf("Error setting allowed_access_protocols: %s", err)
709+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_share", "read", "set-allowed_access_protocols").GetDiag()
710+
}
711+
}
712+
if err = d.Set("bandwidth", share.Bandwidth); err != nil {]
713+
err = fmt.Errorf("Error setting bandwidth: %s", err)
714+
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_share", "read", "set-bandwidth").GetDiag()
715+
}
695716
if err = d.Set("accessor_binding_role", share.AccessorBindingRole); err != nil {
696717
err = fmt.Errorf("Error setting accessor_binding_role: %s", err)
697718
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_share", "read", "set-accessor_binding_role").GetDiag()

ibm/service/vpc/data_source_ibm_is_shares.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@ func DataSourceIbmIsShares() *schema.Resource {
5050
Computed: true,
5151
Description: "The access control mode for the share",
5252
},
53+
"allowed_access_protocols": {
54+
Type: schema.TypeList,
55+
Computed: true,
56+
Elem: &schema.Schema{Type: schema.TypeString},
57+
Description: "Allowed access protocols for this share",
58+
},
59+
"bandwidth": {
60+
Type: schema.TypeInt,
61+
Computed: true,
62+
Description: "The bandwidth for this share.",
63+
},
5364
"created_at": {
5465
Type: schema.TypeString,
5566
Computed: true,
@@ -711,6 +722,12 @@ func dataSourceShareCollectionSharesToMap(meta interface{}, sharesItem vpcv1.Sha
711722
if !core.IsNil(sharesItem.AllowedTransitEncryptionModes) {
712723
sharesMap["allowed_transit_encryption_modes"] = sharesItem.AllowedTransitEncryptionModes
713724
}
725+
if !core.IsNil(sharesItem.AllowedAccessProtocols) {
726+
sharesMap["allowed_access_protocols"] = sharesItem.AllowedAccessProtocols
727+
}
728+
if sharesItem.Bandwidth != nil {
729+
sharesMap["bandwidth"] = sharesItem.Bandwidth
730+
}
714731
if sharesItem.AccessorBindingRole != nil {
715732
sharesMap["accessor_binding_role"] = sharesItem.AccessorBindingRole
716733
}

ibm/service/vpc/resource_ibm_is_share_mount_target_test.go

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,31 @@ func TestAccIBMIsShareMountTargetTransitEncryptionBasic(t *testing.T) {
6868
})
6969
}
7070

71+
func TestAccIBMIsShareMountTargetTransitEncryptionIpsec(t *testing.T) {
72+
var conf vpcv1.ShareMountTarget
73+
vpcname := fmt.Sprintf("tf-vpc-name-%d", acctest.RandIntRange(10, 100))
74+
targetName := fmt.Sprintf("tf-target-%d", acctest.RandIntRange(10, 100))
75+
sname := fmt.Sprintf("tf-fs-name-%d", acctest.RandIntRange(10, 100))
76+
vniName := fmt.Sprintf("tf-fs-vni-%d", acctest.RandIntRange(10, 100))
77+
primaryIPName := fmt.Sprintf("tf-fs-pipname-%d", acctest.RandIntRange(10, 100))
78+
subnetName := fmt.Sprintf("tf-fs-subnetn-%d", acctest.RandIntRange(10, 100))
79+
resource.Test(t, resource.TestCase{
80+
PreCheck: func() { acc.TestAccPreCheck(t) },
81+
Providers: acc.TestAccProviders,
82+
CheckDestroy: testAccCheckIbmIsShareTargetDestroy,
83+
Steps: []resource.TestStep{
84+
{
85+
Config: testAccCheckIBMIsShareTargetTransitEncryptionConfigIpsec(vpcname, sname, vniName, subnetName, primaryIPName, targetName),
86+
Check: resource.ComposeAggregateTestCheckFunc(
87+
testAccCheckIbmIsShareTargetExists("ibm_is_share_mount_target.is_share_target", conf),
88+
resource.TestCheckResourceAttr("ibm_is_share_mount_target.is_share_target", "name", targetName),
89+
resource.TestCheckResourceAttr("ibm_is_share_mount_target.is_share_target", "transit_encryption", "user_managed"),
90+
),
91+
},
92+
},
93+
})
94+
}
95+
7196
func TestAccIbmIsShareMountTargetVNISubnet(t *testing.T) {
7297
var conf vpcv1.ShareMountTarget
7398
vpcname := fmt.Sprintf("tf-vpc-name-%d", acctest.RandIntRange(10, 100))
@@ -507,7 +532,45 @@ func testAccCheckIBMIsShareTargetTransitEncryptionConfigBasic(vpcName, sname, vn
507532
}
508533
resource "ibm_is_share_mount_target" "is_share_target" {
509534
share = ibm_is_share.is_share.id
510-
transit_encryption = "user_managed"
535+
transit_encryption = "ipsec"
536+
virtual_network_interface {
537+
name = "%s"
538+
primary_ip {
539+
name = "%s"
540+
}
541+
subnet = ibm_is_subnet.testacc_subnet.id
542+
}
543+
name = "%s"
544+
}
545+
`, sname, acc.ShareProfileName, vpcName, subnetName, acc.ISCIDR, vniName, primaryIPName, targetName)
546+
}
547+
548+
func testAccCheckIBMIsShareTargetTransitEncryptionConfigIpsec(vpcName, sname, vniName, subnetName, primaryIPName, targetName string) string {
549+
return fmt.Sprintf(`
550+
data "ibm_resource_group" "group" {
551+
is_default = "true"
552+
}
553+
resource "ibm_is_share" "is_share" {
554+
access_control_mode = "security_group"
555+
allowed_access_protocols = ["nfs4]
556+
zone = "us-south-1"
557+
size = 200
558+
name = "%s"
559+
profile = "%s"
560+
}
561+
resource "ibm_is_vpc" "testacc_vpc" {
562+
name = "%s"
563+
}
564+
resource "ibm_is_subnet" "testacc_subnet" {
565+
name = "%s"
566+
vpc = ibm_is_vpc.testacc_vpc.id
567+
zone = "us-south-1"
568+
ipv4_cidr_block = "%s"
569+
}
570+
resource "ibm_is_share_mount_target" "is_share_target" {
571+
share = ibm_is_share.is_share.id
572+
transit_encryption = "ipsec"
573+
access_protocol = "nfs4"
511574
virtual_network_interface {
512575
name = "%s"
513576
primary_ip {

ibm/service/vpc/resource_ibm_is_share_snapshot.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ func ResourceIBMIsShareSnapshotShareSnapshotStatusReasonToMap(model *vpcv1.Share
689689
return modelMap, nil
690690
}
691691

692-
func ResourceIBMIsShareSnapshotZoneReferenceToMap(model *vpcv1.ZoneReference) (map[string]interface{}, error) {
692+
func ResourceIBMIsShareSnapshotZoneReferenceToMap(model *vpcv1.ShareSnapshotZone) (map[string]interface{}, error) {
693693
modelMap := make(map[string]interface{})
694694
modelMap["href"] = *model.Href
695695
modelMap["name"] = *model.Name

ibm/service/vpc/resource_ibm_is_share_test.go

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,35 @@ func TestAccIbmIsShareVNIID(t *testing.T) {
264264
})
265265
}
266266

267+
func TestAccIbmIsRegionalShare(t *testing.T) {
268+
var conf vpcv1.Share
269+
270+
name := fmt.Sprintf("tf-fs-name-%d", acctest.RandIntRange(10, 100))
271+
subnetName := fmt.Sprintf("tf-subnet-%d", acctest.RandIntRange(10, 100))
272+
shareTargetName := fmt.Sprintf("tf-fs-tg-name-%d", acctest.RandIntRange(10, 100))
273+
vpcname := fmt.Sprintf("tf-vpc-name-%d", acctest.RandIntRange(10, 100))
274+
vniname := fmt.Sprintf("tf-vni-%d", acctest.RandIntRange(10, 100))
275+
276+
resource.Test(t, resource.TestCase{
277+
PreCheck: func() { acc.TestAccPreCheck(t) },
278+
Providers: acc.TestAccProviders,
279+
CheckDestroy: testAccCheckIbmIsShareDestroy,
280+
Steps: []resource.TestStep{
281+
{
282+
Config: testAccCheckIbmIsRegionalShareConfig(vpcname, subnetName, shareTargetName, vniname, name),
283+
Check: resource.ComposeAggregateTestCheckFunc(
284+
testAccCheckIbmIsShareExists("ibm_is_share.is_share", conf),
285+
resource.TestCheckResourceAttr("ibm_is_share.is_share", "name", name),
286+
resource.TestCheckResourceAttrSet("ibm_is_share.is_share", "id"),
287+
resource.TestCheckResourceAttrSet("ibm_is_share.is_share", "mount_targets.0.virtual_network_interface.0.id"),
288+
resource.TestCheckResourceAttr("ibm_is_share.is_share", "mount_targets.0.access_protocol", "nfs4"),
289+
resource.TestCheckResourceAttrSet("ibm_is_share.is_share", "mount_targets.0.virtual_network_interface.0.name"),
290+
),
291+
},
292+
},
293+
})
294+
}
295+
267296
func TestAccIbmIsShareOriginShare(t *testing.T) {
268297
var conf vpcv1.Share
269298

@@ -396,6 +425,43 @@ func testAccCheckIbmIsShareConfigVNIID(vpcName, sname, targetName, vniName, shar
396425
`, vpcName, sname, acc.ISCIDR, vniName, shareName, targetName)
397426
}
398427

428+
func testAccCheckIbmIsRegionalShareConfig(vpcName, sname, targetName, vniName, shareName string) string {
429+
return fmt.Sprintf(`
430+
data "ibm_resource_group" "group" {
431+
is_default = "true"
432+
}
433+
resource "ibm_is_vpc" "testacc_vpc" {
434+
name = "%s"
435+
}
436+
resource "ibm_is_subnet" "testacc_subnet" {
437+
name = "%s"
438+
vpc = ibm_is_vpc.testacc_vpc.id
439+
zone = "us-south-1"
440+
ipv4_cidr_block = "%s"
441+
}
442+
resource "ibm_is_virtual_network_interface" "testacc_vni"{
443+
name = "%s"
444+
subnet = ibm_is_subnet.testacc_subnet.id
445+
}
446+
resource "ibm_is_share" "is_share" {
447+
access_control_mode = "security_group"
448+
allowed_access_protocols = "nfs4"
449+
zone = "us-south-1"
450+
size = 220
451+
name = "%s"
452+
profile = "rfs"
453+
mount_targets {
454+
transit_encryption = "ipsec"
455+
access_protocol = "nfs4"
456+
name = "%s"
457+
virtual_network_interface {
458+
id = ibm_is_virtual_network_interface.testacc_vni.id
459+
}
460+
}
461+
}
462+
`, vpcName, sname, acc.ISCIDR, vniName, shareName, targetName)
463+
}
464+
399465
func testAccCheckIbmIsShareConfigOriginShareConfig(vpcName, sname, tEMode, shareName, shareName1 string) string {
400466
return fmt.Sprintf(`
401467

website/docs/d/is_share.html.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ The following attributes are exported:
5252
- `id` - (String) The unique identifier for this share accessor binding.
5353
- `resource_type` - (String) The resource type.
5454
- `allowed_transit_encryption_modes` - (List of string) The transit encryption modes allowed for this share.
55+
- `allowed_access_protocols` - (List of string) Allowed access protocols for the share.
56+
- `bandwidth` - (Integer) Bandwidth of the share
5557
- `access_tags` - (String) Access management tags associated to the share.
5658
- `created_at` - The date and time that the file share is created.
5759
- `crn` - The CRN for this share.

website/docs/d/is_shares.html.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ The following attributes are exported:
3737
- `id` - (String) The unique identifier for this share accessor binding.
3838
- `resource_type` - (String) The resource type.
3939
- `allowed_transit_encryption_modes` - (List of string) The transit encryption modes allowed for this share.
40+
- `allowed_access_protocols` - (List of string) Allowed access protocols for the share.
41+
- `bandwidth` - (Integer) Bandwidth of the share
4042
- `created_at` - The date and time that the file share is created.
4143
- `crn` - The CRN for this share.
4244
- `encryption` - The type of encryption used for this file share.

0 commit comments

Comments
 (0)