1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateStudioComponent`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::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>
    ///   - [`configuration(StudioComponentConfiguration)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::configuration) / [`set_configuration(Option<StudioComponentConfiguration>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_configuration):<br>required: **false**<br><p>The configuration of the studio component, based on component type.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_description):<br>required: **false**<br><p>The description.</p><br>
    ///   - [`ec2_security_group_ids(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::ec2_security_group_ids) / [`set_ec2_security_group_ids(Option<Vec::<String>>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_ec2_security_group_ids):<br>required: **false**<br><p>The EC2 security groups that control access to the studio component.</p><br>
    ///   - [`initialization_scripts(StudioComponentInitializationScript)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::initialization_scripts) / [`set_initialization_scripts(Option<Vec::<StudioComponentInitializationScript>>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_initialization_scripts):<br>required: **false**<br><p>Initialization scripts for studio components.</p><br>
    ///   - [`name(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_name):<br>required: **true**<br><p>The name for the studio component.</p><br>
    ///   - [`script_parameters(ScriptParameterKeyValue)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::script_parameters) / [`set_script_parameters(Option<Vec::<ScriptParameterKeyValue>>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_script_parameters):<br>required: **false**<br><p>Parameters for the studio component scripts.</p><br>
    ///   - [`studio_id(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::studio_id) / [`set_studio_id(Option<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_studio_id):<br>required: **true**<br><p>The studio ID.</p><br>
    ///   - [`subtype(StudioComponentSubtype)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::subtype) / [`set_subtype(Option<StudioComponentSubtype>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_subtype):<br>required: **false**<br><p>The specific subtype of a studio component.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::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>
    ///   - [`r#type(StudioComponentType)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::type) / [`set_type(Option<StudioComponentType>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_type):<br>required: **true**<br><p>The type of the studio component.</p><br>
    ///   - [`secure_initialization_role_arn(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::secure_initialization_role_arn) / [`set_secure_initialization_role_arn(Option<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_secure_initialization_role_arn):<br>required: **false**<br><p>An IAM role attached to Studio Component when the system initialization script runs which give the studio component access to Amazon Web Services resources when the system initialization script runs.</p><br>
    ///   - [`runtime_role_arn(impl Into<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::runtime_role_arn) / [`set_runtime_role_arn(Option<String>)`](crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::set_runtime_role_arn):<br>required: **false**<br><p>An IAM role attached to a Studio Component that gives the studio component access to Amazon Web Services resources at anytime while the instance is running.</p><br>
    /// - On success, responds with [`CreateStudioComponentOutput`](crate::operation::create_studio_component::CreateStudioComponentOutput) with field(s):
    ///   - [`studio_component(Option<StudioComponent>)`](crate::operation::create_studio_component::CreateStudioComponentOutput::studio_component): <p>Information about the studio component.</p>
    /// - On failure, responds with [`SdkError<CreateStudioComponentError>`](crate::operation::create_studio_component::CreateStudioComponentError)
    pub fn create_studio_component(&self) -> crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder {
        crate::operation::create_studio_component::builders::CreateStudioComponentFluentBuilder::new(self.handle.clone())
    }
}