// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateAssetModelCompositeModel`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`asset_model_id(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_id) / [`set_asset_model_id(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_id):<br>required: **true**<br><p>The ID of the asset model this composite model is a part of.</p><br>
/// - [`parent_asset_model_composite_model_id(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::parent_asset_model_composite_model_id) / [`set_parent_asset_model_composite_model_id(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_parent_asset_model_composite_model_id):<br>required: **false**<br><p>The ID of the parent composite model in this asset model relationship.</p><br>
/// - [`asset_model_composite_model_external_id(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_composite_model_external_id) / [`set_asset_model_composite_model_external_id(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_composite_model_external_id):<br>required: **false**<br><p>An external ID to assign to the composite model.</p> <p>If the composite model is a derived composite model, or one nested inside a component model, you can only set the external ID using <code>UpdateAssetModelCompositeModel</code> and specifying the derived ID of the model or property from the created model it's a part of.</p><br>
/// - [`asset_model_composite_model_id(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_composite_model_id) / [`set_asset_model_composite_model_id(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_composite_model_id):<br>required: **false**<br><p>The ID of the composite model. 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_model_composite_model_description(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_composite_model_description) / [`set_asset_model_composite_model_description(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_composite_model_description):<br>required: **false**<br><p>A description for the composite model.</p><br>
/// - [`asset_model_composite_model_name(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_composite_model_name) / [`set_asset_model_composite_model_name(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_composite_model_name):<br>required: **true**<br><p>A unique, friendly name for the composite model.</p><br>
/// - [`asset_model_composite_model_type(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_composite_model_type) / [`set_asset_model_composite_model_type(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_composite_model_type):<br>required: **true**<br><p>The composite model type. Valid values are <code>AWS/ALARM</code>, <code>CUSTOM</code>, or <code> AWS/L4E_ANOMALY</code>.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::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>
/// - [`composed_asset_model_id(impl Into<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::composed_asset_model_id) / [`set_composed_asset_model_id(Option<String>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_composed_asset_model_id):<br>required: **false**<br><p>The ID of a composite model on this asset.</p><br>
/// - [`asset_model_composite_model_properties(AssetModelPropertyDefinition)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::asset_model_composite_model_properties) / [`set_asset_model_composite_model_properties(Option<Vec::<AssetModelPropertyDefinition>>)`](crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::set_asset_model_composite_model_properties):<br>required: **false**<br><p>The property definitions of the composite model. For more information, see <link>.</p> <p>You can specify up to 200 properties per composite model. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html">Quotas</a> in the <i>IoT SiteWise User Guide</i>.</p><br>
/// - On success, responds with [`CreateAssetModelCompositeModelOutput`](crate::operation::create_asset_model_composite_model::CreateAssetModelCompositeModelOutput) with field(s):
/// - [`asset_model_composite_model_id(String)`](crate::operation::create_asset_model_composite_model::CreateAssetModelCompositeModelOutput::asset_model_composite_model_id): <p>The ID of the composed asset model. You can use this ID when you call other IoT SiteWise APIs.</p>
/// - [`asset_model_composite_model_path(Vec::<AssetModelCompositeModelPathSegment>)`](crate::operation::create_asset_model_composite_model::CreateAssetModelCompositeModelOutput::asset_model_composite_model_path): <p>The path to the composite model listing the parent composite models.</p>
/// - [`asset_model_status(Option<AssetModelStatus>)`](crate::operation::create_asset_model_composite_model::CreateAssetModelCompositeModelOutput::asset_model_status): <p>Contains current status information for an asset model. For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/asset-and-model-states.html">Asset and model states</a> in the <i>IoT SiteWise User Guide</i>.</p>
/// - On failure, responds with [`SdkError<CreateAssetModelCompositeModelError>`](crate::operation::create_asset_model_composite_model::CreateAssetModelCompositeModelError)
pub fn create_asset_model_composite_model(
&self,
) -> crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder {
crate::operation::create_asset_model_composite_model::builders::CreateAssetModelCompositeModelFluentBuilder::new(self.handle.clone())
}
}