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;

/// PublicAdvertisedPrefixPublicDelegatedPrefix : Represents a CIDR range which can be used to assign addresses.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PublicAdvertisedPrefixPublicDelegatedPrefix {
    /// The IP address range of the public delegated prefix
    #[serde(rename = "ipRange", skip_serializing_if = "Option::is_none")]
    pub ip_range: Option<String>,
    /// The name of the public delegated prefix
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// The project number of the public delegated prefix
    #[serde(rename = "project", skip_serializing_if = "Option::is_none")]
    pub project: Option<String>,
    /// The region of the public delegated prefix if it is regional. If absent, the prefix is global.
    #[serde(rename = "region", skip_serializing_if = "Option::is_none")]
    pub region: Option<String>,
    /// The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
}

impl PublicAdvertisedPrefixPublicDelegatedPrefix {
    /// Represents a CIDR range which can be used to assign addresses.
    pub fn new() -> PublicAdvertisedPrefixPublicDelegatedPrefix {
        PublicAdvertisedPrefixPublicDelegatedPrefix {
            ip_range: None,
            name: None,
            project: None,
            region: None,
            status: None,
        }
    }
}
