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

The current status of the service software for an Amazon OpenSearch Service * domain. For more information, see Service * software updates in Amazon OpenSearch Service.

See Also:

AWS * API Reference

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

The current service software version present on the domain.

*/ inline const Aws::String& GetCurrentVersion() const{ return m_currentVersion; } /** *

The current service software version present on the domain.

*/ inline bool CurrentVersionHasBeenSet() const { return m_currentVersionHasBeenSet; } /** *

The current service software version present on the domain.

*/ inline void SetCurrentVersion(const Aws::String& value) { m_currentVersionHasBeenSet = true; m_currentVersion = value; } /** *

The current service software version present on the domain.

*/ inline void SetCurrentVersion(Aws::String&& value) { m_currentVersionHasBeenSet = true; m_currentVersion = std::move(value); } /** *

The current service software version present on the domain.

*/ inline void SetCurrentVersion(const char* value) { m_currentVersionHasBeenSet = true; m_currentVersion.assign(value); } /** *

The current service software version present on the domain.

*/ inline ServiceSoftwareOptions& WithCurrentVersion(const Aws::String& value) { SetCurrentVersion(value); return *this;} /** *

The current service software version present on the domain.

*/ inline ServiceSoftwareOptions& WithCurrentVersion(Aws::String&& value) { SetCurrentVersion(std::move(value)); return *this;} /** *

The current service software version present on the domain.

*/ inline ServiceSoftwareOptions& WithCurrentVersion(const char* value) { SetCurrentVersion(value); return *this;} /** *

The new service software version, if one is available.

*/ inline const Aws::String& GetNewVersion() const{ return m_newVersion; } /** *

The new service software version, if one is available.

*/ inline bool NewVersionHasBeenSet() const { return m_newVersionHasBeenSet; } /** *

The new service software version, if one is available.

*/ inline void SetNewVersion(const Aws::String& value) { m_newVersionHasBeenSet = true; m_newVersion = value; } /** *

The new service software version, if one is available.

*/ inline void SetNewVersion(Aws::String&& value) { m_newVersionHasBeenSet = true; m_newVersion = std::move(value); } /** *

The new service software version, if one is available.

*/ inline void SetNewVersion(const char* value) { m_newVersionHasBeenSet = true; m_newVersion.assign(value); } /** *

The new service software version, if one is available.

*/ inline ServiceSoftwareOptions& WithNewVersion(const Aws::String& value) { SetNewVersion(value); return *this;} /** *

The new service software version, if one is available.

*/ inline ServiceSoftwareOptions& WithNewVersion(Aws::String&& value) { SetNewVersion(std::move(value)); return *this;} /** *

The new service software version, if one is available.

*/ inline ServiceSoftwareOptions& WithNewVersion(const char* value) { SetNewVersion(value); return *this;} /** *

True if you're able to update your service software version. False if you * can't update your service software version.

*/ inline bool GetUpdateAvailable() const{ return m_updateAvailable; } /** *

True if you're able to update your service software version. False if you * can't update your service software version.

*/ inline bool UpdateAvailableHasBeenSet() const { return m_updateAvailableHasBeenSet; } /** *

True if you're able to update your service software version. False if you * can't update your service software version.

*/ inline void SetUpdateAvailable(bool value) { m_updateAvailableHasBeenSet = true; m_updateAvailable = value; } /** *

True if you're able to update your service software version. False if you * can't update your service software version.

*/ inline ServiceSoftwareOptions& WithUpdateAvailable(bool value) { SetUpdateAvailable(value); return *this;} /** *

True if you're able to cancel your service software version update. False if * you can't cancel your service software update.

*/ inline bool GetCancellable() const{ return m_cancellable; } /** *

True if you're able to cancel your service software version update. False if * you can't cancel your service software update.

*/ inline bool CancellableHasBeenSet() const { return m_cancellableHasBeenSet; } /** *

True if you're able to cancel your service software version update. False if * you can't cancel your service software update.

*/ inline void SetCancellable(bool value) { m_cancellableHasBeenSet = true; m_cancellable = value; } /** *

True if you're able to cancel your service software version update. False if * you can't cancel your service software update.

*/ inline ServiceSoftwareOptions& WithCancellable(bool value) { SetCancellable(value); return *this;} /** *

The status of your service software update.

*/ inline const DeploymentStatus& GetUpdateStatus() const{ return m_updateStatus; } /** *

The status of your service software update.

*/ inline bool UpdateStatusHasBeenSet() const { return m_updateStatusHasBeenSet; } /** *

The status of your service software update.

*/ inline void SetUpdateStatus(const DeploymentStatus& value) { m_updateStatusHasBeenSet = true; m_updateStatus = value; } /** *

The status of your service software update.

*/ inline void SetUpdateStatus(DeploymentStatus&& value) { m_updateStatusHasBeenSet = true; m_updateStatus = std::move(value); } /** *

The status of your service software update.

*/ inline ServiceSoftwareOptions& WithUpdateStatus(const DeploymentStatus& value) { SetUpdateStatus(value); return *this;} /** *

The status of your service software update.

*/ inline ServiceSoftwareOptions& WithUpdateStatus(DeploymentStatus&& value) { SetUpdateStatus(std::move(value)); return *this;} /** *

A description of the service software update status.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the service software update status.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the service software update status.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the service software update status.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the service software update status.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the service software update status.

*/ inline ServiceSoftwareOptions& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the service software update status.

*/ inline ServiceSoftwareOptions& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the service software update status.

*/ inline ServiceSoftwareOptions& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The timestamp, in Epoch time, until which you can manually request a service * software update. After this date, we automatically update your service * software.

*/ inline const Aws::Utils::DateTime& GetAutomatedUpdateDate() const{ return m_automatedUpdateDate; } /** *

The timestamp, in Epoch time, until which you can manually request a service * software update. After this date, we automatically update your service * software.

*/ inline bool AutomatedUpdateDateHasBeenSet() const { return m_automatedUpdateDateHasBeenSet; } /** *

The timestamp, in Epoch time, until which you can manually request a service * software update. After this date, we automatically update your service * software.

*/ inline void SetAutomatedUpdateDate(const Aws::Utils::DateTime& value) { m_automatedUpdateDateHasBeenSet = true; m_automatedUpdateDate = value; } /** *

The timestamp, in Epoch time, until which you can manually request a service * software update. After this date, we automatically update your service * software.

*/ inline void SetAutomatedUpdateDate(Aws::Utils::DateTime&& value) { m_automatedUpdateDateHasBeenSet = true; m_automatedUpdateDate = std::move(value); } /** *

The timestamp, in Epoch time, until which you can manually request a service * software update. After this date, we automatically update your service * software.

*/ inline ServiceSoftwareOptions& WithAutomatedUpdateDate(const Aws::Utils::DateTime& value) { SetAutomatedUpdateDate(value); return *this;} /** *

The timestamp, in Epoch time, until which you can manually request a service * software update. After this date, we automatically update your service * software.

*/ inline ServiceSoftwareOptions& WithAutomatedUpdateDate(Aws::Utils::DateTime&& value) { SetAutomatedUpdateDate(std::move(value)); return *this;} /** *

True if a service software is never automatically updated. False if a service * software is automatically updated after the automated update date.

*/ inline bool GetOptionalDeployment() const{ return m_optionalDeployment; } /** *

True if a service software is never automatically updated. False if a service * software is automatically updated after the automated update date.

*/ inline bool OptionalDeploymentHasBeenSet() const { return m_optionalDeploymentHasBeenSet; } /** *

True if a service software is never automatically updated. False if a service * software is automatically updated after the automated update date.

*/ inline void SetOptionalDeployment(bool value) { m_optionalDeploymentHasBeenSet = true; m_optionalDeployment = value; } /** *

True if a service software is never automatically updated. False if a service * software is automatically updated after the automated update date.

*/ inline ServiceSoftwareOptions& WithOptionalDeployment(bool value) { SetOptionalDeployment(value); return *this;} private: Aws::String m_currentVersion; bool m_currentVersionHasBeenSet = false; Aws::String m_newVersion; bool m_newVersionHasBeenSet = false; bool m_updateAvailable; bool m_updateAvailableHasBeenSet = false; bool m_cancellable; bool m_cancellableHasBeenSet = false; DeploymentStatus m_updateStatus; bool m_updateStatusHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Utils::DateTime m_automatedUpdateDate; bool m_automatedUpdateDateHasBeenSet = false; bool m_optionalDeployment; bool m_optionalDeploymentHasBeenSet = false; }; } // namespace Model } // namespace OpenSearchService } // namespace Aws