/** * 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 namespace Aws { namespace IoTSiteWise { namespace Model { /** */ class PutStorageConfigurationRequest : public IoTSiteWiseRequest { public: AWS_IOTSITEWISE_API PutStorageConfigurationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "PutStorageConfiguration"; } AWS_IOTSITEWISE_API Aws::String SerializePayload() const override; /** *

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 bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

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_storageTypeHasBeenSet = true; 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_storageTypeHasBeenSet = true; 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 PutStorageConfigurationRequest& 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 PutStorageConfigurationRequest& WithStorageType(StorageType&& value) { SetStorageType(std::move(value)); return *this;} /** *

Identifies a storage destination. If you specified * MULTI_LAYER_STORAGE for the storage type, you must specify a * MultiLayerStorage object.

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

Identifies a storage destination. If you specified * MULTI_LAYER_STORAGE for the storage type, you must specify a * MultiLayerStorage object.

*/ inline bool MultiLayerStorageHasBeenSet() const { return m_multiLayerStorageHasBeenSet; } /** *

Identifies a storage destination. If you specified * MULTI_LAYER_STORAGE for the storage type, you must specify a * MultiLayerStorage object.

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

Identifies a storage destination. If you specified * MULTI_LAYER_STORAGE for the storage type, you must specify a * MultiLayerStorage object.

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

Identifies a storage destination. If you specified * MULTI_LAYER_STORAGE for the storage type, you must specify a * MultiLayerStorage object.

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

Identifies a storage destination. If you specified * MULTI_LAYER_STORAGE for the storage type, you must specify a * MultiLayerStorage object.

*/ inline PutStorageConfigurationRequest& 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 bool DisassociatedDataStorageHasBeenSet() const { return m_disassociatedDataStorageHasBeenSet; } /** *

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_disassociatedDataStorageHasBeenSet = true; 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_disassociatedDataStorageHasBeenSet = true; 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 PutStorageConfigurationRequest& 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 PutStorageConfigurationRequest& WithDisassociatedDataStorage(DisassociatedDataStorageState&& value) { SetDisassociatedDataStorage(std::move(value)); return *this;} inline const RetentionPeriod& GetRetentionPeriod() const{ return m_retentionPeriod; } inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; } inline void SetRetentionPeriod(const RetentionPeriod& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; } inline void SetRetentionPeriod(RetentionPeriod&& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = std::move(value); } inline PutStorageConfigurationRequest& WithRetentionPeriod(const RetentionPeriod& value) { SetRetentionPeriod(value); return *this;} inline PutStorageConfigurationRequest& WithRetentionPeriod(RetentionPeriod&& value) { SetRetentionPeriod(std::move(value)); return *this;} private: StorageType m_storageType; bool m_storageTypeHasBeenSet = false; MultiLayerStorage m_multiLayerStorage; bool m_multiLayerStorageHasBeenSet = false; DisassociatedDataStorageState m_disassociatedDataStorage; bool m_disassociatedDataStorageHasBeenSet = false; RetentionPeriod m_retentionPeriod; bool m_retentionPeriodHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws