aws-sdk-auditmanager 1.102.0

AWS SDK for AWS Audit Manager
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>The settings object that holds all supported Audit Manager settings.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct Settings {
    /// <p>Specifies whether Organizations is enabled.</p>
    pub is_aws_org_enabled: ::std::option::Option<bool>,
    /// <p>The designated Amazon Simple Notification Service (Amazon SNS) topic.</p>
    pub sns_topic: ::std::option::Option<::std::string::String>,
    /// <p>The default S3 destination bucket for storing assessment reports.</p>
    pub default_assessment_reports_destination: ::std::option::Option<crate::types::AssessmentReportsDestination>,
    /// <p>The designated default audit owners.</p>
    pub default_process_owners: ::std::option::Option<::std::vec::Vec<crate::types::Role>>,
    /// <p>The KMS key details.</p>
    pub kms_key: ::std::option::Option<::std::string::String>,
    /// <p>The current evidence finder status and event data store details.</p>
    pub evidence_finder_enablement: ::std::option::Option<crate::types::EvidenceFinderEnablement>,
    /// <p>The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.</p>
    pub deregistration_policy: ::std::option::Option<crate::types::DeregistrationPolicy>,
    /// <p>The default S3 destination bucket for storing evidence finder exports.</p>
    pub default_export_destination: ::std::option::Option<crate::types::DefaultExportDestination>,
}
impl Settings {
    /// <p>Specifies whether Organizations is enabled.</p>
    pub fn is_aws_org_enabled(&self) -> ::std::option::Option<bool> {
        self.is_aws_org_enabled
    }
    /// <p>The designated Amazon Simple Notification Service (Amazon SNS) topic.</p>
    pub fn sns_topic(&self) -> ::std::option::Option<&str> {
        self.sns_topic.as_deref()
    }
    /// <p>The default S3 destination bucket for storing assessment reports.</p>
    pub fn default_assessment_reports_destination(&self) -> ::std::option::Option<&crate::types::AssessmentReportsDestination> {
        self.default_assessment_reports_destination.as_ref()
    }
    /// <p>The designated default audit owners.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.default_process_owners.is_none()`.
    pub fn default_process_owners(&self) -> &[crate::types::Role] {
        self.default_process_owners.as_deref().unwrap_or_default()
    }
    /// <p>The KMS key details.</p>
    pub fn kms_key(&self) -> ::std::option::Option<&str> {
        self.kms_key.as_deref()
    }
    /// <p>The current evidence finder status and event data store details.</p>
    pub fn evidence_finder_enablement(&self) -> ::std::option::Option<&crate::types::EvidenceFinderEnablement> {
        self.evidence_finder_enablement.as_ref()
    }
    /// <p>The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.</p>
    pub fn deregistration_policy(&self) -> ::std::option::Option<&crate::types::DeregistrationPolicy> {
        self.deregistration_policy.as_ref()
    }
    /// <p>The default S3 destination bucket for storing evidence finder exports.</p>
    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 {
    /// Creates a new builder-style object to manufacture [`Settings`](crate::types::Settings).
    pub fn builder() -> crate::types::builders::SettingsBuilder {
        crate::types::builders::SettingsBuilder::default()
    }
}

/// A builder for [`Settings`](crate::types::Settings).
#[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 {
    /// <p>Specifies whether Organizations is enabled.</p>
    pub fn is_aws_org_enabled(mut self, input: bool) -> Self {
        self.is_aws_org_enabled = ::std::option::Option::Some(input);
        self
    }
    /// <p>Specifies whether Organizations is enabled.</p>
    pub fn set_is_aws_org_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
        self.is_aws_org_enabled = input;
        self
    }
    /// <p>Specifies whether Organizations is enabled.</p>
    pub fn get_is_aws_org_enabled(&self) -> &::std::option::Option<bool> {
        &self.is_aws_org_enabled
    }
    /// <p>The designated Amazon Simple Notification Service (Amazon SNS) topic.</p>
    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
    }
    /// <p>The designated Amazon Simple Notification Service (Amazon SNS) topic.</p>
    pub fn set_sns_topic(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.sns_topic = input;
        self
    }
    /// <p>The designated Amazon Simple Notification Service (Amazon SNS) topic.</p>
    pub fn get_sns_topic(&self) -> &::std::option::Option<::std::string::String> {
        &self.sns_topic
    }
    /// <p>The default S3 destination bucket for storing assessment reports.</p>
    pub fn default_assessment_reports_destination(mut self, input: crate::types::AssessmentReportsDestination) -> Self {
        self.default_assessment_reports_destination = ::std::option::Option::Some(input);
        self
    }
    /// <p>The default S3 destination bucket for storing assessment reports.</p>
    pub fn set_default_assessment_reports_destination(mut self, input: ::std::option::Option<crate::types::AssessmentReportsDestination>) -> Self {
        self.default_assessment_reports_destination = input;
        self
    }
    /// <p>The default S3 destination bucket for storing assessment reports.</p>
    pub fn get_default_assessment_reports_destination(&self) -> &::std::option::Option<crate::types::AssessmentReportsDestination> {
        &self.default_assessment_reports_destination
    }
    /// Appends an item to `default_process_owners`.
    ///
    /// To override the contents of this collection use [`set_default_process_owners`](Self::set_default_process_owners).
    ///
    /// <p>The designated default audit owners.</p>
    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
    }
    /// <p>The designated default audit owners.</p>
    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
    }
    /// <p>The designated default audit owners.</p>
    pub fn get_default_process_owners(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Role>> {
        &self.default_process_owners
    }
    /// <p>The KMS key details.</p>
    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
    }
    /// <p>The KMS key details.</p>
    pub fn set_kms_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.kms_key = input;
        self
    }
    /// <p>The KMS key details.</p>
    pub fn get_kms_key(&self) -> &::std::option::Option<::std::string::String> {
        &self.kms_key
    }
    /// <p>The current evidence finder status and event data store details.</p>
    pub fn evidence_finder_enablement(mut self, input: crate::types::EvidenceFinderEnablement) -> Self {
        self.evidence_finder_enablement = ::std::option::Option::Some(input);
        self
    }
    /// <p>The current evidence finder status and event data store details.</p>
    pub fn set_evidence_finder_enablement(mut self, input: ::std::option::Option<crate::types::EvidenceFinderEnablement>) -> Self {
        self.evidence_finder_enablement = input;
        self
    }
    /// <p>The current evidence finder status and event data store details.</p>
    pub fn get_evidence_finder_enablement(&self) -> &::std::option::Option<crate::types::EvidenceFinderEnablement> {
        &self.evidence_finder_enablement
    }
    /// <p>The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.</p>
    pub fn deregistration_policy(mut self, input: crate::types::DeregistrationPolicy) -> Self {
        self.deregistration_policy = ::std::option::Option::Some(input);
        self
    }
    /// <p>The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.</p>
    pub fn set_deregistration_policy(mut self, input: ::std::option::Option<crate::types::DeregistrationPolicy>) -> Self {
        self.deregistration_policy = input;
        self
    }
    /// <p>The deregistration policy for your Audit Manager data. You can use this attribute to determine how your data is handled when you deregister Audit Manager.</p>
    pub fn get_deregistration_policy(&self) -> &::std::option::Option<crate::types::DeregistrationPolicy> {
        &self.deregistration_policy
    }
    /// <p>The default S3 destination bucket for storing evidence finder exports.</p>
    pub fn default_export_destination(mut self, input: crate::types::DefaultExportDestination) -> Self {
        self.default_export_destination = ::std::option::Option::Some(input);
        self
    }
    /// <p>The default S3 destination bucket for storing evidence finder exports.</p>
    pub fn set_default_export_destination(mut self, input: ::std::option::Option<crate::types::DefaultExportDestination>) -> Self {
        self.default_export_destination = input;
        self
    }
    /// <p>The default S3 destination bucket for storing evidence finder exports.</p>
    pub fn get_default_export_destination(&self) -> &::std::option::Option<crate::types::DefaultExportDestination> {
        &self.default_export_destination
    }
    /// Consumes the builder and constructs a [`Settings`](crate::types::Settings).
    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()
    }
}