/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FMS { namespace Model { /** *

Defines the Organizations organizational units (OUs) that the specified * Firewall Manager administrator can apply policies to. For more information about * OUs in Organizations, see Managing * organizational units (OUs) in the Organizations User * Guide.

See Also:

AWS * API Reference

*/ class OrganizationalUnitScope { public: AWS_FMS_API OrganizationalUnitScope(); AWS_FMS_API OrganizationalUnitScope(Aws::Utils::Json::JsonView jsonValue); AWS_FMS_API OrganizationalUnitScope& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FMS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline const Aws::Vector& GetOrganizationalUnits() const{ return m_organizationalUnits; } /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline bool OrganizationalUnitsHasBeenSet() const { return m_organizationalUnitsHasBeenSet; } /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline void SetOrganizationalUnits(const Aws::Vector& value) { m_organizationalUnitsHasBeenSet = true; m_organizationalUnits = value; } /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline void SetOrganizationalUnits(Aws::Vector&& value) { m_organizationalUnitsHasBeenSet = true; m_organizationalUnits = std::move(value); } /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline OrganizationalUnitScope& WithOrganizationalUnits(const Aws::Vector& value) { SetOrganizationalUnits(value); return *this;} /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline OrganizationalUnitScope& WithOrganizationalUnits(Aws::Vector&& value) { SetOrganizationalUnits(std::move(value)); return *this;} /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline OrganizationalUnitScope& AddOrganizationalUnits(const Aws::String& value) { m_organizationalUnitsHasBeenSet = true; m_organizationalUnits.push_back(value); return *this; } /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline OrganizationalUnitScope& AddOrganizationalUnits(Aws::String&& value) { m_organizationalUnitsHasBeenSet = true; m_organizationalUnits.push_back(std::move(value)); return *this; } /** *

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 * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to true, then the Firewall Manager administrator can apply policies * to all OUs in the organization except for the OUs in this list. If * OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits is set * to false, then the Firewall Manager administrator can only apply * policies to the OUs in this list.

*/ inline OrganizationalUnitScope& AddOrganizationalUnits(const char* value) { m_organizationalUnitsHasBeenSet = true; m_organizationalUnits.push_back(value); return *this; } /** *

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 * OrganizationalUnitScope$OrganizationalUnits. You cannot specify * both.

*/ inline bool GetAllOrganizationalUnitsEnabled() const{ return m_allOrganizationalUnitsEnabled; } /** *

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 * OrganizationalUnitScope$OrganizationalUnits. You cannot specify * both.

*/ inline bool AllOrganizationalUnitsEnabledHasBeenSet() const { return m_allOrganizationalUnitsEnabledHasBeenSet; } /** *

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 * OrganizationalUnitScope$OrganizationalUnits. You cannot specify * both.

*/ inline void SetAllOrganizationalUnitsEnabled(bool value) { m_allOrganizationalUnitsEnabledHasBeenSet = true; m_allOrganizationalUnitsEnabled = value; } /** *

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 * OrganizationalUnitScope$OrganizationalUnits. You cannot specify * both.

*/ inline OrganizationalUnitScope& WithAllOrganizationalUnitsEnabled(bool value) { SetAllOrganizationalUnitsEnabled(value); return *this;} /** *

A boolean value that excludes the OUs in * OrganizationalUnitScope$OrganizationalUnits 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 * OrganizationalUnitScope$OrganizationalUnits. You can either specify * a list of OUs to exclude by * OrganizationalUnitScope$OrganizationalUnits, or you can enable * management of all OUs by * OrganizationalUnitScope$AllOrganizationalUnitsEnabled. You cannot * specify both.

*/ inline bool GetExcludeSpecifiedOrganizationalUnits() const{ return m_excludeSpecifiedOrganizationalUnits; } /** *

A boolean value that excludes the OUs in * OrganizationalUnitScope$OrganizationalUnits 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 * OrganizationalUnitScope$OrganizationalUnits. You can either specify * a list of OUs to exclude by * OrganizationalUnitScope$OrganizationalUnits, or you can enable * management of all OUs by * OrganizationalUnitScope$AllOrganizationalUnitsEnabled. You cannot * specify both.

*/ inline bool ExcludeSpecifiedOrganizationalUnitsHasBeenSet() const { return m_excludeSpecifiedOrganizationalUnitsHasBeenSet; } /** *

A boolean value that excludes the OUs in * OrganizationalUnitScope$OrganizationalUnits 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 * OrganizationalUnitScope$OrganizationalUnits. You can either specify * a list of OUs to exclude by * OrganizationalUnitScope$OrganizationalUnits, or you can enable * management of all OUs by * OrganizationalUnitScope$AllOrganizationalUnitsEnabled. You cannot * specify both.

*/ inline void SetExcludeSpecifiedOrganizationalUnits(bool value) { m_excludeSpecifiedOrganizationalUnitsHasBeenSet = true; m_excludeSpecifiedOrganizationalUnits = value; } /** *

A boolean value that excludes the OUs in * OrganizationalUnitScope$OrganizationalUnits 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 * OrganizationalUnitScope$OrganizationalUnits. You can either specify * a list of OUs to exclude by * OrganizationalUnitScope$OrganizationalUnits, or you can enable * management of all OUs by * OrganizationalUnitScope$AllOrganizationalUnitsEnabled. You cannot * specify both.

*/ inline OrganizationalUnitScope& WithExcludeSpecifiedOrganizationalUnits(bool value) { SetExcludeSpecifiedOrganizationalUnits(value); return *this;} private: Aws::Vector m_organizationalUnits; bool m_organizationalUnitsHasBeenSet = false; bool m_allOrganizationalUnitsEnabled; bool m_allOrganizationalUnitsEnabledHasBeenSet = false; bool m_excludeSpecifiedOrganizationalUnits; bool m_excludeSpecifiedOrganizationalUnitsHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws