#[allow(missing_docs)] #[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct GetServiceSettingsOutput {
pub s3_bucket_arn: ::std::option::Option<::std::string::String>,
pub sns_topic_arn: ::std::option::Option<::std::string::String>,
pub organization_configuration: ::std::option::Option<crate::types::OrganizationConfiguration>,
pub enable_cross_accounts_discovery: ::std::option::Option<bool>,
pub license_manager_resource_share_arn: ::std::option::Option<::std::string::String>,
pub cross_region_discovery_home_region: ::std::option::Option<::std::string::String>,
pub cross_region_discovery_source_regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub service_status: ::std::option::Option<crate::types::ServiceStatus>,
_request_id: Option<String>,
}
impl GetServiceSettingsOutput {
pub fn s3_bucket_arn(&self) -> ::std::option::Option<&str> {
self.s3_bucket_arn.as_deref()
}
pub fn sns_topic_arn(&self) -> ::std::option::Option<&str> {
self.sns_topic_arn.as_deref()
}
pub fn organization_configuration(&self) -> ::std::option::Option<&crate::types::OrganizationConfiguration> {
self.organization_configuration.as_ref()
}
pub fn enable_cross_accounts_discovery(&self) -> ::std::option::Option<bool> {
self.enable_cross_accounts_discovery
}
pub fn license_manager_resource_share_arn(&self) -> ::std::option::Option<&str> {
self.license_manager_resource_share_arn.as_deref()
}
pub fn cross_region_discovery_home_region(&self) -> ::std::option::Option<&str> {
self.cross_region_discovery_home_region.as_deref()
}
pub fn cross_region_discovery_source_regions(&self) -> &[::std::string::String] {
self.cross_region_discovery_source_regions.as_deref().unwrap_or_default()
}
pub fn service_status(&self) -> ::std::option::Option<&crate::types::ServiceStatus> {
self.service_status.as_ref()
}
}
impl ::aws_types::request_id::RequestId for GetServiceSettingsOutput {
fn request_id(&self) -> Option<&str> {
self._request_id.as_deref()
}
}
impl GetServiceSettingsOutput {
pub fn builder() -> crate::operation::get_service_settings::builders::GetServiceSettingsOutputBuilder {
crate::operation::get_service_settings::builders::GetServiceSettingsOutputBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct GetServiceSettingsOutputBuilder {
pub(crate) s3_bucket_arn: ::std::option::Option<::std::string::String>,
pub(crate) sns_topic_arn: ::std::option::Option<::std::string::String>,
pub(crate) organization_configuration: ::std::option::Option<crate::types::OrganizationConfiguration>,
pub(crate) enable_cross_accounts_discovery: ::std::option::Option<bool>,
pub(crate) license_manager_resource_share_arn: ::std::option::Option<::std::string::String>,
pub(crate) cross_region_discovery_home_region: ::std::option::Option<::std::string::String>,
pub(crate) cross_region_discovery_source_regions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) service_status: ::std::option::Option<crate::types::ServiceStatus>,
_request_id: Option<String>,
}
impl GetServiceSettingsOutputBuilder {
pub fn s3_bucket_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.s3_bucket_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_s3_bucket_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.s3_bucket_arn = input;
self
}
pub fn get_s3_bucket_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.s3_bucket_arn
}
pub fn sns_topic_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.sns_topic_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_sns_topic_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.sns_topic_arn = input;
self
}
pub fn get_sns_topic_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.sns_topic_arn
}
pub fn organization_configuration(mut self, input: crate::types::OrganizationConfiguration) -> Self {
self.organization_configuration = ::std::option::Option::Some(input);
self
}
pub fn set_organization_configuration(mut self, input: ::std::option::Option<crate::types::OrganizationConfiguration>) -> Self {
self.organization_configuration = input;
self
}
pub fn get_organization_configuration(&self) -> &::std::option::Option<crate::types::OrganizationConfiguration> {
&self.organization_configuration
}
pub fn enable_cross_accounts_discovery(mut self, input: bool) -> Self {
self.enable_cross_accounts_discovery = ::std::option::Option::Some(input);
self
}
pub fn set_enable_cross_accounts_discovery(mut self, input: ::std::option::Option<bool>) -> Self {
self.enable_cross_accounts_discovery = input;
self
}
pub fn get_enable_cross_accounts_discovery(&self) -> &::std::option::Option<bool> {
&self.enable_cross_accounts_discovery
}
pub fn license_manager_resource_share_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.license_manager_resource_share_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_license_manager_resource_share_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.license_manager_resource_share_arn = input;
self
}
pub fn get_license_manager_resource_share_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.license_manager_resource_share_arn
}
pub fn cross_region_discovery_home_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.cross_region_discovery_home_region = ::std::option::Option::Some(input.into());
self
}
pub fn set_cross_region_discovery_home_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.cross_region_discovery_home_region = input;
self
}
pub fn get_cross_region_discovery_home_region(&self) -> &::std::option::Option<::std::string::String> {
&self.cross_region_discovery_home_region
}
pub fn cross_region_discovery_source_regions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.cross_region_discovery_source_regions.unwrap_or_default();
v.push(input.into());
self.cross_region_discovery_source_regions = ::std::option::Option::Some(v);
self
}
pub fn set_cross_region_discovery_source_regions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.cross_region_discovery_source_regions = input;
self
}
pub fn get_cross_region_discovery_source_regions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.cross_region_discovery_source_regions
}
pub fn service_status(mut self, input: crate::types::ServiceStatus) -> Self {
self.service_status = ::std::option::Option::Some(input);
self
}
pub fn set_service_status(mut self, input: ::std::option::Option<crate::types::ServiceStatus>) -> Self {
self.service_status = input;
self
}
pub fn get_service_status(&self) -> &::std::option::Option<crate::types::ServiceStatus> {
&self.service_status
}
pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
self._request_id = Some(request_id.into());
self
}
pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
self._request_id = request_id;
self
}
pub fn build(self) -> crate::operation::get_service_settings::GetServiceSettingsOutput {
crate::operation::get_service_settings::GetServiceSettingsOutput {
s3_bucket_arn: self.s3_bucket_arn,
sns_topic_arn: self.sns_topic_arn,
organization_configuration: self.organization_configuration,
enable_cross_accounts_discovery: self.enable_cross_accounts_discovery,
license_manager_resource_share_arn: self.license_manager_resource_share_arn,
cross_region_discovery_home_region: self.cross_region_discovery_home_region,
cross_region_discovery_source_regions: self.cross_region_discovery_source_regions,
service_status: self.service_status,
_request_id: self._request_id,
}
}
}