This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files

321 lines
10 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotanalytics/IoTAnalytics_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iotanalytics/model/ChannelStorage.h>
#include <aws/iotanalytics/model/ChannelStatus.h>
#include <aws/iotanalytics/model/RetentionPeriod.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTAnalytics
{
namespace Model
{
/**
* <p>A collection of data from an MQTT topic. Channels archive the raw,
* unprocessed messages before publishing the data to a pipeline.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iotanalytics-2017-11-27/Channel">AWS
* API Reference</a></p>
*/
class AWS_IOTANALYTICS_API Channel
{
public:
Channel();
Channel(Aws::Utils::Json::JsonView jsonValue);
Channel& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the channel.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the channel.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the channel.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the channel.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the channel.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the channel.</p>
*/
inline Channel& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the channel.</p>
*/
inline Channel& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the channel.</p>
*/
inline Channel& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>Where channel data is stored. You may choose one of "serviceManagedS3" or
* "customerManagedS3" storage. If not specified, the default is
* "serviceManagedS3". This cannot be changed after creation of the channel.</p>
*/
inline const ChannelStorage& GetStorage() const{ return m_storage; }
/**
* <p>Where channel data is stored. You may choose one of "serviceManagedS3" or
* "customerManagedS3" storage. If not specified, the default is
* "serviceManagedS3". This cannot be changed after creation of the channel.</p>
*/
inline bool StorageHasBeenSet() const { return m_storageHasBeenSet; }
/**
* <p>Where channel data is stored. You may choose one of "serviceManagedS3" or
* "customerManagedS3" storage. If not specified, the default is
* "serviceManagedS3". This cannot be changed after creation of the channel.</p>
*/
inline void SetStorage(const ChannelStorage& value) { m_storageHasBeenSet = true; m_storage = value; }
/**
* <p>Where channel data is stored. You may choose one of "serviceManagedS3" or
* "customerManagedS3" storage. If not specified, the default is
* "serviceManagedS3". This cannot be changed after creation of the channel.</p>
*/
inline void SetStorage(ChannelStorage&& value) { m_storageHasBeenSet = true; m_storage = std::move(value); }
/**
* <p>Where channel data is stored. You may choose one of "serviceManagedS3" or
* "customerManagedS3" storage. If not specified, the default is
* "serviceManagedS3". This cannot be changed after creation of the channel.</p>
*/
inline Channel& WithStorage(const ChannelStorage& value) { SetStorage(value); return *this;}
/**
* <p>Where channel data is stored. You may choose one of "serviceManagedS3" or
* "customerManagedS3" storage. If not specified, the default is
* "serviceManagedS3". This cannot be changed after creation of the channel.</p>
*/
inline Channel& WithStorage(ChannelStorage&& value) { SetStorage(std::move(value)); return *this;}
/**
* <p>The ARN of the channel.</p>
*/
inline const Aws::String& GetArn() const{ return m_arn; }
/**
* <p>The ARN of the channel.</p>
*/
inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
/**
* <p>The ARN of the channel.</p>
*/
inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
/**
* <p>The ARN of the channel.</p>
*/
inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
/**
* <p>The ARN of the channel.</p>
*/
inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
/**
* <p>The ARN of the channel.</p>
*/
inline Channel& WithArn(const Aws::String& value) { SetArn(value); return *this;}
/**
* <p>The ARN of the channel.</p>
*/
inline Channel& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
/**
* <p>The ARN of the channel.</p>
*/
inline Channel& WithArn(const char* value) { SetArn(value); return *this;}
/**
* <p>The status of the channel.</p>
*/
inline const ChannelStatus& GetStatus() const{ return m_status; }
/**
* <p>The status of the channel.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of the channel.</p>
*/
inline void SetStatus(const ChannelStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of the channel.</p>
*/
inline void SetStatus(ChannelStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of the channel.</p>
*/
inline Channel& WithStatus(const ChannelStatus& value) { SetStatus(value); return *this;}
/**
* <p>The status of the channel.</p>
*/
inline Channel& WithStatus(ChannelStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>How long, in days, message data is kept for the channel.</p>
*/
inline const RetentionPeriod& GetRetentionPeriod() const{ return m_retentionPeriod; }
/**
* <p>How long, in days, message data is kept for the channel.</p>
*/
inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; }
/**
* <p>How long, in days, message data is kept for the channel.</p>
*/
inline void SetRetentionPeriod(const RetentionPeriod& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; }
/**
* <p>How long, in days, message data is kept for the channel.</p>
*/
inline void SetRetentionPeriod(RetentionPeriod&& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = std::move(value); }
/**
* <p>How long, in days, message data is kept for the channel.</p>
*/
inline Channel& WithRetentionPeriod(const RetentionPeriod& value) { SetRetentionPeriod(value); return *this;}
/**
* <p>How long, in days, message data is kept for the channel.</p>
*/
inline Channel& WithRetentionPeriod(RetentionPeriod&& value) { SetRetentionPeriod(std::move(value)); return *this;}
/**
* <p>When the channel was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
/**
* <p>When the channel was created.</p>
*/
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
/**
* <p>When the channel was created.</p>
*/
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
/**
* <p>When the channel was created.</p>
*/
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
/**
* <p>When the channel was created.</p>
*/
inline Channel& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
/**
* <p>When the channel was created.</p>
*/
inline Channel& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
/**
* <p>When the channel was last updated.</p>
*/
inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; }
/**
* <p>When the channel was last updated.</p>
*/
inline bool LastUpdateTimeHasBeenSet() const { return m_lastUpdateTimeHasBeenSet; }
/**
* <p>When the channel was last updated.</p>
*/
inline void SetLastUpdateTime(const Aws::Utils::DateTime& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = value; }
/**
* <p>When the channel was last updated.</p>
*/
inline void SetLastUpdateTime(Aws::Utils::DateTime&& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = std::move(value); }
/**
* <p>When the channel was last updated.</p>
*/
inline Channel& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;}
/**
* <p>When the channel was last updated.</p>
*/
inline Channel& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
ChannelStorage m_storage;
bool m_storageHasBeenSet;
Aws::String m_arn;
bool m_arnHasBeenSet;
ChannelStatus m_status;
bool m_statusHasBeenSet;
RetentionPeriod m_retentionPeriod;
bool m_retentionPeriodHasBeenSet;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
Aws::Utils::DateTime m_lastUpdateTime;
bool m_lastUpdateTimeHasBeenSet;
};
} // namespace Model
} // namespace IoTAnalytics
} // namespace Aws