/** * 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 IoTAnalytics { namespace Model { /** */ class UpdateDatastoreRequest : public IoTAnalyticsRequest { public: AWS_IOTANALYTICS_API UpdateDatastoreRequest(); // 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 "UpdateDatastore"; } AWS_IOTANALYTICS_API Aws::String SerializePayload() const override; /** *

The name of the data store to be updated.

*/ inline const Aws::String& GetDatastoreName() const{ return m_datastoreName; } /** *

The name of the data store to be updated.

*/ inline bool DatastoreNameHasBeenSet() const { return m_datastoreNameHasBeenSet; } /** *

The name of the data store to be updated.

*/ inline void SetDatastoreName(const Aws::String& value) { m_datastoreNameHasBeenSet = true; m_datastoreName = value; } /** *

The name of the data store to be updated.

*/ inline void SetDatastoreName(Aws::String&& value) { m_datastoreNameHasBeenSet = true; m_datastoreName = std::move(value); } /** *

The name of the data store to be updated.

*/ inline void SetDatastoreName(const char* value) { m_datastoreNameHasBeenSet = true; m_datastoreName.assign(value); } /** *

The name of the data store to be updated.

*/ inline UpdateDatastoreRequest& WithDatastoreName(const Aws::String& value) { SetDatastoreName(value); return *this;} /** *

The name of the data store to be updated.

*/ inline UpdateDatastoreRequest& WithDatastoreName(Aws::String&& value) { SetDatastoreName(std::move(value)); return *this;} /** *

The name of the data store to be updated.

*/ inline UpdateDatastoreRequest& WithDatastoreName(const char* value) { SetDatastoreName(value); return *this;} /** *

How long, in days, message data is kept for the data store. The retention * period can't be updated if the data store's Amazon S3 storage is * customer-managed.

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

How long, in days, message data is kept for the data store. The retention * period can't be updated if the data store's Amazon S3 storage is * customer-managed.

*/ inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; } /** *

How long, in days, message data is kept for the data store. The retention * period can't be updated if the data store's Amazon S3 storage is * customer-managed.

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

How long, in days, message data is kept for the data store. The retention * period can't be updated if the data store's Amazon S3 storage is * customer-managed.

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

How long, in days, message data is kept for the data store. The retention * period can't be updated if the data store's Amazon S3 storage is * customer-managed.

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

How long, in days, message data is kept for the data store. The retention * period can't be updated if the data store's Amazon S3 storage is * customer-managed.

*/ inline UpdateDatastoreRequest& WithRetentionPeriod(RetentionPeriod&& value) { SetRetentionPeriod(std::move(value)); return *this;} /** *

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.

*/ inline const DatastoreStorage& GetDatastoreStorage() const{ return m_datastoreStorage; } /** *

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.

*/ inline bool DatastoreStorageHasBeenSet() const { return m_datastoreStorageHasBeenSet; } /** *

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.

*/ inline void SetDatastoreStorage(const DatastoreStorage& value) { m_datastoreStorageHasBeenSet = true; m_datastoreStorage = value; } /** *

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.

*/ inline void SetDatastoreStorage(DatastoreStorage&& value) { m_datastoreStorageHasBeenSet = true; m_datastoreStorage = std::move(value); } /** *

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.

*/ inline UpdateDatastoreRequest& WithDatastoreStorage(const DatastoreStorage& value) { SetDatastoreStorage(value); return *this;} /** *

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.

*/ inline UpdateDatastoreRequest& WithDatastoreStorage(DatastoreStorage&& value) { SetDatastoreStorage(std::move(value)); return *this;} /** *

Contains the configuration information of file formats. IoT Analytics data * stores support JSON and Parquet.

*

The default file format is JSON. You can specify only one format.

You * can't change the file format after you create the data store.

*/ inline const FileFormatConfiguration& GetFileFormatConfiguration() const{ return m_fileFormatConfiguration; } /** *

Contains the configuration information of file formats. IoT Analytics data * stores support JSON and Parquet.

*

The default file format is JSON. You can specify only one format.

You * can't change the file format after you create the data store.

*/ inline bool FileFormatConfigurationHasBeenSet() const { return m_fileFormatConfigurationHasBeenSet; } /** *

Contains the configuration information of file formats. IoT Analytics data * stores support JSON and Parquet.

*

The default file format is JSON. You can specify only one format.

You * can't change the file format after you create the data store.

*/ inline void SetFileFormatConfiguration(const FileFormatConfiguration& value) { m_fileFormatConfigurationHasBeenSet = true; m_fileFormatConfiguration = value; } /** *

Contains the configuration information of file formats. IoT Analytics data * stores support JSON and Parquet.

*

The default file format is JSON. You can specify only one format.

You * can't change the file format after you create the data store.

*/ inline void SetFileFormatConfiguration(FileFormatConfiguration&& value) { m_fileFormatConfigurationHasBeenSet = true; m_fileFormatConfiguration = std::move(value); } /** *

Contains the configuration information of file formats. IoT Analytics data * stores support JSON and Parquet.

*

The default file format is JSON. You can specify only one format.

You * can't change the file format after you create the data store.

*/ inline UpdateDatastoreRequest& WithFileFormatConfiguration(const FileFormatConfiguration& value) { SetFileFormatConfiguration(value); return *this;} /** *

Contains the configuration information of file formats. IoT Analytics data * stores support JSON and Parquet.

*

The default file format is JSON. You can specify only one format.

You * can't change the file format after you create the data store.

*/ inline UpdateDatastoreRequest& WithFileFormatConfiguration(FileFormatConfiguration&& value) { SetFileFormatConfiguration(std::move(value)); return *this;} private: Aws::String m_datastoreName; bool m_datastoreNameHasBeenSet = false; RetentionPeriod m_retentionPeriod; bool m_retentionPeriodHasBeenSet = false; DatastoreStorage m_datastoreStorage; bool m_datastoreStorageHasBeenSet = false; FileFormatConfiguration m_fileFormatConfiguration; bool m_fileFormatConfigurationHasBeenSet = false; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws