use serde::{Deserialize, Serialize}; /*
                                      * Compute Engine API
                                      *
                                      * Creates and runs virtual machines on Google Cloud Platform.
                                      *
                                      * The version of the OpenAPI document: v1
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

use crate::google_rest_apis::compute_v1::models;

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions {
    /// A list of site keys to be used during the validation of reCAPTCHA action-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.
    #[serde(
        rename = "actionTokenSiteKeys",
        skip_serializing_if = "Option::is_none"
    )]
    pub action_token_site_keys: Option<Vec<String>>,
    /// A list of site keys to be used during the validation of reCAPTCHA session-tokens. The provided site keys need to be created from reCAPTCHA API under the same project where the security policy is created.
    #[serde(
        rename = "sessionTokenSiteKeys",
        skip_serializing_if = "Option::is_none"
    )]
    pub session_token_site_keys: Option<Vec<String>>,
}

impl SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions {
    pub fn new() -> SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions {
        SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions {
            action_token_site_keys: None,
            session_token_site_keys: None,
        }
    }
}
