Authorizes and revokes both ingress and egress rulea for a given security group.
resource "cloudstack_security_group_rule" "web" { security_group_id = "e340b62b-fbc2-4081-8f67-e40455c44bce" rule { cidr_list = ["0.0.0.0/0"] protocol = "tcp" ports = ["80", "443"] } rule { cidr_list = ["192.168.0.0/24", "192.168.1.0/25"] protocol = "tcp" ports = ["80-90", "443"] traffic_type = "egress" user_security_group_list = ["group01", "group02"] } }
The following arguments are supported:
security_group_id
- (Required) The security group ID for which to create the rules. Changing this forces a new resource to be created.
rule
- (Required) Can be specified multiple times. Each rule block supports fields documented below.
project
- (Optional) The name or ID of the project in which the security group is created. Changing this forces a new resource to be created.
parallelism
(Optional) Specifies how much rules will be created or deleted concurrently. (defaults 2)
The rule
block supports:
cidr_list
- (Optional) A CIDR list to allow access to the given ports.
protocol
- (Required) The name of the protocol to allow. Valid options are: tcp
, udp
, icmp
, all
or a valid protocol number.
icmp_type
- (Optional) The ICMP type to allow, or -1
to allow any
. This can only be specified if the protocol is ICMP. (defaults 0)
icmp_code
- (Optional) The ICMP code to allow, or -1
to allow any
. This can only be specified if the protocol is ICMP. (defaults 0)
ports
- (Optional) List of ports and/or port ranges to allow. This can only be specified if the protocol is TCP, UDP, ALL or a valid protocol number.
traffic_type
- (Optional) The traffic type for the rule. Valid options are: ingress
or egress
. (defaults ingress)
user_security_group_list
- (Optional) A list of security groups to apply the rules to.
The following attributes are exported:
id
- The security group ID for which the rules are created.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/cloudstack/r/security_group_rule.html