Skip to main content

clientapi_pve/models/
cluster_firewall_update_rule_request.rs

1/*
2 * Proxmox Virtual Environment API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
5 *
6 * The version of the OpenAPI document: 9.x
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ClusterFirewallUpdateRuleRequest {
16
17    /// Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.
18    #[serde(rename = "action", skip_serializing_if = "Option::is_none")]
19    pub action: Option<String>,
20
21    /// Descriptive comment.
22    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
23    pub comment: Option<String>,
24
25    /// A list of settings you want to delete.
26    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
27    pub delete: Option<String>,
28
29    /// Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.
30    #[serde(rename = "dest", skip_serializing_if = "Option::is_none")]
31    pub dest: Option<String>,
32
33    /// Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.
34    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
35    pub digest: Option<String>,
36
37    /// Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.
38    #[serde(rename = "dport", skip_serializing_if = "Option::is_none")]
39    pub dport: Option<String>,
40
41    /// Flag to enable/disable a rule.
42    #[serde(rename = "enable", skip_serializing_if = "Option::is_none")]
43    pub enable: Option<i64>,
44
45    /// Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.
46    #[serde(rename = "icmp-type", skip_serializing_if = "Option::is_none")]
47    pub icmp_type: Option<String>,
48
49    /// Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.
50    #[serde(rename = "iface", skip_serializing_if = "Option::is_none")]
51    pub iface: Option<String>,
52
53    /// Log level for firewall rule.
54    #[serde(rename = "log", skip_serializing_if = "Option::is_none")]
55    pub log: Option<models::PveLogEnum>,
56
57    /// Use predefined standard macro.
58    #[serde(rename = "macro", skip_serializing_if = "Option::is_none")]
59    pub r#macro: Option<String>,
60
61    /// Move rule to new position <moveto>. Other arguments are ignored.
62    #[serde(rename = "moveto", skip_serializing_if = "Option::is_none")]
63    pub moveto: Option<i64>,
64
65    /// IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.
66    #[serde(rename = "proto", skip_serializing_if = "Option::is_none")]
67    pub proto: Option<String>,
68
69    /// Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.
70    #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
71    pub source: Option<String>,
72
73    /// Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.
74    #[serde(rename = "sport", skip_serializing_if = "Option::is_none")]
75    pub sport: Option<String>,
76
77    /// Rule type.
78    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
79    pub r#type: Option<models::PveClusterFirewallTypeEnum>,
80
81
82}
83
84impl ClusterFirewallUpdateRuleRequest {
85    pub fn new() -> ClusterFirewallUpdateRuleRequest {
86        ClusterFirewallUpdateRuleRequest {
87            
88            action: None,
89            
90            comment: None,
91            
92            delete: None,
93            
94            dest: None,
95            
96            digest: None,
97            
98            dport: None,
99            
100            enable: None,
101            
102            icmp_type: None,
103            
104            iface: None,
105            
106            log: None,
107            
108            r#macro: None,
109            
110            moveto: None,
111            
112            proto: None,
113            
114            source: None,
115            
116            sport: None,
117            
118            r#type: None,
119            
120        }
121    }
122}
123
124