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