# NicFirewallRule

## Properties

| Name                   | Type        | Description                                                                                                                                                                          | Notes       |
| ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
| **name**               | **String**  | The name of the firewall rule.                                                                                                                                                       | \[optional] |
| **protocol**           | **String**  | The protocol for the rule. The property cannot be modified after its creation (not allowed in update requests).                                                                      |             |
| **source\_mac**        | **String**  | Only traffic originating from the respective MAC address is permitted. Valid format: 'aa:bb:cc:dd:ee:ff'. The value 'null' allows traffic from any MAC address.                      | \[optional] |
| **source\_ip**         | **String**  | Only traffic originating from the respective IPv4 address is permitted. The value 'null' allows traffic from any IP address.                                                         | \[optional] |
| **target\_ip**         | **String**  | If the target NIC has multiple IP addresses, only the traffic directed to the respective IP address of the NIC is allowed. The value 'null' allows traffic to any target IP address. | \[optional] |
| **icmp\_code**         | **Integer** | Sets the allowed code (from 0 to 254) when ICMP protocol is selected. The value 'null'' allows all codes.                                                                            | \[optional] |
| **icmp\_type**         | **Integer** | Sets the allowed type (from 0 to 254) if the protocol ICMP is selected. The value 'null' allows all types.                                                                           | \[optional] |
| **port\_range\_start** | **Integer** | Sets the initial range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is selected. The value 'null' for 'portRangeStart' and 'portRangeEnd' allows all ports.      | \[optional] |
| **port\_range\_end**   | **Integer** | Sets the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is selected. The value 'null' for 'portRangeStart' and 'portRangeEnd' allows all ports.          | \[optional] |
| **type**               | **String**  | The firewall rule type. If not specified, the default value 'INGRESS' is used.                                                                                                       | \[optional] |

## Example

```ruby
require 'ionoscloud-vm-autoscaling'

instance = IonoscloudVmAutoscaling::NicFirewallRule.new(
  name: My resource,
  protocol: TCP,
  source_mac: 00:0a:95:9d:68:16,
  source_ip: 22.231.113.64,
  target_ip: 22.231.113.64,
  icmp_code: 2,
  icmp_type: 8,
  port_range_start: 8,
  port_range_end: 8,
  type: INGRESS
)
```
