/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTAnalytics { namespace Model { /** *

Where data in a data store is stored.. You can choose * serviceManagedS3 storage, customerManagedS3 storage, * or iotSiteWiseMultiLayerStorage storage. The default is * serviceManagedS3. You can't change the choice of Amazon S3 storage * after your data store is created.

See Also:

AWS * API Reference

*/ class DatastoreStorage { public: AWS_IOTANALYTICS_API DatastoreStorage(); AWS_IOTANALYTICS_API DatastoreStorage(Aws::Utils::Json::JsonView jsonValue); AWS_IOTANALYTICS_API DatastoreStorage& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_IOTANALYTICS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't * change the choice of Amazon S3 storage after your data store is created.

*/ inline const ServiceManagedDatastoreS3Storage& GetServiceManagedS3() const{ return m_serviceManagedS3; } /** *

Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't * change the choice of Amazon S3 storage after your data store is created.

*/ inline bool ServiceManagedS3HasBeenSet() const { return m_serviceManagedS3HasBeenSet; } /** *

Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't * change the choice of Amazon S3 storage after your data store is created.

*/ inline void SetServiceManagedS3(const ServiceManagedDatastoreS3Storage& value) { m_serviceManagedS3HasBeenSet = true; m_serviceManagedS3 = value; } /** *

Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't * change the choice of Amazon S3 storage after your data store is created.

*/ inline void SetServiceManagedS3(ServiceManagedDatastoreS3Storage&& value) { m_serviceManagedS3HasBeenSet = true; m_serviceManagedS3 = std::move(value); } /** *

Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't * change the choice of Amazon S3 storage after your data store is created.

*/ inline DatastoreStorage& WithServiceManagedS3(const ServiceManagedDatastoreS3Storage& value) { SetServiceManagedS3(value); return *this;} /** *

Used to store data in an Amazon S3 bucket managed by IoT Analytics. You can't * change the choice of Amazon S3 storage after your data store is created.

*/ inline DatastoreStorage& WithServiceManagedS3(ServiceManagedDatastoreS3Storage&& value) { SetServiceManagedS3(std::move(value)); return *this;} /** *

S3-customer-managed; When you choose customer-managed storage, the * retentionPeriod parameter is ignored. You can't change the choice * of Amazon S3 storage after your data store is created.

*/ inline const CustomerManagedDatastoreS3Storage& GetCustomerManagedS3() const{ return m_customerManagedS3; } /** *

S3-customer-managed; When you choose customer-managed storage, the * retentionPeriod parameter is ignored. You can't change the choice * of Amazon S3 storage after your data store is created.

*/ inline bool CustomerManagedS3HasBeenSet() const { return m_customerManagedS3HasBeenSet; } /** *

S3-customer-managed; When you choose customer-managed storage, the * retentionPeriod parameter is ignored. You can't change the choice * of Amazon S3 storage after your data store is created.

*/ inline void SetCustomerManagedS3(const CustomerManagedDatastoreS3Storage& value) { m_customerManagedS3HasBeenSet = true; m_customerManagedS3 = value; } /** *

S3-customer-managed; When you choose customer-managed storage, the * retentionPeriod parameter is ignored. You can't change the choice * of Amazon S3 storage after your data store is created.

*/ inline void SetCustomerManagedS3(CustomerManagedDatastoreS3Storage&& value) { m_customerManagedS3HasBeenSet = true; m_customerManagedS3 = std::move(value); } /** *

S3-customer-managed; When you choose customer-managed storage, the * retentionPeriod parameter is ignored. You can't change the choice * of Amazon S3 storage after your data store is created.

*/ inline DatastoreStorage& WithCustomerManagedS3(const CustomerManagedDatastoreS3Storage& value) { SetCustomerManagedS3(value); return *this;} /** *

S3-customer-managed; When you choose customer-managed storage, the * retentionPeriod parameter is ignored. You can't change the choice * of Amazon S3 storage after your data store is created.

*/ inline DatastoreStorage& WithCustomerManagedS3(CustomerManagedDatastoreS3Storage&& value) { SetCustomerManagedS3(std::move(value)); return *this;} /** *

Used to store data used by IoT SiteWise in an Amazon S3 bucket that you * manage. You can't change the choice of Amazon S3 storage after your data store * is created.

*/ inline const DatastoreIotSiteWiseMultiLayerStorage& GetIotSiteWiseMultiLayerStorage() const{ return m_iotSiteWiseMultiLayerStorage; } /** *

Used to store data used by IoT SiteWise in an Amazon S3 bucket that you * manage. You can't change the choice of Amazon S3 storage after your data store * is created.

*/ inline bool IotSiteWiseMultiLayerStorageHasBeenSet() const { return m_iotSiteWiseMultiLayerStorageHasBeenSet; } /** *

Used to store data used by IoT SiteWise in an Amazon S3 bucket that you * manage. You can't change the choice of Amazon S3 storage after your data store * is created.

*/ inline void SetIotSiteWiseMultiLayerStorage(const DatastoreIotSiteWiseMultiLayerStorage& value) { m_iotSiteWiseMultiLayerStorageHasBeenSet = true; m_iotSiteWiseMultiLayerStorage = value; } /** *

Used to store data used by IoT SiteWise in an Amazon S3 bucket that you * manage. You can't change the choice of Amazon S3 storage after your data store * is created.

*/ inline void SetIotSiteWiseMultiLayerStorage(DatastoreIotSiteWiseMultiLayerStorage&& value) { m_iotSiteWiseMultiLayerStorageHasBeenSet = true; m_iotSiteWiseMultiLayerStorage = std::move(value); } /** *

Used to store data used by IoT SiteWise in an Amazon S3 bucket that you * manage. You can't change the choice of Amazon S3 storage after your data store * is created.

*/ inline DatastoreStorage& WithIotSiteWiseMultiLayerStorage(const DatastoreIotSiteWiseMultiLayerStorage& value) { SetIotSiteWiseMultiLayerStorage(value); return *this;} /** *

Used to store data used by IoT SiteWise in an Amazon S3 bucket that you * manage. You can't change the choice of Amazon S3 storage after your data store * is created.

*/ inline DatastoreStorage& WithIotSiteWiseMultiLayerStorage(DatastoreIotSiteWiseMultiLayerStorage&& value) { SetIotSiteWiseMultiLayerStorage(std::move(value)); return *this;} private: ServiceManagedDatastoreS3Storage m_serviceManagedS3; bool m_serviceManagedS3HasBeenSet = false; CustomerManagedDatastoreS3Storage m_customerManagedS3; bool m_customerManagedS3HasBeenSet = false; DatastoreIotSiteWiseMultiLayerStorage m_iotSiteWiseMultiLayerStorage; bool m_iotSiteWiseMultiLayerStorageHasBeenSet = false; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws