1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateDataSource`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_name): <p>The name of the data source.</p>
    ///   - [`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): <p>The description of the data source.</p>
    ///   - [`domain_identifier(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::domain_identifier) / [`set_domain_identifier(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_domain_identifier): <p>The ID of the Amazon DataZone domain where the data source is created.</p>
    ///   - [`project_identifier(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::project_identifier) / [`set_project_identifier(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_project_identifier): <p>The identifier of the Amazon DataZone project in which you want to add this data source.</p>
    ///   - [`environment_identifier(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::environment_identifier) / [`set_environment_identifier(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_environment_identifier): <p>The unique identifier of the Amazon DataZone environment to which the data source publishes assets. </p>
    ///   - [`r#type(impl Into<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::type) / [`set_type(Option<String>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_type): <p>The type of the data source.</p>
    ///   - [`configuration(DataSourceConfigurationInput)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::configuration) / [`set_configuration(Option<DataSourceConfigurationInput>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_configuration): <p>Specifies the configuration of the data source. It can be set to either <code>glueRunConfiguration</code> or <code>redshiftRunConfiguration</code>.</p>
    ///   - [`recommendation(RecommendationConfiguration)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::recommendation) / [`set_recommendation(Option<RecommendationConfiguration>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_recommendation): <p>Specifies whether the business name generation is to be enabled for this data source.</p>
    ///   - [`enable_setting(EnableSetting)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::enable_setting) / [`set_enable_setting(Option<EnableSetting>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_enable_setting): <p>Specifies whether the data source is enabled.</p>
    ///   - [`schedule(ScheduleConfiguration)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::schedule) / [`set_schedule(Option<ScheduleConfiguration>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_schedule): <p>The schedule of the data source runs.</p>
    ///   - [`publish_on_import(bool)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::publish_on_import) / [`set_publish_on_import(Option<bool>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_publish_on_import): <p>Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.</p>
    ///   - [`asset_forms_input(FormInput)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::asset_forms_input) / [`set_asset_forms_input(Option<Vec<FormInput>>)`](crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::set_asset_forms_input): <p>The metadata forms that are to be attached to the assets that this data source works with.</p>
    ///   - [`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): <p>A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.</p>
    /// - On success, responds with [`CreateDataSourceOutput`](crate::operation::create_data_source::CreateDataSourceOutput) with field(s):
    ///   - [`id(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::id): <p>The unique identifier of the data source.</p>
    ///   - [`status(Option<DataSourceStatus>)`](crate::operation::create_data_source::CreateDataSourceOutput::status): <p>The status of the data source.</p>
    ///   - [`r#type(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::type): <p>The type of the data source.</p>
    ///   - [`name(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::name): <p>The name of the data source.</p>
    ///   - [`description(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::description): <p>The description of the data source.</p>
    ///   - [`domain_id(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::domain_id): <p>The ID of the Amazon DataZone domain in which the data source is created.</p>
    ///   - [`project_id(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::project_id): <p>The ID of the Amazon DataZone project to which the data source is added.</p>
    ///   - [`environment_id(Option<String>)`](crate::operation::create_data_source::CreateDataSourceOutput::environment_id): <p>The unique identifier of the Amazon DataZone environment to which the data source publishes assets. </p>
    ///   - [`configuration(Option<DataSourceConfigurationOutput>)`](crate::operation::create_data_source::CreateDataSourceOutput::configuration): <p>Specifies the configuration of the data source. It can be set to either <code>glueRunConfiguration</code> or <code>redshiftRunConfiguration</code>.</p>
    ///   - [`recommendation(Option<RecommendationConfiguration>)`](crate::operation::create_data_source::CreateDataSourceOutput::recommendation): <p>Specifies whether the business name generation is to be enabled for this data source.</p>
    ///   - [`enable_setting(Option<EnableSetting>)`](crate::operation::create_data_source::CreateDataSourceOutput::enable_setting): <p>Specifies whether the data source is enabled.</p>
    ///   - [`publish_on_import(Option<bool>)`](crate::operation::create_data_source::CreateDataSourceOutput::publish_on_import): <p>Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.</p>
    ///   - [`asset_forms_output(Option<Vec<FormOutput>>)`](crate::operation::create_data_source::CreateDataSourceOutput::asset_forms_output): <p>The metadata forms attached to the assets that this data source creates.</p>
    ///   - [`schedule(Option<ScheduleConfiguration>)`](crate::operation::create_data_source::CreateDataSourceOutput::schedule): <p>The schedule of the data source runs.</p>
    ///   - [`last_run_status(Option<DataSourceRunStatus>)`](crate::operation::create_data_source::CreateDataSourceOutput::last_run_status): <p>The status of the last run of this data source.</p>
    ///   - [`last_run_at(Option<DateTime>)`](crate::operation::create_data_source::CreateDataSourceOutput::last_run_at): <p>The timestamp that specifies when the data source was last run.</p>
    ///   - [`last_run_error_message(Option<DataSourceErrorMessage>)`](crate::operation::create_data_source::CreateDataSourceOutput::last_run_error_message): <p>Specifies the error message that is returned if the operation cannot be successfully completed.</p>
    ///   - [`error_message(Option<DataSourceErrorMessage>)`](crate::operation::create_data_source::CreateDataSourceOutput::error_message): <p>Specifies the error message that is returned if the operation cannot be successfully completed.</p>
    ///   - [`created_at(Option<DateTime>)`](crate::operation::create_data_source::CreateDataSourceOutput::created_at): <p>The timestamp of when the data source was created.</p>
    ///   - [`updated_at(Option<DateTime>)`](crate::operation::create_data_source::CreateDataSourceOutput::updated_at): <p>The timestamp of when the data source was updated.</p>
    /// - On failure, responds with [`SdkError<CreateDataSourceError>`](crate::operation::create_data_source::CreateDataSourceError)
    pub fn create_data_source(&self) -> crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder {
        crate::operation::create_data_source::builders::CreateDataSourceFluentBuilder::new(self.handle.clone())
    }
}