// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateFacet`](crate::operation::create_facet::builders::CreateFacetFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`schema_arn(impl Into<String>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::schema_arn) / [`set_schema_arn(Option<String>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::set_schema_arn):<br>required: **true**<br><p>The schema ARN in which the new <code>Facet</code> will be created. For more information, see <code>arns</code>.</p><br>
/// - [`name(impl Into<String>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::set_name):<br>required: **true**<br><p>The name of the <code>Facet</code>, which is unique for a given schema.</p><br>
/// - [`attributes(FacetAttribute)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::attributes) / [`set_attributes(Option<Vec::<FacetAttribute>>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::set_attributes):<br>required: **false**<br><p>The attributes that are associated with the <code>Facet</code>.</p><br>
/// - [`object_type(ObjectType)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::object_type) / [`set_object_type(Option<ObjectType>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::set_object_type):<br>required: **false**<br><p>Specifies whether a given object created from this facet is of type node, leaf node, policy or index.</p> <ul> <li> <p>Node: Can have multiple children but one parent.</p></li> </ul> <ul> <li> <p>Leaf node: Cannot have children but can have multiple parents.</p></li> </ul> <ul> <li> <p>Policy: Allows you to store a policy document and policy type. For more information, see <a href="https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies">Policies</a>.</p></li> </ul> <ul> <li> <p>Index: Can be created with the Index API.</p></li> </ul><br>
/// - [`facet_style(FacetStyle)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::facet_style) / [`set_facet_style(Option<FacetStyle>)`](crate::operation::create_facet::builders::CreateFacetFluentBuilder::set_facet_style):<br>required: **false**<br><p>There are two different styles that you can define on any given facet, <code>Static</code> and <code>Dynamic</code>. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.</p><br>
/// - On success, responds with [`CreateFacetOutput`](crate::operation::create_facet::CreateFacetOutput)
/// - On failure, responds with [`SdkError<CreateFacetError>`](crate::operation::create_facet::CreateFacetError)
pub fn create_facet(&self) -> crate::operation::create_facet::builders::CreateFacetFluentBuilder {
crate::operation::create_facet::builders::CreateFacetFluentBuilder::new(self.handle.clone())
}
}