aws-sdk-backup 1.110.0

AWS SDK for AWS Backup
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DescribeGlobalSettingsOutput {
    /// <p>The status of the flags <code>isCrossAccountBackupEnabled</code>, <code>isMpaEnabled</code> ('Mpa' refers to multi-party approval), and <code>isDelegatedAdministratorEnabled</code>.</p>
    /// <ul>
    /// <li>
    /// <p><code>isCrossAccountBackupEnabled</code>: Allow accounts in your organization to copy backups to other accounts.</p></li>
    /// <li>
    /// <p><code>isMpaEnabled</code>: Add cross-account access to your organization with the option to assign a Multi-party approval team to a logically air-gapped vault.</p></li>
    /// <li>
    /// <p><code>isDelegatedAdministratorEnabled</code>: Allow Backup to automatically synchronize delegated administrator permissions with Organizations.</p></li>
    /// </ul>
    pub global_settings: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    /// <p>The date and time that the supported flags were last updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of <code>LastUpdateTime</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub last_update_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    _request_id: Option<String>,
}
impl DescribeGlobalSettingsOutput {
    /// <p>The status of the flags <code>isCrossAccountBackupEnabled</code>, <code>isMpaEnabled</code> ('Mpa' refers to multi-party approval), and <code>isDelegatedAdministratorEnabled</code>.</p>
    /// <ul>
    /// <li>
    /// <p><code>isCrossAccountBackupEnabled</code>: Allow accounts in your organization to copy backups to other accounts.</p></li>
    /// <li>
    /// <p><code>isMpaEnabled</code>: Add cross-account access to your organization with the option to assign a Multi-party approval team to a logically air-gapped vault.</p></li>
    /// <li>
    /// <p><code>isDelegatedAdministratorEnabled</code>: Allow Backup to automatically synchronize delegated administrator permissions with Organizations.</p></li>
    /// </ul>
    pub fn global_settings(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        self.global_settings.as_ref()
    }
    /// <p>The date and time that the supported flags were last updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of <code>LastUpdateTime</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn last_update_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
        self.last_update_time.as_ref()
    }
}
impl ::aws_types::request_id::RequestId for DescribeGlobalSettingsOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DescribeGlobalSettingsOutput {
    /// Creates a new builder-style object to manufacture [`DescribeGlobalSettingsOutput`](crate::operation::describe_global_settings::DescribeGlobalSettingsOutput).
    pub fn builder() -> crate::operation::describe_global_settings::builders::DescribeGlobalSettingsOutputBuilder {
        crate::operation::describe_global_settings::builders::DescribeGlobalSettingsOutputBuilder::default()
    }
}

/// A builder for [`DescribeGlobalSettingsOutput`](crate::operation::describe_global_settings::DescribeGlobalSettingsOutput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct DescribeGlobalSettingsOutputBuilder {
    pub(crate) global_settings: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    pub(crate) last_update_time: ::std::option::Option<::aws_smithy_types::DateTime>,
    _request_id: Option<String>,
}
impl DescribeGlobalSettingsOutputBuilder {
    /// Adds a key-value pair to `global_settings`.
    ///
    /// To override the contents of this collection use [`set_global_settings`](Self::set_global_settings).
    ///
    /// <p>The status of the flags <code>isCrossAccountBackupEnabled</code>, <code>isMpaEnabled</code> ('Mpa' refers to multi-party approval), and <code>isDelegatedAdministratorEnabled</code>.</p>
    /// <ul>
    /// <li>
    /// <p><code>isCrossAccountBackupEnabled</code>: Allow accounts in your organization to copy backups to other accounts.</p></li>
    /// <li>
    /// <p><code>isMpaEnabled</code>: Add cross-account access to your organization with the option to assign a Multi-party approval team to a logically air-gapped vault.</p></li>
    /// <li>
    /// <p><code>isDelegatedAdministratorEnabled</code>: Allow Backup to automatically synchronize delegated administrator permissions with Organizations.</p></li>
    /// </ul>
    pub fn global_settings(
        mut self,
        k: impl ::std::convert::Into<::std::string::String>,
        v: impl ::std::convert::Into<::std::string::String>,
    ) -> Self {
        let mut hash_map = self.global_settings.unwrap_or_default();
        hash_map.insert(k.into(), v.into());
        self.global_settings = ::std::option::Option::Some(hash_map);
        self
    }
    /// <p>The status of the flags <code>isCrossAccountBackupEnabled</code>, <code>isMpaEnabled</code> ('Mpa' refers to multi-party approval), and <code>isDelegatedAdministratorEnabled</code>.</p>
    /// <ul>
    /// <li>
    /// <p><code>isCrossAccountBackupEnabled</code>: Allow accounts in your organization to copy backups to other accounts.</p></li>
    /// <li>
    /// <p><code>isMpaEnabled</code>: Add cross-account access to your organization with the option to assign a Multi-party approval team to a logically air-gapped vault.</p></li>
    /// <li>
    /// <p><code>isDelegatedAdministratorEnabled</code>: Allow Backup to automatically synchronize delegated administrator permissions with Organizations.</p></li>
    /// </ul>
    pub fn set_global_settings(
        mut self,
        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    ) -> Self {
        self.global_settings = input;
        self
    }
    /// <p>The status of the flags <code>isCrossAccountBackupEnabled</code>, <code>isMpaEnabled</code> ('Mpa' refers to multi-party approval), and <code>isDelegatedAdministratorEnabled</code>.</p>
    /// <ul>
    /// <li>
    /// <p><code>isCrossAccountBackupEnabled</code>: Allow accounts in your organization to copy backups to other accounts.</p></li>
    /// <li>
    /// <p><code>isMpaEnabled</code>: Add cross-account access to your organization with the option to assign a Multi-party approval team to a logically air-gapped vault.</p></li>
    /// <li>
    /// <p><code>isDelegatedAdministratorEnabled</code>: Allow Backup to automatically synchronize delegated administrator permissions with Organizations.</p></li>
    /// </ul>
    pub fn get_global_settings(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        &self.global_settings
    }
    /// <p>The date and time that the supported flags were last updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of <code>LastUpdateTime</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn last_update_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
        self.last_update_time = ::std::option::Option::Some(input);
        self
    }
    /// <p>The date and time that the supported flags were last updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of <code>LastUpdateTime</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn set_last_update_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
        self.last_update_time = input;
        self
    }
    /// <p>The date and time that the supported flags were last updated. This update is in Unix format and Coordinated Universal Time (UTC). The value of <code>LastUpdateTime</code> is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.</p>
    pub fn get_last_update_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
        &self.last_update_time
    }
    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
    }
    /// Consumes the builder and constructs a [`DescribeGlobalSettingsOutput`](crate::operation::describe_global_settings::DescribeGlobalSettingsOutput).
    pub fn build(self) -> crate::operation::describe_global_settings::DescribeGlobalSettingsOutput {
        crate::operation::describe_global_settings::DescribeGlobalSettingsOutput {
            global_settings: self.global_settings,
            last_update_time: self.last_update_time,
            _request_id: self._request_id,
        }
    }
}