/** * 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 IAM { namespace Model { /** */ class GenerateOrganizationsAccessReportRequest : public IAMRequest { public: AWS_IAM_API GenerateOrganizationsAccessReportRequest(); // 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 "GenerateOrganizationsAccessReport"; } AWS_IAM_API Aws::String SerializePayload() const override; protected: AWS_IAM_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline const Aws::String& GetEntityPath() const{ return m_entityPath; } /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline bool EntityPathHasBeenSet() const { return m_entityPathHasBeenSet; } /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline void SetEntityPath(const Aws::String& value) { m_entityPathHasBeenSet = true; m_entityPath = value; } /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline void SetEntityPath(Aws::String&& value) { m_entityPathHasBeenSet = true; m_entityPath = std::move(value); } /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline void SetEntityPath(const char* value) { m_entityPathHasBeenSet = true; m_entityPath.assign(value); } /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline GenerateOrganizationsAccessReportRequest& WithEntityPath(const Aws::String& value) { SetEntityPath(value); return *this;} /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline GenerateOrganizationsAccessReportRequest& WithEntityPath(Aws::String&& value) { SetEntityPath(std::move(value)); return *this;} /** *

The path of the Organizations entity (root, OU, or account). You can build an * entity path using the known structure of your organization. For example, assume * that your account ID is 123456789012 and its parent OU ID is * ou-rge0-awsabcde. The organization root ID is * r-f6g7h8i9j0example and your organization ID is * o-a1b2c3d4e5. Your entity path is * o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

*/ inline GenerateOrganizationsAccessReportRequest& WithEntityPath(const char* value) { SetEntityPath(value); return *this;} /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline const Aws::String& GetOrganizationsPolicyId() const{ return m_organizationsPolicyId; } /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline bool OrganizationsPolicyIdHasBeenSet() const { return m_organizationsPolicyIdHasBeenSet; } /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline void SetOrganizationsPolicyId(const Aws::String& value) { m_organizationsPolicyIdHasBeenSet = true; m_organizationsPolicyId = value; } /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline void SetOrganizationsPolicyId(Aws::String&& value) { m_organizationsPolicyIdHasBeenSet = true; m_organizationsPolicyId = std::move(value); } /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline void SetOrganizationsPolicyId(const char* value) { m_organizationsPolicyIdHasBeenSet = true; m_organizationsPolicyId.assign(value); } /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline GenerateOrganizationsAccessReportRequest& WithOrganizationsPolicyId(const Aws::String& value) { SetOrganizationsPolicyId(value); return *this;} /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline GenerateOrganizationsAccessReportRequest& WithOrganizationsPolicyId(Aws::String&& value) { SetOrganizationsPolicyId(std::move(value)); return *this;} /** *

The identifier of the Organizations service control policy (SCP). This * parameter is optional.

This ID is used to generate information about when * an account principal that is limited by the SCP attempted to access an Amazon * Web Services service.

*/ inline GenerateOrganizationsAccessReportRequest& WithOrganizationsPolicyId(const char* value) { SetOrganizationsPolicyId(value); return *this;} private: Aws::String m_entityPath; bool m_entityPathHasBeenSet = false; Aws::String m_organizationsPolicyId; bool m_organizationsPolicyIdHasBeenSet = false; }; } // namespace Model } // namespace IAM } // namespace Aws