aws_sdk_gameliftstreams/operation/get_application/_get_application_output.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct GetApplicationOutput {
6 /// <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is <code>arn:aws:gameliftstreams:\[AWS Region\]:\[AWS account\]:application/\[resource ID\]</code>.</p>
7 pub arn: ::std::string::String,
8 /// <p>A human-readable label for the application. You can edit this value.</p>
9 pub description: ::std::option::Option<::std::string::String>,
10 /// <p>Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.</p>
11 /// <p>A runtime environment can be one of the following:</p>
12 /// <ul>
13 /// <li>
14 /// <p>For Linux applications</p>
15 /// <ul>
16 /// <li>
17 /// <p>Ubuntu 22.04 LTS (<code>Type=UBUNTU, Version=22_04_LTS</code>)</p></li>
18 /// </ul></li>
19 /// <li>
20 /// <p>For Windows applications</p>
21 /// <ul>
22 /// <li>
23 /// <p>Microsoft Windows Server 2022 Base (<code>Type=WINDOWS, Version=2022</code>)</p></li>
24 /// <li>
25 /// <p>Proton 9.0-2 (<code>Type=PROTON, Version=20250516</code>)</p></li>
26 /// <li>
27 /// <p>Proton 8.0-5 (<code>Type=PROTON, Version=20241007</code>)</p></li>
28 /// <li>
29 /// <p>Proton 8.0-2c (<code>Type=PROTON, Version=20230704</code>)</p></li>
30 /// </ul></li>
31 /// </ul>
32 pub runtime_environment: ::std::option::Option<crate::types::RuntimeEnvironment>,
33 /// <p>The path and file name of the executable file that launches the content for streaming.</p>
34 pub executable_path: ::std::option::Option<::std::string::String>,
35 /// <p>Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in <code>ApplicationLogOutputUri</code> at the end of a stream session. To retrieve stored log files, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html">GetStreamSession</a> and get the <code>LogFileLocationUri</code>.</p>
36 pub application_log_paths: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
37 /// <p>An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more <code>ApplicationLogPaths</code>.</p>
38 pub application_log_output_uri: ::std::option::Option<::std::string::String>,
39 /// <p>The original Amazon S3 location of uploaded stream content for the application.</p>
40 pub application_source_uri: ::std::option::Option<::std::string::String>,
41 /// <p>A unique ID value that is assigned to the resource when it's created. Format example: <code>a-9ZY8X7Wv6</code>.</p>
42 pub id: ::std::option::Option<::std::string::String>,
43 /// <p>The current status of the application resource. Possible statuses include the following:</p>
44 /// <ul>
45 /// <li>
46 /// <p><code>INITIALIZED</code>: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.</p></li>
47 /// <li>
48 /// <p><code>PROCESSING</code>: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.</p></li>
49 /// <li>
50 /// <p><code>READY</code>: The application is ready to deploy in a stream group.</p></li>
51 /// <li>
52 /// <p><code>ERROR</code>: An error occurred when setting up the application. See <code>StatusReason</code> for more information.</p></li>
53 /// <li>
54 /// <p><code>DELETING</code>: Amazon GameLift Streams is in the process of deleting the application.</p></li>
55 /// </ul>
56 pub status: ::std::option::Option<crate::types::ApplicationStatus>,
57 /// <p>A short description of the status reason when the application is in <code>ERROR</code> status.</p>
58 pub status_reason: ::std::option::Option<crate::types::ApplicationStatusReason>,
59 /// <p>A set of replication statuses for each location.</p>
60 pub replication_statuses: ::std::option::Option<::std::vec::Vec<crate::types::ReplicationStatus>>,
61 /// <p>A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
62 pub created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
63 /// <p>A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
64 pub last_updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
65 /// <p>A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.</p>
66 /// <p>This value is a set of <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Names (ARNs)</a> that uniquely identify stream group resources. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4</code>.</p>
67 pub associated_stream_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
68 _request_id: Option<String>,
69}
70impl GetApplicationOutput {
71 /// <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is <code>arn:aws:gameliftstreams:\[AWS Region\]:\[AWS account\]:application/\[resource ID\]</code>.</p>
72 pub fn arn(&self) -> &str {
73 use std::ops::Deref;
74 self.arn.deref()
75 }
76 /// <p>A human-readable label for the application. You can edit this value.</p>
77 pub fn description(&self) -> ::std::option::Option<&str> {
78 self.description.as_deref()
79 }
80 /// <p>Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.</p>
81 /// <p>A runtime environment can be one of the following:</p>
82 /// <ul>
83 /// <li>
84 /// <p>For Linux applications</p>
85 /// <ul>
86 /// <li>
87 /// <p>Ubuntu 22.04 LTS (<code>Type=UBUNTU, Version=22_04_LTS</code>)</p></li>
88 /// </ul></li>
89 /// <li>
90 /// <p>For Windows applications</p>
91 /// <ul>
92 /// <li>
93 /// <p>Microsoft Windows Server 2022 Base (<code>Type=WINDOWS, Version=2022</code>)</p></li>
94 /// <li>
95 /// <p>Proton 9.0-2 (<code>Type=PROTON, Version=20250516</code>)</p></li>
96 /// <li>
97 /// <p>Proton 8.0-5 (<code>Type=PROTON, Version=20241007</code>)</p></li>
98 /// <li>
99 /// <p>Proton 8.0-2c (<code>Type=PROTON, Version=20230704</code>)</p></li>
100 /// </ul></li>
101 /// </ul>
102 pub fn runtime_environment(&self) -> ::std::option::Option<&crate::types::RuntimeEnvironment> {
103 self.runtime_environment.as_ref()
104 }
105 /// <p>The path and file name of the executable file that launches the content for streaming.</p>
106 pub fn executable_path(&self) -> ::std::option::Option<&str> {
107 self.executable_path.as_deref()
108 }
109 /// <p>Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in <code>ApplicationLogOutputUri</code> at the end of a stream session. To retrieve stored log files, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html">GetStreamSession</a> and get the <code>LogFileLocationUri</code>.</p>
110 ///
111 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.application_log_paths.is_none()`.
112 pub fn application_log_paths(&self) -> &[::std::string::String] {
113 self.application_log_paths.as_deref().unwrap_or_default()
114 }
115 /// <p>An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more <code>ApplicationLogPaths</code>.</p>
116 pub fn application_log_output_uri(&self) -> ::std::option::Option<&str> {
117 self.application_log_output_uri.as_deref()
118 }
119 /// <p>The original Amazon S3 location of uploaded stream content for the application.</p>
120 pub fn application_source_uri(&self) -> ::std::option::Option<&str> {
121 self.application_source_uri.as_deref()
122 }
123 /// <p>A unique ID value that is assigned to the resource when it's created. Format example: <code>a-9ZY8X7Wv6</code>.</p>
124 pub fn id(&self) -> ::std::option::Option<&str> {
125 self.id.as_deref()
126 }
127 /// <p>The current status of the application resource. Possible statuses include the following:</p>
128 /// <ul>
129 /// <li>
130 /// <p><code>INITIALIZED</code>: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.</p></li>
131 /// <li>
132 /// <p><code>PROCESSING</code>: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.</p></li>
133 /// <li>
134 /// <p><code>READY</code>: The application is ready to deploy in a stream group.</p></li>
135 /// <li>
136 /// <p><code>ERROR</code>: An error occurred when setting up the application. See <code>StatusReason</code> for more information.</p></li>
137 /// <li>
138 /// <p><code>DELETING</code>: Amazon GameLift Streams is in the process of deleting the application.</p></li>
139 /// </ul>
140 pub fn status(&self) -> ::std::option::Option<&crate::types::ApplicationStatus> {
141 self.status.as_ref()
142 }
143 /// <p>A short description of the status reason when the application is in <code>ERROR</code> status.</p>
144 pub fn status_reason(&self) -> ::std::option::Option<&crate::types::ApplicationStatusReason> {
145 self.status_reason.as_ref()
146 }
147 /// <p>A set of replication statuses for each location.</p>
148 ///
149 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.replication_statuses.is_none()`.
150 pub fn replication_statuses(&self) -> &[crate::types::ReplicationStatus] {
151 self.replication_statuses.as_deref().unwrap_or_default()
152 }
153 /// <p>A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
154 pub fn created_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
155 self.created_at.as_ref()
156 }
157 /// <p>A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
158 pub fn last_updated_at(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
159 self.last_updated_at.as_ref()
160 }
161 /// <p>A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.</p>
162 /// <p>This value is a set of <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Names (ARNs)</a> that uniquely identify stream group resources. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4</code>.</p>
163 ///
164 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.associated_stream_groups.is_none()`.
165 pub fn associated_stream_groups(&self) -> &[::std::string::String] {
166 self.associated_stream_groups.as_deref().unwrap_or_default()
167 }
168}
169impl ::aws_types::request_id::RequestId for GetApplicationOutput {
170 fn request_id(&self) -> Option<&str> {
171 self._request_id.as_deref()
172 }
173}
174impl GetApplicationOutput {
175 /// Creates a new builder-style object to manufacture [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
176 pub fn builder() -> crate::operation::get_application::builders::GetApplicationOutputBuilder {
177 crate::operation::get_application::builders::GetApplicationOutputBuilder::default()
178 }
179}
180
181/// A builder for [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
182#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
183#[non_exhaustive]
184pub struct GetApplicationOutputBuilder {
185 pub(crate) arn: ::std::option::Option<::std::string::String>,
186 pub(crate) description: ::std::option::Option<::std::string::String>,
187 pub(crate) runtime_environment: ::std::option::Option<crate::types::RuntimeEnvironment>,
188 pub(crate) executable_path: ::std::option::Option<::std::string::String>,
189 pub(crate) application_log_paths: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
190 pub(crate) application_log_output_uri: ::std::option::Option<::std::string::String>,
191 pub(crate) application_source_uri: ::std::option::Option<::std::string::String>,
192 pub(crate) id: ::std::option::Option<::std::string::String>,
193 pub(crate) status: ::std::option::Option<crate::types::ApplicationStatus>,
194 pub(crate) status_reason: ::std::option::Option<crate::types::ApplicationStatusReason>,
195 pub(crate) replication_statuses: ::std::option::Option<::std::vec::Vec<crate::types::ReplicationStatus>>,
196 pub(crate) created_at: ::std::option::Option<::aws_smithy_types::DateTime>,
197 pub(crate) last_updated_at: ::std::option::Option<::aws_smithy_types::DateTime>,
198 pub(crate) associated_stream_groups: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
199 _request_id: Option<String>,
200}
201impl GetApplicationOutputBuilder {
202 /// <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is <code>arn:aws:gameliftstreams:\[AWS Region\]:\[AWS account\]:application/\[resource ID\]</code>.</p>
203 /// This field is required.
204 pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
205 self.arn = ::std::option::Option::Some(input.into());
206 self
207 }
208 /// <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is <code>arn:aws:gameliftstreams:\[AWS Region\]:\[AWS account\]:application/\[resource ID\]</code>.</p>
209 pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
210 self.arn = input;
211 self
212 }
213 /// <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> that's assigned to an application resource and uniquely identifies it across all Amazon Web Services Regions. Format is <code>arn:aws:gameliftstreams:\[AWS Region\]:\[AWS account\]:application/\[resource ID\]</code>.</p>
214 pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
215 &self.arn
216 }
217 /// <p>A human-readable label for the application. You can edit this value.</p>
218 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
219 self.description = ::std::option::Option::Some(input.into());
220 self
221 }
222 /// <p>A human-readable label for the application. You can edit this value.</p>
223 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
224 self.description = input;
225 self
226 }
227 /// <p>A human-readable label for the application. You can edit this value.</p>
228 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
229 &self.description
230 }
231 /// <p>Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.</p>
232 /// <p>A runtime environment can be one of the following:</p>
233 /// <ul>
234 /// <li>
235 /// <p>For Linux applications</p>
236 /// <ul>
237 /// <li>
238 /// <p>Ubuntu 22.04 LTS (<code>Type=UBUNTU, Version=22_04_LTS</code>)</p></li>
239 /// </ul></li>
240 /// <li>
241 /// <p>For Windows applications</p>
242 /// <ul>
243 /// <li>
244 /// <p>Microsoft Windows Server 2022 Base (<code>Type=WINDOWS, Version=2022</code>)</p></li>
245 /// <li>
246 /// <p>Proton 9.0-2 (<code>Type=PROTON, Version=20250516</code>)</p></li>
247 /// <li>
248 /// <p>Proton 8.0-5 (<code>Type=PROTON, Version=20241007</code>)</p></li>
249 /// <li>
250 /// <p>Proton 8.0-2c (<code>Type=PROTON, Version=20230704</code>)</p></li>
251 /// </ul></li>
252 /// </ul>
253 pub fn runtime_environment(mut self, input: crate::types::RuntimeEnvironment) -> Self {
254 self.runtime_environment = ::std::option::Option::Some(input);
255 self
256 }
257 /// <p>Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.</p>
258 /// <p>A runtime environment can be one of the following:</p>
259 /// <ul>
260 /// <li>
261 /// <p>For Linux applications</p>
262 /// <ul>
263 /// <li>
264 /// <p>Ubuntu 22.04 LTS (<code>Type=UBUNTU, Version=22_04_LTS</code>)</p></li>
265 /// </ul></li>
266 /// <li>
267 /// <p>For Windows applications</p>
268 /// <ul>
269 /// <li>
270 /// <p>Microsoft Windows Server 2022 Base (<code>Type=WINDOWS, Version=2022</code>)</p></li>
271 /// <li>
272 /// <p>Proton 9.0-2 (<code>Type=PROTON, Version=20250516</code>)</p></li>
273 /// <li>
274 /// <p>Proton 8.0-5 (<code>Type=PROTON, Version=20241007</code>)</p></li>
275 /// <li>
276 /// <p>Proton 8.0-2c (<code>Type=PROTON, Version=20230704</code>)</p></li>
277 /// </ul></li>
278 /// </ul>
279 pub fn set_runtime_environment(mut self, input: ::std::option::Option<crate::types::RuntimeEnvironment>) -> Self {
280 self.runtime_environment = input;
281 self
282 }
283 /// <p>Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers.</p>
284 /// <p>A runtime environment can be one of the following:</p>
285 /// <ul>
286 /// <li>
287 /// <p>For Linux applications</p>
288 /// <ul>
289 /// <li>
290 /// <p>Ubuntu 22.04 LTS (<code>Type=UBUNTU, Version=22_04_LTS</code>)</p></li>
291 /// </ul></li>
292 /// <li>
293 /// <p>For Windows applications</p>
294 /// <ul>
295 /// <li>
296 /// <p>Microsoft Windows Server 2022 Base (<code>Type=WINDOWS, Version=2022</code>)</p></li>
297 /// <li>
298 /// <p>Proton 9.0-2 (<code>Type=PROTON, Version=20250516</code>)</p></li>
299 /// <li>
300 /// <p>Proton 8.0-5 (<code>Type=PROTON, Version=20241007</code>)</p></li>
301 /// <li>
302 /// <p>Proton 8.0-2c (<code>Type=PROTON, Version=20230704</code>)</p></li>
303 /// </ul></li>
304 /// </ul>
305 pub fn get_runtime_environment(&self) -> &::std::option::Option<crate::types::RuntimeEnvironment> {
306 &self.runtime_environment
307 }
308 /// <p>The path and file name of the executable file that launches the content for streaming.</p>
309 pub fn executable_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
310 self.executable_path = ::std::option::Option::Some(input.into());
311 self
312 }
313 /// <p>The path and file name of the executable file that launches the content for streaming.</p>
314 pub fn set_executable_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
315 self.executable_path = input;
316 self
317 }
318 /// <p>The path and file name of the executable file that launches the content for streaming.</p>
319 pub fn get_executable_path(&self) -> &::std::option::Option<::std::string::String> {
320 &self.executable_path
321 }
322 /// Appends an item to `application_log_paths`.
323 ///
324 /// To override the contents of this collection use [`set_application_log_paths`](Self::set_application_log_paths).
325 ///
326 /// <p>Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in <code>ApplicationLogOutputUri</code> at the end of a stream session. To retrieve stored log files, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html">GetStreamSession</a> and get the <code>LogFileLocationUri</code>.</p>
327 pub fn application_log_paths(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
328 let mut v = self.application_log_paths.unwrap_or_default();
329 v.push(input.into());
330 self.application_log_paths = ::std::option::Option::Some(v);
331 self
332 }
333 /// <p>Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in <code>ApplicationLogOutputUri</code> at the end of a stream session. To retrieve stored log files, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html">GetStreamSession</a> and get the <code>LogFileLocationUri</code>.</p>
334 pub fn set_application_log_paths(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
335 self.application_log_paths = input;
336 self
337 }
338 /// <p>Locations of log files that your content generates during a stream session. Amazon GameLift Streams uploads log files to the Amazon S3 bucket that you specify in <code>ApplicationLogOutputUri</code> at the end of a stream session. To retrieve stored log files, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html">GetStreamSession</a> and get the <code>LogFileLocationUri</code>.</p>
339 pub fn get_application_log_paths(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
340 &self.application_log_paths
341 }
342 /// <p>An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more <code>ApplicationLogPaths</code>.</p>
343 pub fn application_log_output_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
344 self.application_log_output_uri = ::std::option::Option::Some(input.into());
345 self
346 }
347 /// <p>An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more <code>ApplicationLogPaths</code>.</p>
348 pub fn set_application_log_output_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
349 self.application_log_output_uri = input;
350 self
351 }
352 /// <p>An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more <code>ApplicationLogPaths</code>.</p>
353 pub fn get_application_log_output_uri(&self) -> &::std::option::Option<::std::string::String> {
354 &self.application_log_output_uri
355 }
356 /// <p>The original Amazon S3 location of uploaded stream content for the application.</p>
357 pub fn application_source_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
358 self.application_source_uri = ::std::option::Option::Some(input.into());
359 self
360 }
361 /// <p>The original Amazon S3 location of uploaded stream content for the application.</p>
362 pub fn set_application_source_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
363 self.application_source_uri = input;
364 self
365 }
366 /// <p>The original Amazon S3 location of uploaded stream content for the application.</p>
367 pub fn get_application_source_uri(&self) -> &::std::option::Option<::std::string::String> {
368 &self.application_source_uri
369 }
370 /// <p>A unique ID value that is assigned to the resource when it's created. Format example: <code>a-9ZY8X7Wv6</code>.</p>
371 pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
372 self.id = ::std::option::Option::Some(input.into());
373 self
374 }
375 /// <p>A unique ID value that is assigned to the resource when it's created. Format example: <code>a-9ZY8X7Wv6</code>.</p>
376 pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
377 self.id = input;
378 self
379 }
380 /// <p>A unique ID value that is assigned to the resource when it's created. Format example: <code>a-9ZY8X7Wv6</code>.</p>
381 pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
382 &self.id
383 }
384 /// <p>The current status of the application resource. Possible statuses include the following:</p>
385 /// <ul>
386 /// <li>
387 /// <p><code>INITIALIZED</code>: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.</p></li>
388 /// <li>
389 /// <p><code>PROCESSING</code>: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.</p></li>
390 /// <li>
391 /// <p><code>READY</code>: The application is ready to deploy in a stream group.</p></li>
392 /// <li>
393 /// <p><code>ERROR</code>: An error occurred when setting up the application. See <code>StatusReason</code> for more information.</p></li>
394 /// <li>
395 /// <p><code>DELETING</code>: Amazon GameLift Streams is in the process of deleting the application.</p></li>
396 /// </ul>
397 pub fn status(mut self, input: crate::types::ApplicationStatus) -> Self {
398 self.status = ::std::option::Option::Some(input);
399 self
400 }
401 /// <p>The current status of the application resource. Possible statuses include the following:</p>
402 /// <ul>
403 /// <li>
404 /// <p><code>INITIALIZED</code>: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.</p></li>
405 /// <li>
406 /// <p><code>PROCESSING</code>: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.</p></li>
407 /// <li>
408 /// <p><code>READY</code>: The application is ready to deploy in a stream group.</p></li>
409 /// <li>
410 /// <p><code>ERROR</code>: An error occurred when setting up the application. See <code>StatusReason</code> for more information.</p></li>
411 /// <li>
412 /// <p><code>DELETING</code>: Amazon GameLift Streams is in the process of deleting the application.</p></li>
413 /// </ul>
414 pub fn set_status(mut self, input: ::std::option::Option<crate::types::ApplicationStatus>) -> Self {
415 self.status = input;
416 self
417 }
418 /// <p>The current status of the application resource. Possible statuses include the following:</p>
419 /// <ul>
420 /// <li>
421 /// <p><code>INITIALIZED</code>: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.</p></li>
422 /// <li>
423 /// <p><code>PROCESSING</code>: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.</p></li>
424 /// <li>
425 /// <p><code>READY</code>: The application is ready to deploy in a stream group.</p></li>
426 /// <li>
427 /// <p><code>ERROR</code>: An error occurred when setting up the application. See <code>StatusReason</code> for more information.</p></li>
428 /// <li>
429 /// <p><code>DELETING</code>: Amazon GameLift Streams is in the process of deleting the application.</p></li>
430 /// </ul>
431 pub fn get_status(&self) -> &::std::option::Option<crate::types::ApplicationStatus> {
432 &self.status
433 }
434 /// <p>A short description of the status reason when the application is in <code>ERROR</code> status.</p>
435 pub fn status_reason(mut self, input: crate::types::ApplicationStatusReason) -> Self {
436 self.status_reason = ::std::option::Option::Some(input);
437 self
438 }
439 /// <p>A short description of the status reason when the application is in <code>ERROR</code> status.</p>
440 pub fn set_status_reason(mut self, input: ::std::option::Option<crate::types::ApplicationStatusReason>) -> Self {
441 self.status_reason = input;
442 self
443 }
444 /// <p>A short description of the status reason when the application is in <code>ERROR</code> status.</p>
445 pub fn get_status_reason(&self) -> &::std::option::Option<crate::types::ApplicationStatusReason> {
446 &self.status_reason
447 }
448 /// Appends an item to `replication_statuses`.
449 ///
450 /// To override the contents of this collection use [`set_replication_statuses`](Self::set_replication_statuses).
451 ///
452 /// <p>A set of replication statuses for each location.</p>
453 pub fn replication_statuses(mut self, input: crate::types::ReplicationStatus) -> Self {
454 let mut v = self.replication_statuses.unwrap_or_default();
455 v.push(input);
456 self.replication_statuses = ::std::option::Option::Some(v);
457 self
458 }
459 /// <p>A set of replication statuses for each location.</p>
460 pub fn set_replication_statuses(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ReplicationStatus>>) -> Self {
461 self.replication_statuses = input;
462 self
463 }
464 /// <p>A set of replication statuses for each location.</p>
465 pub fn get_replication_statuses(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ReplicationStatus>> {
466 &self.replication_statuses
467 }
468 /// <p>A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
469 pub fn created_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
470 self.created_at = ::std::option::Option::Some(input);
471 self
472 }
473 /// <p>A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
474 pub fn set_created_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
475 self.created_at = input;
476 self
477 }
478 /// <p>A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
479 pub fn get_created_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
480 &self.created_at
481 }
482 /// <p>A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
483 pub fn last_updated_at(mut self, input: ::aws_smithy_types::DateTime) -> Self {
484 self.last_updated_at = ::std::option::Option::Some(input);
485 self
486 }
487 /// <p>A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
488 pub fn set_last_updated_at(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
489 self.last_updated_at = input;
490 self
491 }
492 /// <p>A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC).</p>
493 pub fn get_last_updated_at(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
494 &self.last_updated_at
495 }
496 /// Appends an item to `associated_stream_groups`.
497 ///
498 /// To override the contents of this collection use [`set_associated_stream_groups`](Self::set_associated_stream_groups).
499 ///
500 /// <p>A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.</p>
501 /// <p>This value is a set of <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Names (ARNs)</a> that uniquely identify stream group resources. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4</code>.</p>
502 pub fn associated_stream_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
503 let mut v = self.associated_stream_groups.unwrap_or_default();
504 v.push(input.into());
505 self.associated_stream_groups = ::std::option::Option::Some(v);
506 self
507 }
508 /// <p>A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.</p>
509 /// <p>This value is a set of <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Names (ARNs)</a> that uniquely identify stream group resources. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4</code>.</p>
510 pub fn set_associated_stream_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
511 self.associated_stream_groups = input;
512 self
513 }
514 /// <p>A set of stream groups that this application is associated with. You can use any of these stream groups to stream your application.</p>
515 /// <p>This value is a set of <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Names (ARNs)</a> that uniquely identify stream group resources. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4</code>.</p>
516 pub fn get_associated_stream_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
517 &self.associated_stream_groups
518 }
519 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
520 self._request_id = Some(request_id.into());
521 self
522 }
523
524 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
525 self._request_id = request_id;
526 self
527 }
528 /// Consumes the builder and constructs a [`GetApplicationOutput`](crate::operation::get_application::GetApplicationOutput).
529 /// This method will fail if any of the following fields are not set:
530 /// - [`arn`](crate::operation::get_application::builders::GetApplicationOutputBuilder::arn)
531 pub fn build(
532 self,
533 ) -> ::std::result::Result<crate::operation::get_application::GetApplicationOutput, ::aws_smithy_types::error::operation::BuildError> {
534 ::std::result::Result::Ok(crate::operation::get_application::GetApplicationOutput {
535 arn: self.arn.ok_or_else(|| {
536 ::aws_smithy_types::error::operation::BuildError::missing_field(
537 "arn",
538 "arn was not specified but it is required when building GetApplicationOutput",
539 )
540 })?,
541 description: self.description,
542 runtime_environment: self.runtime_environment,
543 executable_path: self.executable_path,
544 application_log_paths: self.application_log_paths,
545 application_log_output_uri: self.application_log_output_uri,
546 application_source_uri: self.application_source_uri,
547 id: self.id,
548 status: self.status,
549 status_reason: self.status_reason,
550 replication_statuses: self.replication_statuses,
551 created_at: self.created_at,
552 last_updated_at: self.last_updated_at,
553 associated_stream_groups: self.associated_stream_groups,
554 _request_id: self._request_id,
555 })
556 }
557}