fastly_api/models/
waf_firewall_version_data_attributes.rs

1/*
2 * Fastly API
3 *
4 * Via the Fastly API you can perform any of the operations that are possible within the management console,  including creating services, domains, and backends, configuring rules or uploading your own application code, as well as account operations such as user administration and billing reports. The API is organized into collections of endpoints that allow manipulation of objects related to Fastly services and accounts. For the most accurate and up-to-date API reference content, visit our [Developer Hub](https://www.fastly.com/documentation/reference/api/) 
5 *
6 */
7
8
9
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct WafFirewallVersionDataAttributes {
13    /// Allowed HTTP versions.
14    #[serde(rename = "allowed_http_versions", skip_serializing_if = "Option::is_none")]
15    pub allowed_http_versions: Option<String>,
16    /// A space-separated list of HTTP method names.
17    #[serde(rename = "allowed_methods", skip_serializing_if = "Option::is_none")]
18    pub allowed_methods: Option<String>,
19    /// Allowed request content types.
20    #[serde(rename = "allowed_request_content_type", skip_serializing_if = "Option::is_none")]
21    pub allowed_request_content_type: Option<String>,
22    /// Allowed request content type charset.
23    #[serde(rename = "allowed_request_content_type_charset", skip_serializing_if = "Option::is_none")]
24    pub allowed_request_content_type_charset: Option<String>,
25    /// The maximum allowed argument name length.
26    #[serde(rename = "arg_name_length", skip_serializing_if = "Option::is_none")]
27    pub arg_name_length: Option<i32>,
28    /// The maximum allowed length of an argument.
29    #[serde(rename = "arg_length", skip_serializing_if = "Option::is_none")]
30    pub arg_length: Option<i32>,
31    /// The maximum allowed size of all files (in bytes).
32    #[serde(rename = "combined_file_sizes", skip_serializing_if = "Option::is_none")]
33    pub combined_file_sizes: Option<i32>,
34    /// A freeform descriptive note.
35    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
36    pub comment: Option<String>,
37    /// Score value to add for critical anomalies.
38    #[serde(rename = "critical_anomaly_score", skip_serializing_if = "Option::is_none")]
39    pub critical_anomaly_score: Option<i32>,
40    /// CRS validate UTF8 encoding.
41    #[serde(rename = "crs_validate_utf8_encoding", skip_serializing_if = "Option::is_none")]
42    pub crs_validate_utf8_encoding: Option<bool>,
43    /// Score value to add for error anomalies.
44    #[serde(rename = "error_anomaly_score", skip_serializing_if = "Option::is_none")]
45    pub error_anomaly_score: Option<i32>,
46    /// A space-separated list of country codes in ISO 3166-1 (two-letter) format.
47    #[serde(rename = "high_risk_country_codes", skip_serializing_if = "Option::is_none")]
48    pub high_risk_country_codes: Option<String>,
49    /// HTTP violation threshold.
50    #[serde(rename = "http_violation_score_threshold", skip_serializing_if = "Option::is_none")]
51    pub http_violation_score_threshold: Option<i32>,
52    /// Inbound anomaly threshold.
53    #[serde(rename = "inbound_anomaly_score_threshold", skip_serializing_if = "Option::is_none")]
54    pub inbound_anomaly_score_threshold: Option<i32>,
55    /// Local file inclusion attack threshold.
56    #[serde(rename = "lfi_score_threshold", skip_serializing_if = "Option::is_none")]
57    pub lfi_score_threshold: Option<i32>,
58    /// Whether a specific firewall version is locked from being modified.
59    #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
60    pub locked: Option<bool>,
61    /// The maximum allowed file size, in bytes.
62    #[serde(rename = "max_file_size", skip_serializing_if = "Option::is_none")]
63    pub max_file_size: Option<i32>,
64    /// The maximum number of arguments allowed.
65    #[serde(rename = "max_num_args", skip_serializing_if = "Option::is_none")]
66    pub max_num_args: Option<i32>,
67    /// Score value to add for notice anomalies.
68    #[serde(rename = "notice_anomaly_score", skip_serializing_if = "Option::is_none")]
69    pub notice_anomaly_score: Option<i32>,
70    #[serde(rename = "number", skip_serializing_if = "Option::is_none")]
71    pub number: Option<Box<i32>>,
72    /// The configured paranoia level.
73    #[serde(rename = "paranoia_level", skip_serializing_if = "Option::is_none")]
74    pub paranoia_level: Option<i32>,
75    /// PHP injection threshold.
76    #[serde(rename = "php_injection_score_threshold", skip_serializing_if = "Option::is_none")]
77    pub php_injection_score_threshold: Option<i32>,
78    /// Remote code execution threshold.
79    #[serde(rename = "rce_score_threshold", skip_serializing_if = "Option::is_none")]
80    pub rce_score_threshold: Option<i32>,
81    /// A space-separated list of allowed file extensions.
82    #[serde(rename = "restricted_extensions", skip_serializing_if = "Option::is_none")]
83    pub restricted_extensions: Option<String>,
84    /// A space-separated list of allowed header names.
85    #[serde(rename = "restricted_headers", skip_serializing_if = "Option::is_none")]
86    pub restricted_headers: Option<String>,
87    /// Remote file inclusion attack threshold.
88    #[serde(rename = "rfi_score_threshold", skip_serializing_if = "Option::is_none")]
89    pub rfi_score_threshold: Option<i32>,
90    /// Session fixation attack threshold.
91    #[serde(rename = "session_fixation_score_threshold", skip_serializing_if = "Option::is_none")]
92    pub session_fixation_score_threshold: Option<i32>,
93    /// SQL injection attack threshold.
94    #[serde(rename = "sql_injection_score_threshold", skip_serializing_if = "Option::is_none")]
95    pub sql_injection_score_threshold: Option<i32>,
96    /// The maximum size of argument names and values.
97    #[serde(rename = "total_arg_length", skip_serializing_if = "Option::is_none")]
98    pub total_arg_length: Option<i32>,
99    /// Score value to add for warning anomalies.
100    #[serde(rename = "warning_anomaly_score", skip_serializing_if = "Option::is_none")]
101    pub warning_anomaly_score: Option<i32>,
102    /// XSS attack threshold.
103    #[serde(rename = "xss_score_threshold", skip_serializing_if = "Option::is_none")]
104    pub xss_score_threshold: Option<i32>,
105}
106
107impl WafFirewallVersionDataAttributes {
108    pub fn new() -> WafFirewallVersionDataAttributes {
109        WafFirewallVersionDataAttributes {
110            allowed_http_versions: None,
111            allowed_methods: None,
112            allowed_request_content_type: None,
113            allowed_request_content_type_charset: None,
114            arg_name_length: None,
115            arg_length: None,
116            combined_file_sizes: None,
117            comment: None,
118            critical_anomaly_score: None,
119            crs_validate_utf8_encoding: None,
120            error_anomaly_score: None,
121            high_risk_country_codes: None,
122            http_violation_score_threshold: None,
123            inbound_anomaly_score_threshold: None,
124            lfi_score_threshold: None,
125            locked: None,
126            max_file_size: None,
127            max_num_args: None,
128            notice_anomaly_score: None,
129            number: None,
130            paranoia_level: None,
131            php_injection_score_threshold: None,
132            rce_score_threshold: None,
133            restricted_extensions: None,
134            restricted_headers: None,
135            rfi_score_threshold: None,
136            session_fixation_score_threshold: None,
137            sql_injection_score_threshold: None,
138            total_arg_length: None,
139            warning_anomaly_score: None,
140            xss_score_threshold: None,
141        }
142    }
143}
144
145