aws_sdk_appstream/client/create_app_block_builder.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 [`CreateAppBlockBuilder`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`name(impl Into<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_name):<br>required: **true**<br><p>The unique name for the app block builder.</p><br>
7 /// - [`description(impl Into<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_description):<br>required: **false**<br><p>The description of the app block builder.</p><br>
8 /// - [`display_name(impl Into<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::display_name) / [`set_display_name(Option<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_display_name):<br>required: **false**<br><p>The display name of the app block builder.</p><br>
9 /// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to associate with the app block builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.</p> <p>If you do not specify a value, the value is set to an empty string.</p> <p>Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:</p> <p>_ . : / = + \ - @</p> <p>For more information, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html">Tagging Your Resources</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p><br>
10 /// - [`platform(AppBlockBuilderPlatformType)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::platform) / [`set_platform(Option<AppBlockBuilderPlatformType>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_platform):<br>required: **true**<br><p>The platform of the app block builder.</p> <p><code>WINDOWS_SERVER_2019</code> is the only valid value.</p><br>
11 /// - [`instance_type(impl Into<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::instance_type) / [`set_instance_type(Option<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_instance_type):<br>required: **true**<br><p>The instance type to use when launching the app block builder. The following instance types are available:</p> <ul> <li> <p>stream.standard.small</p></li> <li> <p>stream.standard.medium</p></li> <li> <p>stream.standard.large</p></li> <li> <p>stream.standard.xlarge</p></li> <li> <p>stream.standard.2xlarge</p></li> </ul><br>
12 /// - [`vpc_config(VpcConfig)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::vpc_config) / [`set_vpc_config(Option<VpcConfig>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_vpc_config):<br>required: **true**<br><p>The VPC configuration for the app block builder.</p> <p>App block builders require that you specify at least two subnets in different availability zones.</p><br>
13 /// - [`enable_default_internet_access(bool)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::enable_default_internet_access) / [`set_enable_default_internet_access(Option<bool>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_enable_default_internet_access):<br>required: **false**<br><p>Enables or disables default internet access for the app block builder.</p><br>
14 /// - [`iam_role_arn(impl Into<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_iam_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the IAM role to apply to the app block builder. To assume a role, the app block builder calls the AWS Security Token Service (STS) <code>AssumeRole</code> API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the <b>appstream_machine_role</b> credential profile on the instance.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html">Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances</a> in the <i>Amazon AppStream 2.0 Administration Guide</i>.</p><br>
15 /// - [`access_endpoints(AccessEndpoint)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::access_endpoints) / [`set_access_endpoints(Option<Vec::<AccessEndpoint>>)`](crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::set_access_endpoints):<br>required: **false**<br><p>The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the app block builder only through the specified endpoints.</p><br>
16 /// - On success, responds with [`CreateAppBlockBuilderOutput`](crate::operation::create_app_block_builder::CreateAppBlockBuilderOutput) with field(s):
17 /// - [`app_block_builder(Option<AppBlockBuilder>)`](crate::operation::create_app_block_builder::CreateAppBlockBuilderOutput::app_block_builder): <p>Describes an app block builder.</p>
18 /// - On failure, responds with [`SdkError<CreateAppBlockBuilderError>`](crate::operation::create_app_block_builder::CreateAppBlockBuilderError)
19 pub fn create_app_block_builder(&self) -> crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder {
20 crate::operation::create_app_block_builder::builders::CreateAppBlockBuilderFluentBuilder::new(self.handle.clone())
21 }
22}