Skip to content

Commit

Permalink
Added an empty check on protocol_state_filtering_mode (#5468)
Browse files Browse the repository at this point in the history
* Added an empty check on protocol_state_filtering_mode in bare metal servers

* Added empty checks for psf in all resources

Added empty checks for psf in all resources

Test enhancements

* rearrange validations

* update vaidaiton in mounttarget

---------

Co-authored-by: Deepak Selvakumar <77007253+deepaksibm@users.noreply.github.com>
  • Loading branch information
uibm and deepaksibm authored Jun 26, 2024
1 parent 7b7db1e commit f92be40
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 17 deletions.
9 changes: 7 additions & 2 deletions ibm/service/vpc/resource_ibm_is_bare_metal_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -4219,8 +4219,13 @@ func resourceIBMIsBareMetalServerMapToVirtualNetworkInterfacePrototypeAttachment
if _, ok := d.GetOkExists(enablenat); ok && modelMap["enable_infrastructure_nat"] != nil {
model.EnableInfrastructureNat = core.BoolPtr(modelMap["enable_infrastructure_nat"].(bool))
}
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
if modelMap["protocol_state_filtering_mode"] != nil {
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok {
protocolStateFilteringMode := pStateFilteringInt.(string)
if protocolStateFilteringMode != "" {
model.ProtocolStateFilteringMode = core.StringPtr(protocolStateFilteringMode)
}
}
}
if modelMap["ips"] != nil && modelMap["ips"].(*schema.Set).Len() > 0 {
ips := []vpcv1.VirtualNetworkInterfaceIPPrototypeIntf{}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1092,8 +1092,10 @@ func resourceIBMIsBareMetalServerNetworkAttachmentMapToBareMetalServerNetworkAtt
if modelMap["name"] != nil && modelMap["name"].(string) != "" {
model.Name = core.StringPtr(modelMap["name"].(string))
}
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
if modelMap["protocol_state_filtering_mode"] != nil {
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok && pStateFilteringInt.(string) != "" {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
}
}
if modelMap["primary_ip"] != nil && len(modelMap["primary_ip"].([]interface{})) > 0 {
PrimaryIPModel, err := resourceIBMIsBareMetalServerNetworkAttachmentMapToVirtualNetworkInterfacePrimaryIPPrototype(modelMap["primary_ip"].([]interface{})[0].(map[string]interface{}))
Expand Down
6 changes: 4 additions & 2 deletions ibm/service/vpc/resource_ibm_is_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -6493,8 +6493,10 @@ func resourceIBMIsInstanceMapToVirtualNetworkInterfacePrototypeAttachmentContext
if modelMap["name"] != nil && modelMap["name"].(string) != "" {
model.Name = core.StringPtr(modelMap["name"].(string))
}
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
if modelMap["protocol_state_filtering_mode"] != nil {
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok && pStateFilteringInt.(string) != "" {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
}
}
if modelMap["primary_ip"] != nil && len(modelMap["primary_ip"].([]interface{})) > 0 {
PrimaryIPModel, err := resourceIBMIsInstanceMapToVirtualNetworkInterfacePrimaryIPReservedIPPrototype(modelMap["primary_ip"].([]interface{})[0].(map[string]interface{}))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -732,8 +732,10 @@ func resourceIBMIsInstanceNetworkAttachmentMapToInstanceNetworkAttachmentPrototy
if modelMap["name"] != nil && modelMap["name"].(string) != "" {
model.Name = core.StringPtr(modelMap["name"].(string))
}
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
if modelMap["protocol_state_filtering_mode"] != nil {
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok && pStateFilteringInt.(string) != "" {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
}
}
if modelMap["primary_ip"] != nil && len(modelMap["primary_ip"].([]interface{})) > 0 {
PrimaryIPModel, err := resourceIBMIsInstanceNetworkAttachmentMapToVirtualNetworkInterfacePrimaryIPPrototype(modelMap["primary_ip"].([]interface{})[0].(map[string]interface{}))
Expand Down
6 changes: 4 additions & 2 deletions ibm/service/vpc/resource_ibm_is_instance_template.go
Original file line number Diff line number Diff line change
Expand Up @@ -2813,8 +2813,10 @@ func resourceIBMIsInstanceTemplateMapToVirtualNetworkInterfacePrototypeAttachmen
}
model.PrimaryIP = PrimaryIPModel
}
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
if modelMap["protocol_state_filtering_mode"] != nil {
if pStateFilteringInt, ok := modelMap["protocol_state_filtering_mode"]; ok && pStateFilteringInt.(string) != "" {
model.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
}
}
if modelMap["resource_group"] != nil && modelMap["resource_group"].(string) != "" {
resourcegroupid := modelMap["resource_group"].(string)
Expand Down
16 changes: 11 additions & 5 deletions ibm/service/vpc/resource_ibm_is_instance_template_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func TestAccIBMISInstanceTemplate_vni(t *testing.T) {
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment"),
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment.0.virtual_network_interface"),
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment.0.virtual_network_interface.#"),
),
},
},
Expand All @@ -151,8 +151,8 @@ func TestAccIBMISInstanceTemplate_vniPSFM(t *testing.T) {
sshKeyName := fmt.Sprintf("tf-testsshkey%d", randInt)
protocolStateFilteringMode := "auto"

pNacName := fmt.Sprintf("tf-testvpc-pNac%d", randInt)
sNacName := fmt.Sprintf("tf-testvpc-sNac%d", randInt)
pNacName := fmt.Sprintf("tf-testvpc-pnac%d", randInt)
sNacName := fmt.Sprintf("tf-testvpc-snac%d", randInt)
resource.Test(t, resource.TestCase{
PreCheck: func() { acc.TestAccPreCheck(t) },
Providers: acc.TestAccProviders,
Expand All @@ -166,9 +166,15 @@ func TestAccIBMISInstanceTemplate_vniPSFM(t *testing.T) {
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "profile"),
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment"),
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment.#"),
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment.0.virtual_network_interface.#"),
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment.0.virtual_network_interface.0.protocol_state_filtering_mode"),
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "network_attachments.#"),
resource.TestCheckResourceAttrSet(
"ibm_is_instance_template.instancetemplate1", "primary_network_attachment.0.virtual_network_interface"),
"ibm_is_instance_template.instancetemplate1", "network_attachments.0.virtual_network_interface.0.protocol_state_filtering_mode"),
),
},
},
Expand Down
6 changes: 4 additions & 2 deletions ibm/service/vpc/resource_ibm_is_share_mount_target.go
Original file line number Diff line number Diff line change
Expand Up @@ -811,8 +811,10 @@ func ShareMountTargetMapToShareMountTargetPrototype(d *schema.ResourceData, vniM
if name != "" {
vniPrototype.Name = &name
}
if pStateFilteringInt, ok := vniMap["protocol_state_filtering_mode"]; ok {
vniPrototype.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
if vniMap["protocol_state_filtering_mode"] != nil {
if pStateFilteringInt, ok := vniMap["protocol_state_filtering_mode"]; ok && pStateFilteringInt.(string) != "" {
vniPrototype.ProtocolStateFilteringMode = core.StringPtr(pStateFilteringInt.(string))
}
}
primaryIp, ok := vniMap["primary_ip"]
if ok && len(primaryIp.([]interface{})) > 0 {
Expand Down

0 comments on commit f92be40

Please sign in to comment.