/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains rules to be applied to the affected accounts. The effective policy
* is the aggregation of any policies the account inherits, plus any policy
* directly attached to the account.See Also:
AWS
* API Reference
The text content of the policy.
*/ inline const Aws::String& GetPolicyContent() const{ return m_policyContent; } /** *The text content of the policy.
*/ inline bool PolicyContentHasBeenSet() const { return m_policyContentHasBeenSet; } /** *The text content of the policy.
*/ inline void SetPolicyContent(const Aws::String& value) { m_policyContentHasBeenSet = true; m_policyContent = value; } /** *The text content of the policy.
*/ inline void SetPolicyContent(Aws::String&& value) { m_policyContentHasBeenSet = true; m_policyContent = std::move(value); } /** *The text content of the policy.
*/ inline void SetPolicyContent(const char* value) { m_policyContentHasBeenSet = true; m_policyContent.assign(value); } /** *The text content of the policy.
*/ inline EffectivePolicy& WithPolicyContent(const Aws::String& value) { SetPolicyContent(value); return *this;} /** *The text content of the policy.
*/ inline EffectivePolicy& WithPolicyContent(Aws::String&& value) { SetPolicyContent(std::move(value)); return *this;} /** *The text content of the policy.
*/ inline EffectivePolicy& WithPolicyContent(const char* value) { SetPolicyContent(value); return *this;} /** *The time of the last update to this policy.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } /** *The time of the last update to this policy.
*/ inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } /** *The time of the last update to this policy.
*/ inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } /** *The time of the last update to this policy.
*/ inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } /** *The time of the last update to this policy.
*/ inline EffectivePolicy& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} /** *The time of the last update to this policy.
*/ inline EffectivePolicy& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} /** *The account ID of the policy target.
*/ inline const Aws::String& GetTargetId() const{ return m_targetId; } /** *The account ID of the policy target.
*/ inline bool TargetIdHasBeenSet() const { return m_targetIdHasBeenSet; } /** *The account ID of the policy target.
*/ inline void SetTargetId(const Aws::String& value) { m_targetIdHasBeenSet = true; m_targetId = value; } /** *The account ID of the policy target.
*/ inline void SetTargetId(Aws::String&& value) { m_targetIdHasBeenSet = true; m_targetId = std::move(value); } /** *The account ID of the policy target.
*/ inline void SetTargetId(const char* value) { m_targetIdHasBeenSet = true; m_targetId.assign(value); } /** *The account ID of the policy target.
*/ inline EffectivePolicy& WithTargetId(const Aws::String& value) { SetTargetId(value); return *this;} /** *The account ID of the policy target.
*/ inline EffectivePolicy& WithTargetId(Aws::String&& value) { SetTargetId(std::move(value)); return *this;} /** *The account ID of the policy target.
*/ inline EffectivePolicy& WithTargetId(const char* value) { SetTargetId(value); return *this;} /** *The policy type.
*/ inline const EffectivePolicyType& GetPolicyType() const{ return m_policyType; } /** *The policy type.
*/ inline bool PolicyTypeHasBeenSet() const { return m_policyTypeHasBeenSet; } /** *The policy type.
*/ inline void SetPolicyType(const EffectivePolicyType& value) { m_policyTypeHasBeenSet = true; m_policyType = value; } /** *The policy type.
*/ inline void SetPolicyType(EffectivePolicyType&& value) { m_policyTypeHasBeenSet = true; m_policyType = std::move(value); } /** *The policy type.
*/ inline EffectivePolicy& WithPolicyType(const EffectivePolicyType& value) { SetPolicyType(value); return *this;} /** *The policy type.
*/ inline EffectivePolicy& WithPolicyType(EffectivePolicyType&& value) { SetPolicyType(std::move(value)); return *this;} private: Aws::String m_policyContent; bool m_policyContentHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTimestamp; bool m_lastUpdatedTimestampHasBeenSet = false; Aws::String m_targetId; bool m_targetIdHasBeenSet = false; EffectivePolicyType m_policyType; bool m_policyTypeHasBeenSet = false; }; } // namespace Model } // namespace Organizations } // namespace Aws