/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoTSiteWise { namespace Model { class DescribeStorageConfigurationResult { public: AWS_IOTSITEWISE_API DescribeStorageConfigurationResult(); AWS_IOTSITEWISE_API DescribeStorageConfigurationResult(const Aws::AmazonWebServiceResult& result); AWS_IOTSITEWISE_API DescribeStorageConfigurationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The storage tier that you specified for your data. The * storageType parameter can be one of the following values:

    *
  • SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data * into the hot tier. The hot tier is a service-managed database.

  • *

    MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the * cold tier and the hot tier. The cold tier is a customer-managed Amazon S3 * bucket.

*/ inline const StorageType& GetStorageType() const{ return m_storageType; } /** *

The storage tier that you specified for your data. The * storageType parameter can be one of the following values:

    *
  • SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data * into the hot tier. The hot tier is a service-managed database.

  • *

    MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the * cold tier and the hot tier. The cold tier is a customer-managed Amazon S3 * bucket.

*/ inline void SetStorageType(const StorageType& value) { m_storageType = value; } /** *

The storage tier that you specified for your data. The * storageType parameter can be one of the following values:

    *
  • SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data * into the hot tier. The hot tier is a service-managed database.

  • *

    MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the * cold tier and the hot tier. The cold tier is a customer-managed Amazon S3 * bucket.

*/ inline void SetStorageType(StorageType&& value) { m_storageType = std::move(value); } /** *

The storage tier that you specified for your data. The * storageType parameter can be one of the following values:

    *
  • SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data * into the hot tier. The hot tier is a service-managed database.

  • *

    MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the * cold tier and the hot tier. The cold tier is a customer-managed Amazon S3 * bucket.

*/ inline DescribeStorageConfigurationResult& WithStorageType(const StorageType& value) { SetStorageType(value); return *this;} /** *

The storage tier that you specified for your data. The * storageType parameter can be one of the following values:

    *
  • SITEWISE_DEFAULT_STORAGE – IoT SiteWise saves your data * into the hot tier. The hot tier is a service-managed database.

  • *

    MULTI_LAYER_STORAGE – IoT SiteWise saves your data in both the * cold tier and the hot tier. The cold tier is a customer-managed Amazon S3 * bucket.

*/ inline DescribeStorageConfigurationResult& WithStorageType(StorageType&& value) { SetStorageType(std::move(value)); return *this;} /** *

Contains information about the storage destination.

*/ inline const MultiLayerStorage& GetMultiLayerStorage() const{ return m_multiLayerStorage; } /** *

Contains information about the storage destination.

*/ inline void SetMultiLayerStorage(const MultiLayerStorage& value) { m_multiLayerStorage = value; } /** *

Contains information about the storage destination.

*/ inline void SetMultiLayerStorage(MultiLayerStorage&& value) { m_multiLayerStorage = std::move(value); } /** *

Contains information about the storage destination.

*/ inline DescribeStorageConfigurationResult& WithMultiLayerStorage(const MultiLayerStorage& value) { SetMultiLayerStorage(value); return *this;} /** *

Contains information about the storage destination.

*/ inline DescribeStorageConfigurationResult& WithMultiLayerStorage(MultiLayerStorage&& value) { SetMultiLayerStorage(std::move(value)); return *this;} /** *

Contains the storage configuration for time series (data streams) that aren't * associated with asset properties. The disassociatedDataStorage can * be one of the following values:

  • ENABLED – IoT * SiteWise accepts time series that aren't associated with asset properties.

    *

    After the disassociatedDataStorage is enabled, you * can't disable it.

  • DISABLED – IoT * SiteWise doesn't accept time series (data streams) that aren't associated with * asset properties.

For more information, see Data * streams in the IoT SiteWise User Guide.

*/ inline const DisassociatedDataStorageState& GetDisassociatedDataStorage() const{ return m_disassociatedDataStorage; } /** *

Contains the storage configuration for time series (data streams) that aren't * associated with asset properties. The disassociatedDataStorage can * be one of the following values:

  • ENABLED – IoT * SiteWise accepts time series that aren't associated with asset properties.

    *

    After the disassociatedDataStorage is enabled, you * can't disable it.

  • DISABLED – IoT * SiteWise doesn't accept time series (data streams) that aren't associated with * asset properties.

For more information, see Data * streams in the IoT SiteWise User Guide.

*/ inline void SetDisassociatedDataStorage(const DisassociatedDataStorageState& value) { m_disassociatedDataStorage = value; } /** *

Contains the storage configuration for time series (data streams) that aren't * associated with asset properties. The disassociatedDataStorage can * be one of the following values:

  • ENABLED – IoT * SiteWise accepts time series that aren't associated with asset properties.

    *

    After the disassociatedDataStorage is enabled, you * can't disable it.

  • DISABLED – IoT * SiteWise doesn't accept time series (data streams) that aren't associated with * asset properties.

For more information, see Data * streams in the IoT SiteWise User Guide.

*/ inline void SetDisassociatedDataStorage(DisassociatedDataStorageState&& value) { m_disassociatedDataStorage = std::move(value); } /** *

Contains the storage configuration for time series (data streams) that aren't * associated with asset properties. The disassociatedDataStorage can * be one of the following values:

  • ENABLED – IoT * SiteWise accepts time series that aren't associated with asset properties.

    *

    After the disassociatedDataStorage is enabled, you * can't disable it.

  • DISABLED – IoT * SiteWise doesn't accept time series (data streams) that aren't associated with * asset properties.

For more information, see Data * streams in the IoT SiteWise User Guide.

*/ inline DescribeStorageConfigurationResult& WithDisassociatedDataStorage(const DisassociatedDataStorageState& value) { SetDisassociatedDataStorage(value); return *this;} /** *

Contains the storage configuration for time series (data streams) that aren't * associated with asset properties. The disassociatedDataStorage can * be one of the following values:

  • ENABLED – IoT * SiteWise accepts time series that aren't associated with asset properties.

    *

    After the disassociatedDataStorage is enabled, you * can't disable it.

  • DISABLED – IoT * SiteWise doesn't accept time series (data streams) that aren't associated with * asset properties.

For more information, see Data * streams in the IoT SiteWise User Guide.

*/ inline DescribeStorageConfigurationResult& WithDisassociatedDataStorage(DisassociatedDataStorageState&& value) { SetDisassociatedDataStorage(std::move(value)); return *this;} /** *

How many days your data is kept in the hot tier. By default, your data is * kept indefinitely in the hot tier.

*/ inline const RetentionPeriod& GetRetentionPeriod() const{ return m_retentionPeriod; } /** *

How many days your data is kept in the hot tier. By default, your data is * kept indefinitely in the hot tier.

*/ inline void SetRetentionPeriod(const RetentionPeriod& value) { m_retentionPeriod = value; } /** *

How many days your data is kept in the hot tier. By default, your data is * kept indefinitely in the hot tier.

*/ inline void SetRetentionPeriod(RetentionPeriod&& value) { m_retentionPeriod = std::move(value); } /** *

How many days your data is kept in the hot tier. By default, your data is * kept indefinitely in the hot tier.

*/ inline DescribeStorageConfigurationResult& WithRetentionPeriod(const RetentionPeriod& value) { SetRetentionPeriod(value); return *this;} /** *

How many days your data is kept in the hot tier. By default, your data is * kept indefinitely in the hot tier.

*/ inline DescribeStorageConfigurationResult& WithRetentionPeriod(RetentionPeriod&& value) { SetRetentionPeriod(std::move(value)); return *this;} inline const ConfigurationStatus& GetConfigurationStatus() const{ return m_configurationStatus; } inline void SetConfigurationStatus(const ConfigurationStatus& value) { m_configurationStatus = value; } inline void SetConfigurationStatus(ConfigurationStatus&& value) { m_configurationStatus = std::move(value); } inline DescribeStorageConfigurationResult& WithConfigurationStatus(const ConfigurationStatus& value) { SetConfigurationStatus(value); return *this;} inline DescribeStorageConfigurationResult& WithConfigurationStatus(ConfigurationStatus&& value) { SetConfigurationStatus(std::move(value)); return *this;} /** *

The date the storage configuration was last updated, in Unix epoch time.

*/ inline const Aws::Utils::DateTime& GetLastUpdateDate() const{ return m_lastUpdateDate; } /** *

The date the storage configuration was last updated, in Unix epoch time.

*/ inline void SetLastUpdateDate(const Aws::Utils::DateTime& value) { m_lastUpdateDate = value; } /** *

The date the storage configuration was last updated, in Unix epoch time.

*/ inline void SetLastUpdateDate(Aws::Utils::DateTime&& value) { m_lastUpdateDate = std::move(value); } /** *

The date the storage configuration was last updated, in Unix epoch time.

*/ inline DescribeStorageConfigurationResult& WithLastUpdateDate(const Aws::Utils::DateTime& value) { SetLastUpdateDate(value); return *this;} /** *

The date the storage configuration was last updated, in Unix epoch time.

*/ inline DescribeStorageConfigurationResult& WithLastUpdateDate(Aws::Utils::DateTime&& value) { SetLastUpdateDate(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeStorageConfigurationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeStorageConfigurationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeStorageConfigurationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: StorageType m_storageType; MultiLayerStorage m_multiLayerStorage; DisassociatedDataStorageState m_disassociatedDataStorage; RetentionPeriod m_retentionPeriod; ConfigurationStatus m_configurationStatus; Aws::Utils::DateTime m_lastUpdateDate; Aws::String m_requestId; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws