/**
* 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 ChimeSDKIdentity
{
namespace Model
{
/**
* A read-only field that represents the state of an
* AppInstanceUserEndpoint
. Supported values:
-
* ACTIVE
: The AppInstanceUserEndpoint
is active and able
* to receive messages. When ACTIVE
, the
* EndpointStatusReason
remains empty.
-
* INACTIVE
: The AppInstanceUserEndpoint
is inactive and
* can't receive message. When INACTIVE, the corresponding reason will be conveyed
* through EndpointStatusReason.
-
* INVALID_DEVICE_TOKEN
indicates that an
* AppInstanceUserEndpoint
is INACTIVE
due to invalid
* device token
-
INVALID_PINPOINT_ARN
indicates that
* an AppInstanceUserEndpoint
is INACTIVE
due to an
* invalid pinpoint ARN that was input through the ResourceArn
* field.
See Also:
AWS
* API Reference
*/
class EndpointState
{
public:
AWS_CHIMESDKIDENTITY_API EndpointState();
AWS_CHIMESDKIDENTITY_API EndpointState(Aws::Utils::Json::JsonView jsonValue);
AWS_CHIMESDKIDENTITY_API EndpointState& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_CHIMESDKIDENTITY_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* Enum that indicates the Status of an
* AppInstanceUserEndpoint
.
*/
inline const EndpointStatus& GetStatus() const{ return m_status; }
/**
* Enum that indicates the Status of an
* AppInstanceUserEndpoint
.
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* Enum that indicates the Status of an
* AppInstanceUserEndpoint
.
*/
inline void SetStatus(const EndpointStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* Enum that indicates the Status of an
* AppInstanceUserEndpoint
.
*/
inline void SetStatus(EndpointStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* Enum that indicates the Status of an
* AppInstanceUserEndpoint
.
*/
inline EndpointState& WithStatus(const EndpointStatus& value) { SetStatus(value); return *this;}
/**
* Enum that indicates the Status of an
* AppInstanceUserEndpoint
.
*/
inline EndpointState& WithStatus(EndpointStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* The reason for the EndpointStatus
.
*/
inline const EndpointStatusReason& GetStatusReason() const{ return m_statusReason; }
/**
* The reason for the EndpointStatus
.
*/
inline bool StatusReasonHasBeenSet() const { return m_statusReasonHasBeenSet; }
/**
* The reason for the EndpointStatus
.
*/
inline void SetStatusReason(const EndpointStatusReason& value) { m_statusReasonHasBeenSet = true; m_statusReason = value; }
/**
* The reason for the EndpointStatus
.
*/
inline void SetStatusReason(EndpointStatusReason&& value) { m_statusReasonHasBeenSet = true; m_statusReason = std::move(value); }
/**
* The reason for the EndpointStatus
.
*/
inline EndpointState& WithStatusReason(const EndpointStatusReason& value) { SetStatusReason(value); return *this;}
/**
* The reason for the EndpointStatus
.
*/
inline EndpointState& WithStatusReason(EndpointStatusReason&& value) { SetStatusReason(std::move(value)); return *this;}
private:
EndpointStatus m_status;
bool m_statusHasBeenSet = false;
EndpointStatusReason m_statusReason;
bool m_statusReasonHasBeenSet = false;
};
} // namespace Model
} // namespace ChimeSDKIdentity
} // namespace Aws