// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateComponentVersion`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`inline_recipe(Blob)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::inline_recipe) / [`set_inline_recipe(Option<Blob>)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::set_inline_recipe):<br>required: **false**<br><p>The recipe to use to create the component. The recipe defines the component's metadata, parameters, dependencies, lifecycle, artifacts, and platform compatibility.</p> <p>You must specify either <code>inlineRecipe</code> or <code>lambdaFunction</code>.</p><br>
/// - [`lambda_function(LambdaFunctionRecipeSource)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::lambda_function) / [`set_lambda_function(Option<LambdaFunctionRecipeSource>)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::set_lambda_function):<br>required: **false**<br><p>The parameters to create a component from a Lambda function.</p> <p>You must specify either <code>inlineRecipe</code> or <code>lambdaFunction</code>.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs that contain metadata for the resource. For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html">Tag your resources</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you can provide to ensure that the request is idempotent. Idempotency means that the request is successfully processed only once, even if you send the request multiple times. When a request succeeds, and you specify the same client token for subsequent successful requests, the IoT Greengrass V2 service returns the successful response that it caches from the previous request. IoT Greengrass V2 caches successful responses for idempotent requests for up to 8 hours.</p><br>
/// - On success, responds with [`CreateComponentVersionOutput`](crate::operation::create_component_version::CreateComponentVersionOutput) with field(s):
/// - [`arn(Option<String>)`](crate::operation::create_component_version::CreateComponentVersionOutput::arn): <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> of the component version.</p>
/// - [`component_name(String)`](crate::operation::create_component_version::CreateComponentVersionOutput::component_name): <p>The name of the component.</p>
/// - [`component_version(String)`](crate::operation::create_component_version::CreateComponentVersionOutput::component_version): <p>The version of the component.</p>
/// - [`creation_timestamp(DateTime)`](crate::operation::create_component_version::CreateComponentVersionOutput::creation_timestamp): <p>The time at which the component was created, expressed in ISO 8601 format.</p>
/// - [`status(Option<CloudComponentStatus>)`](crate::operation::create_component_version::CreateComponentVersionOutput::status): <p>The status of the component version in IoT Greengrass V2. This status is different from the status of the component on a core device.</p>
/// - On failure, responds with [`SdkError<CreateComponentVersionError>`](crate::operation::create_component_version::CreateComponentVersionError)
pub fn create_component_version(&self) -> crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder {
crate::operation::create_component_version::builders::CreateComponentVersionFluentBuilder::new(self.handle.clone())
}
}