aws_sdk_gameliftstreams/operation/create_stream_group/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_stream_group::_create_stream_group_output::CreateStreamGroupOutputBuilder;
3
4pub use crate::operation::create_stream_group::_create_stream_group_input::CreateStreamGroupInputBuilder;
5
6impl crate::operation::create_stream_group::builders::CreateStreamGroupInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::create_stream_group::CreateStreamGroupOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_stream_group::CreateStreamGroupError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_stream_group();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateStreamGroup`.
24///
25/// <p>Stream groups manage how Amazon GameLift Streams allocates resources and handles concurrent streams, allowing you to effectively manage capacity and costs. Within a stream group, you specify an application to stream, streaming locations and their capacity, and the stream class you want to use when streaming applications to your end-users. A stream class defines the hardware configuration of the compute resources that Amazon GameLift Streams will use when streaming, such as the CPU, GPU, and memory.</p>
26/// <p>Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:</p>
27/// <ul>
28/// <li>
29/// <p><b>Always-on</b>: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location.</p></li>
30/// <li>
31/// <p><b>On-demand</b>: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location.</p></li>
32/// </ul>
33/// <p>Values for capacity must be whole number multiples of the tenancy value of the stream group's stream class.</p>
34/// <p>To adjust the capacity of any <code>ACTIVE</code> stream group, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html">UpdateStreamGroup</a>.</p>
35/// <p>If the <code>CreateStreamGroup</code> request is successful, Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to <code>ACTIVATING</code>. It can take a few minutes for Amazon GameLift Streams to finish creating the stream group while it searches for unallocated compute resources and provisions them. When complete, the stream group status will be <code>ACTIVE</code> and you can start stream sessions by using <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html">StartStreamSession</a>. To check the stream group's status, call <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html">GetStreamGroup</a>.</p>
36/// <p>Stream groups should be recreated every 3-4 weeks to pick up important service updates and fixes. Stream groups that are older than 180 days can no longer be updated with new application associations. Stream groups expire when they are 365 days old, at which point they can no longer stream sessions. The exact expiration date is indicated by the date value in the <code>ExpiresAt</code> field.</p>
37#[derive(::std::clone::Clone, ::std::fmt::Debug)]
38pub struct CreateStreamGroupFluentBuilder {
39 handle: ::std::sync::Arc<crate::client::Handle>,
40 inner: crate::operation::create_stream_group::builders::CreateStreamGroupInputBuilder,
41 config_override: ::std::option::Option<crate::config::Builder>,
42}
43impl
44 crate::client::customize::internal::CustomizableSend<
45 crate::operation::create_stream_group::CreateStreamGroupOutput,
46 crate::operation::create_stream_group::CreateStreamGroupError,
47 > for CreateStreamGroupFluentBuilder
48{
49 fn send(
50 self,
51 config_override: crate::config::Builder,
52 ) -> crate::client::customize::internal::BoxFuture<
53 crate::client::customize::internal::SendResult<
54 crate::operation::create_stream_group::CreateStreamGroupOutput,
55 crate::operation::create_stream_group::CreateStreamGroupError,
56 >,
57 > {
58 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
59 }
60}
61impl CreateStreamGroupFluentBuilder {
62 /// Creates a new `CreateStreamGroupFluentBuilder`.
63 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
64 Self {
65 handle,
66 inner: ::std::default::Default::default(),
67 config_override: ::std::option::Option::None,
68 }
69 }
70 /// Access the CreateStreamGroup as a reference.
71 pub fn as_input(&self) -> &crate::operation::create_stream_group::builders::CreateStreamGroupInputBuilder {
72 &self.inner
73 }
74 /// Sends the request and returns the response.
75 ///
76 /// If an error occurs, an `SdkError` will be returned with additional details that
77 /// can be matched against.
78 ///
79 /// By default, any retryable failures will be retried twice. Retry behavior
80 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
81 /// set when configuring the client.
82 pub async fn send(
83 self,
84 ) -> ::std::result::Result<
85 crate::operation::create_stream_group::CreateStreamGroupOutput,
86 ::aws_smithy_runtime_api::client::result::SdkError<
87 crate::operation::create_stream_group::CreateStreamGroupError,
88 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
89 >,
90 > {
91 let input = self
92 .inner
93 .build()
94 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
95 let runtime_plugins = crate::operation::create_stream_group::CreateStreamGroup::operation_runtime_plugins(
96 self.handle.runtime_plugins.clone(),
97 &self.handle.conf,
98 self.config_override,
99 );
100 crate::operation::create_stream_group::CreateStreamGroup::orchestrate(&runtime_plugins, input).await
101 }
102
103 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
104 pub fn customize(
105 self,
106 ) -> crate::client::customize::CustomizableOperation<
107 crate::operation::create_stream_group::CreateStreamGroupOutput,
108 crate::operation::create_stream_group::CreateStreamGroupError,
109 Self,
110 > {
111 crate::client::customize::CustomizableOperation::new(self)
112 }
113 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
114 self.set_config_override(::std::option::Option::Some(config_override.into()));
115 self
116 }
117
118 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
119 self.config_override = config_override;
120 self
121 }
122 /// <p>A descriptive label for the stream group.</p>
123 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
124 self.inner = self.inner.description(input.into());
125 self
126 }
127 /// <p>A descriptive label for the stream group.</p>
128 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
129 self.inner = self.inner.set_description(input);
130 self
131 }
132 /// <p>A descriptive label for the stream group.</p>
133 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
134 self.inner.get_description()
135 }
136 /// <p>The target stream quality for sessions that are hosted in this stream group. Set a stream class that is appropriate to the type of content that you're streaming. Stream class determines the type of computing resources Amazon GameLift Streams uses and impacts the cost of streaming. The following options are available:</p>
137 /// <p>A stream class can be one of the following:</p>
138 /// <ul>
139 /// <li>
140 /// <p><b> <code>gen5n_win2022</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.</p>
141 /// <ul>
142 /// <li>
143 /// <p>Reference resolution: 1080p</p></li>
144 /// <li>
145 /// <p>Reference frame rate: 60 fps</p></li>
146 /// <li>
147 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li>
148 /// <li>
149 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
150 /// </ul></li>
151 /// <li>
152 /// <p><b> <code>gen5n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.</p>
153 /// <ul>
154 /// <li>
155 /// <p>Reference resolution: 1080p</p></li>
156 /// <li>
157 /// <p>Reference frame rate: 60 fps</p></li>
158 /// <li>
159 /// <p>Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM</p></li>
160 /// <li>
161 /// <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li>
162 /// </ul></li>
163 /// <li>
164 /// <p><b> <code>gen5n_ultra</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.</p>
165 /// <ul>
166 /// <li>
167 /// <p>Reference resolution: 1080p</p></li>
168 /// <li>
169 /// <p>Reference frame rate: 60 fps</p></li>
170 /// <li>
171 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li>
172 /// <li>
173 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
174 /// </ul></li>
175 /// <li>
176 /// <p><b> <code>gen4n_win2022</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.</p>
177 /// <ul>
178 /// <li>
179 /// <p>Reference resolution: 1080p</p></li>
180 /// <li>
181 /// <p>Reference frame rate: 60 fps</p></li>
182 /// <li>
183 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li>
184 /// <li>
185 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
186 /// </ul></li>
187 /// <li>
188 /// <p><b> <code>gen4n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.</p>
189 /// <ul>
190 /// <li>
191 /// <p>Reference resolution: 1080p</p></li>
192 /// <li>
193 /// <p>Reference frame rate: 60 fps</p></li>
194 /// <li>
195 /// <p>Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM</p></li>
196 /// <li>
197 /// <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li>
198 /// </ul></li>
199 /// <li>
200 /// <p><b> <code>gen4n_ultra</code> (NVIDIA, ultra)</b> Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.</p>
201 /// <ul>
202 /// <li>
203 /// <p>Reference resolution: 1080p</p></li>
204 /// <li>
205 /// <p>Reference frame rate: 60 fps</p></li>
206 /// <li>
207 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li>
208 /// <li>
209 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
210 /// </ul></li>
211 /// </ul>
212 pub fn stream_class(mut self, input: crate::types::StreamClass) -> Self {
213 self.inner = self.inner.stream_class(input);
214 self
215 }
216 /// <p>The target stream quality for sessions that are hosted in this stream group. Set a stream class that is appropriate to the type of content that you're streaming. Stream class determines the type of computing resources Amazon GameLift Streams uses and impacts the cost of streaming. The following options are available:</p>
217 /// <p>A stream class can be one of the following:</p>
218 /// <ul>
219 /// <li>
220 /// <p><b> <code>gen5n_win2022</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.</p>
221 /// <ul>
222 /// <li>
223 /// <p>Reference resolution: 1080p</p></li>
224 /// <li>
225 /// <p>Reference frame rate: 60 fps</p></li>
226 /// <li>
227 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li>
228 /// <li>
229 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
230 /// </ul></li>
231 /// <li>
232 /// <p><b> <code>gen5n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.</p>
233 /// <ul>
234 /// <li>
235 /// <p>Reference resolution: 1080p</p></li>
236 /// <li>
237 /// <p>Reference frame rate: 60 fps</p></li>
238 /// <li>
239 /// <p>Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM</p></li>
240 /// <li>
241 /// <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li>
242 /// </ul></li>
243 /// <li>
244 /// <p><b> <code>gen5n_ultra</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.</p>
245 /// <ul>
246 /// <li>
247 /// <p>Reference resolution: 1080p</p></li>
248 /// <li>
249 /// <p>Reference frame rate: 60 fps</p></li>
250 /// <li>
251 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li>
252 /// <li>
253 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
254 /// </ul></li>
255 /// <li>
256 /// <p><b> <code>gen4n_win2022</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.</p>
257 /// <ul>
258 /// <li>
259 /// <p>Reference resolution: 1080p</p></li>
260 /// <li>
261 /// <p>Reference frame rate: 60 fps</p></li>
262 /// <li>
263 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li>
264 /// <li>
265 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
266 /// </ul></li>
267 /// <li>
268 /// <p><b> <code>gen4n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.</p>
269 /// <ul>
270 /// <li>
271 /// <p>Reference resolution: 1080p</p></li>
272 /// <li>
273 /// <p>Reference frame rate: 60 fps</p></li>
274 /// <li>
275 /// <p>Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM</p></li>
276 /// <li>
277 /// <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li>
278 /// </ul></li>
279 /// <li>
280 /// <p><b> <code>gen4n_ultra</code> (NVIDIA, ultra)</b> Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.</p>
281 /// <ul>
282 /// <li>
283 /// <p>Reference resolution: 1080p</p></li>
284 /// <li>
285 /// <p>Reference frame rate: 60 fps</p></li>
286 /// <li>
287 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li>
288 /// <li>
289 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
290 /// </ul></li>
291 /// </ul>
292 pub fn set_stream_class(mut self, input: ::std::option::Option<crate::types::StreamClass>) -> Self {
293 self.inner = self.inner.set_stream_class(input);
294 self
295 }
296 /// <p>The target stream quality for sessions that are hosted in this stream group. Set a stream class that is appropriate to the type of content that you're streaming. Stream class determines the type of computing resources Amazon GameLift Streams uses and impacts the cost of streaming. The following options are available:</p>
297 /// <p>A stream class can be one of the following:</p>
298 /// <ul>
299 /// <li>
300 /// <p><b> <code>gen5n_win2022</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA A10G Tensor GPU.</p>
301 /// <ul>
302 /// <li>
303 /// <p>Reference resolution: 1080p</p></li>
304 /// <li>
305 /// <p>Reference frame rate: 60 fps</p></li>
306 /// <li>
307 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li>
308 /// <li>
309 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
310 /// </ul></li>
311 /// <li>
312 /// <p><b> <code>gen5n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.</p>
313 /// <ul>
314 /// <li>
315 /// <p>Reference resolution: 1080p</p></li>
316 /// <li>
317 /// <p>Reference frame rate: 60 fps</p></li>
318 /// <li>
319 /// <p>Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM</p></li>
320 /// <li>
321 /// <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li>
322 /// </ul></li>
323 /// <li>
324 /// <p><b> <code>gen5n_ultra</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.</p>
325 /// <ul>
326 /// <li>
327 /// <p>Reference resolution: 1080p</p></li>
328 /// <li>
329 /// <p>Reference frame rate: 60 fps</p></li>
330 /// <li>
331 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li>
332 /// <li>
333 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
334 /// </ul></li>
335 /// <li>
336 /// <p><b> <code>gen4n_win2022</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Runs applications on Microsoft Windows Server 2022 Base and supports DirectX 12. Compatible with Unreal Engine versions up through 5.4, 32 and 64-bit applications, and anti-cheat technology. Uses NVIDIA T4 Tensor GPU.</p>
337 /// <ul>
338 /// <li>
339 /// <p>Reference resolution: 1080p</p></li>
340 /// <li>
341 /// <p>Reference frame rate: 60 fps</p></li>
342 /// <li>
343 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li>
344 /// <li>
345 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
346 /// </ul></li>
347 /// <li>
348 /// <p><b> <code>gen4n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.</p>
349 /// <ul>
350 /// <li>
351 /// <p>Reference resolution: 1080p</p></li>
352 /// <li>
353 /// <p>Reference frame rate: 60 fps</p></li>
354 /// <li>
355 /// <p>Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM</p></li>
356 /// <li>
357 /// <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li>
358 /// </ul></li>
359 /// <li>
360 /// <p><b> <code>gen4n_ultra</code> (NVIDIA, ultra)</b> Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.</p>
361 /// <ul>
362 /// <li>
363 /// <p>Reference resolution: 1080p</p></li>
364 /// <li>
365 /// <p>Reference frame rate: 60 fps</p></li>
366 /// <li>
367 /// <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li>
368 /// <li>
369 /// <p>Tenancy: Supports 1 concurrent stream session</p></li>
370 /// </ul></li>
371 /// </ul>
372 pub fn get_stream_class(&self) -> &::std::option::Option<crate::types::StreamClass> {
373 self.inner.get_stream_class()
374 }
375 /// <p>The unique identifier of the Amazon GameLift Streams application that you want to set as the default application in a stream group. The application that you specify must be in <code>READY</code> status. The default application is pre-cached on always-on compute resources, reducing stream startup times. Other applications are automatically cached as needed.</p>
376 /// <p>If you do not link an application when you create a stream group, you will need to link one later, before you can start streaming, using <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_AssociateApplications.html">AssociateApplications</a>.</p>
377 /// <p>This value is an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> or ID that uniquely identifies the application resource. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6</code>. Example ID: <code>a-9ZY8X7Wv6</code>.</p>
378 pub fn default_application_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
379 self.inner = self.inner.default_application_identifier(input.into());
380 self
381 }
382 /// <p>The unique identifier of the Amazon GameLift Streams application that you want to set as the default application in a stream group. The application that you specify must be in <code>READY</code> status. The default application is pre-cached on always-on compute resources, reducing stream startup times. Other applications are automatically cached as needed.</p>
383 /// <p>If you do not link an application when you create a stream group, you will need to link one later, before you can start streaming, using <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_AssociateApplications.html">AssociateApplications</a>.</p>
384 /// <p>This value is an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> or ID that uniquely identifies the application resource. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6</code>. Example ID: <code>a-9ZY8X7Wv6</code>.</p>
385 pub fn set_default_application_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
386 self.inner = self.inner.set_default_application_identifier(input);
387 self
388 }
389 /// <p>The unique identifier of the Amazon GameLift Streams application that you want to set as the default application in a stream group. The application that you specify must be in <code>READY</code> status. The default application is pre-cached on always-on compute resources, reducing stream startup times. Other applications are automatically cached as needed.</p>
390 /// <p>If you do not link an application when you create a stream group, you will need to link one later, before you can start streaming, using <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_AssociateApplications.html">AssociateApplications</a>.</p>
391 /// <p>This value is an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> or ID that uniquely identifies the application resource. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6</code>. Example ID: <code>a-9ZY8X7Wv6</code>.</p>
392 pub fn get_default_application_identifier(&self) -> &::std::option::Option<::std::string::String> {
393 self.inner.get_default_application_identifier()
394 }
395 ///
396 /// Appends an item to `LocationConfigurations`.
397 ///
398 /// To override the contents of this collection use [`set_location_configurations`](Self::set_location_configurations).
399 ///
400 /// <p>A set of one or more locations and the streaming capacity for each location.</p>
401 pub fn location_configurations(mut self, input: crate::types::LocationConfiguration) -> Self {
402 self.inner = self.inner.location_configurations(input);
403 self
404 }
405 /// <p>A set of one or more locations and the streaming capacity for each location.</p>
406 pub fn set_location_configurations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::LocationConfiguration>>) -> Self {
407 self.inner = self.inner.set_location_configurations(input);
408 self
409 }
410 /// <p>A set of one or more locations and the streaming capacity for each location.</p>
411 pub fn get_location_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::LocationConfiguration>> {
412 self.inner.get_location_configurations()
413 }
414 ///
415 /// Adds a key-value pair to `Tags`.
416 ///
417 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
418 ///
419 /// <p>A list of labels to assign to the new stream group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and cost allocation. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging Amazon Web Services Resources</a> in the <i>Amazon Web Services General Reference</i>. You can use <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TagResource.html">TagResource</a> to add tags, <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UntagResource.html">UntagResource</a> to remove tags, and <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListTagsForResource.html">ListTagsForResource</a> to view tags on existing resources.</p>
420 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
421 self.inner = self.inner.tags(k.into(), v.into());
422 self
423 }
424 /// <p>A list of labels to assign to the new stream group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and cost allocation. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging Amazon Web Services Resources</a> in the <i>Amazon Web Services General Reference</i>. You can use <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TagResource.html">TagResource</a> to add tags, <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UntagResource.html">UntagResource</a> to remove tags, and <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListTagsForResource.html">ListTagsForResource</a> to view tags on existing resources.</p>
425 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
426 self.inner = self.inner.set_tags(input);
427 self
428 }
429 /// <p>A list of labels to assign to the new stream group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and cost allocation. See <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging Amazon Web Services Resources</a> in the <i>Amazon Web Services General Reference</i>. You can use <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TagResource.html">TagResource</a> to add tags, <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UntagResource.html">UntagResource</a> to remove tags, and <a href="https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListTagsForResource.html">ListTagsForResource</a> to view tags on existing resources.</p>
430 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
431 self.inner.get_tags()
432 }
433 /// <p>A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.</p>
434 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
435 self.inner = self.inner.client_token(input.into());
436 self
437 }
438 /// <p>A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.</p>
439 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
440 self.inner = self.inner.set_client_token(input);
441 self
442 }
443 /// <p>A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically populates this field.</p>
444 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
445 self.inner.get_client_token()
446 }
447}