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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct StartBackupJobOutput {
    /// <p>Uniquely identifies a request to Backup to back up a resource.</p>
    #[doc(hidden)]
    pub backup_job_id: ::std::option::Option<::std::string::String>,
    /// <p> <i>Note: This field is only returned for Amazon EFS and Advanced DynamoDB resources.</i> </p>
    /// <p>An ARN that uniquely identifies a recovery point; for example, <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>
    #[doc(hidden)]
    pub recovery_point_arn: ::std::option::Option<::std::string::String>,
    /// <p>The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    #[doc(hidden)]
    pub creation_date: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>This is a returned boolean value indicating this is a parent (composite) backup job.</p>
    #[doc(hidden)]
    pub is_parent: bool,
    _request_id: Option<String>,
}
impl StartBackupJobOutput {
    /// <p>Uniquely identifies a request to Backup to back up a resource.</p>
    pub fn backup_job_id(&self) -> ::std::option::Option<&str> {
        self.backup_job_id.as_deref()
    }
    /// <p> <i>Note: This field is only returned for Amazon EFS and Advanced DynamoDB resources.</i> </p>
    /// <p>An ARN that uniquely identifies a recovery point; for example, <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>
    pub fn recovery_point_arn(&self) -> ::std::option::Option<&str> {
        self.recovery_point_arn.as_deref()
    }
    /// <p>The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn creation_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.creation_date.as_ref()
    }
    /// <p>This is a returned boolean value indicating this is a parent (composite) backup job.</p>
    pub fn is_parent(&self) -> bool {
        self.is_parent
    }
}
impl ::aws_http::request_id::RequestId for StartBackupJobOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl StartBackupJobOutput {
    /// Creates a new builder-style object to manufacture [`StartBackupJobOutput`](crate::operation::start_backup_job::StartBackupJobOutput).
    pub fn builder() -> crate::operation::start_backup_job::builders::StartBackupJobOutputBuilder {
        crate::operation::start_backup_job::builders::StartBackupJobOutputBuilder::default()
    }
}

/// A builder for [`StartBackupJobOutput`](crate::operation::start_backup_job::StartBackupJobOutput).
#[non_exhaustive]
#[derive(
    ::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug,
)]
pub struct StartBackupJobOutputBuilder {
    pub(crate) backup_job_id: ::std::option::Option<::std::string::String>,
    pub(crate) recovery_point_arn: ::std::option::Option<::std::string::String>,
    pub(crate) creation_date: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) is_parent: ::std::option::Option<bool>,
    _request_id: Option<String>,
}
impl StartBackupJobOutputBuilder {
    /// <p>Uniquely identifies a request to Backup to back up a resource.</p>
    pub fn backup_job_id(
        mut self,
        input: impl ::std::convert::Into<::std::string::String>,
    ) -> Self {
        self.backup_job_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>Uniquely identifies a request to Backup to back up a resource.</p>
    pub fn set_backup_job_id(
        mut self,
        input: ::std::option::Option<::std::string::String>,
    ) -> Self {
        self.backup_job_id = input;
        self
    }
    /// <p> <i>Note: This field is only returned for Amazon EFS and Advanced DynamoDB resources.</i> </p>
    /// <p>An ARN that uniquely identifies a recovery point; for example, <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>
    pub fn recovery_point_arn(
        mut self,
        input: impl ::std::convert::Into<::std::string::String>,
    ) -> Self {
        self.recovery_point_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p> <i>Note: This field is only returned for Amazon EFS and Advanced DynamoDB resources.</i> </p>
    /// <p>An ARN that uniquely identifies a recovery point; for example, <code>arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45</code>.</p>
    pub fn set_recovery_point_arn(
        mut self,
        input: ::std::option::Option<::std::string::String>,
    ) -> Self {
        self.recovery_point_arn = input;
        self
    }
    /// <p>The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn creation_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.creation_date = ::std::option::Option::Some(input);
        self
    }
    /// <p>The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of <code>CreationDate</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn set_creation_date(
        mut self,
        input: ::std::option::Option<::aws_smithy_types::DateTime>,
    ) -> Self {
        self.creation_date = input;
        self
    }
    /// <p>This is a returned boolean value indicating this is a parent (composite) backup job.</p>
    pub fn is_parent(mut self, input: bool) -> Self {
        self.is_parent = ::std::option::Option::Some(input);
        self
    }
    /// <p>This is a returned boolean value indicating this is a parent (composite) backup job.</p>
    pub fn set_is_parent(mut self, input: ::std::option::Option<bool>) -> Self {
        self.is_parent = input;
        self
    }
    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
        self._request_id = Some(request_id.into());
        self
    }

    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
        self._request_id = request_id;
        self
    }
    /// Consumes the builder and constructs a [`StartBackupJobOutput`](crate::operation::start_backup_job::StartBackupJobOutput).
    pub fn build(self) -> crate::operation::start_backup_job::StartBackupJobOutput {
        crate::operation::start_backup_job::StartBackupJobOutput {
            backup_job_id: self.backup_job_id,
            recovery_point_arn: self.recovery_point_arn,
            creation_date: self.creation_date,
            is_parent: self.is_parent.unwrap_or_default(),
            _request_id: self._request_id,
        }
    }
}