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

An object representing the details of an update to a taints payload. For more * information, see Node * taints on managed node groups.

See Also:

AWS * API Reference

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

Kubernetes taints to be added or updated.

*/ inline const Aws::Vector& GetAddOrUpdateTaints() const{ return m_addOrUpdateTaints; } /** *

Kubernetes taints to be added or updated.

*/ inline bool AddOrUpdateTaintsHasBeenSet() const { return m_addOrUpdateTaintsHasBeenSet; } /** *

Kubernetes taints to be added or updated.

*/ inline void SetAddOrUpdateTaints(const Aws::Vector& value) { m_addOrUpdateTaintsHasBeenSet = true; m_addOrUpdateTaints = value; } /** *

Kubernetes taints to be added or updated.

*/ inline void SetAddOrUpdateTaints(Aws::Vector&& value) { m_addOrUpdateTaintsHasBeenSet = true; m_addOrUpdateTaints = std::move(value); } /** *

Kubernetes taints to be added or updated.

*/ inline UpdateTaintsPayload& WithAddOrUpdateTaints(const Aws::Vector& value) { SetAddOrUpdateTaints(value); return *this;} /** *

Kubernetes taints to be added or updated.

*/ inline UpdateTaintsPayload& WithAddOrUpdateTaints(Aws::Vector&& value) { SetAddOrUpdateTaints(std::move(value)); return *this;} /** *

Kubernetes taints to be added or updated.

*/ inline UpdateTaintsPayload& AddAddOrUpdateTaints(const Taint& value) { m_addOrUpdateTaintsHasBeenSet = true; m_addOrUpdateTaints.push_back(value); return *this; } /** *

Kubernetes taints to be added or updated.

*/ inline UpdateTaintsPayload& AddAddOrUpdateTaints(Taint&& value) { m_addOrUpdateTaintsHasBeenSet = true; m_addOrUpdateTaints.push_back(std::move(value)); return *this; } /** *

Kubernetes taints to remove.

*/ inline const Aws::Vector& GetRemoveTaints() const{ return m_removeTaints; } /** *

Kubernetes taints to remove.

*/ inline bool RemoveTaintsHasBeenSet() const { return m_removeTaintsHasBeenSet; } /** *

Kubernetes taints to remove.

*/ inline void SetRemoveTaints(const Aws::Vector& value) { m_removeTaintsHasBeenSet = true; m_removeTaints = value; } /** *

Kubernetes taints to remove.

*/ inline void SetRemoveTaints(Aws::Vector&& value) { m_removeTaintsHasBeenSet = true; m_removeTaints = std::move(value); } /** *

Kubernetes taints to remove.

*/ inline UpdateTaintsPayload& WithRemoveTaints(const Aws::Vector& value) { SetRemoveTaints(value); return *this;} /** *

Kubernetes taints to remove.

*/ inline UpdateTaintsPayload& WithRemoveTaints(Aws::Vector&& value) { SetRemoveTaints(std::move(value)); return *this;} /** *

Kubernetes taints to remove.

*/ inline UpdateTaintsPayload& AddRemoveTaints(const Taint& value) { m_removeTaintsHasBeenSet = true; m_removeTaints.push_back(value); return *this; } /** *

Kubernetes taints to remove.

*/ inline UpdateTaintsPayload& AddRemoveTaints(Taint&& value) { m_removeTaintsHasBeenSet = true; m_removeTaints.push_back(std::move(value)); return *this; } private: Aws::Vector m_addOrUpdateTaints; bool m_addOrUpdateTaintsHasBeenSet = false; Aws::Vector m_removeTaints; bool m_removeTaintsHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws