#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct AssetDetails {
pub s3_snapshot_asset: ::std::option::Option<crate::types::S3SnapshotAsset>,
pub redshift_data_share_asset: ::std::option::Option<crate::types::RedshiftDataShareAsset>,
pub api_gateway_api_asset: ::std::option::Option<crate::types::ApiGatewayApiAsset>,
pub s3_data_access_asset: ::std::option::Option<crate::types::S3DataAccessAsset>,
pub lake_formation_data_permission_asset: ::std::option::Option<crate::types::LakeFormationDataPermissionAsset>,
}
impl AssetDetails {
pub fn s3_snapshot_asset(&self) -> ::std::option::Option<&crate::types::S3SnapshotAsset> {
self.s3_snapshot_asset.as_ref()
}
pub fn redshift_data_share_asset(&self) -> ::std::option::Option<&crate::types::RedshiftDataShareAsset> {
self.redshift_data_share_asset.as_ref()
}
pub fn api_gateway_api_asset(&self) -> ::std::option::Option<&crate::types::ApiGatewayApiAsset> {
self.api_gateway_api_asset.as_ref()
}
pub fn s3_data_access_asset(&self) -> ::std::option::Option<&crate::types::S3DataAccessAsset> {
self.s3_data_access_asset.as_ref()
}
pub fn lake_formation_data_permission_asset(&self) -> ::std::option::Option<&crate::types::LakeFormationDataPermissionAsset> {
self.lake_formation_data_permission_asset.as_ref()
}
}
impl AssetDetails {
pub fn builder() -> crate::types::builders::AssetDetailsBuilder {
crate::types::builders::AssetDetailsBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct AssetDetailsBuilder {
pub(crate) s3_snapshot_asset: ::std::option::Option<crate::types::S3SnapshotAsset>,
pub(crate) redshift_data_share_asset: ::std::option::Option<crate::types::RedshiftDataShareAsset>,
pub(crate) api_gateway_api_asset: ::std::option::Option<crate::types::ApiGatewayApiAsset>,
pub(crate) s3_data_access_asset: ::std::option::Option<crate::types::S3DataAccessAsset>,
pub(crate) lake_formation_data_permission_asset: ::std::option::Option<crate::types::LakeFormationDataPermissionAsset>,
}
impl AssetDetailsBuilder {
pub fn s3_snapshot_asset(mut self, input: crate::types::S3SnapshotAsset) -> Self {
self.s3_snapshot_asset = ::std::option::Option::Some(input);
self
}
pub fn set_s3_snapshot_asset(mut self, input: ::std::option::Option<crate::types::S3SnapshotAsset>) -> Self {
self.s3_snapshot_asset = input;
self
}
pub fn get_s3_snapshot_asset(&self) -> &::std::option::Option<crate::types::S3SnapshotAsset> {
&self.s3_snapshot_asset
}
pub fn redshift_data_share_asset(mut self, input: crate::types::RedshiftDataShareAsset) -> Self {
self.redshift_data_share_asset = ::std::option::Option::Some(input);
self
}
pub fn set_redshift_data_share_asset(mut self, input: ::std::option::Option<crate::types::RedshiftDataShareAsset>) -> Self {
self.redshift_data_share_asset = input;
self
}
pub fn get_redshift_data_share_asset(&self) -> &::std::option::Option<crate::types::RedshiftDataShareAsset> {
&self.redshift_data_share_asset
}
pub fn api_gateway_api_asset(mut self, input: crate::types::ApiGatewayApiAsset) -> Self {
self.api_gateway_api_asset = ::std::option::Option::Some(input);
self
}
pub fn set_api_gateway_api_asset(mut self, input: ::std::option::Option<crate::types::ApiGatewayApiAsset>) -> Self {
self.api_gateway_api_asset = input;
self
}
pub fn get_api_gateway_api_asset(&self) -> &::std::option::Option<crate::types::ApiGatewayApiAsset> {
&self.api_gateway_api_asset
}
pub fn s3_data_access_asset(mut self, input: crate::types::S3DataAccessAsset) -> Self {
self.s3_data_access_asset = ::std::option::Option::Some(input);
self
}
pub fn set_s3_data_access_asset(mut self, input: ::std::option::Option<crate::types::S3DataAccessAsset>) -> Self {
self.s3_data_access_asset = input;
self
}
pub fn get_s3_data_access_asset(&self) -> &::std::option::Option<crate::types::S3DataAccessAsset> {
&self.s3_data_access_asset
}
pub fn lake_formation_data_permission_asset(mut self, input: crate::types::LakeFormationDataPermissionAsset) -> Self {
self.lake_formation_data_permission_asset = ::std::option::Option::Some(input);
self
}
pub fn set_lake_formation_data_permission_asset(mut self, input: ::std::option::Option<crate::types::LakeFormationDataPermissionAsset>) -> Self {
self.lake_formation_data_permission_asset = input;
self
}
pub fn get_lake_formation_data_permission_asset(&self) -> &::std::option::Option<crate::types::LakeFormationDataPermissionAsset> {
&self.lake_formation_data_permission_asset
}
pub fn build(self) -> crate::types::AssetDetails {
crate::types::AssetDetails {
s3_snapshot_asset: self.s3_snapshot_asset,
redshift_data_share_asset: self.redshift_data_share_asset,
api_gateway_api_asset: self.api_gateway_api_asset,
s3_data_access_asset: self.s3_data_access_asset,
lake_formation_data_permission_asset: self.lake_formation_data_permission_asset,
}
}
}