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

Defines the resources that the Firewall Manager administrator can manage. For * more information about administrative scope, see Managing * Firewall Manager administrators in the Firewall Manager Developer * Guide.

See Also:

AWS API * Reference

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

Defines the accounts that the specified Firewall Manager administrator can * apply policies to.

*/ inline const AccountScope& GetAccountScope() const{ return m_accountScope; } /** *

Defines the accounts that the specified Firewall Manager administrator can * apply policies to.

*/ inline bool AccountScopeHasBeenSet() const { return m_accountScopeHasBeenSet; } /** *

Defines the accounts that the specified Firewall Manager administrator can * apply policies to.

*/ inline void SetAccountScope(const AccountScope& value) { m_accountScopeHasBeenSet = true; m_accountScope = value; } /** *

Defines the accounts that the specified Firewall Manager administrator can * apply policies to.

*/ inline void SetAccountScope(AccountScope&& value) { m_accountScopeHasBeenSet = true; m_accountScope = std::move(value); } /** *

Defines the accounts that the specified Firewall Manager administrator can * apply policies to.

*/ inline AdminScope& WithAccountScope(const AccountScope& value) { SetAccountScope(value); return *this;} /** *

Defines the accounts that the specified Firewall Manager administrator can * apply policies to.

*/ inline AdminScope& WithAccountScope(AccountScope&& value) { SetAccountScope(std::move(value)); return *this;} /** *

Defines the Organizations organizational units 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.

*/ inline const OrganizationalUnitScope& GetOrganizationalUnitScope() const{ return m_organizationalUnitScope; } /** *

Defines the Organizations organizational units 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.

*/ inline bool OrganizationalUnitScopeHasBeenSet() const { return m_organizationalUnitScopeHasBeenSet; } /** *

Defines the Organizations organizational units 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.

*/ inline void SetOrganizationalUnitScope(const OrganizationalUnitScope& value) { m_organizationalUnitScopeHasBeenSet = true; m_organizationalUnitScope = value; } /** *

Defines the Organizations organizational units 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.

*/ inline void SetOrganizationalUnitScope(OrganizationalUnitScope&& value) { m_organizationalUnitScopeHasBeenSet = true; m_organizationalUnitScope = std::move(value); } /** *

Defines the Organizations organizational units 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.

*/ inline AdminScope& WithOrganizationalUnitScope(const OrganizationalUnitScope& value) { SetOrganizationalUnitScope(value); return *this;} /** *

Defines the Organizations organizational units 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.

*/ inline AdminScope& WithOrganizationalUnitScope(OrganizationalUnitScope&& value) { SetOrganizationalUnitScope(std::move(value)); return *this;} /** *

Defines the Amazon Web Services Regions that the specified Firewall Manager * administrator can perform actions in.

*/ inline const RegionScope& GetRegionScope() const{ return m_regionScope; } /** *

Defines the Amazon Web Services Regions that the specified Firewall Manager * administrator can perform actions in.

*/ inline bool RegionScopeHasBeenSet() const { return m_regionScopeHasBeenSet; } /** *

Defines the Amazon Web Services Regions that the specified Firewall Manager * administrator can perform actions in.

*/ inline void SetRegionScope(const RegionScope& value) { m_regionScopeHasBeenSet = true; m_regionScope = value; } /** *

Defines the Amazon Web Services Regions that the specified Firewall Manager * administrator can perform actions in.

*/ inline void SetRegionScope(RegionScope&& value) { m_regionScopeHasBeenSet = true; m_regionScope = std::move(value); } /** *

Defines the Amazon Web Services Regions that the specified Firewall Manager * administrator can perform actions in.

*/ inline AdminScope& WithRegionScope(const RegionScope& value) { SetRegionScope(value); return *this;} /** *

Defines the Amazon Web Services Regions that the specified Firewall Manager * administrator can perform actions in.

*/ inline AdminScope& WithRegionScope(RegionScope&& value) { SetRegionScope(std::move(value)); return *this;} /** *

Defines the Firewall Manager policy types that the specified Firewall Manager * administrator can create and manage.

*/ inline const PolicyTypeScope& GetPolicyTypeScope() const{ return m_policyTypeScope; } /** *

Defines the Firewall Manager policy types that the specified Firewall Manager * administrator can create and manage.

*/ inline bool PolicyTypeScopeHasBeenSet() const { return m_policyTypeScopeHasBeenSet; } /** *

Defines the Firewall Manager policy types that the specified Firewall Manager * administrator can create and manage.

*/ inline void SetPolicyTypeScope(const PolicyTypeScope& value) { m_policyTypeScopeHasBeenSet = true; m_policyTypeScope = value; } /** *

Defines the Firewall Manager policy types that the specified Firewall Manager * administrator can create and manage.

*/ inline void SetPolicyTypeScope(PolicyTypeScope&& value) { m_policyTypeScopeHasBeenSet = true; m_policyTypeScope = std::move(value); } /** *

Defines the Firewall Manager policy types that the specified Firewall Manager * administrator can create and manage.

*/ inline AdminScope& WithPolicyTypeScope(const PolicyTypeScope& value) { SetPolicyTypeScope(value); return *this;} /** *

Defines the Firewall Manager policy types that the specified Firewall Manager * administrator can create and manage.

*/ inline AdminScope& WithPolicyTypeScope(PolicyTypeScope&& value) { SetPolicyTypeScope(std::move(value)); return *this;} private: AccountScope m_accountScope; bool m_accountScopeHasBeenSet = false; OrganizationalUnitScope m_organizationalUnitScope; bool m_organizationalUnitScopeHasBeenSet = false; RegionScope m_regionScope; bool m_regionScopeHasBeenSet = false; PolicyTypeScope m_policyTypeScope; bool m_policyTypeScopeHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws