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

An Amazon EKS add-on. For more information, see Amazon * EKS add-ons in the Amazon EKS User Guide.

See Also:

* AWS API * Reference

*/ class Addon { public: AWS_EKS_API Addon(); AWS_EKS_API Addon(Aws::Utils::Json::JsonView jsonValue); AWS_EKS_API Addon& 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 Addon& WithAddonName(const Aws::String& value) { SetAddonName(value); return *this;} /** *

The name of the add-on.

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

The name of the add-on.

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

The name of the cluster.

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

The name of the cluster.

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

The name of the cluster.

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

The name of the cluster.

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

The name of the cluster.

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

The name of the cluster.

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

The name of the cluster.

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

The name of the cluster.

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

The status of the add-on.

*/ inline const AddonStatus& GetStatus() const{ return m_status; } /** *

The status of the add-on.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the add-on.

*/ inline void SetStatus(const AddonStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the add-on.

*/ inline void SetStatus(AddonStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the add-on.

*/ inline Addon& WithStatus(const AddonStatus& value) { SetStatus(value); return *this;} /** *

The status of the add-on.

*/ inline Addon& WithStatus(AddonStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The version of the add-on.

*/ inline const Aws::String& GetAddonVersion() const{ return m_addonVersion; } /** *

The version of the add-on.

*/ inline bool AddonVersionHasBeenSet() const { return m_addonVersionHasBeenSet; } /** *

The version of the add-on.

*/ inline void SetAddonVersion(const Aws::String& value) { m_addonVersionHasBeenSet = true; m_addonVersion = value; } /** *

The version of the add-on.

*/ inline void SetAddonVersion(Aws::String&& value) { m_addonVersionHasBeenSet = true; m_addonVersion = std::move(value); } /** *

The version of the add-on.

*/ inline void SetAddonVersion(const char* value) { m_addonVersionHasBeenSet = true; m_addonVersion.assign(value); } /** *

The version of the add-on.

*/ inline Addon& WithAddonVersion(const Aws::String& value) { SetAddonVersion(value); return *this;} /** *

The version of the add-on.

*/ inline Addon& WithAddonVersion(Aws::String&& value) { SetAddonVersion(std::move(value)); return *this;} /** *

The version of the add-on.

*/ inline Addon& WithAddonVersion(const char* value) { SetAddonVersion(value); return *this;} /** *

An object that represents the health of the add-on.

*/ inline const AddonHealth& GetHealth() const{ return m_health; } /** *

An object that represents the health of the add-on.

*/ inline bool HealthHasBeenSet() const { return m_healthHasBeenSet; } /** *

An object that represents the health of the add-on.

*/ inline void SetHealth(const AddonHealth& value) { m_healthHasBeenSet = true; m_health = value; } /** *

An object that represents the health of the add-on.

*/ inline void SetHealth(AddonHealth&& value) { m_healthHasBeenSet = true; m_health = std::move(value); } /** *

An object that represents the health of the add-on.

*/ inline Addon& WithHealth(const AddonHealth& value) { SetHealth(value); return *this;} /** *

An object that represents the health of the add-on.

*/ inline Addon& WithHealth(AddonHealth&& value) { SetHealth(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline const Aws::String& GetAddonArn() const{ return m_addonArn; } /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline bool AddonArnHasBeenSet() const { return m_addonArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline void SetAddonArn(const Aws::String& value) { m_addonArnHasBeenSet = true; m_addonArn = value; } /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline void SetAddonArn(Aws::String&& value) { m_addonArnHasBeenSet = true; m_addonArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline void SetAddonArn(const char* value) { m_addonArnHasBeenSet = true; m_addonArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline Addon& WithAddonArn(const Aws::String& value) { SetAddonArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline Addon& WithAddonArn(Aws::String&& value) { SetAddonArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the add-on.

*/ inline Addon& WithAddonArn(const char* value) { SetAddonArn(value); return *this;} /** *

The date and time that the add-on was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The date and time that the add-on was created.

*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *

The date and time that the add-on was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *

The date and time that the add-on was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *

The date and time that the add-on was created.

*/ inline Addon& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The date and time that the add-on was created.

*/ inline Addon& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *

The date and time that the add-on was last modified.

*/ inline const Aws::Utils::DateTime& GetModifiedAt() const{ return m_modifiedAt; } /** *

The date and time that the add-on was last modified.

*/ inline bool ModifiedAtHasBeenSet() const { return m_modifiedAtHasBeenSet; } /** *

The date and time that the add-on was last modified.

*/ inline void SetModifiedAt(const Aws::Utils::DateTime& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = value; } /** *

The date and time that the add-on was last modified.

*/ inline void SetModifiedAt(Aws::Utils::DateTime&& value) { m_modifiedAtHasBeenSet = true; m_modifiedAt = std::move(value); } /** *

The date and time that the add-on was last modified.

*/ inline Addon& WithModifiedAt(const Aws::Utils::DateTime& value) { SetModifiedAt(value); return *this;} /** *

The date and time that the add-on was last modified.

*/ inline Addon& WithModifiedAt(Aws::Utils::DateTime&& value) { SetModifiedAt(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline const Aws::String& GetServiceAccountRoleArn() const{ return m_serviceAccountRoleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline bool ServiceAccountRoleArnHasBeenSet() const { return m_serviceAccountRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline void SetServiceAccountRoleArn(const Aws::String& value) { m_serviceAccountRoleArnHasBeenSet = true; m_serviceAccountRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline void SetServiceAccountRoleArn(Aws::String&& value) { m_serviceAccountRoleArnHasBeenSet = true; m_serviceAccountRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline void SetServiceAccountRoleArn(const char* value) { m_serviceAccountRoleArnHasBeenSet = true; m_serviceAccountRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline Addon& WithServiceAccountRoleArn(const Aws::String& value) { SetServiceAccountRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline Addon& WithServiceAccountRoleArn(Aws::String&& value) { SetServiceAccountRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role that's bound to the Kubernetes * service account that the add-on uses.

*/ inline Addon& WithServiceAccountRoleArn(const char* value) { SetServiceAccountRoleArn(value); return *this;} /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The metadata that you apply to the add-on to assist with categorization and * organization. Each tag consists of a key and an optional value. You define both. * Add-on tags do not propagate to any other resources associated with the cluster. *

*/ inline Addon& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, 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 Addon& WithPublisher(const Aws::String& value) { SetPublisher(value); return *this;} /** *

The publisher of the add-on.

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

The publisher of the add-on.

*/ inline Addon& 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 Addon& WithOwner(const Aws::String& value) { SetOwner(value); return *this;} /** *

The owner of the add-on.

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

The owner of the add-on.

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline Addon& WithMarketplaceInformation(MarketplaceInformation&& value) { SetMarketplaceInformation(std::move(value)); return *this;} /** *

The configuration values that you provided.

*/ inline const Aws::String& GetConfigurationValues() const{ return m_configurationValues; } /** *

The configuration values that you provided.

*/ inline bool ConfigurationValuesHasBeenSet() const { return m_configurationValuesHasBeenSet; } /** *

The configuration values that you provided.

*/ inline void SetConfigurationValues(const Aws::String& value) { m_configurationValuesHasBeenSet = true; m_configurationValues = value; } /** *

The configuration values that you provided.

*/ inline void SetConfigurationValues(Aws::String&& value) { m_configurationValuesHasBeenSet = true; m_configurationValues = std::move(value); } /** *

The configuration values that you provided.

*/ inline void SetConfigurationValues(const char* value) { m_configurationValuesHasBeenSet = true; m_configurationValues.assign(value); } /** *

The configuration values that you provided.

*/ inline Addon& WithConfigurationValues(const Aws::String& value) { SetConfigurationValues(value); return *this;} /** *

The configuration values that you provided.

*/ inline Addon& WithConfigurationValues(Aws::String&& value) { SetConfigurationValues(std::move(value)); return *this;} /** *

The configuration values that you provided.

*/ inline Addon& WithConfigurationValues(const char* value) { SetConfigurationValues(value); return *this;} private: Aws::String m_addonName; bool m_addonNameHasBeenSet = false; Aws::String m_clusterName; bool m_clusterNameHasBeenSet = false; AddonStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_addonVersion; bool m_addonVersionHasBeenSet = false; AddonHealth m_health; bool m_healthHasBeenSet = false; Aws::String m_addonArn; bool m_addonArnHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::Utils::DateTime m_modifiedAt; bool m_modifiedAtHasBeenSet = false; Aws::String m_serviceAccountRoleArn; bool m_serviceAccountRoleArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_publisher; bool m_publisherHasBeenSet = false; Aws::String m_owner; bool m_ownerHasBeenSet = false; MarketplaceInformation m_marketplaceInformation; bool m_marketplaceInformationHasBeenSet = false; Aws::String m_configurationValues; bool m_configurationValuesHasBeenSet = false; }; } // namespace Model } // namespace EKS } // namespace Aws