use serde::{Deserialize, Serialize}; /*
                                      * Cloud DNS API
                                      *
                                      * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
                                      *
                                      * The version of the OpenAPI document: v1
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

/// RrSetRoutingPolicyGeoPolicyGeoPolicyItem : ResourceRecordSet data for one geo location.

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct RrSetRoutingPolicyGeoPolicyGeoPolicyItem {
    #[serde(
        rename = "healthCheckedTargets",
        skip_serializing_if = "Option::is_none"
    )]
    pub health_checked_targets:
        Option<Box<crate::google_rest_apis::dns_v1::models::RrSetRoutingPolicyHealthCheckTargets>>,
    #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
    pub kind: Option<String>,
    /// The geo-location granularity is a GCP region. This location string should correspond to a GCP region. e.g. \"us-east1\", \"southamerica-east1\", \"asia-east1\", etc.
    #[serde(rename = "location", skip_serializing_if = "Option::is_none")]
    pub location: Option<String>,
    #[serde(rename = "rrdatas", skip_serializing_if = "Option::is_none")]
    pub rrdatas: Option<Vec<String>>,
    /// DNSSEC generated signatures for all the rrdata within this item. If health checked targets are provided for DNSSEC enabled zones, there's a restriction of 1 IP address per item.
    #[serde(rename = "signatureRrdatas", skip_serializing_if = "Option::is_none")]
    pub signature_rrdatas: Option<Vec<String>>,
}

impl RrSetRoutingPolicyGeoPolicyGeoPolicyItem {
    /// ResourceRecordSet data for one geo location.
    pub fn new() -> RrSetRoutingPolicyGeoPolicyGeoPolicyItem {
        RrSetRoutingPolicyGeoPolicyGeoPolicyItem {
            health_checked_targets: None,
            kind: None,
            location: None,
            rrdatas: None,
            signature_rrdatas: None,
        }
    }
}
