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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>A certificate that has been transferred but not yet accepted.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct OutgoingCertificate {
    /// <p>The certificate ARN.</p>
    pub certificate_arn: ::std::option::Option<::std::string::String>,
    /// <p>The certificate ID.</p>
    pub certificate_id: ::std::option::Option<::std::string::String>,
    /// <p>The Amazon Web Services account to which the transfer was made.</p>
    pub transferred_to: ::std::option::Option<::std::string::String>,
    /// <p>The date the transfer was initiated.</p>
    pub transfer_date: ::std::option::Option<::aws_smithy_types::DateTime>,
    /// <p>The transfer message.</p>
    pub transfer_message: ::std::option::Option<::std::string::String>,
    /// <p>The certificate creation date.</p>
    pub creation_date: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl OutgoingCertificate {
    /// <p>The certificate ARN.</p>
    pub fn certificate_arn(&self) -> ::std::option::Option<&str> {
        self.certificate_arn.as_deref()
    }
    /// <p>The certificate ID.</p>
    pub fn certificate_id(&self) -> ::std::option::Option<&str> {
        self.certificate_id.as_deref()
    }
    /// <p>The Amazon Web Services account to which the transfer was made.</p>
    pub fn transferred_to(&self) -> ::std::option::Option<&str> {
        self.transferred_to.as_deref()
    }
    /// <p>The date the transfer was initiated.</p>
    pub fn transfer_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.transfer_date.as_ref()
    }
    /// <p>The transfer message.</p>
    pub fn transfer_message(&self) -> ::std::option::Option<&str> {
        self.transfer_message.as_deref()
    }
    /// <p>The certificate creation date.</p>
    pub fn creation_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.creation_date.as_ref()
    }
}
impl OutgoingCertificate {
    /// Creates a new builder-style object to manufacture [`OutgoingCertificate`](crate::types::OutgoingCertificate).
    pub fn builder() -> crate::types::builders::OutgoingCertificateBuilder {
        crate::types::builders::OutgoingCertificateBuilder::default()
    }
}

/// A builder for [`OutgoingCertificate`](crate::types::OutgoingCertificate).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct OutgoingCertificateBuilder {
    pub(crate) certificate_arn: ::std::option::Option<::std::string::String>,
    pub(crate) certificate_id: ::std::option::Option<::std::string::String>,
    pub(crate) transferred_to: ::std::option::Option<::std::string::String>,
    pub(crate) transfer_date: ::std::option::Option<::aws_smithy_types::DateTime>,
    pub(crate) transfer_message: ::std::option::Option<::std::string::String>,
    pub(crate) creation_date: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl OutgoingCertificateBuilder {
    /// <p>The certificate ARN.</p>
    pub fn certificate_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.certificate_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The certificate ARN.</p>
    pub fn set_certificate_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.certificate_arn = input;
        self
    }
    /// <p>The certificate ARN.</p>
    pub fn get_certificate_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.certificate_arn
    }
    /// <p>The certificate ID.</p>
    pub fn certificate_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.certificate_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The certificate ID.</p>
    pub fn set_certificate_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.certificate_id = input;
        self
    }
    /// <p>The certificate ID.</p>
    pub fn get_certificate_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.certificate_id
    }
    /// <p>The Amazon Web Services account to which the transfer was made.</p>
    pub fn transferred_to(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.transferred_to = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The Amazon Web Services account to which the transfer was made.</p>
    pub fn set_transferred_to(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.transferred_to = input;
        self
    }
    /// <p>The Amazon Web Services account to which the transfer was made.</p>
    pub fn get_transferred_to(&self) -> &::std::option::Option<::std::string::String> {
        &self.transferred_to
    }
    /// <p>The date the transfer was initiated.</p>
    pub fn transfer_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.transfer_date = ::std::option::Option::Some(input);
        self
    }
    /// <p>The date the transfer was initiated.</p>
    pub fn set_transfer_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.transfer_date = input;
        self
    }
    /// <p>The date the transfer was initiated.</p>
    pub fn get_transfer_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.transfer_date
    }
    /// <p>The transfer message.</p>
    pub fn transfer_message(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.transfer_message = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The transfer message.</p>
    pub fn set_transfer_message(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.transfer_message = input;
        self
    }
    /// <p>The transfer message.</p>
    pub fn get_transfer_message(&self) -> &::std::option::Option<::std::string::String> {
        &self.transfer_message
    }
    /// <p>The certificate creation date.</p>
    pub fn creation_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.creation_date = ::std::option::Option::Some(input);
        self
    }
    /// <p>The certificate creation date.</p>
    pub fn set_creation_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.creation_date = input;
        self
    }
    /// <p>The certificate creation date.</p>
    pub fn get_creation_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.creation_date
    }
    /// Consumes the builder and constructs a [`OutgoingCertificate`](crate::types::OutgoingCertificate).
    pub fn build(self) -> crate::types::OutgoingCertificate {
        crate::types::OutgoingCertificate {
            certificate_arn: self.certificate_arn,
            certificate_id: self.certificate_id,
            transferred_to: self.transferred_to,
            transfer_date: self.transfer_date,
            transfer_message: self.transfer_message,
            creation_date: self.creation_date,
        }
    }
}