/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoTFleetWise { namespace Model { class GetCampaignResult { public: AWS_IOTFLEETWISE_API GetCampaignResult(); AWS_IOTFLEETWISE_API GetCampaignResult(const Aws::AmazonWebServiceResult& result); AWS_IOTFLEETWISE_API GetCampaignResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The name of the campaign.

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

The name of the campaign.

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

The name of the campaign.

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

The name of the campaign.

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

The name of the campaign.

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

The name of the campaign.

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

The name of the campaign.

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

The Amazon Resource Name (ARN) of the campaign.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the campaign.

*/ inline void SetArn(const Aws::String& value) { m_arn = value; } /** *

The Amazon Resource Name (ARN) of the campaign.

*/ inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the campaign.

*/ inline void SetArn(const char* value) { m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the campaign.

*/ inline GetCampaignResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the campaign.

*/ inline GetCampaignResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the campaign.

*/ inline GetCampaignResult& WithArn(const char* value) { SetArn(value); return *this;} /** *

The description of the campaign.

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

The description of the campaign.

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

The description of the campaign.

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

The description of the campaign.

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

The description of the campaign.

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

The description of the campaign.

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

The description of the campaign.

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

The ARN of a signal catalog.

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

The ARN of a signal catalog.

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

The ARN of a signal catalog.

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

The ARN of a signal catalog.

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

The ARN of a signal catalog.

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

The ARN of a signal catalog.

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

The ARN of a signal catalog.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The ARN of the vehicle or the fleet targeted by the campaign.

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

The state of the campaign. The status can be one of: CREATING, * WAITING_FOR_APPROVAL, RUNNING, and * SUSPENDED.

*/ inline const CampaignStatus& GetStatus() const{ return m_status; } /** *

The state of the campaign. The status can be one of: CREATING, * WAITING_FOR_APPROVAL, RUNNING, and * SUSPENDED.

*/ inline void SetStatus(const CampaignStatus& value) { m_status = value; } /** *

The state of the campaign. The status can be one of: CREATING, * WAITING_FOR_APPROVAL, RUNNING, and * SUSPENDED.

*/ inline void SetStatus(CampaignStatus&& value) { m_status = std::move(value); } /** *

The state of the campaign. The status can be one of: CREATING, * WAITING_FOR_APPROVAL, RUNNING, and * SUSPENDED.

*/ inline GetCampaignResult& WithStatus(const CampaignStatus& value) { SetStatus(value); return *this;} /** *

The state of the campaign. The status can be one of: CREATING, * WAITING_FOR_APPROVAL, RUNNING, and * SUSPENDED.

*/ inline GetCampaignResult& WithStatus(CampaignStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The time, in milliseconds, to deliver a campaign after it was approved.

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

The time, in milliseconds, to deliver a campaign after it was approved.

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

The time, in milliseconds, to deliver a campaign after it was approved.

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

The time, in milliseconds, to deliver a campaign after it was approved.

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

The time, in milliseconds, to deliver a campaign after it was approved.

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

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

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

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

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

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

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

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

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

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

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

How long (in seconds) to collect raw data after a triggering event initiates * the collection.

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

How long (in seconds) to collect raw data after a triggering event initiates * the collection.

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

How long (in seconds) to collect raw data after a triggering event initiates * the collection.

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

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services * IoT FleetWise.

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

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services * IoT FleetWise.

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

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services * IoT FleetWise.

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

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services * IoT FleetWise.

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

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services * IoT FleetWise.

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

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.

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

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.

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

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.

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

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.

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

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.

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

Whether to compress signals before transmitting data to Amazon Web Services * IoT FleetWise. If OFF is specified, the signals aren't compressed. * If it's not specified, SNAPPY is used.

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

Whether to compress signals before transmitting data to Amazon Web Services * IoT FleetWise. If OFF is specified, the signals aren't compressed. * If it's not specified, SNAPPY is used.

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

Whether to compress signals before transmitting data to Amazon Web Services * IoT FleetWise. If OFF is specified, the signals aren't compressed. * If it's not specified, SNAPPY is used.

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

Whether to compress signals before transmitting data to Amazon Web Services * IoT FleetWise. If OFF is specified, the signals aren't compressed. * If it's not specified, SNAPPY is used.

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

Whether to compress signals before transmitting data to Amazon Web Services * IoT FleetWise. If OFF is specified, the signals aren't compressed. * If it's not specified, SNAPPY is used.

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

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.

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

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.

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

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.

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

Information about a list of signals to collect data on.

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

Information about a list of signals to collect data on.

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

Information about a list of signals to collect data on.

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

Information about a list of signals to collect data on.

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

Information about a list of signals to collect data on.

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

Information about a list of signals to collect data on.

*/ inline GetCampaignResult& AddSignalsToCollect(const SignalInformation& value) { m_signalsToCollect.push_back(value); return *this; } /** *

Information about a list of signals to collect data on.

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

Information about the data collection scheme associated with the campaign. *

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

Information about the data collection scheme associated with the campaign. *

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

Information about the data collection scheme associated with the campaign. *

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

Information about the data collection scheme associated with the campaign. *

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

Information about the data collection scheme associated with the campaign. *

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

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

A list of vehicle attributes associated with the campaign.

*/ inline GetCampaignResult& AddDataExtraDimensions(const char* value) { m_dataExtraDimensions.push_back(value); return *this; } /** *

The time the campaign was created in seconds since epoch (January 1, 1970 at * midnight UTC time).

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

The time the campaign was created in seconds since epoch (January 1, 1970 at * midnight UTC time).

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTime = value; } /** *

The time the campaign was created in seconds since epoch (January 1, 1970 at * midnight UTC time).

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTime = std::move(value); } /** *

The time the campaign was created in seconds since epoch (January 1, 1970 at * midnight UTC time).

*/ inline GetCampaignResult& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

The time the campaign was created in seconds since epoch (January 1, 1970 at * midnight UTC time).

*/ inline GetCampaignResult& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The last time the campaign was modified.

*/ inline const Aws::Utils::DateTime& GetLastModificationTime() const{ return m_lastModificationTime; } /** *

The last time the campaign was modified.

*/ inline void SetLastModificationTime(const Aws::Utils::DateTime& value) { m_lastModificationTime = value; } /** *

The last time the campaign was modified.

*/ inline void SetLastModificationTime(Aws::Utils::DateTime&& value) { m_lastModificationTime = std::move(value); } /** *

The last time the campaign was modified.

*/ inline GetCampaignResult& WithLastModificationTime(const Aws::Utils::DateTime& value) { SetLastModificationTime(value); return *this;} /** *

The last time the campaign was modified.

*/ inline GetCampaignResult& WithLastModificationTime(Aws::Utils::DateTime&& value) { SetLastModificationTime(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 void SetDataDestinationConfigs(const Aws::Vector& value) { 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_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 GetCampaignResult& 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 GetCampaignResult& 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 GetCampaignResult& AddDataDestinationConfigs(const DataDestinationConfig& value) { 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 GetCampaignResult& AddDataDestinationConfigs(DataDestinationConfig&& value) { m_dataDestinationConfigs.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetCampaignResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetCampaignResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetCampaignResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_name; Aws::String m_arn; Aws::String m_description; Aws::String m_signalCatalogArn; Aws::String m_targetArn; CampaignStatus m_status; Aws::Utils::DateTime m_startTime; Aws::Utils::DateTime m_expiryTime; long long m_postTriggerCollectionDuration; DiagnosticsMode m_diagnosticsMode; SpoolingMode m_spoolingMode; Compression m_compression; int m_priority; Aws::Vector m_signalsToCollect; CollectionScheme m_collectionScheme; Aws::Vector m_dataExtraDimensions; Aws::Utils::DateTime m_creationTime; Aws::Utils::DateTime m_lastModificationTime; Aws::Vector m_dataDestinationConfigs; Aws::String m_requestId; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws