/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace AutoScaling { namespace Model { /** *

Describes an auto scaling process that has been suspended.

For more * information, see Scaling * processes in the Amazon EC2 Auto Scaling User Guide.

See * Also:

AWS * API Reference

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

The name of the suspended process.

*/ inline const Aws::String& GetProcessName() const{ return m_processName; } /** *

The name of the suspended process.

*/ inline bool ProcessNameHasBeenSet() const { return m_processNameHasBeenSet; } /** *

The name of the suspended process.

*/ inline void SetProcessName(const Aws::String& value) { m_processNameHasBeenSet = true; m_processName = value; } /** *

The name of the suspended process.

*/ inline void SetProcessName(Aws::String&& value) { m_processNameHasBeenSet = true; m_processName = std::move(value); } /** *

The name of the suspended process.

*/ inline void SetProcessName(const char* value) { m_processNameHasBeenSet = true; m_processName.assign(value); } /** *

The name of the suspended process.

*/ inline SuspendedProcess& WithProcessName(const Aws::String& value) { SetProcessName(value); return *this;} /** *

The name of the suspended process.

*/ inline SuspendedProcess& WithProcessName(Aws::String&& value) { SetProcessName(std::move(value)); return *this;} /** *

The name of the suspended process.

*/ inline SuspendedProcess& WithProcessName(const char* value) { SetProcessName(value); return *this;} /** *

The reason that the process was suspended.

*/ inline const Aws::String& GetSuspensionReason() const{ return m_suspensionReason; } /** *

The reason that the process was suspended.

*/ inline bool SuspensionReasonHasBeenSet() const { return m_suspensionReasonHasBeenSet; } /** *

The reason that the process was suspended.

*/ inline void SetSuspensionReason(const Aws::String& value) { m_suspensionReasonHasBeenSet = true; m_suspensionReason = value; } /** *

The reason that the process was suspended.

*/ inline void SetSuspensionReason(Aws::String&& value) { m_suspensionReasonHasBeenSet = true; m_suspensionReason = std::move(value); } /** *

The reason that the process was suspended.

*/ inline void SetSuspensionReason(const char* value) { m_suspensionReasonHasBeenSet = true; m_suspensionReason.assign(value); } /** *

The reason that the process was suspended.

*/ inline SuspendedProcess& WithSuspensionReason(const Aws::String& value) { SetSuspensionReason(value); return *this;} /** *

The reason that the process was suspended.

*/ inline SuspendedProcess& WithSuspensionReason(Aws::String&& value) { SetSuspensionReason(std::move(value)); return *this;} /** *

The reason that the process was suspended.

*/ inline SuspendedProcess& WithSuspensionReason(const char* value) { SetSuspensionReason(value); return *this;} private: Aws::String m_processName; bool m_processNameHasBeenSet = false; Aws::String m_suspensionReason; bool m_suspensionReasonHasBeenSet = false; }; } // namespace Model } // namespace AutoScaling } // namespace Aws