Skip to content

Commit 7f0333b

Browse files
Hari Krishna Arlahkantare
authored andcommitted
enable commit while creating template/version
1 parent 5c78eec commit 7f0333b

4 files changed

+55
-1
lines changed

ibm/service/iamaccessgroup/resource_ibm_iam_access_group_template.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,17 @@ func resourceIBMIAMAccessGroupTemplateCreate(context context.Context, d *schema.
388388
}
389389
version, _ := strconv.Atoi(*templateResponse.Version)
390390

391+
if d.Get("committed").(bool) {
392+
commitTemplateOptions := &iamaccessgroupsv2.CommitTemplateOptions{}
393+
commitTemplateOptions.SetTemplateID(*templateResponse.ID)
394+
commitTemplateOptions.SetVersionNum(*templateResponse.Version)
395+
commitTemplateOptions.SetIfMatch(response.Headers.Get("ETag"))
396+
response, err = iamAccessGroupsClient.CommitTemplateWithContext(context, commitTemplateOptions)
397+
if err != nil {
398+
log.Printf("[DEBUG] CommitTemplateWithContext failed %s\n%s", err, response)
399+
return diag.FromErr(fmt.Errorf("CommitTemplateWithContext failed %s\n%s", err, response))
400+
}
401+
}
391402
d.SetId(fmt.Sprintf("%s/%d", *templateResponse.ID, version))
392403

393404
return resourceIBMIAMAccessGroupTemplateVersionRead(context, d, meta)

ibm/service/iamaccessgroup/resource_ibm_iam_access_group_template_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ func TestAccIBMIAMAccessGroupTemplateBasic(t *testing.T) {
3535
testAccCheckIBMIAMAccessGroupTemplateVersionExists("ibm_iam_access_group_template.template", conf),
3636
resource.TestCheckResourceAttr("ibm_iam_access_group_template.template", "name", name),
3737
resource.TestCheckResourceAttr("ibm_iam_access_group_template.template", "group.0.name", agName),
38+
resource.TestCheckResourceAttr("ibm_iam_access_group_template.template", "committed", "true"),
3839
),
3940
},
4041
},
@@ -106,6 +107,7 @@ func testAccCheckIBMIAMAccessGroupTemplateConfigBasic(name string, agName string
106107
group {
107108
name = "%s"
108109
}
110+
committed = true
109111
}
110112
`, name, agName)
111113
}

ibm/service/iamaccessgroup/resource_ibm_iam_access_group_template_version.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,18 @@ func resourceIBMIAMAccessGroupTemplateVersionCreate(context context.Context, d *
390390
return diag.FromErr(fmt.Errorf("CreateTemplateVersionWithContext failed %s\n%s", err, response))
391391
}
392392

393+
if d.Get("committed").(bool) {
394+
commitTemplateOptions := &iamaccessgroupsv2.CommitTemplateOptions{}
395+
commitTemplateOptions.SetTemplateID(*templateVersionResponse.ID)
396+
commitTemplateOptions.SetVersionNum(*templateVersionResponse.Version)
397+
commitTemplateOptions.SetIfMatch(response.Headers.Get("ETag"))
398+
response, err = iamAccessGroupsClient.CommitTemplateWithContext(context, commitTemplateOptions)
399+
if err != nil {
400+
log.Printf("[DEBUG] CommitTemplateWithContext failed %s\n%s", err, response)
401+
return diag.FromErr(fmt.Errorf("CommitTemplateWithContext failed %s\n%s", err, response))
402+
}
403+
}
404+
393405
d.SetId(fmt.Sprintf("%s/%s", *templateVersionResponse.ID, *templateVersionResponse.Version))
394406

395407
return resourceIBMIAMAccessGroupTemplateVersionRead(context, d, meta)

ibm/service/iamaccessgroup/resource_ibm_iam_access_group_template_version_test.go

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func TestAccIBMIAMAccessGroupTemplateVersion(t *testing.T) {
3636
resource.TestCheckResourceAttr("ibm_iam_access_group_template_version.template", "group.0.name", versionAGName),
3737
resource.TestCheckResourceAttr("ibm_iam_access_group_template_version.template", "name", name),
3838
resource.TestCheckResourceAttr("ibm_iam_access_group_template.template", "name", name),
39+
resource.TestCheckResourceAttr("ibm_iam_access_group_template_version.template", "committed", "true"),
3940
),
4041
},
4142
},
@@ -52,7 +53,7 @@ func TestAccIBMIAMAccessGroupTemplateVersionUpdateWithCommit(t *testing.T) {
5253
CheckDestroy: testAccCheckIBMIAMAccessGroupTemplateVersionDestroy,
5354
Steps: []resource.TestStep{
5455
{
55-
Config: testAccCheckIBMIAMAccessGroupTemplateVersionConfigBasic(name, agName, versionAGName),
56+
Config: testAccCheckIBMIAMAccessGroupTemplateVersionConfigBasicWithoutCommit(name, agName, versionAGName),
5657
Check: resource.ComposeAggregateTestCheckFunc(
5758
testAccCheckIBMIAMAccessGroupTemplateVersionExists("ibm_iam_access_group_template_version.template", conf),
5859
resource.TestCheckResourceAttr("ibm_iam_access_group_template.template", "group.0.name", agName),
@@ -87,6 +88,34 @@ func testAccCheckIBMIAMAccessGroupTemplateVersionConfigBasic(name string, agName
8788
}
8889
}
8990
91+
resource "ibm_iam_access_group_template_version" "template" {
92+
template_id = ibm_iam_access_group_template.template.template_id
93+
name = ibm_iam_access_group_template.template.name
94+
description = "Testing4"
95+
group {
96+
name = "%s"
97+
assertions {
98+
action_controls {
99+
add = false
100+
remove = true
101+
}
102+
}
103+
}
104+
committed = true
105+
}
106+
`, name, agName, versionAGName)
107+
}
108+
109+
func testAccCheckIBMIAMAccessGroupTemplateVersionConfigBasicWithoutCommit(name string, agName string, versionAGName string) string {
110+
return fmt.Sprintf(`
111+
resource "ibm_iam_access_group_template" "template" {
112+
name = "%s"
113+
description = "Test Terraform Description"
114+
group {
115+
name = "%s"
116+
}
117+
}
118+
90119
resource "ibm_iam_access_group_template_version" "template" {
91120
template_id = ibm_iam_access_group_template.template.template_id
92121
name = ibm_iam_access_group_template.template.name

0 commit comments

Comments
 (0)