/** * 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 AccessAnalyzer { namespace Model { /** *

Contains the generated policy details.

See Also:

AWS * API Reference

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

This value is set to true if the generated policy contains all * possible actions for a service that IAM Access Analyzer identified from the * CloudTrail trail that you specified, and false otherwise.

*/ inline bool GetIsComplete() const{ return m_isComplete; } /** *

This value is set to true if the generated policy contains all * possible actions for a service that IAM Access Analyzer identified from the * CloudTrail trail that you specified, and false otherwise.

*/ inline bool IsCompleteHasBeenSet() const { return m_isCompleteHasBeenSet; } /** *

This value is set to true if the generated policy contains all * possible actions for a service that IAM Access Analyzer identified from the * CloudTrail trail that you specified, and false otherwise.

*/ inline void SetIsComplete(bool value) { m_isCompleteHasBeenSet = true; m_isComplete = value; } /** *

This value is set to true if the generated policy contains all * possible actions for a service that IAM Access Analyzer identified from the * CloudTrail trail that you specified, and false otherwise.

*/ inline GeneratedPolicyProperties& WithIsComplete(bool value) { SetIsComplete(value); return *this;} /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline const Aws::String& GetPrincipalArn() const{ return m_principalArn; } /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline bool PrincipalArnHasBeenSet() const { return m_principalArnHasBeenSet; } /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline void SetPrincipalArn(const Aws::String& value) { m_principalArnHasBeenSet = true; m_principalArn = value; } /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline void SetPrincipalArn(Aws::String&& value) { m_principalArnHasBeenSet = true; m_principalArn = std::move(value); } /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline void SetPrincipalArn(const char* value) { m_principalArnHasBeenSet = true; m_principalArn.assign(value); } /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline GeneratedPolicyProperties& WithPrincipalArn(const Aws::String& value) { SetPrincipalArn(value); return *this;} /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline GeneratedPolicyProperties& WithPrincipalArn(Aws::String&& value) { SetPrincipalArn(std::move(value)); return *this;} /** *

The ARN of the IAM entity (user or role) for which you are generating a * policy.

*/ inline GeneratedPolicyProperties& WithPrincipalArn(const char* value) { SetPrincipalArn(value); return *this;} /** *

Lists details about the Trail used to generated policy.

*/ inline const CloudTrailProperties& GetCloudTrailProperties() const{ return m_cloudTrailProperties; } /** *

Lists details about the Trail used to generated policy.

*/ inline bool CloudTrailPropertiesHasBeenSet() const { return m_cloudTrailPropertiesHasBeenSet; } /** *

Lists details about the Trail used to generated policy.

*/ inline void SetCloudTrailProperties(const CloudTrailProperties& value) { m_cloudTrailPropertiesHasBeenSet = true; m_cloudTrailProperties = value; } /** *

Lists details about the Trail used to generated policy.

*/ inline void SetCloudTrailProperties(CloudTrailProperties&& value) { m_cloudTrailPropertiesHasBeenSet = true; m_cloudTrailProperties = std::move(value); } /** *

Lists details about the Trail used to generated policy.

*/ inline GeneratedPolicyProperties& WithCloudTrailProperties(const CloudTrailProperties& value) { SetCloudTrailProperties(value); return *this;} /** *

Lists details about the Trail used to generated policy.

*/ inline GeneratedPolicyProperties& WithCloudTrailProperties(CloudTrailProperties&& value) { SetCloudTrailProperties(std::move(value)); return *this;} private: bool m_isComplete; bool m_isCompleteHasBeenSet = false; Aws::String m_principalArn; bool m_principalArnHasBeenSet = false; CloudTrailProperties m_cloudTrailProperties; bool m_cloudTrailPropertiesHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws