#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct Settings {
pub is_aws_org_enabled: ::std::option::Option<bool>,
pub sns_topic: ::std::option::Option<::std::string::String>,
pub default_assessment_reports_destination: ::std::option::Option<crate::types::AssessmentReportsDestination>,
pub default_process_owners: ::std::option::Option<::std::vec::Vec<crate::types::Role>>,
pub kms_key: ::std::option::Option<::std::string::String>,
pub evidence_finder_enablement: ::std::option::Option<crate::types::EvidenceFinderEnablement>,
pub deregistration_policy: ::std::option::Option<crate::types::DeregistrationPolicy>,
pub default_export_destination: ::std::option::Option<crate::types::DefaultExportDestination>,
}
impl Settings {
pub fn is_aws_org_enabled(&self) -> ::std::option::Option<bool> {
self.is_aws_org_enabled
}
pub fn sns_topic(&self) -> ::std::option::Option<&str> {
self.sns_topic.as_deref()
}
pub fn default_assessment_reports_destination(&self) -> ::std::option::Option<&crate::types::AssessmentReportsDestination> {
self.default_assessment_reports_destination.as_ref()
}
pub fn default_process_owners(&self) -> &[crate::types::Role] {
self.default_process_owners.as_deref().unwrap_or_default()
}
pub fn kms_key(&self) -> ::std::option::Option<&str> {
self.kms_key.as_deref()
}
pub fn evidence_finder_enablement(&self) -> ::std::option::Option<&crate::types::EvidenceFinderEnablement> {
self.evidence_finder_enablement.as_ref()
}
pub fn deregistration_policy(&self) -> ::std::option::Option<&crate::types::DeregistrationPolicy> {
self.deregistration_policy.as_ref()
}
pub fn default_export_destination(&self) -> ::std::option::Option<&crate::types::DefaultExportDestination> {
self.default_export_destination.as_ref()
}
}
impl ::std::fmt::Debug for Settings {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("Settings");
formatter.field("is_aws_org_enabled", &self.is_aws_org_enabled);
formatter.field("sns_topic", &"*** Sensitive Data Redacted ***");
formatter.field("default_assessment_reports_destination", &"*** Sensitive Data Redacted ***");
formatter.field("default_process_owners", &"*** Sensitive Data Redacted ***");
formatter.field("kms_key", &self.kms_key);
formatter.field("evidence_finder_enablement", &self.evidence_finder_enablement);
formatter.field("deregistration_policy", &self.deregistration_policy);
formatter.field("default_export_destination", &self.default_export_destination);
formatter.finish()
}
}
impl Settings {
pub fn builder() -> crate::types::builders::SettingsBuilder {
crate::types::builders::SettingsBuilder::default()
}
}
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct SettingsBuilder {
pub(crate) is_aws_org_enabled: ::std::option::Option<bool>,
pub(crate) sns_topic: ::std::option::Option<::std::string::String>,
pub(crate) default_assessment_reports_destination: ::std::option::Option<crate::types::AssessmentReportsDestination>,
pub(crate) default_process_owners: ::std::option::Option<::std::vec::Vec<crate::types::Role>>,
pub(crate) kms_key: ::std::option::Option<::std::string::String>,
pub(crate) evidence_finder_enablement: ::std::option::Option<crate::types::EvidenceFinderEnablement>,
pub(crate) deregistration_policy: ::std::option::Option<crate::types::DeregistrationPolicy>,
pub(crate) default_export_destination: ::std::option::Option<crate::types::DefaultExportDestination>,
}
impl SettingsBuilder {
pub fn is_aws_org_enabled(mut self, input: bool) -> Self {
self.is_aws_org_enabled = ::std::option::Option::Some(input);
self
}
pub fn set_is_aws_org_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
self.is_aws_org_enabled = input;
self
}
pub fn get_is_aws_org_enabled(&self) -> &::std::option::Option<bool> {
&self.is_aws_org_enabled
}
pub fn sns_topic(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.sns_topic = ::std::option::Option::Some(input.into());
self
}
pub fn set_sns_topic(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.sns_topic = input;
self
}
pub fn get_sns_topic(&self) -> &::std::option::Option<::std::string::String> {
&self.sns_topic
}
pub fn default_assessment_reports_destination(mut self, input: crate::types::AssessmentReportsDestination) -> Self {
self.default_assessment_reports_destination = ::std::option::Option::Some(input);
self
}
pub fn set_default_assessment_reports_destination(mut self, input: ::std::option::Option<crate::types::AssessmentReportsDestination>) -> Self {
self.default_assessment_reports_destination = input;
self
}
pub fn get_default_assessment_reports_destination(&self) -> &::std::option::Option<crate::types::AssessmentReportsDestination> {
&self.default_assessment_reports_destination
}
pub fn default_process_owners(mut self, input: crate::types::Role) -> Self {
let mut v = self.default_process_owners.unwrap_or_default();
v.push(input);
self.default_process_owners = ::std::option::Option::Some(v);
self
}
pub fn set_default_process_owners(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Role>>) -> Self {
self.default_process_owners = input;
self
}
pub fn get_default_process_owners(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Role>> {
&self.default_process_owners
}
pub fn kms_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.kms_key = ::std::option::Option::Some(input.into());
self
}
pub fn set_kms_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.kms_key = input;
self
}
pub fn get_kms_key(&self) -> &::std::option::Option<::std::string::String> {
&self.kms_key
}
pub fn evidence_finder_enablement(mut self, input: crate::types::EvidenceFinderEnablement) -> Self {
self.evidence_finder_enablement = ::std::option::Option::Some(input);
self
}
pub fn set_evidence_finder_enablement(mut self, input: ::std::option::Option<crate::types::EvidenceFinderEnablement>) -> Self {
self.evidence_finder_enablement = input;
self
}
pub fn get_evidence_finder_enablement(&self) -> &::std::option::Option<crate::types::EvidenceFinderEnablement> {
&self.evidence_finder_enablement
}
pub fn deregistration_policy(mut self, input: crate::types::DeregistrationPolicy) -> Self {
self.deregistration_policy = ::std::option::Option::Some(input);
self
}
pub fn set_deregistration_policy(mut self, input: ::std::option::Option<crate::types::DeregistrationPolicy>) -> Self {
self.deregistration_policy = input;
self
}
pub fn get_deregistration_policy(&self) -> &::std::option::Option<crate::types::DeregistrationPolicy> {
&self.deregistration_policy
}
pub fn default_export_destination(mut self, input: crate::types::DefaultExportDestination) -> Self {
self.default_export_destination = ::std::option::Option::Some(input);
self
}
pub fn set_default_export_destination(mut self, input: ::std::option::Option<crate::types::DefaultExportDestination>) -> Self {
self.default_export_destination = input;
self
}
pub fn get_default_export_destination(&self) -> &::std::option::Option<crate::types::DefaultExportDestination> {
&self.default_export_destination
}
pub fn build(self) -> crate::types::Settings {
crate::types::Settings {
is_aws_org_enabled: self.is_aws_org_enabled,
sns_topic: self.sns_topic,
default_assessment_reports_destination: self.default_assessment_reports_destination,
default_process_owners: self.default_process_owners,
kms_key: self.kms_key,
evidence_finder_enablement: self.evidence_finder_enablement,
deregistration_policy: self.deregistration_policy,
default_export_destination: self.default_export_destination,
}
}
}
impl ::std::fmt::Debug for SettingsBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("SettingsBuilder");
formatter.field("is_aws_org_enabled", &self.is_aws_org_enabled);
formatter.field("sns_topic", &"*** Sensitive Data Redacted ***");
formatter.field("default_assessment_reports_destination", &"*** Sensitive Data Redacted ***");
formatter.field("default_process_owners", &"*** Sensitive Data Redacted ***");
formatter.field("kms_key", &self.kms_key);
formatter.field("evidence_finder_enablement", &self.evidence_finder_enablement);
formatter.field("deregistration_policy", &self.deregistration_policy);
formatter.field("default_export_destination", &self.default_export_destination);
formatter.finish()
}
}