/** * 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 { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTAnalytics { namespace Model { /** *

An activity that performs a transformation on a message.

See * Also:

AWS * API Reference

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

Determines the source of the messages to be processed.

*/ inline const ChannelActivity& GetChannel() const{ return m_channel; } /** *

Determines the source of the messages to be processed.

*/ inline bool ChannelHasBeenSet() const { return m_channelHasBeenSet; } /** *

Determines the source of the messages to be processed.

*/ inline void SetChannel(const ChannelActivity& value) { m_channelHasBeenSet = true; m_channel = value; } /** *

Determines the source of the messages to be processed.

*/ inline void SetChannel(ChannelActivity&& value) { m_channelHasBeenSet = true; m_channel = std::move(value); } /** *

Determines the source of the messages to be processed.

*/ inline PipelineActivity& WithChannel(const ChannelActivity& value) { SetChannel(value); return *this;} /** *

Determines the source of the messages to be processed.

*/ inline PipelineActivity& WithChannel(ChannelActivity&& value) { SetChannel(std::move(value)); return *this;} /** *

Runs a Lambda function to modify the message.

*/ inline const LambdaActivity& GetLambda() const{ return m_lambda; } /** *

Runs a Lambda function to modify the message.

*/ inline bool LambdaHasBeenSet() const { return m_lambdaHasBeenSet; } /** *

Runs a Lambda function to modify the message.

*/ inline void SetLambda(const LambdaActivity& value) { m_lambdaHasBeenSet = true; m_lambda = value; } /** *

Runs a Lambda function to modify the message.

*/ inline void SetLambda(LambdaActivity&& value) { m_lambdaHasBeenSet = true; m_lambda = std::move(value); } /** *

Runs a Lambda function to modify the message.

*/ inline PipelineActivity& WithLambda(const LambdaActivity& value) { SetLambda(value); return *this;} /** *

Runs a Lambda function to modify the message.

*/ inline PipelineActivity& WithLambda(LambdaActivity&& value) { SetLambda(std::move(value)); return *this;} /** *

Specifies where to store the processed message data.

*/ inline const DatastoreActivity& GetDatastore() const{ return m_datastore; } /** *

Specifies where to store the processed message data.

*/ inline bool DatastoreHasBeenSet() const { return m_datastoreHasBeenSet; } /** *

Specifies where to store the processed message data.

*/ inline void SetDatastore(const DatastoreActivity& value) { m_datastoreHasBeenSet = true; m_datastore = value; } /** *

Specifies where to store the processed message data.

*/ inline void SetDatastore(DatastoreActivity&& value) { m_datastoreHasBeenSet = true; m_datastore = std::move(value); } /** *

Specifies where to store the processed message data.

*/ inline PipelineActivity& WithDatastore(const DatastoreActivity& value) { SetDatastore(value); return *this;} /** *

Specifies where to store the processed message data.

*/ inline PipelineActivity& WithDatastore(DatastoreActivity&& value) { SetDatastore(std::move(value)); return *this;} /** *

Adds other attributes based on existing attributes in the message.

*/ inline const AddAttributesActivity& GetAddAttributes() const{ return m_addAttributes; } /** *

Adds other attributes based on existing attributes in the message.

*/ inline bool AddAttributesHasBeenSet() const { return m_addAttributesHasBeenSet; } /** *

Adds other attributes based on existing attributes in the message.

*/ inline void SetAddAttributes(const AddAttributesActivity& value) { m_addAttributesHasBeenSet = true; m_addAttributes = value; } /** *

Adds other attributes based on existing attributes in the message.

*/ inline void SetAddAttributes(AddAttributesActivity&& value) { m_addAttributesHasBeenSet = true; m_addAttributes = std::move(value); } /** *

Adds other attributes based on existing attributes in the message.

*/ inline PipelineActivity& WithAddAttributes(const AddAttributesActivity& value) { SetAddAttributes(value); return *this;} /** *

Adds other attributes based on existing attributes in the message.

*/ inline PipelineActivity& WithAddAttributes(AddAttributesActivity&& value) { SetAddAttributes(std::move(value)); return *this;} /** *

Removes attributes from a message.

*/ inline const RemoveAttributesActivity& GetRemoveAttributes() const{ return m_removeAttributes; } /** *

Removes attributes from a message.

*/ inline bool RemoveAttributesHasBeenSet() const { return m_removeAttributesHasBeenSet; } /** *

Removes attributes from a message.

*/ inline void SetRemoveAttributes(const RemoveAttributesActivity& value) { m_removeAttributesHasBeenSet = true; m_removeAttributes = value; } /** *

Removes attributes from a message.

*/ inline void SetRemoveAttributes(RemoveAttributesActivity&& value) { m_removeAttributesHasBeenSet = true; m_removeAttributes = std::move(value); } /** *

Removes attributes from a message.

*/ inline PipelineActivity& WithRemoveAttributes(const RemoveAttributesActivity& value) { SetRemoveAttributes(value); return *this;} /** *

Removes attributes from a message.

*/ inline PipelineActivity& WithRemoveAttributes(RemoveAttributesActivity&& value) { SetRemoveAttributes(std::move(value)); return *this;} /** *

Used to create a new message using only the specified attributes from the * original message.

*/ inline const SelectAttributesActivity& GetSelectAttributes() const{ return m_selectAttributes; } /** *

Used to create a new message using only the specified attributes from the * original message.

*/ inline bool SelectAttributesHasBeenSet() const { return m_selectAttributesHasBeenSet; } /** *

Used to create a new message using only the specified attributes from the * original message.

*/ inline void SetSelectAttributes(const SelectAttributesActivity& value) { m_selectAttributesHasBeenSet = true; m_selectAttributes = value; } /** *

Used to create a new message using only the specified attributes from the * original message.

*/ inline void SetSelectAttributes(SelectAttributesActivity&& value) { m_selectAttributesHasBeenSet = true; m_selectAttributes = std::move(value); } /** *

Used to create a new message using only the specified attributes from the * original message.

*/ inline PipelineActivity& WithSelectAttributes(const SelectAttributesActivity& value) { SetSelectAttributes(value); return *this;} /** *

Used to create a new message using only the specified attributes from the * original message.

*/ inline PipelineActivity& WithSelectAttributes(SelectAttributesActivity&& value) { SetSelectAttributes(std::move(value)); return *this;} /** *

Filters a message based on its attributes.

*/ inline const FilterActivity& GetFilter() const{ return m_filter; } /** *

Filters a message based on its attributes.

*/ inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; } /** *

Filters a message based on its attributes.

*/ inline void SetFilter(const FilterActivity& value) { m_filterHasBeenSet = true; m_filter = value; } /** *

Filters a message based on its attributes.

*/ inline void SetFilter(FilterActivity&& value) { m_filterHasBeenSet = true; m_filter = std::move(value); } /** *

Filters a message based on its attributes.

*/ inline PipelineActivity& WithFilter(const FilterActivity& value) { SetFilter(value); return *this;} /** *

Filters a message based on its attributes.

*/ inline PipelineActivity& WithFilter(FilterActivity&& value) { SetFilter(std::move(value)); return *this;} /** *

Computes an arithmetic expression using the message's attributes and adds it * to the message.

*/ inline const MathActivity& GetMath() const{ return m_math; } /** *

Computes an arithmetic expression using the message's attributes and adds it * to the message.

*/ inline bool MathHasBeenSet() const { return m_mathHasBeenSet; } /** *

Computes an arithmetic expression using the message's attributes and adds it * to the message.

*/ inline void SetMath(const MathActivity& value) { m_mathHasBeenSet = true; m_math = value; } /** *

Computes an arithmetic expression using the message's attributes and adds it * to the message.

*/ inline void SetMath(MathActivity&& value) { m_mathHasBeenSet = true; m_math = std::move(value); } /** *

Computes an arithmetic expression using the message's attributes and adds it * to the message.

*/ inline PipelineActivity& WithMath(const MathActivity& value) { SetMath(value); return *this;} /** *

Computes an arithmetic expression using the message's attributes and adds it * to the message.

*/ inline PipelineActivity& WithMath(MathActivity&& value) { SetMath(std::move(value)); return *this;} /** *

Adds data from the IoT device registry to your message.

*/ inline const DeviceRegistryEnrichActivity& GetDeviceRegistryEnrich() const{ return m_deviceRegistryEnrich; } /** *

Adds data from the IoT device registry to your message.

*/ inline bool DeviceRegistryEnrichHasBeenSet() const { return m_deviceRegistryEnrichHasBeenSet; } /** *

Adds data from the IoT device registry to your message.

*/ inline void SetDeviceRegistryEnrich(const DeviceRegistryEnrichActivity& value) { m_deviceRegistryEnrichHasBeenSet = true; m_deviceRegistryEnrich = value; } /** *

Adds data from the IoT device registry to your message.

*/ inline void SetDeviceRegistryEnrich(DeviceRegistryEnrichActivity&& value) { m_deviceRegistryEnrichHasBeenSet = true; m_deviceRegistryEnrich = std::move(value); } /** *

Adds data from the IoT device registry to your message.

*/ inline PipelineActivity& WithDeviceRegistryEnrich(const DeviceRegistryEnrichActivity& value) { SetDeviceRegistryEnrich(value); return *this;} /** *

Adds data from the IoT device registry to your message.

*/ inline PipelineActivity& WithDeviceRegistryEnrich(DeviceRegistryEnrichActivity&& value) { SetDeviceRegistryEnrich(std::move(value)); return *this;} /** *

Adds information from the IoT Device Shadow service to a message.

*/ inline const DeviceShadowEnrichActivity& GetDeviceShadowEnrich() const{ return m_deviceShadowEnrich; } /** *

Adds information from the IoT Device Shadow service to a message.

*/ inline bool DeviceShadowEnrichHasBeenSet() const { return m_deviceShadowEnrichHasBeenSet; } /** *

Adds information from the IoT Device Shadow service to a message.

*/ inline void SetDeviceShadowEnrich(const DeviceShadowEnrichActivity& value) { m_deviceShadowEnrichHasBeenSet = true; m_deviceShadowEnrich = value; } /** *

Adds information from the IoT Device Shadow service to a message.

*/ inline void SetDeviceShadowEnrich(DeviceShadowEnrichActivity&& value) { m_deviceShadowEnrichHasBeenSet = true; m_deviceShadowEnrich = std::move(value); } /** *

Adds information from the IoT Device Shadow service to a message.

*/ inline PipelineActivity& WithDeviceShadowEnrich(const DeviceShadowEnrichActivity& value) { SetDeviceShadowEnrich(value); return *this;} /** *

Adds information from the IoT Device Shadow service to a message.

*/ inline PipelineActivity& WithDeviceShadowEnrich(DeviceShadowEnrichActivity&& value) { SetDeviceShadowEnrich(std::move(value)); return *this;} private: ChannelActivity m_channel; bool m_channelHasBeenSet = false; LambdaActivity m_lambda; bool m_lambdaHasBeenSet = false; DatastoreActivity m_datastore; bool m_datastoreHasBeenSet = false; AddAttributesActivity m_addAttributes; bool m_addAttributesHasBeenSet = false; RemoveAttributesActivity m_removeAttributes; bool m_removeAttributesHasBeenSet = false; SelectAttributesActivity m_selectAttributes; bool m_selectAttributesHasBeenSet = false; FilterActivity m_filter; bool m_filterHasBeenSet = false; MathActivity m_math; bool m_mathHasBeenSet = false; DeviceRegistryEnrichActivity m_deviceRegistryEnrich; bool m_deviceRegistryEnrichHasBeenSet = false; DeviceShadowEnrichActivity m_deviceShadowEnrich; bool m_deviceShadowEnrichHasBeenSet = false; }; } // namespace Model } // namespace IoTAnalytics } // namespace Aws