Skip to content

Commit

Permalink
[R] Add NSG Rule
Browse files Browse the repository at this point in the history
  • Loading branch information
ismirlia committed Sep 18, 2024
1 parent 73005b4 commit 3bc4ad3
Show file tree
Hide file tree
Showing 8 changed files with 996 additions and 35 deletions.
94 changes: 60 additions & 34 deletions ibm/acctest/acctest.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,40 +203,43 @@ var (
// For Power Colo

var (
Pi_auxiliary_volume_name string
Pi_cloud_instance_id string
Pi_dhcp_id string
Pi_host_group_id string
Pi_host_id string
Pi_image string
Pi_image_bucket_access_key string
Pi_image_bucket_file_name string
Pi_image_bucket_name string
Pi_image_bucket_region string
Pi_image_bucket_secret_key string
Pi_instance_name string
Pi_key_name string
Pi_network_name string
Pi_network_security_group_id string
Pi_placement_group_name string
Pi_replication_volume_name string
Pi_resource_group_id string
Pi_sap_image string
Pi_shared_processor_pool_id string
Pi_snapshot_id string
Pi_spp_placement_group_id string
Pi_target_storage_tier string
Pi_volume_clone_task_id string
Pi_volume_group_id string
Pi_volume_group_name string
Pi_volume_id string
Pi_volume_name string
Pi_volume_onboarding_id string
Pi_volume_onboarding_source_crn string
PiCloudConnectionName string
PiSAPProfileID string
PiStoragePool string
PiStorageType string
Pi_auxiliary_volume_name string
Pi_cloud_instance_id string
Pi_dhcp_id string
Pi_host_group_id string
Pi_host_id string
Pi_image string
Pi_image_bucket_access_key string
Pi_image_bucket_file_name string
Pi_image_bucket_name string
Pi_image_bucket_region string
Pi_image_bucket_secret_key string
Pi_instance_name string
Pi_key_name string
Pi_network_name string
Pi_network_security_group_id string
Pi_network_security_group_rule_id string
Pi_placement_group_name string
Pi_remote_id string
Pi_remote_type string
Pi_replication_volume_name string
Pi_resource_group_id string
Pi_sap_image string
Pi_shared_processor_pool_id string
Pi_snapshot_id string
Pi_spp_placement_group_id string
Pi_target_storage_tier string
Pi_volume_clone_task_id string
Pi_volume_group_id string
Pi_volume_group_name string
Pi_volume_id string
Pi_volume_name string
Pi_volume_onboarding_id string
Pi_volume_onboarding_source_crn string
PiCloudConnectionName string
PiSAPProfileID string
PiStoragePool string
PiStorageType string
)

var (
Expand Down Expand Up @@ -1067,6 +1070,13 @@ func init() {
Pi_network_security_group_id = "terraform-test-power"
fmt.Println("[INFO] Set the environment variable PI_NETWORK_SECURITY_GROUP_ID for testing ibm_pi_network_security_group resource else it is set to default value 'terraform-test-power'")
}

Pi_network_security_group_rule_id = os.Getenv("PI_NETWORK_SECURITY_GROUP_RULE_ID")
if Pi_network_security_group_rule_id == "" {
Pi_network_security_group_rule_id = "terraform-test-power"
fmt.Println("[INFO] Set the environment variable PI_NETWORK_SECURITY_GROUP_RULE_ID for testing ibm_pi_network_security_group resource else it is set to default value 'terraform-test-power'")
}

Pi_volume_name = os.Getenv("PI_VOLUME_NAME")
if Pi_volume_name == "" {
Pi_volume_name = "terraform-test-power"
Expand Down Expand Up @@ -1156,21 +1166,37 @@ func init() {
Pi_placement_group_name = "tf-pi-placement-group"
fmt.Println("[WARN] Set the environment variable PI_PLACEMENT_GROUP_NAME for testing ibm_pi_placement_group resource else it is set to default value 'tf-pi-placement-group'")
}

Pi_remote_id = os.Getenv("PI_REMOTE_ID")
if Pi_remote_id == "" {
Pi_remote_id = "terraform-test-power"
fmt.Println("[WARN] Set the environment variable PI_REMOTE_ID for testing ibm_pi_network_security_group resource else it is set to default value 'terraform-test-power'")
}

Pi_remote_type = os.Getenv("PI_REMOTE_TYPE")
if Pi_remote_type == "" {
Pi_remote_type = "terraform-test-power"
fmt.Println("[WARN] Set the environment variable PI_REMOTE_TYPE for testing ibm_pi_network_security_group resource else it is set to default value 'terraform-test-power'")
}

Pi_spp_placement_group_id = os.Getenv("PI_SPP_PLACEMENT_GROUP_ID")
if Pi_spp_placement_group_id == "" {
Pi_spp_placement_group_id = "tf-pi-spp-placement-group"
fmt.Println("[WARN] Set the environment variable PI_SPP_PLACEMENT_GROUP_ID for testing ibm_pi_spp_placement_group resource else it is set to default value 'tf-pi-spp-placement-group'")
}

PiStoragePool = os.Getenv("PI_STORAGE_POOL")
if PiStoragePool == "" {
PiStoragePool = "terraform-test-power"
fmt.Println("[INFO] Set the environment variable PI_STORAGE_POOL for testing ibm_pi_storage_pool_capacity else it is set to default value 'terraform-test-power'")
}

PiStorageType = os.Getenv("PI_STORAGE_TYPE")
if PiStorageType == "" {
PiStorageType = "terraform-test-power"
fmt.Println("[INFO] Set the environment variable PI_STORAGE_TYPE for testing ibm_pi_storage_type_capacity else it is set to default value 'terraform-test-power'")
}

// Added for resource capture instance testing
Pi_capture_storage_image_path = os.Getenv("PI_CAPTURE_STORAGE_IMAGE_PATH")
if Pi_capture_storage_image_path == "" {
Expand Down
16 changes: 16 additions & 0 deletions ibm/flex/structures.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,22 @@ func FlattenIntList(list []int) []interface{} {
return vs
}

func ExpandInt64List(input []interface{}) []int64 {
vs := make([]int64, len(input))
for i, v := range input {
vs[i] = v.(int64)
}
return vs
}

func FlattenInt64List(list []int64) []interface{} {
vs := make([]interface{}, len(list))
for i, v := range list {
vs[i] = v
}
return vs
}

func NewStringSet(f schema.SchemaSetFunc, in []string) *schema.Set {
var out = make([]interface{}, len(in), len(in))
for i, v := range in {
Expand Down
1 change: 1 addition & 0 deletions ibm/provider/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -1302,6 +1302,7 @@ func Provider() *schema.Provider {
"ibm_pi_network_port_attach": power.ResourceIBMPINetworkPortAttach(),
"ibm_pi_network_security_group_action": power.ResourceIBMPINetworkSecurityGroupAction(),
"ibm_pi_network_security_group_member": power.ResourceIBMPINetworkSecurityGroupMember(),
"ibm_pi_network_security_group_rule": power.ResourceIBMPINetworkSecurityGroupRule(),
"ibm_pi_network_security_group": power.ResourceIBMPINetworkSecurityGroup(),
"ibm_pi_network": power.ResourceIBMPINetwork(),
"ibm_pi_placement_group": power.ResourceIBMPIPlacementGroup(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,6 @@ func networkSecurityGroupRuleToMap(rule *models.NetworkSecurityGroupRule) map[st
ruleMap[Attr_Protocol] = []map[string]interface{}{protocolMap}

remoteMap := networkSecurityGroupRuleRemoteToMap(rule.Remote)

ruleMap[Attr_Remote] = []map[string]interface{}{remoteMap}

if rule.SourcePort != nil {
Expand Down
19 changes: 19 additions & 0 deletions ibm/service/power/ibm_pi_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ const (
Arg_DeploymentTarget = "pi_deployment_target"
Arg_DeploymentType = "pi_deployment_type"
Arg_Description = "pi_description"
Arg_DestinationPorts = "pi_destination_ports"
Arg_DhcpID = "pi_dhcp_id"
Arg_DhcpName = "pi_dhcp_name"
Arg_DhcpSnatEnabled = "pi_dhcp_snat_enabled"
Expand Down Expand Up @@ -48,6 +49,7 @@ const (
Arg_NetworkName = "pi_network_name"
Arg_NetworkSecurityGroupID = "pi_network_security_group_id"
Arg_NetworkSecurityGroupMemberID = "pi_network_security_group_member_id"
Arg_NetworkSecurityGroupRuleID = "pi_network_security_group_rule_id"
Arg_PIInstanceSharedProcessorPool = "pi_shared_processor_pool"
Arg_PinPolicy = "pi_pin_policy"
Arg_PlacementGroupID = "pi_placement_group_id"
Expand All @@ -56,9 +58,11 @@ const (
Arg_Plan = "pi_plan"
Arg_Processors = "pi_processors"
Arg_ProcType = "pi_proc_type"
Arg_Protocol = "pi_protocol"
Arg_PVMInstanceActionType = "pi_action"
Arg_PVMInstanceHealthStatus = "pi_health_status"
Arg_PVMInstanceId = "pi_instance_id"
Arg_Remote = "pi_remote"
Arg_Remove = "pi_remove"
Arg_Replicants = "pi_replicants"
Arg_ReplicationEnabled = "pi_replication_enabled"
Expand All @@ -77,6 +81,7 @@ const (
Arg_SharedProcessorPoolReservedCores = "pi_shared_processor_pool_reserved_cores"
Arg_SnapshotID = "pi_snapshot_id"
Arg_SnapShotName = "pi_snap_shot_name"
Arg_SourcePorts = "pi_source_ports"
Arg_SPPPlacementGroupID = "pi_spp_placement_group_id"
Arg_SPPPlacementGroupName = "pi_spp_placement_group_name"
Arg_SPPPlacementGroupPolicy = "pi_spp_placement_group_policy"
Expand Down Expand Up @@ -437,26 +442,36 @@ const (

// Allowed Values
Affinity = "affinity"
All = "all"
Allow = "allow"
AntiAffinity = "anti-affinity"
Attach = "attach"
BYOL = "byol"
Capped = "capped"
Critical = "CRITICAL"
CUSTOM_VIRTUAL_CORES = "custom-virtualcores"
Dedicated = "dedicated"
DefaultNAG = "default-network-address-group"
Deny = "deny"
DeploymentTypeEpic = "EPIC"
DeploymentTypeVMNoStorage = "VMNoStorage"
DestinationUnreach = "destination-unreach"
DHCPVlan = "dhcp-vlan"
Disable = "disable"
Echo = "echo"
EchoReply = "echo-reply"
Enable = "enable"
Hana = "Hana"
Hard = "hard"
Host = "host"
HostGroup = "hostGroup"
ICMP = "icmp"
IPV4_Address = "ipv4-address"
NAG = "network-address-group"
Netweaver = "Netweaver"
Network_Interface = "network-interface"
None = "none"
NSG = "network-security-group"
OK = "OK"
PER = "power-edge-router"
Prefix = "prefix"
Expand All @@ -466,7 +481,11 @@ const (
SAP = "SAP"
Shared = "shared"
Soft = "soft"
SourceQuench = "source-quench"
Suffix = "suffix"
TCP = "tcp"
TimeExceeded = "time-exceeded"
UDP = "udp"
Vlan = "vlan"
vSCSI = "vSCSI"
Warning = "WARNING"
Expand Down
Loading

0 comments on commit 3bc4ad3

Please sign in to comment.