aws_sdk_fms/types/_organizational_unit_scope.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Defines the Organizations organizational units (OUs) that the specified Firewall Manager administrator can apply policies to. For more information about OUs in Organizations, see <a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html">Managing organizational units (OUs) </a> in the <i>Organizations User Guide</i>.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct OrganizationalUnitScope {
7 /// <p>The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code>. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>true</code>, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>false</code>, then the Firewall Manager administrator can only apply policies to the OUs in this list.</p>
8 pub organizational_units: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
9 /// <p>A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You cannot specify both.</p>
10 pub all_organizational_units_enabled: bool,
11 /// <p>A boolean value that excludes the OUs in <code>OrganizationalUnitScope$OrganizationalUnits</code> from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You can either specify a list of OUs to exclude by <code>OrganizationalUnitScope$OrganizationalUnits</code>, or you can enable management of all OUs by <code>OrganizationalUnitScope$AllOrganizationalUnitsEnabled</code>. You cannot specify both.</p>
12 pub exclude_specified_organizational_units: bool,
13}
14impl OrganizationalUnitScope {
15 /// <p>The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code>. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>true</code>, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>false</code>, then the Firewall Manager administrator can only apply policies to the OUs in this list.</p>
16 ///
17 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.organizational_units.is_none()`.
18 pub fn organizational_units(&self) -> &[::std::string::String] {
19 self.organizational_units.as_deref().unwrap_or_default()
20 }
21 /// <p>A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You cannot specify both.</p>
22 pub fn all_organizational_units_enabled(&self) -> bool {
23 self.all_organizational_units_enabled
24 }
25 /// <p>A boolean value that excludes the OUs in <code>OrganizationalUnitScope$OrganizationalUnits</code> from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You can either specify a list of OUs to exclude by <code>OrganizationalUnitScope$OrganizationalUnits</code>, or you can enable management of all OUs by <code>OrganizationalUnitScope$AllOrganizationalUnitsEnabled</code>. You cannot specify both.</p>
26 pub fn exclude_specified_organizational_units(&self) -> bool {
27 self.exclude_specified_organizational_units
28 }
29}
30impl OrganizationalUnitScope {
31 /// Creates a new builder-style object to manufacture [`OrganizationalUnitScope`](crate::types::OrganizationalUnitScope).
32 pub fn builder() -> crate::types::builders::OrganizationalUnitScopeBuilder {
33 crate::types::builders::OrganizationalUnitScopeBuilder::default()
34 }
35}
36
37/// A builder for [`OrganizationalUnitScope`](crate::types::OrganizationalUnitScope).
38#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
39#[non_exhaustive]
40pub struct OrganizationalUnitScopeBuilder {
41 pub(crate) organizational_units: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
42 pub(crate) all_organizational_units_enabled: ::std::option::Option<bool>,
43 pub(crate) exclude_specified_organizational_units: ::std::option::Option<bool>,
44}
45impl OrganizationalUnitScopeBuilder {
46 /// Appends an item to `organizational_units`.
47 ///
48 /// To override the contents of this collection use [`set_organizational_units`](Self::set_organizational_units).
49 ///
50 /// <p>The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code>. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>true</code>, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>false</code>, then the Firewall Manager administrator can only apply policies to the OUs in this list.</p>
51 pub fn organizational_units(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
52 let mut v = self.organizational_units.unwrap_or_default();
53 v.push(input.into());
54 self.organizational_units = ::std::option::Option::Some(v);
55 self
56 }
57 /// <p>The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code>. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>true</code>, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>false</code>, then the Firewall Manager administrator can only apply policies to the OUs in this list.</p>
58 pub fn set_organizational_units(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
59 self.organizational_units = input;
60 self
61 }
62 /// <p>The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code>. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>true</code>, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If <code>OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits</code> is set to <code>false</code>, then the Firewall Manager administrator can only apply policies to the OUs in this list.</p>
63 pub fn get_organizational_units(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
64 &self.organizational_units
65 }
66 /// <p>A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You cannot specify both.</p>
67 pub fn all_organizational_units_enabled(mut self, input: bool) -> Self {
68 self.all_organizational_units_enabled = ::std::option::Option::Some(input);
69 self
70 }
71 /// <p>A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You cannot specify both.</p>
72 pub fn set_all_organizational_units_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
73 self.all_organizational_units_enabled = input;
74 self
75 }
76 /// <p>A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You cannot specify both.</p>
77 pub fn get_all_organizational_units_enabled(&self) -> &::std::option::Option<bool> {
78 &self.all_organizational_units_enabled
79 }
80 /// <p>A boolean value that excludes the OUs in <code>OrganizationalUnitScope$OrganizationalUnits</code> from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You can either specify a list of OUs to exclude by <code>OrganizationalUnitScope$OrganizationalUnits</code>, or you can enable management of all OUs by <code>OrganizationalUnitScope$AllOrganizationalUnitsEnabled</code>. You cannot specify both.</p>
81 pub fn exclude_specified_organizational_units(mut self, input: bool) -> Self {
82 self.exclude_specified_organizational_units = ::std::option::Option::Some(input);
83 self
84 }
85 /// <p>A boolean value that excludes the OUs in <code>OrganizationalUnitScope$OrganizationalUnits</code> from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You can either specify a list of OUs to exclude by <code>OrganizationalUnitScope$OrganizationalUnits</code>, or you can enable management of all OUs by <code>OrganizationalUnitScope$AllOrganizationalUnitsEnabled</code>. You cannot specify both.</p>
86 pub fn set_exclude_specified_organizational_units(mut self, input: ::std::option::Option<bool>) -> Self {
87 self.exclude_specified_organizational_units = input;
88 self
89 }
90 /// <p>A boolean value that excludes the OUs in <code>OrganizationalUnitScope$OrganizationalUnits</code> from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in <code>OrganizationalUnitScope$OrganizationalUnits</code>. You can either specify a list of OUs to exclude by <code>OrganizationalUnitScope$OrganizationalUnits</code>, or you can enable management of all OUs by <code>OrganizationalUnitScope$AllOrganizationalUnitsEnabled</code>. You cannot specify both.</p>
91 pub fn get_exclude_specified_organizational_units(&self) -> &::std::option::Option<bool> {
92 &self.exclude_specified_organizational_units
93 }
94 /// Consumes the builder and constructs a [`OrganizationalUnitScope`](crate::types::OrganizationalUnitScope).
95 pub fn build(self) -> crate::types::OrganizationalUnitScope {
96 crate::types::OrganizationalUnitScope {
97 organizational_units: self.organizational_units,
98 all_organizational_units_enabled: self.all_organizational_units_enabled.unwrap_or_default(),
99 exclude_specified_organizational_units: self.exclude_specified_organizational_units.unwrap_or_default(),
100 }
101 }
102}