// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateLaunchProfile`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`client_token(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_client_token):<br>required: **false**<br><p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don’t specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_description):<br>required: **false**<br><p>The description.</p><br>
/// - [`ec2_subnet_ids(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::ec2_subnet_ids) / [`set_ec2_subnet_ids(Option<Vec::<String>>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_ec2_subnet_ids):<br>required: **true**<br><p>Specifies the IDs of the EC2 subnets where streaming sessions will be accessible from. These subnets must support the specified instance types. </p><br>
/// - [`launch_profile_protocol_versions(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::launch_profile_protocol_versions) / [`set_launch_profile_protocol_versions(Option<Vec::<String>>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_launch_profile_protocol_versions):<br>required: **true**<br><p>The version number of the protocol that is used by the launch profile. The only valid version is "2021-03-31".</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_name):<br>required: **true**<br><p>The name for the launch profile.</p><br>
/// - [`stream_configuration(StreamConfigurationCreate)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::stream_configuration) / [`set_stream_configuration(Option<StreamConfigurationCreate>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_stream_configuration):<br>required: **true**<br><p>A configuration for a streaming session.</p><br>
/// - [`studio_component_ids(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::studio_component_ids) / [`set_studio_component_ids(Option<Vec::<String>>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_studio_component_ids):<br>required: **true**<br><p>Unique identifiers for a collection of studio components that can be used with this launch profile.</p><br>
/// - [`studio_id(impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::studio_id) / [`set_studio_id(Option<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_studio_id):<br>required: **true**<br><p>The studio ID. </p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::set_tags):<br>required: **false**<br><p>A collection of labels, in the form of key-value pairs, that apply to this resource.</p><br>
/// - On success, responds with [`CreateLaunchProfileOutput`](crate::operation::create_launch_profile::CreateLaunchProfileOutput) with field(s):
/// - [`launch_profile(Option<LaunchProfile>)`](crate::operation::create_launch_profile::CreateLaunchProfileOutput::launch_profile): <p>The launch profile.</p>
/// - On failure, responds with [`SdkError<CreateLaunchProfileError>`](crate::operation::create_launch_profile::CreateLaunchProfileError)
pub fn create_launch_profile(&self) -> crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder {
crate::operation::create_launch_profile::builders::CreateLaunchProfileFluentBuilder::new(self.handle.clone())
}
}