// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`UpdateStudioComponent`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`client_token(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_client_token): <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>
/// - [`configuration(StudioComponentConfiguration)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::configuration) / [`set_configuration(Option<StudioComponentConfiguration>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_configuration): <p>The configuration of the studio component, based on component type.</p>
/// - [`description(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_description): <p>The description.</p>
/// - [`ec2_security_group_ids(Vec<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::ec2_security_group_ids) / [`set_ec2_security_group_ids(Option<Vec<String>>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_ec2_security_group_ids): <p>The EC2 security groups that control access to the studio component.</p>
/// - [`initialization_scripts(Vec<StudioComponentInitializationScript>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::initialization_scripts) / [`set_initialization_scripts(Option<Vec<StudioComponentInitializationScript>>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_initialization_scripts): <p>Initialization scripts for studio components.</p>
/// - [`name(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_name): <p>The name for the studio component.</p>
/// - [`script_parameters(Vec<ScriptParameterKeyValue>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::script_parameters) / [`set_script_parameters(Option<Vec<ScriptParameterKeyValue>>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_script_parameters): <p>Parameters for the studio component scripts.</p>
/// - [`studio_component_id(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::studio_component_id) / [`set_studio_component_id(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_studio_component_id): <p>The studio component ID.</p>
/// - [`studio_id(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::studio_id) / [`set_studio_id(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_studio_id): <p>The studio ID. </p>
/// - [`subtype(StudioComponentSubtype)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::subtype) / [`set_subtype(Option<StudioComponentSubtype>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_subtype): <p>The specific subtype of a studio component.</p>
/// - [`r#type(StudioComponentType)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::type) / [`set_type(Option<StudioComponentType>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_type): <p>The type of the studio component.</p>
/// - [`secure_initialization_role_arn(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::secure_initialization_role_arn) / [`set_secure_initialization_role_arn(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_secure_initialization_role_arn): <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>
/// - [`runtime_role_arn(impl ::std::convert::Into<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::runtime_role_arn) / [`set_runtime_role_arn(Option<String>)`](crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::set_runtime_role_arn): <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>
/// - On success, responds with [`UpdateStudioComponentOutput`](crate::operation::update_studio_component::UpdateStudioComponentOutput) with field(s):
/// - [`studio_component(Option<StudioComponent>)`](crate::operation::update_studio_component::UpdateStudioComponentOutput::studio_component): <p>Information about the studio component.</p>
/// - On failure, responds with [`SdkError<UpdateStudioComponentError>`](crate::operation::update_studio_component::UpdateStudioComponentError)
pub fn update_studio_component(&self) -> crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder {
crate::operation::update_studio_component::builders::UpdateStudioComponentFluentBuilder::new(self.handle.clone())
}
}