#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct CreateDataSourceInput {
pub name: ::std::option::Option<::std::string::String>,
pub description: ::std::option::Option<::std::string::String>,
pub domain_identifier: ::std::option::Option<::std::string::String>,
pub project_identifier: ::std::option::Option<::std::string::String>,
pub environment_identifier: ::std::option::Option<::std::string::String>,
pub connection_identifier: ::std::option::Option<::std::string::String>,
pub r#type: ::std::option::Option<::std::string::String>,
pub configuration: ::std::option::Option<crate::types::DataSourceConfigurationInput>,
pub recommendation: ::std::option::Option<crate::types::RecommendationConfiguration>,
pub enable_setting: ::std::option::Option<crate::types::EnableSetting>,
pub schedule: ::std::option::Option<crate::types::ScheduleConfiguration>,
pub publish_on_import: ::std::option::Option<bool>,
pub asset_forms_input: ::std::option::Option<::std::vec::Vec<crate::types::FormInput>>,
pub client_token: ::std::option::Option<::std::string::String>,
}
impl CreateDataSourceInput {
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn domain_identifier(&self) -> ::std::option::Option<&str> {
self.domain_identifier.as_deref()
}
pub fn project_identifier(&self) -> ::std::option::Option<&str> {
self.project_identifier.as_deref()
}
pub fn environment_identifier(&self) -> ::std::option::Option<&str> {
self.environment_identifier.as_deref()
}
pub fn connection_identifier(&self) -> ::std::option::Option<&str> {
self.connection_identifier.as_deref()
}
pub fn r#type(&self) -> ::std::option::Option<&str> {
self.r#type.as_deref()
}
pub fn configuration(&self) -> ::std::option::Option<&crate::types::DataSourceConfigurationInput> {
self.configuration.as_ref()
}
pub fn recommendation(&self) -> ::std::option::Option<&crate::types::RecommendationConfiguration> {
self.recommendation.as_ref()
}
pub fn enable_setting(&self) -> ::std::option::Option<&crate::types::EnableSetting> {
self.enable_setting.as_ref()
}
pub fn schedule(&self) -> ::std::option::Option<&crate::types::ScheduleConfiguration> {
self.schedule.as_ref()
}
pub fn publish_on_import(&self) -> ::std::option::Option<bool> {
self.publish_on_import
}
pub fn asset_forms_input(&self) -> &[crate::types::FormInput] {
self.asset_forms_input.as_deref().unwrap_or_default()
}
pub fn client_token(&self) -> ::std::option::Option<&str> {
self.client_token.as_deref()
}
}
impl ::std::fmt::Debug for CreateDataSourceInput {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateDataSourceInput");
formatter.field("name", &"*** Sensitive Data Redacted ***");
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("domain_identifier", &self.domain_identifier);
formatter.field("project_identifier", &self.project_identifier);
formatter.field("environment_identifier", &self.environment_identifier);
formatter.field("connection_identifier", &self.connection_identifier);
formatter.field("r#type", &self.r#type);
formatter.field("configuration", &self.configuration);
formatter.field("recommendation", &self.recommendation);
formatter.field("enable_setting", &self.enable_setting);
formatter.field("schedule", &"*** Sensitive Data Redacted ***");
formatter.field("publish_on_import", &self.publish_on_import);
formatter.field("asset_forms_input", &"*** Sensitive Data Redacted ***");
formatter.field("client_token", &self.client_token);
formatter.finish()
}
}
impl CreateDataSourceInput {
pub fn builder() -> crate::operation::create_data_source::builders::CreateDataSourceInputBuilder {
crate::operation::create_data_source::builders::CreateDataSourceInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct CreateDataSourceInputBuilder {
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) domain_identifier: ::std::option::Option<::std::string::String>,
pub(crate) project_identifier: ::std::option::Option<::std::string::String>,
pub(crate) environment_identifier: ::std::option::Option<::std::string::String>,
pub(crate) connection_identifier: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<::std::string::String>,
pub(crate) configuration: ::std::option::Option<crate::types::DataSourceConfigurationInput>,
pub(crate) recommendation: ::std::option::Option<crate::types::RecommendationConfiguration>,
pub(crate) enable_setting: ::std::option::Option<crate::types::EnableSetting>,
pub(crate) schedule: ::std::option::Option<crate::types::ScheduleConfiguration>,
pub(crate) publish_on_import: ::std::option::Option<bool>,
pub(crate) asset_forms_input: ::std::option::Option<::std::vec::Vec<crate::types::FormInput>>,
pub(crate) client_token: ::std::option::Option<::std::string::String>,
}
impl CreateDataSourceInputBuilder {
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
pub fn domain_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.domain_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_domain_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.domain_identifier = input;
self
}
pub fn get_domain_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.domain_identifier
}
pub fn project_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.project_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_project_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.project_identifier = input;
self
}
pub fn get_project_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.project_identifier
}
pub fn environment_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.environment_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_environment_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.environment_identifier = input;
self
}
pub fn get_environment_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.environment_identifier
}
pub fn connection_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.connection_identifier = ::std::option::Option::Some(input.into());
self
}
pub fn set_connection_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.connection_identifier = input;
self
}
pub fn get_connection_identifier(&self) -> &::std::option::Option<::std::string::String> {
&self.connection_identifier
}
pub fn r#type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.r#type = ::std::option::Option::Some(input.into());
self
}
pub fn set_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.r#type = input;
self
}
pub fn get_type(&self) -> &::std::option::Option<::std::string::String> {
&self.r#type
}
pub fn configuration(mut self, input: crate::types::DataSourceConfigurationInput) -> Self {
self.configuration = ::std::option::Option::Some(input);
self
}
pub fn set_configuration(mut self, input: ::std::option::Option<crate::types::DataSourceConfigurationInput>) -> Self {
self.configuration = input;
self
}
pub fn get_configuration(&self) -> &::std::option::Option<crate::types::DataSourceConfigurationInput> {
&self.configuration
}
pub fn recommendation(mut self, input: crate::types::RecommendationConfiguration) -> Self {
self.recommendation = ::std::option::Option::Some(input);
self
}
pub fn set_recommendation(mut self, input: ::std::option::Option<crate::types::RecommendationConfiguration>) -> Self {
self.recommendation = input;
self
}
pub fn get_recommendation(&self) -> &::std::option::Option<crate::types::RecommendationConfiguration> {
&self.recommendation
}
pub fn enable_setting(mut self, input: crate::types::EnableSetting) -> Self {
self.enable_setting = ::std::option::Option::Some(input);
self
}
pub fn set_enable_setting(mut self, input: ::std::option::Option<crate::types::EnableSetting>) -> Self {
self.enable_setting = input;
self
}
pub fn get_enable_setting(&self) -> &::std::option::Option<crate::types::EnableSetting> {
&self.enable_setting
}
pub fn schedule(mut self, input: crate::types::ScheduleConfiguration) -> Self {
self.schedule = ::std::option::Option::Some(input);
self
}
pub fn set_schedule(mut self, input: ::std::option::Option<crate::types::ScheduleConfiguration>) -> Self {
self.schedule = input;
self
}
pub fn get_schedule(&self) -> &::std::option::Option<crate::types::ScheduleConfiguration> {
&self.schedule
}
pub fn publish_on_import(mut self, input: bool) -> Self {
self.publish_on_import = ::std::option::Option::Some(input);
self
}
pub fn set_publish_on_import(mut self, input: ::std::option::Option<bool>) -> Self {
self.publish_on_import = input;
self
}
pub fn get_publish_on_import(&self) -> &::std::option::Option<bool> {
&self.publish_on_import
}
pub fn asset_forms_input(mut self, input: crate::types::FormInput) -> Self {
let mut v = self.asset_forms_input.unwrap_or_default();
v.push(input);
self.asset_forms_input = ::std::option::Option::Some(v);
self
}
pub fn set_asset_forms_input(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::FormInput>>) -> Self {
self.asset_forms_input = input;
self
}
pub fn get_asset_forms_input(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::FormInput>> {
&self.asset_forms_input
}
pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.client_token = ::std::option::Option::Some(input.into());
self
}
pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.client_token = input;
self
}
pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
&self.client_token
}
pub fn build(
self,
) -> ::std::result::Result<crate::operation::create_data_source::CreateDataSourceInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::create_data_source::CreateDataSourceInput {
name: self.name,
description: self.description,
domain_identifier: self.domain_identifier,
project_identifier: self.project_identifier,
environment_identifier: self.environment_identifier,
connection_identifier: self.connection_identifier,
r#type: self.r#type,
configuration: self.configuration,
recommendation: self.recommendation,
enable_setting: self.enable_setting,
schedule: self.schedule,
publish_on_import: self.publish_on_import,
asset_forms_input: self.asset_forms_input,
client_token: self.client_token,
})
}
}
impl ::std::fmt::Debug for CreateDataSourceInputBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CreateDataSourceInputBuilder");
formatter.field("name", &"*** Sensitive Data Redacted ***");
formatter.field("description", &"*** Sensitive Data Redacted ***");
formatter.field("domain_identifier", &self.domain_identifier);
formatter.field("project_identifier", &self.project_identifier);
formatter.field("environment_identifier", &self.environment_identifier);
formatter.field("connection_identifier", &self.connection_identifier);
formatter.field("r#type", &self.r#type);
formatter.field("configuration", &self.configuration);
formatter.field("recommendation", &self.recommendation);
formatter.field("enable_setting", &self.enable_setting);
formatter.field("schedule", &"*** Sensitive Data Redacted ***");
formatter.field("publish_on_import", &self.publish_on_import);
formatter.field("asset_forms_input", &"*** Sensitive Data Redacted ***");
formatter.field("client_token", &self.client_token);
formatter.finish()
}
}