// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`RegisterCapability`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`application_id(impl Into<String>)`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::set_application_id):<br>required: **true**<br><p>The unique identifier of the OpenSearch UI application to register the capability for.</p><br>
/// - [`capability_name(impl Into<String>)`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::capability_name) / [`set_capability_name(Option<String>)`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::set_capability_name):<br>required: **true**<br><p>The name of the capability to register. Must be between 3 and 30 characters and contain only alphanumeric characters and hyphens. This identifies the type of capability being enabled for the application. For registering AI Assistant capability, use <code>ai-capability</code></p><br>
/// - [`capability_config(CapabilityBaseRequestConfig)`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::capability_config) / [`set_capability_config(Option<CapabilityBaseRequestConfig>)`](crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::set_capability_config):<br>required: **true**<br><p>The configuration settings for the capability being registered. This includes capability-specific settings such as AI configuration.</p><br>
/// - On success, responds with [`RegisterCapabilityOutput`](crate::operation::register_capability::RegisterCapabilityOutput) with field(s):
/// - [`capability_name(Option<String>)`](crate::operation::register_capability::RegisterCapabilityOutput::capability_name): <p>The name of the registered capability.</p>
/// - [`application_id(Option<String>)`](crate::operation::register_capability::RegisterCapabilityOutput::application_id): <p>The unique identifier of the OpenSearch UI application.</p>
/// - [`status(Option<CapabilityStatus>)`](crate::operation::register_capability::RegisterCapabilityOutput::status): <p>The current status of the capability. Possible values: <code>creating</code>, <code>create_failed</code>, <code>active</code>, <code>updating</code>, <code>update_failed</code>, <code>deleting</code>, <code>delete_failed</code>.</p>
/// - [`capability_config(Option<CapabilityBaseResponseConfig>)`](crate::operation::register_capability::RegisterCapabilityOutput::capability_config): <p>The configuration settings for the registered capability.</p>
/// - On failure, responds with [`SdkError<RegisterCapabilityError>`](crate::operation::register_capability::RegisterCapabilityError)
pub fn register_capability(&self) -> crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder {
crate::operation::register_capability::builders::RegisterCapabilityFluentBuilder::new(self.handle.clone())
}
}