aws_sdk_gameliftstreams/client/create_stream_group.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateStreamGroup`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`description(impl Into<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::set_description):<br>required: **true**<br><p>A descriptive label for the stream group.</p><br>
7 /// - [`stream_class(StreamClass)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::stream_class) / [`set_stream_class(Option<StreamClass>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::set_stream_class):<br>required: **true**<br><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> <p>A stream class can be one of the following:</p> <ul> <li> <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> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> <li> <p><b> <code>gen5n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM</p></li> <li> <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li> </ul></li> <li> <p><b> <code>gen5n_ultra</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> <li> <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> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> <li> <p><b> <code>gen4n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM</p></li> <li> <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li> </ul></li> <li> <p><b> <code>gen4n_ultra</code> (NVIDIA, ultra)</b> Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> </ul><br>
8 /// - [`default_application_identifier(impl Into<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::default_application_identifier) / [`set_default_application_identifier(Option<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::set_default_application_identifier):<br>required: **false**<br><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> <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> <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><br>
9 /// - [`location_configurations(LocationConfiguration)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::location_configurations) / [`set_location_configurations(Option<Vec::<LocationConfiguration>>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::set_location_configurations):<br>required: **false**<br><p>A set of one or more locations and the streaming capacity for each location.</p><br>
10 /// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::set_tags):<br>required: **false**<br><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><br>
11 /// - [`client_token(impl Into<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::set_client_token):<br>required: **false**<br><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><br>
12 /// - On success, responds with [`CreateStreamGroupOutput`](crate::operation::create_stream_group::CreateStreamGroupOutput) with field(s):
13 /// - [`arn(String)`](crate::operation::create_stream_group::CreateStreamGroupOutput::arn): <p>The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html">Amazon Resource Name (ARN)</a> that is assigned to the stream group resource and that uniquely identifies the group across all Amazon Web Services Regions. Format is <code>arn:aws:gameliftstreams:\[AWS Region\]:\[AWS account\]:streamgroup/\[resource ID\]</code>.</p>
14 /// - [`description(Option<String>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::description): <p>A descriptive label for the stream group.</p>
15 /// - [`default_application(Option<DefaultApplication>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::default_application): <p>The default Amazon GameLift Streams application that is associated with this stream group.</p>
16 /// - [`location_states(Option<Vec::<LocationState>>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::location_states): <p>This value is the set of locations, including their name, current status, and capacities.</p> <p>A location can be in one of the following states:</p> <ul> <li> <p><code>ACTIVATING</code>: Amazon GameLift Streams is preparing the location. You cannot stream from, scale the capacity of, or remove this location yet.</p></li> <li> <p><code>ACTIVE</code>: The location is provisioned with initial capacity. You can now stream from, scale the capacity of, or remove this location.</p></li> <li> <p><code>ERROR</code>: Amazon GameLift Streams failed to set up this location. The <code>StatusReason</code> field describes the error. You can remove this location and try to add it again.</p></li> <li> <p><code>REMOVING</code>: Amazon GameLift Streams is working to remove this location. This will release all provisioned capacity for this location in this stream group.</p></li> </ul>
17 /// - [`stream_class(Option<StreamClass>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::stream_class): <p>The target stream quality for the stream group.</p> <p>A stream class can be one of the following:</p> <ul> <li> <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> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> <li> <p><b> <code>gen5n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA A10G Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 4 vCPUs, 16 GB RAM, 12 GB VRAM</p></li> <li> <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li> </ul></li> <li> <p><b> <code>gen5n_ultra</code> (NVIDIA, ultra)</b> Supports applications with extremely high 3D scene complexity. Uses dedicated NVIDIA A10G Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 24 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> <li> <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> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> <li> <p><b> <code>gen4n_high</code> (NVIDIA, high)</b> Supports applications with moderate to high 3D scene complexity. Uses NVIDIA T4 Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 4 vCPUs, 16 GB RAM, 8 GB VRAM</p></li> <li> <p>Tenancy: Supports up to 2 concurrent stream sessions</p></li> </ul></li> <li> <p><b> <code>gen4n_ultra</code> (NVIDIA, ultra)</b> Supports applications with high 3D scene complexity. Uses dedicated NVIDIA T4 Tensor GPU.</p> <ul> <li> <p>Reference resolution: 1080p</p></li> <li> <p>Reference frame rate: 60 fps</p></li> <li> <p>Workload specifications: 8 vCPUs, 32 GB RAM, 16 GB VRAM</p></li> <li> <p>Tenancy: Supports 1 concurrent stream session</p></li> </ul></li> </ul>
18 /// - [`id(Option<String>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::id): <p>A unique ID value that is assigned to the resource when it's created. Format example: <code>sg-1AB2C3De4</code>.</p>
19 /// - [`status(Option<StreamGroupStatus>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::status): <p>The current status of the stream group resource. Possible statuses include the following:</p> <ul> <li> <p><code>ACTIVATING</code>: The stream group is deploying and isn't ready to host streams.</p></li> <li> <p><code>ACTIVE</code>: The stream group is ready to host streams.</p></li> <li> <p><code>ACTIVE_WITH_ERRORS</code>: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.</p></li> <li> <p><code>DELETING</code>: Amazon GameLift Streams is in the process of deleting the stream group.</p></li> <li> <p><code>ERROR</code>: An error occurred when the stream group deployed. See <code>StatusReason</code> (returned by <code>CreateStreamGroup</code>, <code>GetStreamGroup</code>, and <code>UpdateStreamGroup</code>) for more information.</p></li> <li> <p><code>EXPIRED</code>: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of <code>ExpiresAt</code>. Create a new stream group to resume streaming capabilities.</p></li> <li> <p><code>UPDATING_LOCATIONS</code>: One or more locations in the stream group are in the process of updating (either activating or deleting).</p></li> </ul>
20 /// - [`status_reason(Option<StreamGroupStatusReason>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::status_reason): <p>A short description of the reason that the stream group is in <code>ERROR</code> status. The possible reasons can be one of the following:</p> <ul> <li> <p><code>internalError</code>: The request can't process right now because of an issue with the server. Try again later.</p></li> <li> <p><code>noAvailableInstances</code>: Amazon GameLift Streams does not currently have enough available on-demand capacity to fulfill your request. Wait a few minutes and retry the request as capacity can shift frequently. You can also try to make the request using a different stream class or in another region.</p></li> </ul>
21 /// - [`last_updated_at(Option<DateTime>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::last_updated_at): <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>
22 /// - [`created_at(Option<DateTime>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::created_at): <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>
23 /// - [`expires_at(Option<DateTime>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::expires_at): <p>The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: <code>2022-12-27T22:29:40+00:00</code> (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group.</p>
24 /// - [`associated_applications(Option<Vec::<String>>)`](crate::operation::create_stream_group::CreateStreamGroupOutput::associated_applications): <p>A set of applications that this stream group is associated to. You can stream any of these applications by using this stream group.</p> <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 application resources. Example ARN: <code>arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6</code>.</p>
25 /// - On failure, responds with [`SdkError<CreateStreamGroupError>`](crate::operation::create_stream_group::CreateStreamGroupError)
26 pub fn create_stream_group(&self) -> crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder {
27 crate::operation::create_stream_group::builders::CreateStreamGroupFluentBuilder::new(self.handle.clone())
28 }
29}