#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdateDataSourceInput {
pub api_id: ::std::option::Option<::std::string::String>,
pub name: ::std::option::Option<::std::string::String>,
pub description: ::std::option::Option<::std::string::String>,
pub r#type: ::std::option::Option<crate::types::DataSourceType>,
pub service_role_arn: ::std::option::Option<::std::string::String>,
pub dynamodb_config: ::std::option::Option<crate::types::DynamodbDataSourceConfig>,
pub lambda_config: ::std::option::Option<crate::types::LambdaDataSourceConfig>,
pub elasticsearch_config: ::std::option::Option<crate::types::ElasticsearchDataSourceConfig>,
pub open_search_service_config: ::std::option::Option<crate::types::OpenSearchServiceDataSourceConfig>,
pub http_config: ::std::option::Option<crate::types::HttpDataSourceConfig>,
pub relational_database_config: ::std::option::Option<crate::types::RelationalDatabaseDataSourceConfig>,
pub event_bridge_config: ::std::option::Option<crate::types::EventBridgeDataSourceConfig>,
pub metrics_config: ::std::option::Option<crate::types::DataSourceLevelMetricsConfig>,
}
impl UpdateDataSourceInput {
pub fn api_id(&self) -> ::std::option::Option<&str> {
self.api_id.as_deref()
}
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 r#type(&self) -> ::std::option::Option<&crate::types::DataSourceType> {
self.r#type.as_ref()
}
pub fn service_role_arn(&self) -> ::std::option::Option<&str> {
self.service_role_arn.as_deref()
}
pub fn dynamodb_config(&self) -> ::std::option::Option<&crate::types::DynamodbDataSourceConfig> {
self.dynamodb_config.as_ref()
}
pub fn lambda_config(&self) -> ::std::option::Option<&crate::types::LambdaDataSourceConfig> {
self.lambda_config.as_ref()
}
pub fn elasticsearch_config(&self) -> ::std::option::Option<&crate::types::ElasticsearchDataSourceConfig> {
self.elasticsearch_config.as_ref()
}
pub fn open_search_service_config(&self) -> ::std::option::Option<&crate::types::OpenSearchServiceDataSourceConfig> {
self.open_search_service_config.as_ref()
}
pub fn http_config(&self) -> ::std::option::Option<&crate::types::HttpDataSourceConfig> {
self.http_config.as_ref()
}
pub fn relational_database_config(&self) -> ::std::option::Option<&crate::types::RelationalDatabaseDataSourceConfig> {
self.relational_database_config.as_ref()
}
pub fn event_bridge_config(&self) -> ::std::option::Option<&crate::types::EventBridgeDataSourceConfig> {
self.event_bridge_config.as_ref()
}
pub fn metrics_config(&self) -> ::std::option::Option<&crate::types::DataSourceLevelMetricsConfig> {
self.metrics_config.as_ref()
}
}
impl UpdateDataSourceInput {
pub fn builder() -> crate::operation::update_data_source::builders::UpdateDataSourceInputBuilder {
crate::operation::update_data_source::builders::UpdateDataSourceInputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateDataSourceInputBuilder {
pub(crate) api_id: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<crate::types::DataSourceType>,
pub(crate) service_role_arn: ::std::option::Option<::std::string::String>,
pub(crate) dynamodb_config: ::std::option::Option<crate::types::DynamodbDataSourceConfig>,
pub(crate) lambda_config: ::std::option::Option<crate::types::LambdaDataSourceConfig>,
pub(crate) elasticsearch_config: ::std::option::Option<crate::types::ElasticsearchDataSourceConfig>,
pub(crate) open_search_service_config: ::std::option::Option<crate::types::OpenSearchServiceDataSourceConfig>,
pub(crate) http_config: ::std::option::Option<crate::types::HttpDataSourceConfig>,
pub(crate) relational_database_config: ::std::option::Option<crate::types::RelationalDatabaseDataSourceConfig>,
pub(crate) event_bridge_config: ::std::option::Option<crate::types::EventBridgeDataSourceConfig>,
pub(crate) metrics_config: ::std::option::Option<crate::types::DataSourceLevelMetricsConfig>,
}
impl UpdateDataSourceInputBuilder {
pub fn api_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.api_id = ::std::option::Option::Some(input.into());
self
}
pub fn set_api_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.api_id = input;
self
}
pub fn get_api_id(&self) -> &::std::option::Option<::std::string::String> {
&self.api_id
}
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 r#type(mut self, input: crate::types::DataSourceType) -> Self {
self.r#type = ::std::option::Option::Some(input);
self
}
pub fn set_type(mut self, input: ::std::option::Option<crate::types::DataSourceType>) -> Self {
self.r#type = input;
self
}
pub fn get_type(&self) -> &::std::option::Option<crate::types::DataSourceType> {
&self.r#type
}
pub fn service_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.service_role_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_service_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.service_role_arn = input;
self
}
pub fn get_service_role_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.service_role_arn
}
pub fn dynamodb_config(mut self, input: crate::types::DynamodbDataSourceConfig) -> Self {
self.dynamodb_config = ::std::option::Option::Some(input);
self
}
pub fn set_dynamodb_config(mut self, input: ::std::option::Option<crate::types::DynamodbDataSourceConfig>) -> Self {
self.dynamodb_config = input;
self
}
pub fn get_dynamodb_config(&self) -> &::std::option::Option<crate::types::DynamodbDataSourceConfig> {
&self.dynamodb_config
}
pub fn lambda_config(mut self, input: crate::types::LambdaDataSourceConfig) -> Self {
self.lambda_config = ::std::option::Option::Some(input);
self
}
pub fn set_lambda_config(mut self, input: ::std::option::Option<crate::types::LambdaDataSourceConfig>) -> Self {
self.lambda_config = input;
self
}
pub fn get_lambda_config(&self) -> &::std::option::Option<crate::types::LambdaDataSourceConfig> {
&self.lambda_config
}
pub fn elasticsearch_config(mut self, input: crate::types::ElasticsearchDataSourceConfig) -> Self {
self.elasticsearch_config = ::std::option::Option::Some(input);
self
}
pub fn set_elasticsearch_config(mut self, input: ::std::option::Option<crate::types::ElasticsearchDataSourceConfig>) -> Self {
self.elasticsearch_config = input;
self
}
pub fn get_elasticsearch_config(&self) -> &::std::option::Option<crate::types::ElasticsearchDataSourceConfig> {
&self.elasticsearch_config
}
pub fn open_search_service_config(mut self, input: crate::types::OpenSearchServiceDataSourceConfig) -> Self {
self.open_search_service_config = ::std::option::Option::Some(input);
self
}
pub fn set_open_search_service_config(mut self, input: ::std::option::Option<crate::types::OpenSearchServiceDataSourceConfig>) -> Self {
self.open_search_service_config = input;
self
}
pub fn get_open_search_service_config(&self) -> &::std::option::Option<crate::types::OpenSearchServiceDataSourceConfig> {
&self.open_search_service_config
}
pub fn http_config(mut self, input: crate::types::HttpDataSourceConfig) -> Self {
self.http_config = ::std::option::Option::Some(input);
self
}
pub fn set_http_config(mut self, input: ::std::option::Option<crate::types::HttpDataSourceConfig>) -> Self {
self.http_config = input;
self
}
pub fn get_http_config(&self) -> &::std::option::Option<crate::types::HttpDataSourceConfig> {
&self.http_config
}
pub fn relational_database_config(mut self, input: crate::types::RelationalDatabaseDataSourceConfig) -> Self {
self.relational_database_config = ::std::option::Option::Some(input);
self
}
pub fn set_relational_database_config(mut self, input: ::std::option::Option<crate::types::RelationalDatabaseDataSourceConfig>) -> Self {
self.relational_database_config = input;
self
}
pub fn get_relational_database_config(&self) -> &::std::option::Option<crate::types::RelationalDatabaseDataSourceConfig> {
&self.relational_database_config
}
pub fn event_bridge_config(mut self, input: crate::types::EventBridgeDataSourceConfig) -> Self {
self.event_bridge_config = ::std::option::Option::Some(input);
self
}
pub fn set_event_bridge_config(mut self, input: ::std::option::Option<crate::types::EventBridgeDataSourceConfig>) -> Self {
self.event_bridge_config = input;
self
}
pub fn get_event_bridge_config(&self) -> &::std::option::Option<crate::types::EventBridgeDataSourceConfig> {
&self.event_bridge_config
}
pub fn metrics_config(mut self, input: crate::types::DataSourceLevelMetricsConfig) -> Self {
self.metrics_config = ::std::option::Option::Some(input);
self
}
pub fn set_metrics_config(mut self, input: ::std::option::Option<crate::types::DataSourceLevelMetricsConfig>) -> Self {
self.metrics_config = input;
self
}
pub fn get_metrics_config(&self) -> &::std::option::Option<crate::types::DataSourceLevelMetricsConfig> {
&self.metrics_config
}
pub fn build(
self,
) -> ::std::result::Result<crate::operation::update_data_source::UpdateDataSourceInput, ::aws_smithy_types::error::operation::BuildError> {
::std::result::Result::Ok(crate::operation::update_data_source::UpdateDataSourceInput {
api_id: self.api_id,
name: self.name,
description: self.description,
r#type: self.r#type,
service_role_arn: self.service_role_arn,
dynamodb_config: self.dynamodb_config,
lambda_config: self.lambda_config,
elasticsearch_config: self.elasticsearch_config,
open_search_service_config: self.open_search_service_config,
http_config: self.http_config,
relational_database_config: self.relational_database_config,
event_bridge_config: self.event_bridge_config,
metrics_config: self.metrics_config,
})
}
}