/** * 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 #include #include #include namespace Aws { namespace IoTFleetWise { namespace Model { /** */ class CreateCampaignRequest : public IoTFleetWiseRequest { public: AWS_IOTFLEETWISE_API CreateCampaignRequest(); // 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 "CreateCampaign"; } AWS_IOTFLEETWISE_API Aws::String SerializePayload() const override; AWS_IOTFLEETWISE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the campaign to create.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the campaign to create.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the campaign to create.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the campaign to create.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the campaign to create.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the campaign to create.

*/ inline CreateCampaignRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the campaign to create.

*/ inline CreateCampaignRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the campaign to create.

*/ inline CreateCampaignRequest& WithName(const char* value) { SetName(value); return *this;} /** *

An optional description of the campaign to help identify its purpose.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

An optional description of the campaign to help identify its purpose.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

An optional description of the campaign to help identify its purpose.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

An optional description of the campaign to help identify its purpose.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

An optional description of the campaign to help identify its purpose.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

An optional description of the campaign to help identify its purpose.

*/ inline CreateCampaignRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

An optional description of the campaign to help identify its purpose.

*/ inline CreateCampaignRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

An optional description of the campaign to help identify its purpose.

*/ inline CreateCampaignRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline const Aws::String& GetSignalCatalogArn() const{ return m_signalCatalogArn; } /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline bool SignalCatalogArnHasBeenSet() const { return m_signalCatalogArnHasBeenSet; } /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline void SetSignalCatalogArn(const Aws::String& value) { m_signalCatalogArnHasBeenSet = true; m_signalCatalogArn = value; } /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline void SetSignalCatalogArn(Aws::String&& value) { m_signalCatalogArnHasBeenSet = true; m_signalCatalogArn = std::move(value); } /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline void SetSignalCatalogArn(const char* value) { m_signalCatalogArnHasBeenSet = true; m_signalCatalogArn.assign(value); } /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline CreateCampaignRequest& WithSignalCatalogArn(const Aws::String& value) { SetSignalCatalogArn(value); return *this;} /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline CreateCampaignRequest& WithSignalCatalogArn(Aws::String&& value) { SetSignalCatalogArn(std::move(value)); return *this;} /** *

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate * with the campaign.

*/ inline CreateCampaignRequest& WithSignalCatalogArn(const char* value) { SetSignalCatalogArn(value); return *this;} /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline const Aws::String& GetTargetArn() const{ return m_targetArn; } /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline bool TargetArnHasBeenSet() const { return m_targetArnHasBeenSet; } /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline void SetTargetArn(const Aws::String& value) { m_targetArnHasBeenSet = true; m_targetArn = value; } /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline void SetTargetArn(Aws::String&& value) { m_targetArnHasBeenSet = true; m_targetArn = std::move(value); } /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline void SetTargetArn(const char* value) { m_targetArnHasBeenSet = true; m_targetArn.assign(value); } /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline CreateCampaignRequest& WithTargetArn(const Aws::String& value) { SetTargetArn(value); return *this;} /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline CreateCampaignRequest& WithTargetArn(Aws::String&& value) { SetTargetArn(std::move(value)); return *this;} /** *

The ARN of the vehicle or fleet to deploy a campaign to.

*/ inline CreateCampaignRequest& WithTargetArn(const char* value) { SetTargetArn(value); return *this;} /** *

(Optional) The time, in milliseconds, to deliver a campaign after it was * approved. If it's not specified, 0 is used.

Default: * 0

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

(Optional) The time, in milliseconds, to deliver a campaign after it was * approved. If it's not specified, 0 is used.

Default: * 0

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

(Optional) The time, in milliseconds, to deliver a campaign after it was * approved. If it's not specified, 0 is used.

Default: * 0

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

(Optional) The time, in milliseconds, to deliver a campaign after it was * approved. If it's not specified, 0 is used.

Default: * 0

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

(Optional) The time, in milliseconds, to deliver a campaign after it was * approved. If it's not specified, 0 is used.

Default: * 0

*/ inline CreateCampaignRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

(Optional) The time, in milliseconds, to deliver a campaign after it was * approved. If it's not specified, 0 is used.

Default: * 0

*/ inline CreateCampaignRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

(Optional) The time the campaign expires, in seconds since epoch (January 1, * 1970 at midnight UTC time). Vehicle data isn't collected after the campaign * expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

*/ inline const Aws::Utils::DateTime& GetExpiryTime() const{ return m_expiryTime; } /** *

(Optional) The time the campaign expires, in seconds since epoch (January 1, * 1970 at midnight UTC time). Vehicle data isn't collected after the campaign * expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

*/ inline bool ExpiryTimeHasBeenSet() const { return m_expiryTimeHasBeenSet; } /** *

(Optional) The time the campaign expires, in seconds since epoch (January 1, * 1970 at midnight UTC time). Vehicle data isn't collected after the campaign * expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

*/ inline void SetExpiryTime(const Aws::Utils::DateTime& value) { m_expiryTimeHasBeenSet = true; m_expiryTime = value; } /** *

(Optional) The time the campaign expires, in seconds since epoch (January 1, * 1970 at midnight UTC time). Vehicle data isn't collected after the campaign * expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

*/ inline void SetExpiryTime(Aws::Utils::DateTime&& value) { m_expiryTimeHasBeenSet = true; m_expiryTime = std::move(value); } /** *

(Optional) The time the campaign expires, in seconds since epoch (January 1, * 1970 at midnight UTC time). Vehicle data isn't collected after the campaign * expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

*/ inline CreateCampaignRequest& WithExpiryTime(const Aws::Utils::DateTime& value) { SetExpiryTime(value); return *this;} /** *

(Optional) The time the campaign expires, in seconds since epoch (January 1, * 1970 at midnight UTC time). Vehicle data isn't collected after the campaign * expires.

Default: 253402214400 (December 31, 9999, 00:00:00 UTC)

*/ inline CreateCampaignRequest& WithExpiryTime(Aws::Utils::DateTime&& value) { SetExpiryTime(std::move(value)); return *this;} /** *

(Optional) How long (in milliseconds) to collect raw data after a triggering * event initiates the collection. If it's not specified, 0 is * used.

Default: 0

*/ inline long long GetPostTriggerCollectionDuration() const{ return m_postTriggerCollectionDuration; } /** *

(Optional) How long (in milliseconds) to collect raw data after a triggering * event initiates the collection. If it's not specified, 0 is * used.

Default: 0

*/ inline bool PostTriggerCollectionDurationHasBeenSet() const { return m_postTriggerCollectionDurationHasBeenSet; } /** *

(Optional) How long (in milliseconds) to collect raw data after a triggering * event initiates the collection. If it's not specified, 0 is * used.

Default: 0

*/ inline void SetPostTriggerCollectionDuration(long long value) { m_postTriggerCollectionDurationHasBeenSet = true; m_postTriggerCollectionDuration = value; } /** *

(Optional) How long (in milliseconds) to collect raw data after a triggering * event initiates the collection. If it's not specified, 0 is * used.

Default: 0

*/ inline CreateCampaignRequest& WithPostTriggerCollectionDuration(long long value) { SetPostTriggerCollectionDuration(value); return *this;} /** *

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon * Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use * SEND_ACTIVE_DTCS. If it's not specified, OFF is * used.

Default: OFF

*/ inline const DiagnosticsMode& GetDiagnosticsMode() const{ return m_diagnosticsMode; } /** *

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon * Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use * SEND_ACTIVE_DTCS. If it's not specified, OFF is * used.

Default: OFF

*/ inline bool DiagnosticsModeHasBeenSet() const { return m_diagnosticsModeHasBeenSet; } /** *

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon * Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use * SEND_ACTIVE_DTCS. If it's not specified, OFF is * used.

Default: OFF

*/ inline void SetDiagnosticsMode(const DiagnosticsMode& value) { m_diagnosticsModeHasBeenSet = true; m_diagnosticsMode = value; } /** *

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon * Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use * SEND_ACTIVE_DTCS. If it's not specified, OFF is * used.

Default: OFF

*/ inline void SetDiagnosticsMode(DiagnosticsMode&& value) { m_diagnosticsModeHasBeenSet = true; m_diagnosticsMode = std::move(value); } /** *

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon * Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use * SEND_ACTIVE_DTCS. If it's not specified, OFF is * used.

Default: OFF

*/ inline CreateCampaignRequest& WithDiagnosticsMode(const DiagnosticsMode& value) { SetDiagnosticsMode(value); return *this;} /** *

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon * Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use * SEND_ACTIVE_DTCS. If it's not specified, OFF is * used.

Default: OFF

*/ inline CreateCampaignRequest& WithDiagnosticsMode(DiagnosticsMode&& value) { SetDiagnosticsMode(std::move(value)); return *this;} /** *

(Optional) Whether to store collected data after a vehicle lost a connection * with the cloud. After a connection is re-established, the data is automatically * forwarded to Amazon Web Services IoT FleetWise. If you want to store collected * data when a vehicle loses connection with the cloud, use TO_DISK. * If it's not specified, OFF is used.

Default: * OFF

*/ inline const SpoolingMode& GetSpoolingMode() const{ return m_spoolingMode; } /** *

(Optional) Whether to store collected data after a vehicle lost a connection * with the cloud. After a connection is re-established, the data is automatically * forwarded to Amazon Web Services IoT FleetWise. If you want to store collected * data when a vehicle loses connection with the cloud, use TO_DISK. * If it's not specified, OFF is used.

Default: * OFF

*/ inline bool SpoolingModeHasBeenSet() const { return m_spoolingModeHasBeenSet; } /** *

(Optional) Whether to store collected data after a vehicle lost a connection * with the cloud. After a connection is re-established, the data is automatically * forwarded to Amazon Web Services IoT FleetWise. If you want to store collected * data when a vehicle loses connection with the cloud, use TO_DISK. * If it's not specified, OFF is used.

Default: * OFF

*/ inline void SetSpoolingMode(const SpoolingMode& value) { m_spoolingModeHasBeenSet = true; m_spoolingMode = value; } /** *

(Optional) Whether to store collected data after a vehicle lost a connection * with the cloud. After a connection is re-established, the data is automatically * forwarded to Amazon Web Services IoT FleetWise. If you want to store collected * data when a vehicle loses connection with the cloud, use TO_DISK. * If it's not specified, OFF is used.

Default: * OFF

*/ inline void SetSpoolingMode(SpoolingMode&& value) { m_spoolingModeHasBeenSet = true; m_spoolingMode = std::move(value); } /** *

(Optional) Whether to store collected data after a vehicle lost a connection * with the cloud. After a connection is re-established, the data is automatically * forwarded to Amazon Web Services IoT FleetWise. If you want to store collected * data when a vehicle loses connection with the cloud, use TO_DISK. * If it's not specified, OFF is used.

Default: * OFF

*/ inline CreateCampaignRequest& WithSpoolingMode(const SpoolingMode& value) { SetSpoolingMode(value); return *this;} /** *

(Optional) Whether to store collected data after a vehicle lost a connection * with the cloud. After a connection is re-established, the data is automatically * forwarded to Amazon Web Services IoT FleetWise. If you want to store collected * data when a vehicle loses connection with the cloud, use TO_DISK. * If it's not specified, OFF is used.

Default: * OFF

*/ inline CreateCampaignRequest& WithSpoolingMode(SpoolingMode&& value) { SetSpoolingMode(std::move(value)); return *this;} /** *

(Optional) Whether to compress signals before transmitting data to Amazon * Web Services IoT FleetWise. If you don't want to compress the signals, use * OFF. If it's not specified, SNAPPY is used.

*

Default: SNAPPY

*/ inline const Compression& GetCompression() const{ return m_compression; } /** *

(Optional) Whether to compress signals before transmitting data to Amazon * Web Services IoT FleetWise. If you don't want to compress the signals, use * OFF. If it's not specified, SNAPPY is used.

*

Default: SNAPPY

*/ inline bool CompressionHasBeenSet() const { return m_compressionHasBeenSet; } /** *

(Optional) Whether to compress signals before transmitting data to Amazon * Web Services IoT FleetWise. If you don't want to compress the signals, use * OFF. If it's not specified, SNAPPY is used.

*

Default: SNAPPY

*/ inline void SetCompression(const Compression& value) { m_compressionHasBeenSet = true; m_compression = value; } /** *

(Optional) Whether to compress signals before transmitting data to Amazon * Web Services IoT FleetWise. If you don't want to compress the signals, use * OFF. If it's not specified, SNAPPY is used.

*

Default: SNAPPY

*/ inline void SetCompression(Compression&& value) { m_compressionHasBeenSet = true; m_compression = std::move(value); } /** *

(Optional) Whether to compress signals before transmitting data to Amazon * Web Services IoT FleetWise. If you don't want to compress the signals, use * OFF. If it's not specified, SNAPPY is used.

*

Default: SNAPPY

*/ inline CreateCampaignRequest& WithCompression(const Compression& value) { SetCompression(value); return *this;} /** *

(Optional) Whether to compress signals before transmitting data to Amazon * Web Services IoT FleetWise. If you don't want to compress the signals, use * OFF. If it's not specified, SNAPPY is used.

*

Default: SNAPPY

*/ inline CreateCampaignRequest& WithCompression(Compression&& value) { SetCompression(std::move(value)); return *this;} /** *

(Optional) A number indicating the priority of one campaign over another * campaign for a certain vehicle or fleet. A campaign with the lowest value is * deployed to vehicles before any other campaigns. If it's not specified, * 0 is used.

Default: 0

*/ inline int GetPriority() const{ return m_priority; } /** *

(Optional) A number indicating the priority of one campaign over another * campaign for a certain vehicle or fleet. A campaign with the lowest value is * deployed to vehicles before any other campaigns. If it's not specified, * 0 is used.

Default: 0

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

(Optional) A number indicating the priority of one campaign over another * campaign for a certain vehicle or fleet. A campaign with the lowest value is * deployed to vehicles before any other campaigns. If it's not specified, * 0 is used.

Default: 0

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

(Optional) A number indicating the priority of one campaign over another * campaign for a certain vehicle or fleet. A campaign with the lowest value is * deployed to vehicles before any other campaigns. If it's not specified, * 0 is used.

Default: 0

*/ inline CreateCampaignRequest& WithPriority(int value) { SetPriority(value); return *this;} /** *

(Optional) A list of information about signals to collect.

*/ inline const Aws::Vector& GetSignalsToCollect() const{ return m_signalsToCollect; } /** *

(Optional) A list of information about signals to collect.

*/ inline bool SignalsToCollectHasBeenSet() const { return m_signalsToCollectHasBeenSet; } /** *

(Optional) A list of information about signals to collect.

*/ inline void SetSignalsToCollect(const Aws::Vector& value) { m_signalsToCollectHasBeenSet = true; m_signalsToCollect = value; } /** *

(Optional) A list of information about signals to collect.

*/ inline void SetSignalsToCollect(Aws::Vector&& value) { m_signalsToCollectHasBeenSet = true; m_signalsToCollect = std::move(value); } /** *

(Optional) A list of information about signals to collect.

*/ inline CreateCampaignRequest& WithSignalsToCollect(const Aws::Vector& value) { SetSignalsToCollect(value); return *this;} /** *

(Optional) A list of information about signals to collect.

*/ inline CreateCampaignRequest& WithSignalsToCollect(Aws::Vector&& value) { SetSignalsToCollect(std::move(value)); return *this;} /** *

(Optional) A list of information about signals to collect.

*/ inline CreateCampaignRequest& AddSignalsToCollect(const SignalInformation& value) { m_signalsToCollectHasBeenSet = true; m_signalsToCollect.push_back(value); return *this; } /** *

(Optional) A list of information about signals to collect.

*/ inline CreateCampaignRequest& AddSignalsToCollect(SignalInformation&& value) { m_signalsToCollectHasBeenSet = true; m_signalsToCollect.push_back(std::move(value)); return *this; } /** *

The data collection scheme associated with the campaign. You can specify a * scheme that collects data based on time or an event.

*/ inline const CollectionScheme& GetCollectionScheme() const{ return m_collectionScheme; } /** *

The data collection scheme associated with the campaign. You can specify a * scheme that collects data based on time or an event.

*/ inline bool CollectionSchemeHasBeenSet() const { return m_collectionSchemeHasBeenSet; } /** *

The data collection scheme associated with the campaign. You can specify a * scheme that collects data based on time or an event.

*/ inline void SetCollectionScheme(const CollectionScheme& value) { m_collectionSchemeHasBeenSet = true; m_collectionScheme = value; } /** *

The data collection scheme associated with the campaign. You can specify a * scheme that collects data based on time or an event.

*/ inline void SetCollectionScheme(CollectionScheme&& value) { m_collectionSchemeHasBeenSet = true; m_collectionScheme = std::move(value); } /** *

The data collection scheme associated with the campaign. You can specify a * scheme that collects data based on time or an event.

*/ inline CreateCampaignRequest& WithCollectionScheme(const CollectionScheme& value) { SetCollectionScheme(value); return *this;} /** *

The data collection scheme associated with the campaign. You can specify a * scheme that collects data based on time or an event.

*/ inline CreateCampaignRequest& WithCollectionScheme(CollectionScheme&& value) { SetCollectionScheme(std::move(value)); return *this;} /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline const Aws::Vector& GetDataExtraDimensions() const{ return m_dataExtraDimensions; } /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline bool DataExtraDimensionsHasBeenSet() const { return m_dataExtraDimensionsHasBeenSet; } /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline void SetDataExtraDimensions(const Aws::Vector& value) { m_dataExtraDimensionsHasBeenSet = true; m_dataExtraDimensions = value; } /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline void SetDataExtraDimensions(Aws::Vector&& value) { m_dataExtraDimensionsHasBeenSet = true; m_dataExtraDimensions = std::move(value); } /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline CreateCampaignRequest& WithDataExtraDimensions(const Aws::Vector& value) { SetDataExtraDimensions(value); return *this;} /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline CreateCampaignRequest& WithDataExtraDimensions(Aws::Vector&& value) { SetDataExtraDimensions(std::move(value)); return *this;} /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline CreateCampaignRequest& AddDataExtraDimensions(const Aws::String& value) { m_dataExtraDimensionsHasBeenSet = true; m_dataExtraDimensions.push_back(value); return *this; } /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline CreateCampaignRequest& AddDataExtraDimensions(Aws::String&& value) { m_dataExtraDimensionsHasBeenSet = true; m_dataExtraDimensions.push_back(std::move(value)); return *this; } /** *

(Optional) A list of vehicle attributes to associate with a campaign.

*

Enrich the data with specified vehicle attributes. For example, add * make and model to the campaign, and Amazon Web * Services IoT FleetWise will associate the data with those attributes as * dimensions in Amazon Timestream. You can then query the data against * make and model.

Default: An empty array

*/ inline CreateCampaignRequest& AddDataExtraDimensions(const char* value) { m_dataExtraDimensionsHasBeenSet = true; m_dataExtraDimensions.push_back(value); return *this; } /** *

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

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

Metadata that can be used to manage the campaign.

*/ inline CreateCampaignRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline const Aws::Vector& GetDataDestinationConfigs() const{ return m_dataDestinationConfigs; } /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline bool DataDestinationConfigsHasBeenSet() const { return m_dataDestinationConfigsHasBeenSet; } /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline void SetDataDestinationConfigs(const Aws::Vector& value) { m_dataDestinationConfigsHasBeenSet = true; m_dataDestinationConfigs = value; } /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline void SetDataDestinationConfigs(Aws::Vector&& value) { m_dataDestinationConfigsHasBeenSet = true; m_dataDestinationConfigs = std::move(value); } /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline CreateCampaignRequest& WithDataDestinationConfigs(const Aws::Vector& value) { SetDataDestinationConfigs(value); return *this;} /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline CreateCampaignRequest& WithDataDestinationConfigs(Aws::Vector&& value) { SetDataDestinationConfigs(std::move(value)); return *this;} /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline CreateCampaignRequest& AddDataDestinationConfigs(const DataDestinationConfig& value) { m_dataDestinationConfigsHasBeenSet = true; m_dataDestinationConfigs.push_back(value); return *this; } /** *

The destination where the campaign sends data. You can choose to send data to * be stored in Amazon S3 or Amazon Timestream.

Amazon S3 optimizes the cost * of data storage and provides additional mechanisms to use vehicle data, such as * data lakes, centralized data storage, data processing pipelines, and analytics. *

You can use Amazon Timestream to access and analyze time series data, * and Timestream to query vehicle data so that you can identify trends and * patterns.

*/ inline CreateCampaignRequest& AddDataDestinationConfigs(DataDestinationConfig&& value) { m_dataDestinationConfigsHasBeenSet = true; m_dataDestinationConfigs.push_back(std::move(value)); return *this; } private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_signalCatalogArn; bool m_signalCatalogArnHasBeenSet = false; Aws::String m_targetArn; bool m_targetArnHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_expiryTime; bool m_expiryTimeHasBeenSet = false; long long m_postTriggerCollectionDuration; bool m_postTriggerCollectionDurationHasBeenSet = false; DiagnosticsMode m_diagnosticsMode; bool m_diagnosticsModeHasBeenSet = false; SpoolingMode m_spoolingMode; bool m_spoolingModeHasBeenSet = false; Compression m_compression; bool m_compressionHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; Aws::Vector m_signalsToCollect; bool m_signalsToCollectHasBeenSet = false; CollectionScheme m_collectionScheme; bool m_collectionSchemeHasBeenSet = false; Aws::Vector m_dataExtraDimensions; bool m_dataExtraDimensionsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::Vector m_dataDestinationConfigs; bool m_dataDestinationConfigsHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws