1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateComponent`](crate::operation::create_component::builders::CreateComponentFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_name): <p>The customer-provided name of the component.</p>
    ///   - [`description(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_description): <p>An optional customer-provided description of the component.</p>
    ///   - [`service_name(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::service_name) / [`set_service_name(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_service_name): <p>The name of the service that <code>serviceInstanceName</code> is associated with. If you don't specify this, the component isn't attached to any service instance. Specify both <code>serviceInstanceName</code> and <code>serviceName</code> or neither of them.</p>
    ///   - [`service_instance_name(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::service_instance_name) / [`set_service_instance_name(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_service_instance_name): <p>The name of the service instance that you want to attach this component to. If you don't specify this, the component isn't attached to any service instance. Specify both <code>serviceInstanceName</code> and <code>serviceName</code> or neither of them.</p>
    ///   - [`environment_name(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::environment_name) / [`set_environment_name(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_environment_name): <p>The name of the Proton environment that you want to associate this component with. You must specify this when you don't specify <code>serviceInstanceName</code> and <code>serviceName</code>.</p>
    ///   - [`template_file(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::template_file) / [`set_template_file(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_template_file): <p>A path to the Infrastructure as Code (IaC) file describing infrastructure that a custom component provisions.</p> <note>   <p>Components support a single IaC file, even if you use Terraform as your template language.</p>  </note>
    ///   - [`manifest(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::manifest) / [`set_manifest(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_manifest): <p>A path to a manifest file that lists the Infrastructure as Code (IaC) file, template language, and rendering engine for infrastructure that a custom component provisions.</p>
    ///   - [`service_spec(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::service_spec) / [`set_service_spec(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_service_spec): <p>The service spec that you want the component to use to access service inputs. Set this only when you attach the component to a service instance.</p>
    ///   - [`tags(Tag)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_tags): <p>An optional list of metadata items that you can associate with the Proton component. A tag is a key-value pair.</p>  <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/resources.html">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_client_token): <p>The client token for the created component.</p>
    /// - On success, responds with [`CreateComponentOutput`](crate::operation::create_component::CreateComponentOutput) with field(s):
    ///   - [`component(Option<Component>)`](crate::operation::create_component::CreateComponentOutput::component): <p>The detailed data of the created component.</p>
    /// - On failure, responds with [`SdkError<CreateComponentError>`](crate::operation::create_component::CreateComponentError)
    pub fn create_component(&self) -> crate::operation::create_component::builders::CreateComponentFluentBuilder {
        crate::operation::create_component::builders::CreateComponentFluentBuilder::new(self.handle.clone())
    }
}