// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DescribeMetadataModel`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`selection_rules(impl Into<String>)`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::selection_rules) / [`set_selection_rules(Option<String>)`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::set_selection_rules):<br>required: **true**<br><p>A JSON string that identifies the metadata model to retrieve. For the selection rule format and examples, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/sc-selection-rules.html">Selection rules in DMS Schema Conversion</a>.</p> <p>Usage:</p> <ul> <li> <p>Accepts source or target selection rules depending on the <code>Origin</code> parameter. The <code>server-name</code> in the object locator must match the corresponding data provider.</p></li> <li> <p>Supports only <code>explicit</code> rule actions.</p></li> <li> <p>Exactly one rule is allowed.</p></li> </ul><br>
/// - [`migration_project_identifier(impl Into<String>)`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::migration_project_identifier) / [`set_migration_project_identifier(Option<String>)`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::set_migration_project_identifier):<br>required: **true**<br><p>The migration project name or Amazon Resource Name (ARN).</p><br>
/// - [`origin(OriginTypeValue)`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::origin) / [`set_origin(Option<OriginTypeValue>)`](crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::set_origin):<br>required: **true**<br><p>Specifies whether to retrieve metadata from the source or target tree. Valid values: SOURCE | TARGET</p><br>
/// - On success, responds with [`DescribeMetadataModelOutput`](crate::operation::describe_metadata_model::DescribeMetadataModelOutput) with field(s):
/// - [`metadata_model_name(Option<String>)`](crate::operation::describe_metadata_model::DescribeMetadataModelOutput::metadata_model_name): <p>The name of the metadata model.</p>
/// - [`metadata_model_type(Option<String>)`](crate::operation::describe_metadata_model::DescribeMetadataModelOutput::metadata_model_type): <p>The type of the metadata model.</p>
/// - [`target_metadata_models(Option<Vec::<MetadataModelReference>>)`](crate::operation::describe_metadata_model::DescribeMetadataModelOutput::target_metadata_models): <p>A list of counterpart metadata models in the target. This field is populated only when Origin is SOURCE and after the object has been converted by DMS Schema Conversion.</p>
/// - [`definition(Option<String>)`](crate::operation::describe_metadata_model::DescribeMetadataModelOutput::definition): <p>The SQL text of the metadata model. This field might not be populated for some metadata models.</p>
/// - On failure, responds with [`SdkError<DescribeMetadataModelError>`](crate::operation::describe_metadata_model::DescribeMetadataModelError)
pub fn describe_metadata_model(&self) -> crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder {
crate::operation::describe_metadata_model::builders::DescribeMetadataModelFluentBuilder::new(self.handle.clone())
}
}