// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateAsset`](crate::operation::create_asset::builders::CreateAssetFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`asset_name(impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::asset_name) / [`set_asset_name(Option<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_asset_name):<br>required: **true**<br><p>A friendly name for the asset.</p><br>
/// - [`asset_model_id(impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::asset_model_id) / [`set_asset_model_id(Option<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_asset_model_id):<br>required: **true**<br><p>The ID of the asset model from which to create the asset. This can be either the actual ID in UUID format, or else <code>externalId:</code> followed by the external ID, if it has one. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-id-references">Referencing objects with external IDs</a> in the <i>IoT SiteWise User Guide</i>.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs that contain metadata for the asset. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html">Tagging your IoT SiteWise resources</a> in the <i>IoT SiteWise User Guide</i>.</p><br>
/// - [`asset_description(impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::asset_description) / [`set_asset_description(Option<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_asset_description):<br>required: **false**<br><p>A description for the asset.</p><br>
/// - [`asset_id(impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::asset_id) / [`set_asset_id(Option<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_asset_id):<br>required: **false**<br><p>The ID to assign to the asset, if desired. IoT SiteWise automatically generates a unique ID for you, so this parameter is never required. However, if you prefer to supply your own ID instead, you can specify it here in UUID format. If you specify your own ID, it must be globally unique.</p><br>
/// - [`asset_external_id(impl Into<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::asset_external_id) / [`set_asset_external_id(Option<String>)`](crate::operation::create_asset::builders::CreateAssetFluentBuilder::set_asset_external_id):<br>required: **false**<br><p>An external ID to assign to the asset. The external ID must be unique within your Amazon Web Services account. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/object-ids.html#external-ids">Using external IDs</a> in the <i>IoT SiteWise User Guide</i>.</p><br>
/// - On success, responds with [`CreateAssetOutput`](crate::operation::create_asset::CreateAssetOutput) with field(s):
/// - [`asset_id(String)`](crate::operation::create_asset::CreateAssetOutput::asset_id): <p>The ID of the asset, in UUID format. This ID uniquely identifies the asset within IoT SiteWise and can be used with other IoT SiteWise API operations.</p>
/// - [`asset_arn(String)`](crate::operation::create_asset::CreateAssetOutput::asset_arn): <p>The <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> of the asset, which has the following format.</p> <p><code>arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}</code></p>
/// - [`asset_status(Option<AssetStatus>)`](crate::operation::create_asset::CreateAssetOutput::asset_status): <p>The status of the asset, which contains a state (<code>CREATING</code> after successfully calling this operation) and any error message.</p>
/// - On failure, responds with [`SdkError<CreateAssetError>`](crate::operation::create_asset::CreateAssetError)
pub fn create_asset(&self) -> crate::operation::create_asset::builders::CreateAssetFluentBuilder {
crate::operation::create_asset::builders::CreateAssetFluentBuilder::new(self.handle.clone())
}
}