/** * 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 { /** *

Contains information about a dedicated IP pool.

See Also:

AWS * API Reference

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

The name of the dedicated IP pool.

*/ inline const Aws::String& GetPoolName() const{ return m_poolName; } /** *

The name of the dedicated IP pool.

*/ inline bool PoolNameHasBeenSet() const { return m_poolNameHasBeenSet; } /** *

The name of the dedicated IP pool.

*/ inline void SetPoolName(const Aws::String& value) { m_poolNameHasBeenSet = true; m_poolName = value; } /** *

The name of the dedicated IP pool.

*/ inline void SetPoolName(Aws::String&& value) { m_poolNameHasBeenSet = true; m_poolName = std::move(value); } /** *

The name of the dedicated IP pool.

*/ inline void SetPoolName(const char* value) { m_poolNameHasBeenSet = true; m_poolName.assign(value); } /** *

The name of the dedicated IP pool.

*/ inline DedicatedIpPool& WithPoolName(const Aws::String& value) { SetPoolName(value); return *this;} /** *

The name of the dedicated IP pool.

*/ inline DedicatedIpPool& WithPoolName(Aws::String&& value) { SetPoolName(std::move(value)); return *this;} /** *

The name of the dedicated IP pool.

*/ inline DedicatedIpPool& WithPoolName(const char* value) { SetPoolName(value); return *this;} /** *

The type of the dedicated IP pool.

  • STANDARD – * A dedicated IP pool where you can control which IPs are part of the pool.

    *
  • MANAGED – A dedicated IP pool where the reputation * and number of IPs are automatically managed by Amazon SES.

*/ inline const ScalingMode& GetScalingMode() const{ return m_scalingMode; } /** *

The type of the dedicated IP pool.

  • STANDARD – * A dedicated IP pool where you can control which IPs are part of the pool.

    *
  • MANAGED – A dedicated IP pool where the reputation * and number of IPs are automatically managed by Amazon SES.

*/ inline bool ScalingModeHasBeenSet() const { return m_scalingModeHasBeenSet; } /** *

The type of the dedicated IP pool.

  • STANDARD – * A dedicated IP pool where you can control which IPs are part of the pool.

    *
  • MANAGED – A dedicated IP pool where the reputation * and number of IPs are automatically managed by Amazon SES.

*/ inline void SetScalingMode(const ScalingMode& value) { m_scalingModeHasBeenSet = true; m_scalingMode = value; } /** *

The type of the dedicated IP pool.

  • STANDARD – * A dedicated IP pool where you can control which IPs are part of the pool.

    *
  • MANAGED – A dedicated IP pool where the reputation * and number of IPs are automatically managed by Amazon SES.

*/ inline void SetScalingMode(ScalingMode&& value) { m_scalingModeHasBeenSet = true; m_scalingMode = std::move(value); } /** *

The type of the dedicated IP pool.

  • STANDARD – * A dedicated IP pool where you can control which IPs are part of the pool.

    *
  • MANAGED – A dedicated IP pool where the reputation * and number of IPs are automatically managed by Amazon SES.

*/ inline DedicatedIpPool& WithScalingMode(const ScalingMode& value) { SetScalingMode(value); return *this;} /** *

The type of the dedicated IP pool.

  • STANDARD – * A dedicated IP pool where you can control which IPs are part of the pool.

    *
  • MANAGED – A dedicated IP pool where the reputation * and number of IPs are automatically managed by Amazon SES.

*/ inline DedicatedIpPool& WithScalingMode(ScalingMode&& value) { SetScalingMode(std::move(value)); return *this;} private: Aws::String m_poolName; bool m_poolNameHasBeenSet = false; ScalingMode m_scalingMode; bool m_scalingModeHasBeenSet = false; }; } // namespace Model } // namespace SESV2 } // namespace Aws