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

Contains the ARN details about the IAM entity for which the policy is * generated.

See Also:

AWS * API Reference

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

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 PolicyGenerationDetails& 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 PolicyGenerationDetails& 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 PolicyGenerationDetails& WithPrincipalArn(const char* value) { SetPrincipalArn(value); return *this;} private: Aws::String m_principalArn; bool m_principalArnHasBeenSet = false; }; } // namespace Model } // namespace AccessAnalyzer } // namespace Aws