Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ require (
github.com/IBM/secrets-manager-go-sdk/v2 v2.0.15
github.com/IBM/vmware-go-sdk v0.1.5
github.com/IBM/vpc-beta-go-sdk v0.8.0
github.com/IBM/vpc-go-sdk v0.75.0
github.com/IBM/vpc-go-sdk v0.77.0
github.com/ScaleFT/sshkeys v0.0.0-20200327173127-6142f742bca5
github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.2
github.com/akamai/AkamaiOPEN-edgegrid-golang/v5 v5.0.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,8 @@ github.com/IBM/vmware-go-sdk v0.1.5 h1:aQbwcJBceaaauuIoJ0OJn+ttwjb+QTX6XV9Jbrdpj
github.com/IBM/vmware-go-sdk v0.1.5/go.mod h1:OyQKRInGGsBaOyE5LIZCqH7b1DZ01BvIYa8BgGy+wWo=
github.com/IBM/vpc-beta-go-sdk v0.8.0 h1:cEPpv4iw3Ba5W2d0AWg3TIbKeJ8y1nPuUuibR5Jt9eE=
github.com/IBM/vpc-beta-go-sdk v0.8.0/go.mod h1:hORgIyTFRzXrZIK9IohaWmCRBBlYiDRagsufi7M6akE=
github.com/IBM/vpc-go-sdk v0.75.0 h1:8s11vR30n0eY9ptf6Osh9Bw13okhMVasb/KX9M52LEg=
github.com/IBM/vpc-go-sdk v0.75.0/go.mod h1:8lX6TpeYBbx1Vd4KTgM3PPQ4y3auGOPuD6qq3UBDdug=
github.com/IBM/vpc-go-sdk v0.77.0 h1:qAJ1lrwRn509v9yIx3M7pYtBiAucpug+6M/63KS6Er0=
github.com/IBM/vpc-go-sdk v0.77.0/go.mod h1:85bJ/0FS7vYAifHdZvlnXypf8pQSmuf9kxReDDI5ZdY=
github.com/Logicalis/asn1 v0.0.0-20190312173541-d60463189a56 h1:vuquMR410psHNax14XKNWa0Ae/kYgWJcXi0IFuX60N0=
github.com/Logicalis/asn1 v0.0.0-20190312173541-d60463189a56/go.mod h1:Zb3OT4l0mf7P/GOs2w2Ilj5sdm5Whoq3pa24dAEBHFc=
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
Expand Down
10 changes: 10 additions & 0 deletions ibm/service/vpc/data_source_ibm_is_security_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
isSgRuleID = "rule_id"
isSgRuleDirection = "direction"
isSgRuleIPVersion = "ip_version"
isSgRuleName = "name"
isSgRuleRemote = "remote"
isSgRuleLocal = "local"
isSgRuleType = "type"
Expand Down Expand Up @@ -92,6 +93,12 @@
Description: "IP version: ipv4",
},

isSgRuleName: {
Type: schema.TypeString,
Computed: true,
Description: "The name for this security group rule. The name is unique across all rules in the security group.",
},

isSgRuleRemote: {
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -310,6 +317,7 @@
}
r[isSgRuleDirection] = *rule.Direction
r[isSgRuleIPVersion] = *rule.IPVersion
r[isSgRuleName] = rule.Name
if rule.Protocol != nil {
r[isSgRuleProtocol] = *rule.Protocol
}
Expand Down Expand Up @@ -340,10 +348,11 @@

case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll":
{
rule := sgrule.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll)

Check failure on line 351 in ibm/service/vpc/data_source_ibm_is_security_group.go

View workflow job for this annotation

GitHub Actions / Build

undefined: vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll
r := make(map[string]interface{})
r[isSgRuleDirection] = *rule.Direction
r[isSgRuleIPVersion] = *rule.IPVersion
r[isSgRuleName] = rule.Name
if rule.Protocol != nil {
r[isSgRuleProtocol] = *rule.Protocol
}
Expand Down Expand Up @@ -384,6 +393,7 @@
}
r[isSgRuleDirection] = *rule.Direction
r[isSgRuleIPVersion] = *rule.IPVersion
r[isSgRuleName] = rule.Name
if rule.Protocol != nil {
r[isSgRuleProtocol] = *rule.Protocol
}
Expand Down
14 changes: 14 additions & 0 deletions ibm/service/vpc/data_source_ibm_is_security_group_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@
Computed: true,
Description: "The direction of traffic to enforce, either `inbound` or `outbound`.",
},
"name": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The name for this security group rule. The name is unique across all rules in the security group.",
},
"href": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -171,7 +176,7 @@
switch reflect.TypeOf(securityGroupRuleIntf).String() {
case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll":
{
securityGroupRule := securityGroupRuleIntf.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll)

Check failure on line 179 in ibm/service/vpc/data_source_ibm_is_security_group_rule.go

View workflow job for this annotation

GitHub Actions / Build

undefined: vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll

d.SetId(*securityGroupRule.ID)
if err = d.Set("direction", securityGroupRule.Direction); err != nil {
Expand All @@ -183,6 +188,9 @@
if err = d.Set("ip_version", securityGroupRule.IPVersion); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting ip_version: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-ip_version").GetDiag()
}
if err = d.Set("name", securityGroupRule.Name); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-name").GetDiag()
}
if err = d.Set("protocol", securityGroupRule.Protocol); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting protocol: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-protocol").GetDiag()
}
Expand Down Expand Up @@ -217,6 +225,9 @@
if err = d.Set("href", securityGroupRule.Href); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting href: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-href").GetDiag()
}
if err = d.Set("name", securityGroupRule.Name); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-name").GetDiag()
}
if err = d.Set("ip_version", securityGroupRule.IPVersion); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting ip_version: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-ip_version").GetDiag()
}
Expand Down Expand Up @@ -267,6 +278,9 @@
if err = d.Set("ip_version", securityGroupRule.IPVersion); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting ip_version: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-ip_version").GetDiag()
}
if err = d.Set("name", securityGroupRule.Name); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting name: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-name").GetDiag()
}
if err = d.Set("protocol", securityGroupRule.Protocol); err != nil {
return flex.DiscriminatedTerraformErrorf(err, fmt.Sprintf("Error setting protocol: %s", err), "(Data) ibm_is_security_group_rule", "read", "set-protocol").GetDiag()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ func TestAccIBMIsSecurityGroupRuleDataSourceBasic(t *testing.T) {
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rule.example", "direction"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rule.example", "href"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rule.example", "ip_version"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rule.example", "name"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rule.example", "protocol"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rule.example", "remote.#"),
),
Expand Down
14 changes: 14 additions & 0 deletions ibm/service/vpc/data_source_ibm_is_security_group_rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@
Computed: true,
Description: "The unique identifier for this security group rule.",
},
"name": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The name for this security group rule. The name is unique across all rules in the security group.",
},
"ip_version": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -182,10 +187,13 @@
switch reflect.TypeOf(rule).String() {
case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll":
{
rulex := rule.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll)

Check failure on line 190 in ibm/service/vpc/data_source_ibm_is_security_group_rules.go

View workflow job for this annotation

GitHub Actions / Build

undefined: vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll
l["direction"] = *rulex.Direction
l["href"] = *rulex.Href
l["id"] = *rulex.ID
if rulex.Name != nil {
l["name"] = rulex.Name
}
l["ip_version"] = *rulex.IPVersion
l["protocol"] = *rulex.Protocol
// nested map for remote.
Expand All @@ -210,6 +218,9 @@
l["direction"] = *rulex.Direction
l["href"] = *rulex.Href
l["id"] = *rulex.ID
if rulex.Name != nil {
l["name"] = rulex.Name
}
l["ip_version"] = *rulex.IPVersion
if rulex.Code != nil {
l["code"] = *rulex.Code
Expand Down Expand Up @@ -239,6 +250,9 @@
l["direction"] = *rulex.Direction
l["href"] = *rulex.Href
l["id"] = *rulex.ID
if rulex.Name != nil {
l["name"] = rulex.Name
}
l["ip_version"] = *rulex.IPVersion
l["protocol"] = *rulex.Protocol
l["port_max"] = *rulex.PortMax
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ func TestAccIBMIsSecurityGroupRulesDataSourceBasic(t *testing.T) {
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rules.example", "rules.0.direction"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rules.example", "rules.0.href"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rules.example", "rules.0.ip_version"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rules.example", "rules.0.name"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rules.example", "rules.0.protocol"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_group_rules.example", "rules.0.remote.#"),
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ func TestAccIBMISSecurityGroupDatasource_Filters(t *testing.T) {
resource.TestCheckResourceAttr(dataSourceName, "vpc_name", vpcname),
resource.TestCheckResourceAttrSet(dataSourceName2, "vpc"),
resource.TestCheckResourceAttrSet(dataSourceName2, "rules.#"),
resource.TestCheckResourceAttrSet(dataSourceName2, "rules.name"),
resource.TestCheckResourceAttrSet(dataSourceName2, "tags.#"),
resource.TestCheckResourceAttr(dataSourceName2, "vpc_name", vpcname2),
),
Expand Down
14 changes: 14 additions & 0 deletions ibm/service/vpc/data_source_ibm_is_security_groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,11 @@
Computed: true,
Description: "The protocol to enforce.",
},
"name": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Description: "The name for this security group rule. The name is unique across all rules in the security group.",
},
"local": &schema.Schema{
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -476,7 +481,7 @@
switch reflect.TypeOf(rulesItem).String() {
case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll":
{
securityGroupRule := rulesItem.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll)

Check failure on line 484 in ibm/service/vpc/data_source_ibm_is_security_groups.go

View workflow job for this annotation

GitHub Actions / Build

undefined: vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll
if securityGroupRule.ID != nil {
resultMap["id"] = securityGroupRule.ID
}
Expand All @@ -492,6 +497,9 @@
if securityGroupRule.Protocol != nil {
resultMap["protocol"] = securityGroupRule.Protocol
}
if securityGroupRule.Name != nil {
resultMap["name"] = securityGroupRule.Name
}
if securityGroupRule.Remote != nil {
remoteList := []map[string]interface{}{}
remoteMap := dataSourceSecurityGroupsRemoteToMap(*securityGroupRule.Remote.(*vpcv1.SecurityGroupRuleRemote))
Expand Down Expand Up @@ -523,6 +531,9 @@
if securityGroupRule.Protocol != nil {
resultMap["protocol"] = securityGroupRule.Protocol
}
if securityGroupRule.Name != nil {
resultMap["name"] = securityGroupRule.Name
}
if securityGroupRule.Href != nil {
resultMap["href"] = securityGroupRule.Href
}
Expand Down Expand Up @@ -564,6 +575,9 @@
if securityGroupRule.Protocol != nil {
resultMap["protocol"] = securityGroupRule.Protocol
}
if securityGroupRule.Name != nil {
resultMap["name"] = securityGroupRule.Name
}
if securityGroupRule.Href != nil {
resultMap["href"] = securityGroupRule.Href
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ func TestAccIBMIsSecurityGroupsDataSourceBasic(t *testing.T) {
resource.TestCheckResourceAttrSet("data.ibm_is_security_groups.example", "security_groups.0.name"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_groups.example", "security_groups.0.resource_group.#"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_groups.example", "security_groups.0.rules.#"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_groups.example", "security_groups.0.rules.name"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_groups.example", "security_groups.0.targets.#"),
resource.TestCheckResourceAttrSet("data.ibm_is_security_groups.example", "security_groups.0.vpc.#"),
),
Expand Down
15 changes: 15 additions & 0 deletions ibm/service/vpc/data_source_ibm_is_vpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,12 @@
Computed: true,
},

isVPCSecurityGroupRuleName: {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

test changes for this

Type: schema.TypeString,
Computed: true,
Description: "The name for this security group rule. The name must not be used by another rule in the security group.",
},

isVPCSecurityGroupRulePortMin: {
Type: schema.TypeInt,
Computed: true,
Expand Down Expand Up @@ -921,6 +927,9 @@
if rule.Protocol != nil {
r[isVPCSecurityGroupRuleProtocol] = *rule.Protocol
}
if rule.Name != nil {
r[isVPCSecurityGroupRuleName] = *rule.Name
}
r[isVPCSecurityGroupRuleID] = *rule.ID
remote, ok := rule.Remote.(*vpcv1.SecurityGroupRuleRemote)
if ok {
Expand All @@ -939,10 +948,13 @@

case "*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll":
{
rule := sgrule.(*vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll)

Check failure on line 951 in ibm/service/vpc/data_source_ibm_is_vpc.go

View workflow job for this annotation

GitHub Actions / Build

undefined: vpcv1.SecurityGroupRuleSecurityGroupRuleProtocolAll
r := make(map[string]interface{})
r[isVPCSecurityGroupRuleDirection] = *rule.Direction
r[isVPCSecurityGroupRuleIPVersion] = *rule.IPVersion
if rule.Name != nil {
r[isVPCSecurityGroupRuleName] = *rule.Name
}
if rule.Protocol != nil {
r[isVPCSecurityGroupRuleProtocol] = *rule.Protocol
}
Expand All @@ -968,6 +980,9 @@
r := make(map[string]interface{})
r[isVPCSecurityGroupRuleDirection] = *rule.Direction
r[isVPCSecurityGroupRuleIPVersion] = *rule.IPVersion
if rule.Name != nil {
r[isVPCSecurityGroupRuleName] = *rule.Name
}
if rule.PortMin != nil {
r[isVPCSecurityGroupRulePortMin] = int(*rule.PortMin)
}
Expand Down
15 changes: 15 additions & 0 deletions ibm/service/vpc/resource_ibm_is_security_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,9 @@ func resourceIBMISSecurityGroupRead(context context.Context, d *schema.ResourceD
r[isSecurityGroupRuleType] = int(*rule.Type)
}
r[isSecurityGroupRuleDirection] = *rule.Direction
if rule.Name != nil {
r[isSecurityGroupRuleName] = *rule.Name
}
r[isSecurityGroupRuleIPVersion] = *rule.IPVersion
if rule.Protocol != nil {
r[isSecurityGroupRuleProtocol] = *rule.Protocol
Expand Down Expand Up @@ -336,6 +339,9 @@ func resourceIBMISSecurityGroupRead(context context.Context, d *schema.ResourceD
r := make(map[string]interface{})
r[isSecurityGroupRuleDirection] = *rule.Direction
r[isSecurityGroupRuleIPVersion] = *rule.IPVersion
if rule.Name != nil {
r[isSecurityGroupRuleName] = *rule.Name
}
if rule.Protocol != nil {
r[isSecurityGroupRuleProtocol] = *rule.Protocol
}
Expand Down Expand Up @@ -375,6 +381,9 @@ func resourceIBMISSecurityGroupRead(context context.Context, d *schema.ResourceD
}
r[isSecurityGroupRuleDirection] = *rule.Direction
r[isSecurityGroupRuleIPVersion] = *rule.IPVersion
if rule.Name != nil {
r[isSecurityGroupRuleName] = *rule.Name
}
if rule.Protocol != nil {
r[isSecurityGroupRuleProtocol] = *rule.Protocol
}
Expand Down Expand Up @@ -659,6 +668,12 @@ func makeIBMISSecurityRuleSchema() map[string]*schema.Schema {
Description: "IP version: ipv4",
},

isSecurityGroupRuleName: {
Type: schema.TypeString,
Computed: true,
Description: "The name for this security group rule. The name is unique across all rules in the security group.",
},

isSecurityGroupRuleRemote: {
Type: schema.TypeString,
Computed: true,
Expand Down
30 changes: 30 additions & 0 deletions ibm/service/vpc/resource_ibm_is_security_group_rule.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
const (
isSecurityGroupRuleCode = "code"
isSecurityGroupRuleDirection = "direction"
isSecurityGroupRuleName = "name"
isSecurityGroupRuleIPVersion = "ip_version"
isSecurityGroupRuleIPVersionDefault = "ipv4"
isSecurityGroupRulePortMax = "port_max"
Expand Down Expand Up @@ -91,6 +92,13 @@ func ResourceIBMISSecurityGroupRule() *schema.Resource {
Description: "Security group id: an IP address, a CIDR block, or a single security group identifier",
},

isSecurityGroupRuleName: {
Type: schema.TypeString,
Optional: true,
Computed: true,
Description: "The name for this security group rule. The name must not be used by another rule in the security group. If unspecified, the name will be a hyphenated list of randomly-selected words.",
},

isSecurityGroupRuleProtocolICMP: {
Type: schema.TypeList,
MaxItems: 1,
Expand Down Expand Up @@ -361,6 +369,9 @@ func resourceIBMISSecurityGroupRuleRead(context context.Context, d *schema.Resou
if securityGroupRule.Code != nil {
icmpProtocol["code"] = *securityGroupRule.Code
}
if securityGroupRule.Name != nil {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is rule name set to protocol ?

icmpProtocol["name"] = *securityGroupRule.Name
}
protocolList := make([]map[string]interface{}, 0)
protocolList = append(protocolList, icmpProtocol)
if err = d.Set(isSecurityGroupRuleProtocolICMP, protocolList); err != nil {
Expand Down Expand Up @@ -421,6 +432,14 @@ func resourceIBMISSecurityGroupRuleRead(context context.Context, d *schema.Resou
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_security_group_rule", "read", "set-ip_version").GetDiag()
}
}

if !core.IsNil(securityGroupRule.Name) {
if err = d.Set("name", securityGroupRule.Name); err != nil {
err = fmt.Errorf("Error setting name: %s", err)
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_security_group_rule", "read", "set-name").GetDiag()
}
}

if err = d.Set("protocol", securityGroupRule.Protocol); err != nil {
err = fmt.Errorf("Error setting protocol: %s", err)
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_security_group_rule", "read", "set-protocol").GetDiag()
Expand Down Expand Up @@ -479,6 +498,12 @@ func resourceIBMISSecurityGroupRuleRead(context context.Context, d *schema.Resou
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_security_group_rule", "read", "set-ip_version").GetDiag()
}
}
if !core.IsNil(securityGroupRule.Name) {
if err = d.Set("name", securityGroupRule.Name); err != nil {
err = fmt.Errorf("Error setting name: %s", err)
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_security_group_rule", "read", "set-name").GetDiag()
}
}
if err = d.Set("protocol", securityGroupRule.Protocol); err != nil {
err = fmt.Errorf("Error setting protocol: %s", err)
return flex.DiscriminatedTerraformErrorf(err, err.Error(), "ibm_is_security_group_rule", "read", "set-protocol").GetDiag()
Expand Down Expand Up @@ -666,6 +691,7 @@ type parsedIBMISSecurityGroupRuleDictionary struct {
ruleID string
direction string
ipversion string
name string
remote string
remoteAddress string
remoteCIDR string
Expand Down Expand Up @@ -728,6 +754,10 @@ func parseIBMISSecurityGroupRuleDictionary(d *schema.ResourceData, tag string, s
sgTemplate.Direction = &parsed.direction
securityGroupRulePatchModel.Direction = &parsed.direction

parsed.name = d.Get(isSecurityGroupRuleName).(string)
sgTemplate.Name = &parsed.name
securityGroupRulePatchModel.Name = &parsed.name

if version, ok := d.GetOk(isSecurityGroupRuleIPVersion); ok {
parsed.ipversion = version.(string)
sgTemplate.IPVersion = &parsed.ipversion
Expand Down
1 change: 1 addition & 0 deletions ibm/service/vpc/resource_ibm_is_vpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ const (
isVPCSecurityGroupRuleRemote = "remote"
isVPCSecurityGroupRuleType = "type"
isVPCSecurityGroupRuleCode = "code"
isVPCSecurityGroupRuleName = "name"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has no code changes for rule name ?

isVPCSecurityGroupRulePortMax = "port_max"
isVPCSecurityGroupRulePortMin = "port_min"
isVPCSecurityGroupRuleProtocol = "protocol"
Expand Down
Loading
Loading