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
// 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 GetProfileOutput {
/// <p>The type of the profile.</p>
/// <p>The following profile types are possible:</p>
/// <ul>
/// <li>
/// <p><code>Lightsailor</code> – The account is not enrolled in the Lightsail partner program.</p></li>
/// <li>
/// <p><code>LightsailPartner</code> – The account is enrolled in the Lightsail partner program.</p></li>
/// </ul>
pub profile_type: crate::types::ProfileType,
/// <p>An object that describes the partner membership of the account, such as the tier of the membership, its status, and when the account was enrolled.</p>
/// <p>This parameter is returned only for accounts that have a <code>profileType</code> of <code>LightsailPartner</code>.</p>
pub partner: ::std::option::Option<crate::types::PartnerInfo>,
_request_id: Option<String>,
}
impl GetProfileOutput {
/// <p>The type of the profile.</p>
/// <p>The following profile types are possible:</p>
/// <ul>
/// <li>
/// <p><code>Lightsailor</code> – The account is not enrolled in the Lightsail partner program.</p></li>
/// <li>
/// <p><code>LightsailPartner</code> – The account is enrolled in the Lightsail partner program.</p></li>
/// </ul>
pub fn profile_type(&self) -> &crate::types::ProfileType {
&self.profile_type
}
/// <p>An object that describes the partner membership of the account, such as the tier of the membership, its status, and when the account was enrolled.</p>
/// <p>This parameter is returned only for accounts that have a <code>profileType</code> of <code>LightsailPartner</code>.</p>
pub fn partner(&self) -> ::std::option::Option<&crate::types::PartnerInfo> {
self.partner.as_ref()
}
}
impl ::aws_types::request_id::RequestId for GetProfileOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl GetProfileOutput {
/// Creates a new builder-style object to manufacture [`GetProfileOutput`](crate::operation::get_profile::GetProfileOutput).
pub fn builder() -> crate::operation::get_profile::builders::GetProfileOutputBuilder {
crate::operation::get_profile::builders::GetProfileOutputBuilder::default()
}
}
/// A builder for [`GetProfileOutput`](crate::operation::get_profile::GetProfileOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetProfileOutputBuilder {
pub(crate) profile_type: ::std::option::Option<crate::types::ProfileType>,
pub(crate) partner: ::std::option::Option<crate::types::PartnerInfo>,
_request_id: Option<String>,
}
impl GetProfileOutputBuilder {
/// <p>The type of the profile.</p>
/// <p>The following profile types are possible:</p>
/// <ul>
/// <li>
/// <p><code>Lightsailor</code> – The account is not enrolled in the Lightsail partner program.</p></li>
/// <li>
/// <p><code>LightsailPartner</code> – The account is enrolled in the Lightsail partner program.</p></li>
/// </ul>
/// This field is required.
pub fn profile_type(mut self, input: crate::types::ProfileType) -> Self {
self.profile_type = ::std::option::Option::Some(input);
self
}
/// <p>The type of the profile.</p>
/// <p>The following profile types are possible:</p>
/// <ul>
/// <li>
/// <p><code>Lightsailor</code> – The account is not enrolled in the Lightsail partner program.</p></li>
/// <li>
/// <p><code>LightsailPartner</code> – The account is enrolled in the Lightsail partner program.</p></li>
/// </ul>
pub fn set_profile_type(mut self, input: ::std::option::Option<crate::types::ProfileType>) -> Self {
self.profile_type = input;
self
}
/// <p>The type of the profile.</p>
/// <p>The following profile types are possible:</p>
/// <ul>
/// <li>
/// <p><code>Lightsailor</code> – The account is not enrolled in the Lightsail partner program.</p></li>
/// <li>
/// <p><code>LightsailPartner</code> – The account is enrolled in the Lightsail partner program.</p></li>
/// </ul>
pub fn get_profile_type(&self) -> &::std::option::Option<crate::types::ProfileType> {
&self.profile_type
}
/// <p>An object that describes the partner membership of the account, such as the tier of the membership, its status, and when the account was enrolled.</p>
/// <p>This parameter is returned only for accounts that have a <code>profileType</code> of <code>LightsailPartner</code>.</p>
pub fn partner(mut self, input: crate::types::PartnerInfo) -> Self {
self.partner = ::std::option::Option::Some(input);
self
}
/// <p>An object that describes the partner membership of the account, such as the tier of the membership, its status, and when the account was enrolled.</p>
/// <p>This parameter is returned only for accounts that have a <code>profileType</code> of <code>LightsailPartner</code>.</p>
pub fn set_partner(mut self, input: ::std::option::Option<crate::types::PartnerInfo>) -> Self {
self.partner = input;
self
}
/// <p>An object that describes the partner membership of the account, such as the tier of the membership, its status, and when the account was enrolled.</p>
/// <p>This parameter is returned only for accounts that have a <code>profileType</code> of <code>LightsailPartner</code>.</p>
pub fn get_partner(&self) -> &::std::option::Option<crate::types::PartnerInfo> {
&self.partner
}
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 [`GetProfileOutput`](crate::operation::get_profile::GetProfileOutput).
/// This method will fail if any of the following fields are not set:
/// - [`profile_type`](crate::operation::get_profile::builders::GetProfileOutputBuilder::profile_type)
pub fn build(self) -> ::std::result::Result<crate::operation::get_profile::GetProfileOutput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::get_profile::GetProfileOutput {
profile_type: self.profile_type.ok_or_else(|| {
::aws_smithy_types::error::operation::BuildError::missing_field(
"profile_type",
"profile_type was not specified but it is required when building GetProfileOutput",
)
})?,
partner: self.partner,
_request_id: self._request_id,
})
}
}