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

The name of the data store.

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

The name of the data store.

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

The name of the data store.

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

The name of the data store.

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

The name of the data store.

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

The name of the data store.

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

The name of the data store.

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

The name of the data store.

*/ inline CreateDatastoreRequest& WithDatastoreName(const char* value) { SetDatastoreName(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 CreateDatastoreRequest& 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 CreateDatastoreRequest& WithDatastoreStorage(DatastoreStorage&& value) { SetDatastoreStorage(std::move(value)); return *this;} /** *

How long, in days, message data is kept for the data store. When * customerManagedS3 storage is selected, this parameter is * ignored.

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

How long, in days, message data is kept for the data store. When * customerManagedS3 storage is selected, this parameter is * ignored.

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

How long, in days, message data is kept for the data store. When * customerManagedS3 storage is selected, this parameter is * ignored.

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

How long, in days, message data is kept for the data store. When * customerManagedS3 storage is selected, this parameter is * ignored.

*/ 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. When * customerManagedS3 storage is selected, this parameter is * ignored.

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

How long, in days, message data is kept for the data store. When * customerManagedS3 storage is selected, this parameter is * ignored.

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

Metadata which can be used to manage the data store.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Metadata which can be used to manage the data store.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Metadata which can be used to manage the data store.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Metadata which can be used to manage the data store.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Metadata which can be used to manage the data store.

*/ inline CreateDatastoreRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Metadata which can be used to manage the data store.

*/ inline CreateDatastoreRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Metadata which can be used to manage the data store.

*/ inline CreateDatastoreRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Metadata which can be used to manage the data store.

*/ inline CreateDatastoreRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(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 CreateDatastoreRequest& 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 CreateDatastoreRequest& WithFileFormatConfiguration(FileFormatConfiguration&& value) { SetFileFormatConfiguration(std::move(value)); return *this;} /** *

Contains information about the partition dimensions in a data store.

*/ inline const DatastorePartitions& GetDatastorePartitions() const{ return m_datastorePartitions; } /** *

Contains information about the partition dimensions in a data store.

*/ inline bool DatastorePartitionsHasBeenSet() const { return m_datastorePartitionsHasBeenSet; } /** *

Contains information about the partition dimensions in a data store.

*/ inline void SetDatastorePartitions(const DatastorePartitions& value) { m_datastorePartitionsHasBeenSet = true; m_datastorePartitions = value; } /** *

Contains information about the partition dimensions in a data store.

*/ inline void SetDatastorePartitions(DatastorePartitions&& value) { m_datastorePartitionsHasBeenSet = true; m_datastorePartitions = std::move(value); } /** *

Contains information about the partition dimensions in a data store.

*/ inline CreateDatastoreRequest& WithDatastorePartitions(const DatastorePartitions& value) { SetDatastorePartitions(value); return *this;} /** *

Contains information about the partition dimensions in a data store.

*/ inline CreateDatastoreRequest& WithDatastorePartitions(DatastorePartitions&& value) { SetDatastorePartitions(std::move(value)); return *this;} private: Aws::String m_datastoreName; bool m_datastoreNameHasBeenSet = false; DatastoreStorage m_datastoreStorage; bool m_datastoreStorageHasBeenSet = false; RetentionPeriod m_retentionPeriod; bool m_retentionPeriodHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; FileFormatConfiguration m_fileFormatConfiguration; bool m_fileFormatConfigurationHasBeenSet = false; DatastorePartitions m_datastorePartitions; bool m_datastorePartitionsHasBeenSet = false; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws