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

Contains the dimension configuration to use when you publish email sending * events to Amazon CloudWatch.

For information about publishing email * sending events to Amazon CloudWatch, see the Amazon * SES Developer Guide.

See Also:

AWS * API Reference

*/ class CloudWatchDimensionConfiguration { public: AWS_SES_API CloudWatchDimensionConfiguration(); AWS_SES_API CloudWatchDimensionConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API CloudWatchDimensionConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_SES_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_SES_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of an Amazon CloudWatch dimension associated with an email sending * metric. The name must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less 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 must:

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

  • *
  • Contain less than 256 characters.

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

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

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

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

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

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

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

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

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

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

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

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

*/ 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less than 256 characters.

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

The default value of the dimension that is published to Amazon CloudWatch if * you do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 do not provide the value of the dimension when you send an email. The * default value must:

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

  • *

    Contain less 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 SES } // namespace Aws