aws_sdk_qbusiness/client/create_data_source.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateDataSource`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`application_id(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_application_id):<br>required: **true**<br><p>The identifier of the Amazon Q Business application the data source will be attached to.</p><br>
7 /// - [`index_id(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::index_id) / [`set_index_id(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_index_id):<br>required: **true**<br><p>The identifier of the index that you want to use with the data source connector.</p><br>
8 /// - [`display_name(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::display_name) / [`set_display_name(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_display_name):<br>required: **true**<br><p>A name for the data source connector.</p><br>
9 /// - [`configuration(Document)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::configuration) / [`set_configuration(Option<Document>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_configuration):<br>required: **true**<br><p>Configuration information to connect your data source repository to Amazon Q Business. Use this parameter to provide a JSON schema with configuration information specific to your data source connector.</p> <p>Each data source has a JSON schema provided by Amazon Q Business that you must use. For example, the Amazon S3 and Web Crawler connectors require the following JSON schemas:</p> <ul> <li> <p><a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html">Amazon S3 JSON schema</a></p></li> <li> <p><a href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html">Web Crawler JSON schema</a></p></li> </ul> <p>You can find configuration templates for your specific data source using the following steps:</p> <ol> <li> <p>Navigate to the <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html">Supported connectors</a> page in the Amazon Q Business User Guide, and select the data source of your choice.</p></li> <li> <p>Then, from your specific data source connector page, select <b>Using the API</b>. You will find the JSON schema for your data source, including parameter descriptions, in this section.</p></li> </ol><br>
10 /// - [`vpc_configuration(DataSourceVpcConfiguration)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::vpc_configuration) / [`set_vpc_configuration(Option<DataSourceVpcConfiguration>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_vpc_configuration):<br>required: **false**<br><p>Configuration information for an Amazon VPC (Virtual Private Cloud) to connect to your data source. For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connector-vpc.html">Using Amazon VPC with Amazon Q Business connectors</a>.</p><br>
11 /// - [`description(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_description):<br>required: **false**<br><p>A description for the data source connector.</p><br>
12 /// - [`tags(Tag)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs that identify or categorize the data source connector. You can also use tags to help control access to the data source connector. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.</p><br>
13 /// - [`sync_schedule(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::sync_schedule) / [`set_sync_schedule(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_sync_schedule):<br>required: **false**<br><p>Sets the frequency for Amazon Q Business to check the documents in your data source repository and update your index. If you don't set a schedule, Amazon Q Business won't periodically update the index.</p> <p>Specify a <code>cron-</code> format schedule string or an empty string to indicate that the index is updated on demand. You can't specify the <code>Schedule</code> parameter when the <code>Type</code> parameter is set to <code>CUSTOM</code>. If you do, you receive a <code>ValidationException</code> exception.</p><br>
14 /// - [`role_arn(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of an IAM role with permission to access the data source and required resources.</p><br>
15 /// - [`client_token(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_client_token):<br>required: **false**<br><p>A token you provide to identify a request to create a data source connector. Multiple calls to the <code>CreateDataSource</code> API with the same client token will create only one data source connector.</p><br>
16 /// - [`document_enrichment_configuration(DocumentEnrichmentConfiguration)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::document_enrichment_configuration) / [`set_document_enrichment_configuration(Option<DocumentEnrichmentConfiguration>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_document_enrichment_configuration):<br>required: **false**<br><p>Provides the configuration information for altering document metadata and content during the document ingestion process.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/amazonq/latest/business-use-dg/custom-document-enrichment.html">Custom document enrichment</a>.</p><br>
17 /// - [`media_extraction_configuration(MediaExtractionConfiguration)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::media_extraction_configuration) / [`set_media_extraction_configuration(Option<MediaExtractionConfiguration>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_media_extraction_configuration):<br>required: **false**<br><p>The configuration for extracting information from media in documents during ingestion.</p><br>
18 /// - On success, responds with [`CreateDataSourceOutput`](crate::operation::create_data_source::CreateDataSourceOutput) with field(s):
19 /// - [`data_source_id(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::data_source_id): <p>The identifier of the data source connector.</p>
20 /// - [`data_source_arn(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::data_source_arn): <p>The Amazon Resource Name (ARN) of a data source in an Amazon Q Business application.</p>
21 /// - On failure, responds with [`SdkError<CreateDataSourceError>`](crate::operation::create_data_source::CreateDataSourceError)
22 pub fn create_data_source(&self) -> crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder {
23 crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::new(self.handle.clone())
24 }
25}