/**
* 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 VerifiedPermissions
{
namespace Model
{
/**
* Contains the identifier of an entity, including its ID and type.
This
* data type is used as a request parameter for IsAuthorized
* operation, and as a response parameter for the CreatePolicy,
* GetPolicy,
* and UpdatePolicy
* operations.
Example:
* {"entityId":"string","entityType":"string"}
*
See Also:
AWS
* API Reference
*/
class EntityIdentifier
{
public:
AWS_VERIFIEDPERMISSIONS_API EntityIdentifier();
AWS_VERIFIEDPERMISSIONS_API EntityIdentifier(Aws::Utils::Json::JsonView jsonValue);
AWS_VERIFIEDPERMISSIONS_API EntityIdentifier& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_VERIFIEDPERMISSIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline const Aws::String& GetEntityType() const{ return m_entityType; }
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline bool EntityTypeHasBeenSet() const { return m_entityTypeHasBeenSet; }
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline void SetEntityType(const Aws::String& value) { m_entityTypeHasBeenSet = true; m_entityType = value; }
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline void SetEntityType(Aws::String&& value) { m_entityTypeHasBeenSet = true; m_entityType = std::move(value); }
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline void SetEntityType(const char* value) { m_entityTypeHasBeenSet = true; m_entityType.assign(value); }
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline EntityIdentifier& WithEntityType(const Aws::String& value) { SetEntityType(value); return *this;}
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline EntityIdentifier& WithEntityType(Aws::String&& value) { SetEntityType(std::move(value)); return *this;}
/**
* The type of an entity.
Example:
* "entityType":"typeName"
*/
inline EntityIdentifier& WithEntityType(const char* value) { SetEntityType(value); return *this;}
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline const Aws::String& GetEntityId() const{ return m_entityId; }
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline bool EntityIdHasBeenSet() const { return m_entityIdHasBeenSet; }
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline void SetEntityId(const Aws::String& value) { m_entityIdHasBeenSet = true; m_entityId = value; }
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline void SetEntityId(Aws::String&& value) { m_entityIdHasBeenSet = true; m_entityId = std::move(value); }
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline void SetEntityId(const char* value) { m_entityIdHasBeenSet = true; m_entityId.assign(value); }
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline EntityIdentifier& WithEntityId(const Aws::String& value) { SetEntityId(value); return *this;}
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline EntityIdentifier& WithEntityId(Aws::String&& value) { SetEntityId(std::move(value)); return *this;}
/**
* The identifier of an entity.
* "entityId":"identifier"
*/
inline EntityIdentifier& WithEntityId(const char* value) { SetEntityId(value); return *this;}
private:
Aws::String m_entityType;
bool m_entityTypeHasBeenSet = false;
Aws::String m_entityId;
bool m_entityIdHasBeenSet = false;
};
} // namespace Model
} // namespace VerifiedPermissions
} // namespace Aws