/** * 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 AutoScaling { namespace Model { /** *

Reports progress on replacing instances in an Auto Scaling group that has a * warm pool. This includes separate details for instances in the warm pool and * instances in the Auto Scaling group (the live pool).

See Also:

* AWS * API Reference

*/ class InstanceRefreshProgressDetails { public: AWS_AUTOSCALING_API InstanceRefreshProgressDetails(); AWS_AUTOSCALING_API InstanceRefreshProgressDetails(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_AUTOSCALING_API InstanceRefreshProgressDetails& 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; /** *

Reports progress on replacing instances that are in the Auto Scaling * group.

*/ inline const InstanceRefreshLivePoolProgress& GetLivePoolProgress() const{ return m_livePoolProgress; } /** *

Reports progress on replacing instances that are in the Auto Scaling * group.

*/ inline bool LivePoolProgressHasBeenSet() const { return m_livePoolProgressHasBeenSet; } /** *

Reports progress on replacing instances that are in the Auto Scaling * group.

*/ inline void SetLivePoolProgress(const InstanceRefreshLivePoolProgress& value) { m_livePoolProgressHasBeenSet = true; m_livePoolProgress = value; } /** *

Reports progress on replacing instances that are in the Auto Scaling * group.

*/ inline void SetLivePoolProgress(InstanceRefreshLivePoolProgress&& value) { m_livePoolProgressHasBeenSet = true; m_livePoolProgress = std::move(value); } /** *

Reports progress on replacing instances that are in the Auto Scaling * group.

*/ inline InstanceRefreshProgressDetails& WithLivePoolProgress(const InstanceRefreshLivePoolProgress& value) { SetLivePoolProgress(value); return *this;} /** *

Reports progress on replacing instances that are in the Auto Scaling * group.

*/ inline InstanceRefreshProgressDetails& WithLivePoolProgress(InstanceRefreshLivePoolProgress&& value) { SetLivePoolProgress(std::move(value)); return *this;} /** *

Reports progress on replacing instances that are in the warm pool.

*/ inline const InstanceRefreshWarmPoolProgress& GetWarmPoolProgress() const{ return m_warmPoolProgress; } /** *

Reports progress on replacing instances that are in the warm pool.

*/ inline bool WarmPoolProgressHasBeenSet() const { return m_warmPoolProgressHasBeenSet; } /** *

Reports progress on replacing instances that are in the warm pool.

*/ inline void SetWarmPoolProgress(const InstanceRefreshWarmPoolProgress& value) { m_warmPoolProgressHasBeenSet = true; m_warmPoolProgress = value; } /** *

Reports progress on replacing instances that are in the warm pool.

*/ inline void SetWarmPoolProgress(InstanceRefreshWarmPoolProgress&& value) { m_warmPoolProgressHasBeenSet = true; m_warmPoolProgress = std::move(value); } /** *

Reports progress on replacing instances that are in the warm pool.

*/ inline InstanceRefreshProgressDetails& WithWarmPoolProgress(const InstanceRefreshWarmPoolProgress& value) { SetWarmPoolProgress(value); return *this;} /** *

Reports progress on replacing instances that are in the warm pool.

*/ inline InstanceRefreshProgressDetails& WithWarmPoolProgress(InstanceRefreshWarmPoolProgress&& value) { SetWarmPoolProgress(std::move(value)); return *this;} private: InstanceRefreshLivePoolProgress m_livePoolProgress; bool m_livePoolProgressHasBeenSet = false; InstanceRefreshWarmPoolProgress m_warmPoolProgress; bool m_warmPoolProgressHasBeenSet = false; }; } // namespace Model } // namespace AutoScaling } // namespace Aws