1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
 * 3DS OUTSCALE API
 *
 * Welcome to the OUTSCALE API documentation.<br /> The OUTSCALE API enables you to manage your resources in the OUTSCALE Cloud. This documentation describes the different actions available along with code examples.<br /><br /> You can learn more about errors returned by the API in the dedicated [errors page](api/errors).<br /><br /> Note that the OUTSCALE Cloud is compatible with Amazon Web Services (AWS) APIs, but there are [differences in resource names](https://docs.outscale.com/en/userguide/OUTSCALE-APIs-Reference.html) between AWS and the OUTSCALE API.<br /> You can also manage your resources using the [Cockpit](https://docs.outscale.com/en/userguide/About-Cockpit.html) web interface.<br /><br /> An OpenAPI description of the OUTSCALE API is also available in this [GitHub repository](https://github.com/outscale/osc-api).
 *
 * The version of the OpenAPI document: 1.22
 * Contact: support@outscale.com
 * Generated by: https://openapi-generator.tech
 */

/// Snapshot : Information about the snapshot.

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Snapshot {
    /// The account alias of the owner of the snapshot.
    #[serde(rename = "AccountAlias", skip_serializing_if = "Option::is_none")]
    pub account_alias: Option<String>,
    /// The account ID of the owner of the snapshot.
    #[serde(rename = "AccountId", skip_serializing_if = "Option::is_none")]
    pub account_id: Option<String>,
    /// The date and time of creation of the snapshot.
    #[serde(rename = "CreationDate", skip_serializing_if = "Option::is_none")]
    pub creation_date: Option<String>,
    /// The description of the snapshot.
    #[serde(rename = "Description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(
        rename = "PermissionsToCreateVolume",
        skip_serializing_if = "Option::is_none"
    )]
    pub permissions_to_create_volume: Option<Box<crate::models::PermissionsOnResource>>,
    /// The progress of the snapshot, as a percentage.
    #[serde(rename = "Progress", skip_serializing_if = "Option::is_none")]
    pub progress: Option<i32>,
    /// The ID of the snapshot.
    #[serde(rename = "SnapshotId", skip_serializing_if = "Option::is_none")]
    pub snapshot_id: Option<String>,
    /// The state of the snapshot (`in-queue` \\| `completed` \\| `error`).
    #[serde(rename = "State", skip_serializing_if = "Option::is_none")]
    pub state: Option<String>,
    /// One or more tags associated with the snapshot.
    #[serde(rename = "Tags", skip_serializing_if = "Option::is_none")]
    pub tags: Option<Vec<crate::models::ResourceTag>>,
    /// The ID of the volume used to create the snapshot.
    #[serde(rename = "VolumeId", skip_serializing_if = "Option::is_none")]
    pub volume_id: Option<String>,
    /// The size of the volume used to create the snapshot, in gibibytes (GiB).
    #[serde(rename = "VolumeSize", skip_serializing_if = "Option::is_none")]
    pub volume_size: Option<i32>,
}

impl Snapshot {
    /// Information about the snapshot.
    pub fn new() -> Snapshot {
        Snapshot {
            account_alias: None,
            account_id: None,
            creation_date: None,
            description: None,
            permissions_to_create_volume: None,
            progress: None,
            snapshot_id: None,
            state: None,
            tags: None,
            volume_id: None,
            volume_size: None,
        }
    }
}