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
                                      */

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct DiskAsyncReplication {
    /// [Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.
    #[serde(
        rename = "consistencyGroupPolicy",
        skip_serializing_if = "Option::is_none"
    )]
    pub consistency_group_policy: Option<String>,
    /// [Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.
    #[serde(
        rename = "consistencyGroupPolicyId",
        skip_serializing_if = "Option::is_none"
    )]
    pub consistency_group_policy_id: Option<String>,
    /// The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk
    #[serde(rename = "disk", skip_serializing_if = "Option::is_none")]
    pub disk: Option<String>,
    /// [Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.
    #[serde(rename = "diskId", skip_serializing_if = "Option::is_none")]
    pub disk_id: Option<String>,
}

impl DiskAsyncReplication {
    pub fn new() -> DiskAsyncReplication {
        DiskAsyncReplication {
            consistency_group_policy: None,
            consistency_group_policy_id: None,
            disk: None,
            disk_id: None,
        }
    }
}
