// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`AttachDataSource`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`id(impl Into<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::id) / [`set_id(Option<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::set_id):<br>required: **true**<br><p>The unique identifier or name of the OpenSearch application to attach the data source to. This is the same identifier used with <code>UpdateApplication</code>, <code>GetApplication</code>, and <code>DeleteApplication</code>.</p><br>
/// - [`data_source_arn(impl Into<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::data_source_arn) / [`set_data_source_arn(Option<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::set_data_source_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the domain. See <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html">Identifiers for IAM Entities </a> in <i>Using Amazon Web Services Identity and Access Management</i> for more information.</p><br>
/// - [`workspace_id(impl Into<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::workspace_id) / [`set_workspace_id(Option<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::set_workspace_id):<br>required: **false**<br><p>The identifier of an existing workspace to update with the new data source. Mutually exclusive with <code>workspaceConfiguration</code>.</p><br>
/// - [`workspace_configuration(WorkspaceConfigurationInput)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::workspace_configuration) / [`set_workspace_configuration(Option<WorkspaceConfigurationInput>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::set_workspace_configuration):<br>required: **false**<br><p>Configuration for creating a new workspace during the attachment. If specified, a workspace is created and linked to the data source after the attachment completes. Mutually exclusive with <code>workspaceId</code>.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure idempotency of the request. If you retry a request with the same client token and the same parameters, the retry succeeds without performing any further actions.</p><br>
/// - On success, responds with [`AttachDataSourceOutput`](crate::operation::attach_data_source::AttachDataSourceOutput) with field(s):
/// - [`attachment_id(Option<String>)`](crate::operation::attach_data_source::AttachDataSourceOutput::attachment_id): <p>The unique identifier assigned to the data source attachment.</p>
/// - [`id(Option<String>)`](crate::operation::attach_data_source::AttachDataSourceOutput::id): <p>The unique identifier of the OpenSearch application.</p>
/// - [`arn(Option<String>)`](crate::operation::attach_data_source::AttachDataSourceOutput::arn): <p>The Amazon Resource Name (ARN) of the domain. See <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html">Identifiers for IAM Entities </a> in <i>Using Amazon Web Services Identity and Access Management</i> for more information.</p>
/// - [`data_source_arn(Option<String>)`](crate::operation::attach_data_source::AttachDataSourceOutput::data_source_arn): <p>The Amazon Resource Name (ARN) of the domain. See <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html">Identifiers for IAM Entities </a> in <i>Using Amazon Web Services Identity and Access Management</i> for more information.</p>
/// - [`status(Option<DataSourceAttachmentStatus>)`](crate::operation::attach_data_source::AttachDataSourceOutput::status): <p>The status of the data source attachment. Valid values are <code>PENDING</code> (waiting for resources to become active), <code>ATTACHED</code> (successfully attached), and <code>FAILED</code> (attachment timed out or encountered a non-retryable error).</p>
/// - On failure, responds with [`SdkError<AttachDataSourceError>`](crate::operation::attach_data_source::AttachDataSourceError)
pub fn attach_data_source(&self) -> crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder {
crate::operation::attach_data_source::builders::AttachDataSourceFluentBuilder::new(self.handle.clone())
}
}