/** * 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 Http { class URI; } //namespace Http namespace EKS { namespace Model { /** */ class DeleteAddonRequest : public EKSRequest { public: AWS_EKS_API DeleteAddonRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeleteAddon"; } AWS_EKS_API Aws::String SerializePayload() const override; AWS_EKS_API void AddQueryStringParameters(Aws::Http::URI& uri) const override; /** *

The name of the cluster to delete the add-on from.

*/ inline const Aws::String& GetClusterName() const{ return m_clusterName; } /** *

The name of the cluster to delete the add-on from.

*/ inline bool ClusterNameHasBeenSet() const { return m_clusterNameHasBeenSet; } /** *

The name of the cluster to delete the add-on from.

*/ inline void SetClusterName(const Aws::String& value) { m_clusterNameHasBeenSet = true; m_clusterName = value; } /** *

The name of the cluster to delete the add-on from.

*/ inline void SetClusterName(Aws::String&& value) { m_clusterNameHasBeenSet = true; m_clusterName = std::move(value); } /** *

The name of the cluster to delete the add-on from.

*/ inline void SetClusterName(const char* value) { m_clusterNameHasBeenSet = true; m_clusterName.assign(value); } /** *

The name of the cluster to delete the add-on from.

*/ inline DeleteAddonRequest& WithClusterName(const Aws::String& value) { SetClusterName(value); return *this;} /** *

The name of the cluster to delete the add-on from.

*/ inline DeleteAddonRequest& WithClusterName(Aws::String&& value) { SetClusterName(std::move(value)); return *this;} /** *

The name of the cluster to delete the add-on from.

*/ inline DeleteAddonRequest& WithClusterName(const char* value) { SetClusterName(value); return *this;} /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline const Aws::String& GetAddonName() const{ return m_addonName; } /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline bool AddonNameHasBeenSet() const { return m_addonNameHasBeenSet; } /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline void SetAddonName(const Aws::String& value) { m_addonNameHasBeenSet = true; m_addonName = value; } /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline void SetAddonName(Aws::String&& value) { m_addonNameHasBeenSet = true; m_addonName = std::move(value); } /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline void SetAddonName(const char* value) { m_addonNameHasBeenSet = true; m_addonName.assign(value); } /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline DeleteAddonRequest& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline DeleteAddonRequest& WithAddonName(Aws::String&& value) { SetAddonName(std::move(value)); return *this;} /** *

The name of the add-on. The name must match one of the names returned by * ListAddons .

*/ inline DeleteAddonRequest& WithAddonName(const char* value) { SetAddonName(value); return *this;} /** *

Specifying this option preserves the add-on software on your cluster but * Amazon EKS stops managing any settings for the add-on. If an IAM account is * associated with the add-on, it isn't removed.

*/ inline bool GetPreserve() const{ return m_preserve; } /** *

Specifying this option preserves the add-on software on your cluster but * Amazon EKS stops managing any settings for the add-on. If an IAM account is * associated with the add-on, it isn't removed.

*/ inline bool PreserveHasBeenSet() const { return m_preserveHasBeenSet; } /** *

Specifying this option preserves the add-on software on your cluster but * Amazon EKS stops managing any settings for the add-on. If an IAM account is * associated with the add-on, it isn't removed.

*/ inline void SetPreserve(bool value) { m_preserveHasBeenSet = true; m_preserve = value; } /** *

Specifying this option preserves the add-on software on your cluster but * Amazon EKS stops managing any settings for the add-on. If an IAM account is * associated with the add-on, it isn't removed.

*/ inline DeleteAddonRequest& WithPreserve(bool value) { SetPreserve(value); return *this;} private: Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; Aws::String m_addonName; bool m_addonNameHasBeenSet = false; bool m_preserve; bool m_preserveHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws