Skip to content

Commit

Permalink
Changing various resources to typeSet.
Browse files Browse the repository at this point in the history
  • Loading branch information
tyao117 committed Mar 12, 2024
1 parent 32156b3 commit 5dfec70
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 7 deletions.
10 changes: 8 additions & 2 deletions ibm/service/scc/resource_ibm_scc_control_library.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ func ResourceIbmSccControlLibrary() *schema.Resource {
Computed: true,
Description: "The number of assessments.",
},

"assessments": {
Type: schema.TypeSet,
Optional: true,
Expand Down Expand Up @@ -212,6 +213,13 @@ func ResourceIbmSccControlLibrary() *schema.Resource {
},
},
},
"assessments_map": {
Type: schema.TypeMap,
Computed: true,
Elem: &schema.Schema{
Type: schema.TypeString,
},
},
},
},
},
Expand Down Expand Up @@ -924,8 +932,6 @@ func resourceIbmSccControlLibraryControlSpecificationsToMap(model *securityandco
}
assessmentsList := schema.NewSet(compareAssessmentSetFunc, assessments)
modelMap["assessments"] = assessmentsList

// modelMap["assessments"] = assessments
}
return modelMap, nil
}
Expand Down
20 changes: 17 additions & 3 deletions ibm/service/scc/resource_ibm_scc_profile_attachment.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import (
"context"
"fmt"
"log"
"math/big"
"strconv"
"strings"

"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
Expand Down Expand Up @@ -162,7 +165,7 @@ func ResourceIbmSccProfileAttachment() *schema.Resource {
},
},
"attachment_parameters": {
Type: schema.TypeList,
Type: schema.TypeSet,
Optional: true,
Description: "The profile parameters for the attachment.",
Elem: &schema.Resource{
Expand Down Expand Up @@ -321,6 +324,16 @@ func resourceIbmSccProfileAttachmentCreate(context context.Context, d *schema.Re
return resourceIbmSccProfileAttachmentRead(context, d, meta)
}

func cmpAttachParamSetFunc(v interface{}) int {
m := v.(map[string]interface{})
id := (m["assessment_id"]).(*string)
assId := (*id)[5:18]
var i big.Int
i.SetString(strings.Replace(assId, "-", "", 4), 16)
val, _ := strconv.Atoi(i.String())
return val
}

func resourceIbmSccProfileAttachmentRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
securityandcompliancecenterapiClient, err := meta.(conns.ClientSession).SecurityAndComplianceCenterV3()
if err != nil {
Expand Down Expand Up @@ -419,14 +432,15 @@ func resourceIbmSccProfileAttachmentRead(context context.Context, d *schema.Reso
}
}
if !core.IsNil(attachmentItem.AttachmentParameters) {
attachmentParameters := []map[string]interface{}{}
attachmentParametersList := []interface{}{}
for _, attachmentParametersItem := range attachmentItem.AttachmentParameters {
attachmentParametersItemMap, err := resourceIbmSccProfileAttachmentAttachmentParameterPrototypeToMap(&attachmentParametersItem)
if err != nil {
return diag.FromErr(err)
}
attachmentParameters = append(attachmentParameters, attachmentParametersItemMap)
attachmentParametersList = append(attachmentParametersList, attachmentParametersItemMap)
}
attachmentParameters := schema.NewSet(cmpAttachParamSetFunc, attachmentParametersList)
if err = d.Set("attachment_parameters", attachmentParameters); err != nil {
return diag.FromErr(fmt.Errorf("Error setting attachment_parameters: %s", err))
}
Expand Down
4 changes: 2 additions & 2 deletions ibm/service/scc/resource_ibm_scc_profile_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,11 @@ func testAccCheckIbmSccProfileConfig(instanceID string, profileName string, prof
}
default_parameters {
assessment_type = "automated"
assessment_id = {for k,v in resource.ibm_scc_control_library.scc_control_library_instance.controls[0].control_specifications[0].assessments: k => v if v.assessment_id == "rule-a637949b-7e51-46c4-afd4-b96619001bf1"}[0].assessment_id
assessment_id = "rule-a637949b-7e51-46c4-afd4-b96619001bf1"
parameter_name = "session_invalidation_in_seconds"
parameter_type = "numeric"
parameter_default_value = "9"
parameter_display_name = {for k,v in resource.ibm_scc_control_library.scc_control_library_instance.controls[0].control_specifications[0].assessments: k => v if v.assessment_id == "rule-a637949b-7e51-46c4-afd4-b96619001bf1"}[0].parameters[0].parameter_display_name
parameter_display_name = "Sign out due to inactivity in seconds"
}
}
Expand Down

0 comments on commit 5dfec70

Please sign in to comment.