aws_sdk_proton/client/create_component.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 [`CreateComponent`](crate::operation::create_component::builders::CreateComponentFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`name(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_name):<br>required: **true**<br><p>The customer-provided name of the component.</p><br>
7 /// - [`description(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_description):<br>required: **false**<br><p>An optional customer-provided description of the component.</p><br>
8 /// - [`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):<br>required: **false**<br><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><br>
9 /// - [`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):<br>required: **false**<br><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><br>
10 /// - [`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):<br>required: **false**<br><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><br>
11 /// - [`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):<br>required: **true**<br><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><br>
12 /// - [`manifest(impl Into<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::manifest) / [`set_manifest(Option<String>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_manifest):<br>required: **true**<br><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><br>
13 /// - [`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):<br>required: **false**<br><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><br>
14 /// - [`tags(Tag)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_component::builders::CreateComponentFluentBuilder::set_tags):<br>required: **false**<br><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><br>
15 /// - [`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):<br>required: **false**<br><p>The client token for the created component.</p><br>
16 /// - On success, responds with [`CreateComponentOutput`](crate::operation::create_component::CreateComponentOutput) with field(s):
17 /// - [`component(Option<Component>)`](crate::operation::create_component::CreateComponentOutput::component): <p>The detailed data of the created component.</p>
18 /// - On failure, responds with [`SdkError<CreateComponentError>`](crate::operation::create_component::CreateComponentError)
19 pub fn create_component(&self) -> crate::operation::create_component::builders::CreateComponentFluentBuilder {
20 crate::operation::create_component::builders::CreateComponentFluentBuilder::new(self.handle.clone())
21 }
22}