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

Contains the list of entities to be considered during an authorization * request. This includes all principals, resources, and actions required to * successfully evaluate the request.

This data type is used as a field in * the response parameter for the IsAuthorized * and IsAuthorizedWithToken * operations.

See Also:

AWS * API Reference

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

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline const Aws::Vector& GetEntityList() const{ return m_entityList; } /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline bool EntityListHasBeenSet() const { return m_entityListHasBeenSet; } /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline void SetEntityList(const Aws::Vector& value) { m_entityListHasBeenSet = true; m_entityList = value; } /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline void SetEntityList(Aws::Vector&& value) { m_entityListHasBeenSet = true; m_entityList = std::move(value); } /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline EntitiesDefinition& WithEntityList(const Aws::Vector& value) { SetEntityList(value); return *this;} /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline EntitiesDefinition& WithEntityList(Aws::Vector&& value) { SetEntityList(std::move(value)); return *this;} /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline EntitiesDefinition& AddEntityList(const EntityItem& value) { m_entityListHasBeenSet = true; m_entityList.push_back(value); return *this; } /** *

An array of entities that are needed to successfully evaluate an * authorization request. Each entity in this array must include an identifier for * the entity, the attributes of the entity, and a list of any parent entities.

*/ inline EntitiesDefinition& AddEntityList(EntityItem&& value) { m_entityListHasBeenSet = true; m_entityList.push_back(std::move(value)); return *this; } private: Aws::Vector m_entityList; bool m_entityListHasBeenSet = false; }; } // namespace Model } // namespace VerifiedPermissions } // namespace Aws