/**
* 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 ChimeSDKIdentity
{
namespace Model
{
/**
* Determines the interval after which an AppInstanceUser
is
* automatically deleted.
See Also:
AWS
* API Reference
*/
class ExpirationSettings
{
public:
AWS_CHIMESDKIDENTITY_API ExpirationSettings();
AWS_CHIMESDKIDENTITY_API ExpirationSettings(Aws::Utils::Json::JsonView jsonValue);
AWS_CHIMESDKIDENTITY_API ExpirationSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_CHIMESDKIDENTITY_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The period in days after which an AppInstanceUser
will be
* automatically deleted.
*/
inline int GetExpirationDays() const{ return m_expirationDays; }
/**
* The period in days after which an AppInstanceUser
will be
* automatically deleted.
*/
inline bool ExpirationDaysHasBeenSet() const { return m_expirationDaysHasBeenSet; }
/**
* The period in days after which an AppInstanceUser
will be
* automatically deleted.
*/
inline void SetExpirationDays(int value) { m_expirationDaysHasBeenSet = true; m_expirationDays = value; }
/**
* The period in days after which an AppInstanceUser
will be
* automatically deleted.
*/
inline ExpirationSettings& WithExpirationDays(int value) { SetExpirationDays(value); return *this;}
/**
* Specifies the conditions under which an AppInstanceUser
will
* expire.
*/
inline const ExpirationCriterion& GetExpirationCriterion() const{ return m_expirationCriterion; }
/**
* Specifies the conditions under which an AppInstanceUser
will
* expire.
*/
inline bool ExpirationCriterionHasBeenSet() const { return m_expirationCriterionHasBeenSet; }
/**
* Specifies the conditions under which an AppInstanceUser
will
* expire.
*/
inline void SetExpirationCriterion(const ExpirationCriterion& value) { m_expirationCriterionHasBeenSet = true; m_expirationCriterion = value; }
/**
* Specifies the conditions under which an AppInstanceUser
will
* expire.
*/
inline void SetExpirationCriterion(ExpirationCriterion&& value) { m_expirationCriterionHasBeenSet = true; m_expirationCriterion = std::move(value); }
/**
* Specifies the conditions under which an AppInstanceUser
will
* expire.
*/
inline ExpirationSettings& WithExpirationCriterion(const ExpirationCriterion& value) { SetExpirationCriterion(value); return *this;}
/**
* Specifies the conditions under which an AppInstanceUser
will
* expire.
*/
inline ExpirationSettings& WithExpirationCriterion(ExpirationCriterion&& value) { SetExpirationCriterion(std::move(value)); return *this;}
private:
int m_expirationDays;
bool m_expirationDaysHasBeenSet = false;
ExpirationCriterion m_expirationCriterion;
bool m_expirationCriterionHasBeenSet = false;
};
} // namespace Model
} // namespace ChimeSDKIdentity
} // namespace Aws