/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SESV2 { namespace Model { /** *

An object that defines the dimension configuration to use when you send email * events to Amazon CloudWatch.

See Also:

AWS * API Reference

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

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline const Aws::String& GetDimensionName() const{ return m_dimensionName; } /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline bool DimensionNameHasBeenSet() const { return m_dimensionNameHasBeenSet; } /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline void SetDimensionName(const Aws::String& value) { m_dimensionNameHasBeenSet = true; m_dimensionName = value; } /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline void SetDimensionName(Aws::String&& value) { m_dimensionNameHasBeenSet = true; m_dimensionName = std::move(value); } /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline void SetDimensionName(const char* value) { m_dimensionNameHasBeenSet = true; m_dimensionName.assign(value); } /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline CloudWatchDimensionConfiguration& WithDimensionName(const Aws::String& value) { SetDimensionName(value); return *this;} /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline CloudWatchDimensionConfiguration& WithDimensionName(Aws::String&& value) { SetDimensionName(std::move(value)); return *this;} /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name has to meet the following criteria:

  • It can * only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes * (-).

  • It can contain no more than 256 characters.

  • *
*/ inline CloudWatchDimensionConfiguration& WithDimensionName(const char* value) { SetDimensionName(value); return *this;} /** *

The location where the Amazon SES API v2 finds the value of a dimension to * publish to Amazon CloudWatch. To use the message tags that you specify using an * X-SES-MESSAGE-TAGS header or a parameter to the * SendEmail or SendRawEmail API, choose * messageTag. To use your own email headers, choose * emailHeader. To use link tags, choose linkTags.

*/ inline const DimensionValueSource& GetDimensionValueSource() const{ return m_dimensionValueSource; } /** *

The location where the Amazon SES API v2 finds the value of a dimension to * publish to Amazon CloudWatch. To use the message tags that you specify using an * X-SES-MESSAGE-TAGS header or a parameter to the * SendEmail or SendRawEmail API, choose * messageTag. To use your own email headers, choose * emailHeader. To use link tags, choose linkTags.

*/ inline bool DimensionValueSourceHasBeenSet() const { return m_dimensionValueSourceHasBeenSet; } /** *

The location where the Amazon SES API v2 finds the value of a dimension to * publish to Amazon CloudWatch. To use the message tags that you specify using an * X-SES-MESSAGE-TAGS header or a parameter to the * SendEmail or SendRawEmail API, choose * messageTag. To use your own email headers, choose * emailHeader. To use link tags, choose linkTags.

*/ inline void SetDimensionValueSource(const DimensionValueSource& value) { m_dimensionValueSourceHasBeenSet = true; m_dimensionValueSource = value; } /** *

The location where the Amazon SES API v2 finds the value of a dimension to * publish to Amazon CloudWatch. To use the message tags that you specify using an * X-SES-MESSAGE-TAGS header or a parameter to the * SendEmail or SendRawEmail API, choose * messageTag. To use your own email headers, choose * emailHeader. To use link tags, choose linkTags.

*/ inline void SetDimensionValueSource(DimensionValueSource&& value) { m_dimensionValueSourceHasBeenSet = true; m_dimensionValueSource = std::move(value); } /** *

The location where the Amazon SES API v2 finds the value of a dimension to * publish to Amazon CloudWatch. To use the message tags that you specify using an * X-SES-MESSAGE-TAGS header or a parameter to the * SendEmail or SendRawEmail API, choose * messageTag. To use your own email headers, choose * emailHeader. To use link tags, choose linkTags.

*/ inline CloudWatchDimensionConfiguration& WithDimensionValueSource(const DimensionValueSource& value) { SetDimensionValueSource(value); return *this;} /** *

The location where the Amazon SES API v2 finds the value of a dimension to * publish to Amazon CloudWatch. To use the message tags that you specify using an * X-SES-MESSAGE-TAGS header or a parameter to the * SendEmail or SendRawEmail API, choose * messageTag. To use your own email headers, choose * emailHeader. To use link tags, choose linkTags.

*/ inline CloudWatchDimensionConfiguration& WithDimensionValueSource(DimensionValueSource&& value) { SetDimensionValueSource(std::move(value)); return *this;} /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline const Aws::String& GetDefaultDimensionValue() const{ return m_defaultDimensionValue; } /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline bool DefaultDimensionValueHasBeenSet() const { return m_defaultDimensionValueHasBeenSet; } /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline void SetDefaultDimensionValue(const Aws::String& value) { m_defaultDimensionValueHasBeenSet = true; m_defaultDimensionValue = value; } /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline void SetDefaultDimensionValue(Aws::String&& value) { m_defaultDimensionValueHasBeenSet = true; m_defaultDimensionValue = std::move(value); } /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline void SetDefaultDimensionValue(const char* value) { m_defaultDimensionValueHasBeenSet = true; m_defaultDimensionValue.assign(value); } /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline CloudWatchDimensionConfiguration& WithDefaultDimensionValue(const Aws::String& value) { SetDefaultDimensionValue(value); return *this;} /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline CloudWatchDimensionConfiguration& WithDefaultDimensionValue(Aws::String&& value) { SetDefaultDimensionValue(std::move(value)); return *this;} /** *

The default value of the dimension that is published to Amazon CloudWatch if * you don't provide the value of the dimension when you send an email. This value * has to meet the following criteria:

  • Can only contain ASCII * letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), * and periods (.).

  • It can contain no more than 256 * characters.

*/ inline CloudWatchDimensionConfiguration& WithDefaultDimensionValue(const char* value) { SetDefaultDimensionValue(value); return *this;} private: Aws::String m_dimensionName; bool m_dimensionNameHasBeenSet = false; DimensionValueSource m_dimensionValueSource; bool m_dimensionValueSourceHasBeenSet = false; Aws::String m_defaultDimensionValue; bool m_defaultDimensionValueHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws