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

Information about the state of the domain relative to the latest service * software.

See Also:

AWS * API Reference

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

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

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

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

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

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

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

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

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

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

*/ inline void SetAutomatedUpdateDate(const char* value) { m_automatedUpdateDateHasBeenSet = true; m_automatedUpdateDate.assign(value); } /** *

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

*/ inline AwsElasticsearchDomainServiceSoftwareOptions& WithAutomatedUpdateDate(const Aws::String& value) { SetAutomatedUpdateDate(value); return *this;} /** *

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

*/ inline AwsElasticsearchDomainServiceSoftwareOptions& WithAutomatedUpdateDate(Aws::String&& value) { SetAutomatedUpdateDate(std::move(value)); return *this;} /** *

The epoch time when the deployment window closes for required updates. After * this time, Amazon OpenSearch Service schedules the software upgrade * automatically.

*/ inline AwsElasticsearchDomainServiceSoftwareOptions& WithAutomatedUpdateDate(const char* value) { SetAutomatedUpdateDate(value); return *this;} /** *

Whether a request to update the domain can be canceled.

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

Whether a request to update the domain can be canceled.

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

Whether a request to update the domain can be canceled.

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

Whether a request to update the domain can be canceled.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

The version of the service software that is currently installed on the * domain.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

A more detailed description of the service software status.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

The most recent version of the service software.

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

Whether a service software update is available for the domain.

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

Whether a service software update is available for the domain.

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

Whether a service software update is available for the domain.

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

Whether a service software update is available for the domain.

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

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

    *
*/ inline const Aws::String& GetUpdateStatus() const{ return m_updateStatus; } /** *

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

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

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

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

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

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

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

    *
*/ inline void SetUpdateStatus(const char* value) { m_updateStatusHasBeenSet = true; m_updateStatus.assign(value); } /** *

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

    *
*/ inline AwsElasticsearchDomainServiceSoftwareOptions& WithUpdateStatus(const Aws::String& value) { SetUpdateStatus(value); return *this;} /** *

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

    *
*/ inline AwsElasticsearchDomainServiceSoftwareOptions& WithUpdateStatus(Aws::String&& value) { SetUpdateStatus(std::move(value)); return *this;} /** *

The status of the service software update. Valid values are as follows:

*
  • COMPLETED

  • ELIGIBLE *

  • IN_PROGRESS

  • * NOT_ELIGIBLE

  • PENDING_UPDATE

    *
*/ inline AwsElasticsearchDomainServiceSoftwareOptions& WithUpdateStatus(const char* value) { SetUpdateStatus(value); return *this;} private: Aws::String m_automatedUpdateDate; bool m_automatedUpdateDateHasBeenSet = false; bool m_cancellable; bool m_cancellableHasBeenSet = false; Aws::String m_currentVersion; bool m_currentVersionHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_newVersion; bool m_newVersionHasBeenSet = false; bool m_updateAvailable; bool m_updateAvailableHasBeenSet = false; Aws::String m_updateStatus; bool m_updateStatusHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws