// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DetachThingPrincipal`](crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`thing_name(impl Into<String>)`](crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder::thing_name) / [`set_thing_name(Option<String>)`](crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder::set_thing_name):<br>required: **true**<br><p>The name of the thing.</p><br>
/// - [`principal(impl Into<String>)`](crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder::principal) / [`set_principal(Option<String>)`](crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder::set_principal):<br>required: **true**<br><p>If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.</p><br>
/// - On success, responds with [`DetachThingPrincipalOutput`](crate::operation::detach_thing_principal::DetachThingPrincipalOutput)
/// - On failure, responds with [`SdkError<DetachThingPrincipalError>`](crate::operation::detach_thing_principal::DetachThingPrincipalError)
pub fn detach_thing_principal(&self) -> crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder {
crate::operation::detach_thing_principal::builders::DetachThingPrincipalFluentBuilder::new(self.handle.clone())
}
}