/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace FMS { namespace Model { /** */ class PutAdminAccountRequest : public FMSRequest { public: AWS_FMS_API PutAdminAccountRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutAdminAccount"; } AWS_FMS_API Aws::String SerializePayload() const override; AWS_FMS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline const Aws::String& GetAdminAccount() const{ return m_adminAccount; } /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline bool AdminAccountHasBeenSet() const { return m_adminAccountHasBeenSet; } /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline void SetAdminAccount(const Aws::String& value) { m_adminAccountHasBeenSet = true; m_adminAccount = value; } /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline void SetAdminAccount(Aws::String&& value) { m_adminAccountHasBeenSet = true; m_adminAccount = std::move(value); } /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline void SetAdminAccount(const char* value) { m_adminAccountHasBeenSet = true; m_adminAccount.assign(value); } /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline PutAdminAccountRequest& WithAdminAccount(const Aws::String& value) { SetAdminAccount(value); return *this;} /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline PutAdminAccountRequest& WithAdminAccount(Aws::String&& value) { SetAdminAccount(std::move(value)); return *this;} /** *

The Amazon Web Services account ID to add as an Firewall Manager * administrator account. The account must be a member of the organization that was * onboarded to Firewall Manager by AssociateAdminAccount. For more * information about Organizations, see Managing * the Amazon Web Services Accounts in Your Organization.

*/ inline PutAdminAccountRequest& WithAdminAccount(const char* value) { SetAdminAccount(value); return *this;} /** *

Configures the resources that the specified Firewall Manager administrator * can manage. As a best practice, set the administrative scope according to the * principles of least privilege. Only grant the administrator the specific * resources or permissions that they need to perform the duties of their role.

*/ inline const AdminScope& GetAdminScope() const{ return m_adminScope; } /** *

Configures the resources that the specified Firewall Manager administrator * can manage. As a best practice, set the administrative scope according to the * principles of least privilege. Only grant the administrator the specific * resources or permissions that they need to perform the duties of their role.

*/ inline bool AdminScopeHasBeenSet() const { return m_adminScopeHasBeenSet; } /** *

Configures the resources that the specified Firewall Manager administrator * can manage. As a best practice, set the administrative scope according to the * principles of least privilege. Only grant the administrator the specific * resources or permissions that they need to perform the duties of their role.

*/ inline void SetAdminScope(const AdminScope& value) { m_adminScopeHasBeenSet = true; m_adminScope = value; } /** *

Configures the resources that the specified Firewall Manager administrator * can manage. As a best practice, set the administrative scope according to the * principles of least privilege. Only grant the administrator the specific * resources or permissions that they need to perform the duties of their role.

*/ inline void SetAdminScope(AdminScope&& value) { m_adminScopeHasBeenSet = true; m_adminScope = std::move(value); } /** *

Configures the resources that the specified Firewall Manager administrator * can manage. As a best practice, set the administrative scope according to the * principles of least privilege. Only grant the administrator the specific * resources or permissions that they need to perform the duties of their role.

*/ inline PutAdminAccountRequest& WithAdminScope(const AdminScope& value) { SetAdminScope(value); return *this;} /** *

Configures the resources that the specified Firewall Manager administrator * can manage. As a best practice, set the administrative scope according to the * principles of least privilege. Only grant the administrator the specific * resources or permissions that they need to perform the duties of their role.

*/ inline PutAdminAccountRequest& WithAdminScope(AdminScope&& value) { SetAdminScope(std::move(value)); return *this;} private: Aws::String m_adminAccount; bool m_adminAccountHasBeenSet = false; AdminScope m_adminScope; bool m_adminScopeHasBeenSet = false; }; } // namespace Model } // namespace FMS } // namespace Aws