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
// 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 DescribeReleaseLabelOutput {
/// <p>The target release label described in the response.</p>
pub release_label: ::std::option::Option<::std::string::String>,
/// <p>The list of applications available for the target release label. <code>Name</code> is the name of the application. <code>Version</code> is the concise version of the application.</p>
pub applications: ::std::option::Option<::std::vec::Vec<crate::types::SimplifiedApplication>>,
/// <p>The pagination token. Reserved for future use. Currently set to null.</p>
pub next_token: ::std::option::Option<::std::string::String>,
/// <p>The list of available Amazon Linux release versions for an Amazon EMR release. Contains a Label field that is formatted as shown in <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html"> <i>Amazon Linux 2 Release Notes</i> </a>. For example, <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-20220218.html">2.0.20220218.1</a>.</p>
pub available_os_releases: ::std::option::Option<::std::vec::Vec<crate::types::OsRelease>>,
_request_id: Option<String>,
}
impl DescribeReleaseLabelOutput {
/// <p>The target release label described in the response.</p>
pub fn release_label(&self) -> ::std::option::Option<&str> {
self.release_label.as_deref()
}
/// <p>The list of applications available for the target release label. <code>Name</code> is the name of the application. <code>Version</code> is the concise version of the application.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.applications.is_none()`.
pub fn applications(&self) -> &[crate::types::SimplifiedApplication] {
self.applications.as_deref().unwrap_or_default()
}
/// <p>The pagination token. Reserved for future use. Currently set to null.</p>
pub fn next_token(&self) -> ::std::option::Option<&str> {
self.next_token.as_deref()
}
/// <p>The list of available Amazon Linux release versions for an Amazon EMR release. Contains a Label field that is formatted as shown in <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html"> <i>Amazon Linux 2 Release Notes</i> </a>. For example, <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-20220218.html">2.0.20220218.1</a>.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.available_os_releases.is_none()`.
pub fn available_os_releases(&self) -> &[crate::types::OsRelease] {
self.available_os_releases.as_deref().unwrap_or_default()
}
}
impl ::aws_types::request_id::RequestId for DescribeReleaseLabelOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl DescribeReleaseLabelOutput {
/// Creates a new builder-style object to manufacture [`DescribeReleaseLabelOutput`](crate::operation::describe_release_label::DescribeReleaseLabelOutput).
pub fn builder() -> crate::operation::describe_release_label::builders::DescribeReleaseLabelOutputBuilder {
crate::operation::describe_release_label::builders::DescribeReleaseLabelOutputBuilder::default()
}
}
/// A builder for [`DescribeReleaseLabelOutput`](crate::operation::describe_release_label::DescribeReleaseLabelOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DescribeReleaseLabelOutputBuilder {
pub(crate) release_label: ::std::option::Option<::std::string::String>,
pub(crate) applications: ::std::option::Option<::std::vec::Vec<crate::types::SimplifiedApplication>>,
pub(crate) next_token: ::std::option::Option<::std::string::String>,
pub(crate) available_os_releases: ::std::option::Option<::std::vec::Vec<crate::types::OsRelease>>,
_request_id: Option<String>,
}
impl DescribeReleaseLabelOutputBuilder {
/// <p>The target release label described in the response.</p>
pub fn release_label(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.release_label = ::std::option::Option::Some(input.into());
self
}
/// <p>The target release label described in the response.</p>
pub fn set_release_label(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.release_label = input;
self
}
/// <p>The target release label described in the response.</p>
pub fn get_release_label(&self) -> &::std::option::Option<::std::string::String> {
&self.release_label
}
/// Appends an item to `applications`.
///
/// To override the contents of this collection use [`set_applications`](Self::set_applications).
///
/// <p>The list of applications available for the target release label. <code>Name</code> is the name of the application. <code>Version</code> is the concise version of the application.</p>
pub fn applications(mut self, input: crate::types::SimplifiedApplication) -> Self {
let mut v = self.applications.unwrap_or_default();
v.push(input);
self.applications = ::std::option::Option::Some(v);
self
}
/// <p>The list of applications available for the target release label. <code>Name</code> is the name of the application. <code>Version</code> is the concise version of the application.</p>
pub fn set_applications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SimplifiedApplication>>) -> Self {
self.applications = input;
self
}
/// <p>The list of applications available for the target release label. <code>Name</code> is the name of the application. <code>Version</code> is the concise version of the application.</p>
pub fn get_applications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SimplifiedApplication>> {
&self.applications
}
/// <p>The pagination token. Reserved for future use. Currently set to null.</p>
pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.next_token = ::std::option::Option::Some(input.into());
self
}
/// <p>The pagination token. Reserved for future use. Currently set to null.</p>
pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.next_token = input;
self
}
/// <p>The pagination token. Reserved for future use. Currently set to null.</p>
pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
&self.next_token
}
/// Appends an item to `available_os_releases`.
///
/// To override the contents of this collection use [`set_available_os_releases`](Self::set_available_os_releases).
///
/// <p>The list of available Amazon Linux release versions for an Amazon EMR release. Contains a Label field that is formatted as shown in <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html"> <i>Amazon Linux 2 Release Notes</i> </a>. For example, <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-20220218.html">2.0.20220218.1</a>.</p>
pub fn available_os_releases(mut self, input: crate::types::OsRelease) -> Self {
let mut v = self.available_os_releases.unwrap_or_default();
v.push(input);
self.available_os_releases = ::std::option::Option::Some(v);
self
}
/// <p>The list of available Amazon Linux release versions for an Amazon EMR release. Contains a Label field that is formatted as shown in <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html"> <i>Amazon Linux 2 Release Notes</i> </a>. For example, <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-20220218.html">2.0.20220218.1</a>.</p>
pub fn set_available_os_releases(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OsRelease>>) -> Self {
self.available_os_releases = input;
self
}
/// <p>The list of available Amazon Linux release versions for an Amazon EMR release. Contains a Label field that is formatted as shown in <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html"> <i>Amazon Linux 2 Release Notes</i> </a>. For example, <a href="https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-20220218.html">2.0.20220218.1</a>.</p>
pub fn get_available_os_releases(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OsRelease>> {
&self.available_os_releases
}
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 [`DescribeReleaseLabelOutput`](crate::operation::describe_release_label::DescribeReleaseLabelOutput).
pub fn build(self) -> crate::operation::describe_release_label::DescribeReleaseLabelOutput {
crate::operation::describe_release_label::DescribeReleaseLabelOutput {
release_label: self.release_label,
applications: self.applications,
next_token: self.next_token,
available_os_releases: self.available_os_releases,
_request_id: self._request_id,
}
}
}