/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace EKS { namespace Model { /** *

Information about an add-on.

See Also:

AWS API * Reference

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

The name of the add-on.

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

The name of the add-on.

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

The name of the add-on.

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

The name of the add-on.

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

The name of the add-on.

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

The name of the add-on.

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

The name of the add-on.

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

The name of the add-on.

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

The type of the add-on.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of the add-on.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of the add-on.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of the add-on.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of the add-on.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of the add-on.

*/ inline AddonInfo& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of the add-on.

*/ inline AddonInfo& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of the add-on.

*/ inline AddonInfo& WithType(const char* value) { SetType(value); return *this;} /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline const Aws::Vector& GetAddonVersions() const{ return m_addonVersions; } /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline bool AddonVersionsHasBeenSet() const { return m_addonVersionsHasBeenSet; } /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline void SetAddonVersions(const Aws::Vector& value) { m_addonVersionsHasBeenSet = true; m_addonVersions = value; } /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline void SetAddonVersions(Aws::Vector&& value) { m_addonVersionsHasBeenSet = true; m_addonVersions = std::move(value); } /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline AddonInfo& WithAddonVersions(const Aws::Vector& value) { SetAddonVersions(value); return *this;} /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline AddonInfo& WithAddonVersions(Aws::Vector&& value) { SetAddonVersions(std::move(value)); return *this;} /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline AddonInfo& AddAddonVersions(const AddonVersionInfo& value) { m_addonVersionsHasBeenSet = true; m_addonVersions.push_back(value); return *this; } /** *

An object representing information about available add-on versions and * compatible Kubernetes versions.

*/ inline AddonInfo& AddAddonVersions(AddonVersionInfo&& value) { m_addonVersionsHasBeenSet = true; m_addonVersions.push_back(std::move(value)); return *this; } /** *

The publisher of the add-on.

*/ inline const Aws::String& GetPublisher() const{ return m_publisher; } /** *

The publisher of the add-on.

*/ inline bool PublisherHasBeenSet() const { return m_publisherHasBeenSet; } /** *

The publisher of the add-on.

*/ inline void SetPublisher(const Aws::String& value) { m_publisherHasBeenSet = true; m_publisher = value; } /** *

The publisher of the add-on.

*/ inline void SetPublisher(Aws::String&& value) { m_publisherHasBeenSet = true; m_publisher = std::move(value); } /** *

The publisher of the add-on.

*/ inline void SetPublisher(const char* value) { m_publisherHasBeenSet = true; m_publisher.assign(value); } /** *

The publisher of the add-on.

*/ inline AddonInfo& WithPublisher(const Aws::String& value) { SetPublisher(value); return *this;} /** *

The publisher of the add-on.

*/ inline AddonInfo& WithPublisher(Aws::String&& value) { SetPublisher(std::move(value)); return *this;} /** *

The publisher of the add-on.

*/ inline AddonInfo& WithPublisher(const char* value) { SetPublisher(value); return *this;} /** *

The owner of the add-on.

*/ inline const Aws::String& GetOwner() const{ return m_owner; } /** *

The owner of the add-on.

*/ inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; } /** *

The owner of the add-on.

*/ inline void SetOwner(const Aws::String& value) { m_ownerHasBeenSet = true; m_owner = value; } /** *

The owner of the add-on.

*/ inline void SetOwner(Aws::String&& value) { m_ownerHasBeenSet = true; m_owner = std::move(value); } /** *

The owner of the add-on.

*/ inline void SetOwner(const char* value) { m_ownerHasBeenSet = true; m_owner.assign(value); } /** *

The owner of the add-on.

*/ inline AddonInfo& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} /** *

The owner of the add-on.

*/ inline AddonInfo& WithOwner(Aws::String&& value) { SetOwner(std::move(value)); return *this;} /** *

The owner of the add-on.

*/ inline AddonInfo& WithOwner(const char* value) { SetOwner(value); return *this;} /** *

Information about the add-on from the Amazon Web Services Marketplace.

*/ inline const MarketplaceInformation& GetMarketplaceInformation() const{ return m_marketplaceInformation; } /** *

Information about the add-on from the Amazon Web Services Marketplace.

*/ inline bool MarketplaceInformationHasBeenSet() const { return m_marketplaceInformationHasBeenSet; } /** *

Information about the add-on from the Amazon Web Services Marketplace.

*/ inline void SetMarketplaceInformation(const MarketplaceInformation& value) { m_marketplaceInformationHasBeenSet = true; m_marketplaceInformation = value; } /** *

Information about the add-on from the Amazon Web Services Marketplace.

*/ inline void SetMarketplaceInformation(MarketplaceInformation&& value) { m_marketplaceInformationHasBeenSet = true; m_marketplaceInformation = std::move(value); } /** *

Information about the add-on from the Amazon Web Services Marketplace.

*/ inline AddonInfo& WithMarketplaceInformation(const MarketplaceInformation& value) { SetMarketplaceInformation(value); return *this;} /** *

Information about the add-on from the Amazon Web Services Marketplace.

*/ inline AddonInfo& WithMarketplaceInformation(MarketplaceInformation&& value) { SetMarketplaceInformation(std::move(value)); return *this;} private: Aws::String m_addonName; bool m_addonNameHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; Aws::Vector m_addonVersions; bool m_addonVersionsHasBeenSet = false; Aws::String m_publisher; bool m_publisherHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; MarketplaceInformation m_marketplaceInformation; bool m_marketplaceInformationHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws