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

Represents a single metric data query to include in a batch.

See * Also:

AWS * API Reference

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

The query identifier.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The query identifier.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The query identifier.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The query identifier.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The query identifier.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The query identifier.

*/ inline BatchGetMetricDataQuery& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The query identifier.

*/ inline BatchGetMetricDataQuery& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The query identifier.

*/ inline BatchGetMetricDataQuery& WithId(const char* value) { SetId(value); return *this;} /** *

The query namespace - e.g. VDM

*/ inline const MetricNamespace& GetNamespace() const{ return m_namespace; } /** *

The query namespace - e.g. VDM

*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The query namespace - e.g. VDM

*/ inline void SetNamespace(const MetricNamespace& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The query namespace - e.g. VDM

*/ inline void SetNamespace(MetricNamespace&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The query namespace - e.g. VDM

*/ inline BatchGetMetricDataQuery& WithNamespace(const MetricNamespace& value) { SetNamespace(value); return *this;} /** *

The query namespace - e.g. VDM

*/ inline BatchGetMetricDataQuery& WithNamespace(MetricNamespace&& value) { SetNamespace(std::move(value)); return *this;} /** *

The queried metric. This can be one of the following:

  • * SEND – Emails sent eligible for tracking in the VDM dashboard. This * excludes emails sent to the mailbox simulator and emails addressed to more than * one recipient.

  • COMPLAINT – Complaints received * for your account. This excludes complaints from the mailbox simulator, those * originating from your account-level suppression list (if enabled), and those for * emails addressed to more than one recipient

  • * PERMANENT_BOUNCE – Permanent bounces - i.e. feedback received for * emails sent to non-existent mailboxes. Excludes bounces from the mailbox * simulator, those originating from your account-level suppression list (if * enabled), and those for emails addressed to more than one recipient.

  • *
  • TRANSIENT_BOUNCE – Transient bounces - i.e. feedback * received for delivery failures excluding issues with non-existent mailboxes. * Excludes bounces from the mailbox simulator, and those for emails addressed to * more than one recipient.

  • OPEN – Unique open * events for emails including open trackers. Excludes opens for emails addressed * to more than one recipient.

  • CLICK – Unique click * events for emails including wrapped links. Excludes clicks for emails addressed * to more than one recipient.

  • DELIVERY – * Successful deliveries for email sending attempts. Excludes deliveries to the * mailbox simulator and for emails addressed to more than one recipient.

  • *
  • DELIVERY_OPEN – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails without open trackers.

  • * DELIVERY_CLICK – Successful deliveries for email sending attempts. * Excludes deliveries to the mailbox simulator, for emails addressed to more than * one recipient, and emails without click trackers.

  • * DELIVERY_COMPLAINT – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails addressed to recipients hosted by ISPs with * which Amazon SES does not have a feedback loop agreement.

*/ inline const Metric& GetMetric() const{ return m_metric; } /** *

The queried metric. This can be one of the following:

  • * SEND – Emails sent eligible for tracking in the VDM dashboard. This * excludes emails sent to the mailbox simulator and emails addressed to more than * one recipient.

  • COMPLAINT – Complaints received * for your account. This excludes complaints from the mailbox simulator, those * originating from your account-level suppression list (if enabled), and those for * emails addressed to more than one recipient

  • * PERMANENT_BOUNCE – Permanent bounces - i.e. feedback received for * emails sent to non-existent mailboxes. Excludes bounces from the mailbox * simulator, those originating from your account-level suppression list (if * enabled), and those for emails addressed to more than one recipient.

  • *
  • TRANSIENT_BOUNCE – Transient bounces - i.e. feedback * received for delivery failures excluding issues with non-existent mailboxes. * Excludes bounces from the mailbox simulator, and those for emails addressed to * more than one recipient.

  • OPEN – Unique open * events for emails including open trackers. Excludes opens for emails addressed * to more than one recipient.

  • CLICK – Unique click * events for emails including wrapped links. Excludes clicks for emails addressed * to more than one recipient.

  • DELIVERY – * Successful deliveries for email sending attempts. Excludes deliveries to the * mailbox simulator and for emails addressed to more than one recipient.

  • *
  • DELIVERY_OPEN – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails without open trackers.

  • * DELIVERY_CLICK – Successful deliveries for email sending attempts. * Excludes deliveries to the mailbox simulator, for emails addressed to more than * one recipient, and emails without click trackers.

  • * DELIVERY_COMPLAINT – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails addressed to recipients hosted by ISPs with * which Amazon SES does not have a feedback loop agreement.

*/ inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; } /** *

The queried metric. This can be one of the following:

  • * SEND – Emails sent eligible for tracking in the VDM dashboard. This * excludes emails sent to the mailbox simulator and emails addressed to more than * one recipient.

  • COMPLAINT – Complaints received * for your account. This excludes complaints from the mailbox simulator, those * originating from your account-level suppression list (if enabled), and those for * emails addressed to more than one recipient

  • * PERMANENT_BOUNCE – Permanent bounces - i.e. feedback received for * emails sent to non-existent mailboxes. Excludes bounces from the mailbox * simulator, those originating from your account-level suppression list (if * enabled), and those for emails addressed to more than one recipient.

  • *
  • TRANSIENT_BOUNCE – Transient bounces - i.e. feedback * received for delivery failures excluding issues with non-existent mailboxes. * Excludes bounces from the mailbox simulator, and those for emails addressed to * more than one recipient.

  • OPEN – Unique open * events for emails including open trackers. Excludes opens for emails addressed * to more than one recipient.

  • CLICK – Unique click * events for emails including wrapped links. Excludes clicks for emails addressed * to more than one recipient.

  • DELIVERY – * Successful deliveries for email sending attempts. Excludes deliveries to the * mailbox simulator and for emails addressed to more than one recipient.

  • *
  • DELIVERY_OPEN – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails without open trackers.

  • * DELIVERY_CLICK – Successful deliveries for email sending attempts. * Excludes deliveries to the mailbox simulator, for emails addressed to more than * one recipient, and emails without click trackers.

  • * DELIVERY_COMPLAINT – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails addressed to recipients hosted by ISPs with * which Amazon SES does not have a feedback loop agreement.

*/ inline void SetMetric(const Metric& value) { m_metricHasBeenSet = true; m_metric = value; } /** *

The queried metric. This can be one of the following:

  • * SEND – Emails sent eligible for tracking in the VDM dashboard. This * excludes emails sent to the mailbox simulator and emails addressed to more than * one recipient.

  • COMPLAINT – Complaints received * for your account. This excludes complaints from the mailbox simulator, those * originating from your account-level suppression list (if enabled), and those for * emails addressed to more than one recipient

  • * PERMANENT_BOUNCE – Permanent bounces - i.e. feedback received for * emails sent to non-existent mailboxes. Excludes bounces from the mailbox * simulator, those originating from your account-level suppression list (if * enabled), and those for emails addressed to more than one recipient.

  • *
  • TRANSIENT_BOUNCE – Transient bounces - i.e. feedback * received for delivery failures excluding issues with non-existent mailboxes. * Excludes bounces from the mailbox simulator, and those for emails addressed to * more than one recipient.

  • OPEN – Unique open * events for emails including open trackers. Excludes opens for emails addressed * to more than one recipient.

  • CLICK – Unique click * events for emails including wrapped links. Excludes clicks for emails addressed * to more than one recipient.

  • DELIVERY – * Successful deliveries for email sending attempts. Excludes deliveries to the * mailbox simulator and for emails addressed to more than one recipient.

  • *
  • DELIVERY_OPEN – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails without open trackers.

  • * DELIVERY_CLICK – Successful deliveries for email sending attempts. * Excludes deliveries to the mailbox simulator, for emails addressed to more than * one recipient, and emails without click trackers.

  • * DELIVERY_COMPLAINT – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails addressed to recipients hosted by ISPs with * which Amazon SES does not have a feedback loop agreement.

*/ inline void SetMetric(Metric&& value) { m_metricHasBeenSet = true; m_metric = std::move(value); } /** *

The queried metric. This can be one of the following:

  • * SEND – Emails sent eligible for tracking in the VDM dashboard. This * excludes emails sent to the mailbox simulator and emails addressed to more than * one recipient.

  • COMPLAINT – Complaints received * for your account. This excludes complaints from the mailbox simulator, those * originating from your account-level suppression list (if enabled), and those for * emails addressed to more than one recipient

  • * PERMANENT_BOUNCE – Permanent bounces - i.e. feedback received for * emails sent to non-existent mailboxes. Excludes bounces from the mailbox * simulator, those originating from your account-level suppression list (if * enabled), and those for emails addressed to more than one recipient.

  • *
  • TRANSIENT_BOUNCE – Transient bounces - i.e. feedback * received for delivery failures excluding issues with non-existent mailboxes. * Excludes bounces from the mailbox simulator, and those for emails addressed to * more than one recipient.

  • OPEN – Unique open * events for emails including open trackers. Excludes opens for emails addressed * to more than one recipient.

  • CLICK – Unique click * events for emails including wrapped links. Excludes clicks for emails addressed * to more than one recipient.

  • DELIVERY – * Successful deliveries for email sending attempts. Excludes deliveries to the * mailbox simulator and for emails addressed to more than one recipient.

  • *
  • DELIVERY_OPEN – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails without open trackers.

  • * DELIVERY_CLICK – Successful deliveries for email sending attempts. * Excludes deliveries to the mailbox simulator, for emails addressed to more than * one recipient, and emails without click trackers.

  • * DELIVERY_COMPLAINT – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails addressed to recipients hosted by ISPs with * which Amazon SES does not have a feedback loop agreement.

*/ inline BatchGetMetricDataQuery& WithMetric(const Metric& value) { SetMetric(value); return *this;} /** *

The queried metric. This can be one of the following:

  • * SEND – Emails sent eligible for tracking in the VDM dashboard. This * excludes emails sent to the mailbox simulator and emails addressed to more than * one recipient.

  • COMPLAINT – Complaints received * for your account. This excludes complaints from the mailbox simulator, those * originating from your account-level suppression list (if enabled), and those for * emails addressed to more than one recipient

  • * PERMANENT_BOUNCE – Permanent bounces - i.e. feedback received for * emails sent to non-existent mailboxes. Excludes bounces from the mailbox * simulator, those originating from your account-level suppression list (if * enabled), and those for emails addressed to more than one recipient.

  • *
  • TRANSIENT_BOUNCE – Transient bounces - i.e. feedback * received for delivery failures excluding issues with non-existent mailboxes. * Excludes bounces from the mailbox simulator, and those for emails addressed to * more than one recipient.

  • OPEN – Unique open * events for emails including open trackers. Excludes opens for emails addressed * to more than one recipient.

  • CLICK – Unique click * events for emails including wrapped links. Excludes clicks for emails addressed * to more than one recipient.

  • DELIVERY – * Successful deliveries for email sending attempts. Excludes deliveries to the * mailbox simulator and for emails addressed to more than one recipient.

  • *
  • DELIVERY_OPEN – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails without open trackers.

  • * DELIVERY_CLICK – Successful deliveries for email sending attempts. * Excludes deliveries to the mailbox simulator, for emails addressed to more than * one recipient, and emails without click trackers.

  • * DELIVERY_COMPLAINT – Successful deliveries for email sending * attempts. Excludes deliveries to the mailbox simulator, for emails addressed to * more than one recipient, and emails addressed to recipients hosted by ISPs with * which Amazon SES does not have a feedback loop agreement.

*/ inline BatchGetMetricDataQuery& WithMetric(Metric&& value) { SetMetric(std::move(value)); return *this;} /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline const Aws::Map& GetDimensions() const{ return m_dimensions; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline void SetDimensions(const Aws::Map& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline void SetDimensions(Aws::Map&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& WithDimensions(const Aws::Map& value) { SetDimensions(value); return *this;} /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& WithDimensions(Aws::Map&& value) { SetDimensions(std::move(value)); return *this;} /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& AddDimensions(const MetricDimensionName& key, const Aws::String& value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace(key, value); return *this; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& AddDimensions(MetricDimensionName&& key, const Aws::String& value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace(std::move(key), value); return *this; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& AddDimensions(const MetricDimensionName& key, Aws::String&& value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace(key, std::move(value)); return *this; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& AddDimensions(MetricDimensionName&& key, Aws::String&& value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace(std::move(key), std::move(value)); return *this; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& AddDimensions(MetricDimensionName&& key, const char* value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace(std::move(key), value); return *this; } /** *

An object that contains mapping between MetricDimensionName and * MetricDimensionValue to filter metrics by.

*/ inline BatchGetMetricDataQuery& AddDimensions(const MetricDimensionName& key, const char* value) { m_dimensionsHasBeenSet = true; m_dimensions.emplace(key, value); return *this; } /** *

Represents the start date for the query interval.

*/ inline const Aws::Utils::DateTime& GetStartDate() const{ return m_startDate; } /** *

Represents the start date for the query interval.

*/ inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; } /** *

Represents the start date for the query interval.

*/ inline void SetStartDate(const Aws::Utils::DateTime& value) { m_startDateHasBeenSet = true; m_startDate = value; } /** *

Represents the start date for the query interval.

*/ inline void SetStartDate(Aws::Utils::DateTime&& value) { m_startDateHasBeenSet = true; m_startDate = std::move(value); } /** *

Represents the start date for the query interval.

*/ inline BatchGetMetricDataQuery& WithStartDate(const Aws::Utils::DateTime& value) { SetStartDate(value); return *this;} /** *

Represents the start date for the query interval.

*/ inline BatchGetMetricDataQuery& WithStartDate(Aws::Utils::DateTime&& value) { SetStartDate(std::move(value)); return *this;} /** *

Represents the end date for the query interval.

*/ inline const Aws::Utils::DateTime& GetEndDate() const{ return m_endDate; } /** *

Represents the end date for the query interval.

*/ inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; } /** *

Represents the end date for the query interval.

*/ inline void SetEndDate(const Aws::Utils::DateTime& value) { m_endDateHasBeenSet = true; m_endDate = value; } /** *

Represents the end date for the query interval.

*/ inline void SetEndDate(Aws::Utils::DateTime&& value) { m_endDateHasBeenSet = true; m_endDate = std::move(value); } /** *

Represents the end date for the query interval.

*/ inline BatchGetMetricDataQuery& WithEndDate(const Aws::Utils::DateTime& value) { SetEndDate(value); return *this;} /** *

Represents the end date for the query interval.

*/ inline BatchGetMetricDataQuery& WithEndDate(Aws::Utils::DateTime&& value) { SetEndDate(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; MetricNamespace m_namespace; bool m_namespaceHasBeenSet = false; Metric m_metric; bool m_metricHasBeenSet = false; Aws::Map m_dimensions; bool m_dimensionsHasBeenSet = false; Aws::Utils::DateTime m_startDate; bool m_startDateHasBeenSet = false; Aws::Utils::DateTime m_endDate; bool m_endDateHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws