#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct WafFirewallVersionDataAttributes {
    #[serde(rename = "allowed_http_versions", skip_serializing_if = "Option::is_none")]
    pub allowed_http_versions: Option<String>,
    #[serde(rename = "allowed_methods", skip_serializing_if = "Option::is_none")]
    pub allowed_methods: Option<String>,
    #[serde(rename = "allowed_request_content_type", skip_serializing_if = "Option::is_none")]
    pub allowed_request_content_type: Option<String>,
    #[serde(rename = "allowed_request_content_type_charset", skip_serializing_if = "Option::is_none")]
    pub allowed_request_content_type_charset: Option<String>,
    #[serde(rename = "arg_name_length", skip_serializing_if = "Option::is_none")]
    pub arg_name_length: Option<i32>,
    #[serde(rename = "arg_length", skip_serializing_if = "Option::is_none")]
    pub arg_length: Option<i32>,
    #[serde(rename = "combined_file_sizes", skip_serializing_if = "Option::is_none")]
    pub combined_file_sizes: Option<i32>,
    #[serde(rename = "comment", skip_serializing_if = "Option::is_none")]
    pub comment: Option<String>,
    #[serde(rename = "critical_anomaly_score", skip_serializing_if = "Option::is_none")]
    pub critical_anomaly_score: Option<i32>,
    #[serde(rename = "crs_validate_utf8_encoding", skip_serializing_if = "Option::is_none")]
    pub crs_validate_utf8_encoding: Option<bool>,
    #[serde(rename = "error_anomaly_score", skip_serializing_if = "Option::is_none")]
    pub error_anomaly_score: Option<i32>,
    #[serde(rename = "high_risk_country_codes", skip_serializing_if = "Option::is_none")]
    pub high_risk_country_codes: Option<String>,
    #[serde(rename = "http_violation_score_threshold", skip_serializing_if = "Option::is_none")]
    pub http_violation_score_threshold: Option<i32>,
    #[serde(rename = "inbound_anomaly_score_threshold", skip_serializing_if = "Option::is_none")]
    pub inbound_anomaly_score_threshold: Option<i32>,
    #[serde(rename = "lfi_score_threshold", skip_serializing_if = "Option::is_none")]
    pub lfi_score_threshold: Option<i32>,
    #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
    pub locked: Option<bool>,
    #[serde(rename = "max_file_size", skip_serializing_if = "Option::is_none")]
    pub max_file_size: Option<i32>,
    #[serde(rename = "max_num_args", skip_serializing_if = "Option::is_none")]
    pub max_num_args: Option<i32>,
    #[serde(rename = "notice_anomaly_score", skip_serializing_if = "Option::is_none")]
    pub notice_anomaly_score: Option<i32>,
    #[serde(rename = "number", skip_serializing_if = "Option::is_none")]
    pub number: Option<Box<i32>>,
    #[serde(rename = "paranoia_level", skip_serializing_if = "Option::is_none")]
    pub paranoia_level: Option<i32>,
    #[serde(rename = "php_injection_score_threshold", skip_serializing_if = "Option::is_none")]
    pub php_injection_score_threshold: Option<i32>,
    #[serde(rename = "rce_score_threshold", skip_serializing_if = "Option::is_none")]
    pub rce_score_threshold: Option<i32>,
    #[serde(rename = "restricted_extensions", skip_serializing_if = "Option::is_none")]
    pub restricted_extensions: Option<String>,
    #[serde(rename = "restricted_headers", skip_serializing_if = "Option::is_none")]
    pub restricted_headers: Option<String>,
    #[serde(rename = "rfi_score_threshold", skip_serializing_if = "Option::is_none")]
    pub rfi_score_threshold: Option<i32>,
    #[serde(rename = "session_fixation_score_threshold", skip_serializing_if = "Option::is_none")]
    pub session_fixation_score_threshold: Option<i32>,
    #[serde(rename = "sql_injection_score_threshold", skip_serializing_if = "Option::is_none")]
    pub sql_injection_score_threshold: Option<i32>,
    #[serde(rename = "total_arg_length", skip_serializing_if = "Option::is_none")]
    pub total_arg_length: Option<i32>,
    #[serde(rename = "warning_anomaly_score", skip_serializing_if = "Option::is_none")]
    pub warning_anomaly_score: Option<i32>,
    #[serde(rename = "xss_score_threshold", skip_serializing_if = "Option::is_none")]
    pub xss_score_threshold: Option<i32>,
}
impl WafFirewallVersionDataAttributes {
    pub fn new() -> WafFirewallVersionDataAttributes {
        WafFirewallVersionDataAttributes {
            allowed_http_versions: None,
            allowed_methods: None,
            allowed_request_content_type: None,
            allowed_request_content_type_charset: None,
            arg_name_length: None,
            arg_length: None,
            combined_file_sizes: None,
            comment: None,
            critical_anomaly_score: None,
            crs_validate_utf8_encoding: None,
            error_anomaly_score: None,
            high_risk_country_codes: None,
            http_violation_score_threshold: None,
            inbound_anomaly_score_threshold: None,
            lfi_score_threshold: None,
            locked: None,
            max_file_size: None,
            max_num_args: None,
            notice_anomaly_score: None,
            number: None,
            paranoia_level: None,
            php_injection_score_threshold: None,
            rce_score_threshold: None,
            restricted_extensions: None,
            restricted_headers: None,
            rfi_score_threshold: None,
            session_fixation_score_threshold: None,
            sql_injection_score_threshold: None,
            total_arg_length: None,
            warning_anomaly_score: None,
            xss_score_threshold: None,
        }
    }
}