/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Custom policy for requesting termination protection or termination of
* specific instances when shrinking an instance group.See Also:
* AWS
* API Reference
Specific list of instances to be terminated when shrinking an instance * group.
*/ inline const Aws::VectorSpecific list of instances to be terminated when shrinking an instance * group.
*/ inline bool InstancesToTerminateHasBeenSet() const { return m_instancesToTerminateHasBeenSet; } /** *Specific list of instances to be terminated when shrinking an instance * group.
*/ inline void SetInstancesToTerminate(const Aws::VectorSpecific list of instances to be terminated when shrinking an instance * group.
*/ inline void SetInstancesToTerminate(Aws::VectorSpecific list of instances to be terminated when shrinking an instance * group.
*/ inline InstanceResizePolicy& WithInstancesToTerminate(const Aws::VectorSpecific list of instances to be terminated when shrinking an instance * group.
*/ inline InstanceResizePolicy& WithInstancesToTerminate(Aws::VectorSpecific list of instances to be terminated when shrinking an instance * group.
*/ inline InstanceResizePolicy& AddInstancesToTerminate(const Aws::String& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.push_back(value); return *this; } /** *Specific list of instances to be terminated when shrinking an instance * group.
*/ inline InstanceResizePolicy& AddInstancesToTerminate(Aws::String&& value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.push_back(std::move(value)); return *this; } /** *Specific list of instances to be terminated when shrinking an instance * group.
*/ inline InstanceResizePolicy& AddInstancesToTerminate(const char* value) { m_instancesToTerminateHasBeenSet = true; m_instancesToTerminate.push_back(value); return *this; } /** *Specific list of instances to be protected when shrinking an instance * group.
*/ inline const Aws::VectorSpecific list of instances to be protected when shrinking an instance * group.
*/ inline bool InstancesToProtectHasBeenSet() const { return m_instancesToProtectHasBeenSet; } /** *Specific list of instances to be protected when shrinking an instance * group.
*/ inline void SetInstancesToProtect(const Aws::VectorSpecific list of instances to be protected when shrinking an instance * group.
*/ inline void SetInstancesToProtect(Aws::VectorSpecific list of instances to be protected when shrinking an instance * group.
*/ inline InstanceResizePolicy& WithInstancesToProtect(const Aws::VectorSpecific list of instances to be protected when shrinking an instance * group.
*/ inline InstanceResizePolicy& WithInstancesToProtect(Aws::VectorSpecific list of instances to be protected when shrinking an instance * group.
*/ inline InstanceResizePolicy& AddInstancesToProtect(const Aws::String& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.push_back(value); return *this; } /** *Specific list of instances to be protected when shrinking an instance * group.
*/ inline InstanceResizePolicy& AddInstancesToProtect(Aws::String&& value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.push_back(std::move(value)); return *this; } /** *Specific list of instances to be protected when shrinking an instance * group.
*/ inline InstanceResizePolicy& AddInstancesToProtect(const char* value) { m_instancesToProtectHasBeenSet = true; m_instancesToProtect.push_back(value); return *this; } /** *Decommissioning timeout override for the specific list of instances to be * terminated.
*/ inline int GetInstanceTerminationTimeout() const{ return m_instanceTerminationTimeout; } /** *Decommissioning timeout override for the specific list of instances to be * terminated.
*/ inline bool InstanceTerminationTimeoutHasBeenSet() const { return m_instanceTerminationTimeoutHasBeenSet; } /** *Decommissioning timeout override for the specific list of instances to be * terminated.
*/ inline void SetInstanceTerminationTimeout(int value) { m_instanceTerminationTimeoutHasBeenSet = true; m_instanceTerminationTimeout = value; } /** *Decommissioning timeout override for the specific list of instances to be * terminated.
*/ inline InstanceResizePolicy& WithInstanceTerminationTimeout(int value) { SetInstanceTerminationTimeout(value); return *this;} private: Aws::Vector