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

Specifies the dimensions for an event filter that determines when a campaign * is sent or a journey activity is performed.

See Also:

AWS * API Reference

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

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& AddAttributes(const Aws::String& key, const AttributeDimension& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& AddAttributes(Aws::String&& key, const AttributeDimension& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& AddAttributes(const Aws::String& key, AttributeDimension&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& AddAttributes(Aws::String&& key, AttributeDimension&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& AddAttributes(const char* key, AttributeDimension&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

One or more custom attributes that your application reports to Amazon * Pinpoint. You can use these attributes as selection criteria when you create an * event filter.

*/ inline EventDimensions& AddAttributes(const char* key, const AttributeDimension& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

The name of the event that causes the campaign to be sent or the journey * activity to be performed. This can be a standard event that Amazon Pinpoint * generates, such as _email.delivered. For campaigns, this can also be a custom * event that's specific to your application. For information about standard * events, see Streaming * Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

*/ inline const SetDimension& GetEventType() const{ return m_eventType; } /** *

The name of the event that causes the campaign to be sent or the journey * activity to be performed. This can be a standard event that Amazon Pinpoint * generates, such as _email.delivered. For campaigns, this can also be a custom * event that's specific to your application. For information about standard * events, see Streaming * Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

*/ inline bool EventTypeHasBeenSet() const { return m_eventTypeHasBeenSet; } /** *

The name of the event that causes the campaign to be sent or the journey * activity to be performed. This can be a standard event that Amazon Pinpoint * generates, such as _email.delivered. For campaigns, this can also be a custom * event that's specific to your application. For information about standard * events, see Streaming * Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

*/ inline void SetEventType(const SetDimension& value) { m_eventTypeHasBeenSet = true; m_eventType = value; } /** *

The name of the event that causes the campaign to be sent or the journey * activity to be performed. This can be a standard event that Amazon Pinpoint * generates, such as _email.delivered. For campaigns, this can also be a custom * event that's specific to your application. For information about standard * events, see Streaming * Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

*/ inline void SetEventType(SetDimension&& value) { m_eventTypeHasBeenSet = true; m_eventType = std::move(value); } /** *

The name of the event that causes the campaign to be sent or the journey * activity to be performed. This can be a standard event that Amazon Pinpoint * generates, such as _email.delivered. For campaigns, this can also be a custom * event that's specific to your application. For information about standard * events, see Streaming * Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

*/ inline EventDimensions& WithEventType(const SetDimension& value) { SetEventType(value); return *this;} /** *

The name of the event that causes the campaign to be sent or the journey * activity to be performed. This can be a standard event that Amazon Pinpoint * generates, such as _email.delivered. For campaigns, this can also be a custom * event that's specific to your application. For information about standard * events, see Streaming * Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

*/ inline EventDimensions& WithEventType(SetDimension&& value) { SetEventType(std::move(value)); return *this;} /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline const Aws::Map& GetMetrics() const{ return m_metrics; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline void SetMetrics(const Aws::Map& value) { m_metricsHasBeenSet = true; m_metrics = value; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline void SetMetrics(Aws::Map&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& WithMetrics(const Aws::Map& value) { SetMetrics(value); return *this;} /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& WithMetrics(Aws::Map&& value) { SetMetrics(std::move(value)); return *this;} /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& AddMetrics(const Aws::String& key, const MetricDimension& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, value); return *this; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& AddMetrics(Aws::String&& key, const MetricDimension& value) { m_metricsHasBeenSet = true; m_metrics.emplace(std::move(key), value); return *this; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& AddMetrics(const Aws::String& key, MetricDimension&& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, std::move(value)); return *this; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& AddMetrics(Aws::String&& key, MetricDimension&& value) { m_metricsHasBeenSet = true; m_metrics.emplace(std::move(key), std::move(value)); return *this; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& AddMetrics(const char* key, MetricDimension&& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, std::move(value)); return *this; } /** *

One or more custom metrics that your application reports to Amazon Pinpoint. * You can use these metrics as selection criteria when you create an event * filter.

*/ inline EventDimensions& AddMetrics(const char* key, const MetricDimension& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, value); return *this; } private: Aws::Map m_attributes; bool m_attributesHasBeenSet = false; SetDimension m_eventType; bool m_eventTypeHasBeenSet = false; Aws::Map m_metrics; bool m_metricsHasBeenSet = false; }; } // namespace Model } // namespace Pinpoint } // namespace Aws