/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace VerifiedPermissions { namespace Model { class GetPolicyResult { public: AWS_VERIFIEDPERMISSIONS_API GetPolicyResult(); AWS_VERIFIEDPERMISSIONS_API GetPolicyResult(const Aws::AmazonWebServiceResult& result); AWS_VERIFIEDPERMISSIONS_API GetPolicyResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline const Aws::String& GetPolicyStoreId() const{ return m_policyStoreId; } /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline void SetPolicyStoreId(const Aws::String& value) { m_policyStoreId = value; } /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline void SetPolicyStoreId(Aws::String&& value) { m_policyStoreId = std::move(value); } /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline void SetPolicyStoreId(const char* value) { m_policyStoreId.assign(value); } /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline GetPolicyResult& WithPolicyStoreId(const Aws::String& value) { SetPolicyStoreId(value); return *this;} /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline GetPolicyResult& WithPolicyStoreId(Aws::String&& value) { SetPolicyStoreId(std::move(value)); return *this;} /** *

The ID of the policy store that contains the policy that you want information * about.

*/ inline GetPolicyResult& WithPolicyStoreId(const char* value) { SetPolicyStoreId(value); return *this;} /** *

The unique ID of the policy that you want information about.

*/ inline const Aws::String& GetPolicyId() const{ return m_policyId; } /** *

The unique ID of the policy that you want information about.

*/ inline void SetPolicyId(const Aws::String& value) { m_policyId = value; } /** *

The unique ID of the policy that you want information about.

*/ inline void SetPolicyId(Aws::String&& value) { m_policyId = std::move(value); } /** *

The unique ID of the policy that you want information about.

*/ inline void SetPolicyId(const char* value) { m_policyId.assign(value); } /** *

The unique ID of the policy that you want information about.

*/ inline GetPolicyResult& WithPolicyId(const Aws::String& value) { SetPolicyId(value); return *this;} /** *

The unique ID of the policy that you want information about.

*/ inline GetPolicyResult& WithPolicyId(Aws::String&& value) { SetPolicyId(std::move(value)); return *this;} /** *

The unique ID of the policy that you want information about.

*/ inline GetPolicyResult& WithPolicyId(const char* value) { SetPolicyId(value); return *this;} /** *

The type of the policy.

*/ inline const PolicyType& GetPolicyType() const{ return m_policyType; } /** *

The type of the policy.

*/ inline void SetPolicyType(const PolicyType& value) { m_policyType = value; } /** *

The type of the policy.

*/ inline void SetPolicyType(PolicyType&& value) { m_policyType = std::move(value); } /** *

The type of the policy.

*/ inline GetPolicyResult& WithPolicyType(const PolicyType& value) { SetPolicyType(value); return *this;} /** *

The type of the policy.

*/ inline GetPolicyResult& WithPolicyType(PolicyType&& value) { SetPolicyType(std::move(value)); return *this;} /** *

The principal specified in the policy's scope. This element isn't included in * the response when Principal isn't present in the policy * content.

*/ inline const EntityIdentifier& GetPrincipal() const{ return m_principal; } /** *

The principal specified in the policy's scope. This element isn't included in * the response when Principal isn't present in the policy * content.

*/ inline void SetPrincipal(const EntityIdentifier& value) { m_principal = value; } /** *

The principal specified in the policy's scope. This element isn't included in * the response when Principal isn't present in the policy * content.

*/ inline void SetPrincipal(EntityIdentifier&& value) { m_principal = std::move(value); } /** *

The principal specified in the policy's scope. This element isn't included in * the response when Principal isn't present in the policy * content.

*/ inline GetPolicyResult& WithPrincipal(const EntityIdentifier& value) { SetPrincipal(value); return *this;} /** *

The principal specified in the policy's scope. This element isn't included in * the response when Principal isn't present in the policy * content.

*/ inline GetPolicyResult& WithPrincipal(EntityIdentifier&& value) { SetPrincipal(std::move(value)); return *this;} /** *

The resource specified in the policy's scope. This element isn't included in * the response when Resource isn't present in the policy content.

*/ inline const EntityIdentifier& GetResource() const{ return m_resource; } /** *

The resource specified in the policy's scope. This element isn't included in * the response when Resource isn't present in the policy content.

*/ inline void SetResource(const EntityIdentifier& value) { m_resource = value; } /** *

The resource specified in the policy's scope. This element isn't included in * the response when Resource isn't present in the policy content.

*/ inline void SetResource(EntityIdentifier&& value) { m_resource = std::move(value); } /** *

The resource specified in the policy's scope. This element isn't included in * the response when Resource isn't present in the policy content.

*/ inline GetPolicyResult& WithResource(const EntityIdentifier& value) { SetResource(value); return *this;} /** *

The resource specified in the policy's scope. This element isn't included in * the response when Resource isn't present in the policy content.

*/ inline GetPolicyResult& WithResource(EntityIdentifier&& value) { SetResource(std::move(value)); return *this;} /** *

The definition of the requested policy.

*/ inline const PolicyDefinitionDetail& GetDefinition() const{ return m_definition; } /** *

The definition of the requested policy.

*/ inline void SetDefinition(const PolicyDefinitionDetail& value) { m_definition = value; } /** *

The definition of the requested policy.

*/ inline void SetDefinition(PolicyDefinitionDetail&& value) { m_definition = std::move(value); } /** *

The definition of the requested policy.

*/ inline GetPolicyResult& WithDefinition(const PolicyDefinitionDetail& value) { SetDefinition(value); return *this;} /** *

The definition of the requested policy.

*/ inline GetPolicyResult& WithDefinition(PolicyDefinitionDetail&& value) { SetDefinition(std::move(value)); return *this;} /** *

The date and time that the policy was originally created.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The date and time that the policy was originally created.

*/ inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDate = value; } /** *

The date and time that the policy was originally created.

*/ inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDate = std::move(value); } /** *

The date and time that the policy was originally created.

*/ inline GetPolicyResult& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date and time that the policy was originally created.

*/ inline GetPolicyResult& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} /** *

The date and time that the policy was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; } /** *

The date and time that the policy was last updated.

*/ inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDate = value; } /** *

The date and time that the policy was last updated.

*/ inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDate = std::move(value); } /** *

The date and time that the policy was last updated.

*/ inline GetPolicyResult& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;} /** *

The date and time that the policy was last updated.

*/ inline GetPolicyResult& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetPolicyResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetPolicyResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetPolicyResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_policyStoreId; Aws::String m_policyId; PolicyType m_policyType; EntityIdentifier m_principal; EntityIdentifier m_resource; PolicyDefinitionDetail m_definition; Aws::Utils::DateTime m_createdDate; Aws::Utils::DateTime m_lastUpdatedDate; Aws::String m_requestId; }; } // namespace Model } // namespace VerifiedPermissions } // namespace Aws