/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace EMR { namespace Model { class DescribeReleaseLabelResult { public: AWS_EMR_API DescribeReleaseLabelResult(); AWS_EMR_API DescribeReleaseLabelResult(const Aws::AmazonWebServiceResult& result); AWS_EMR_API DescribeReleaseLabelResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The target release label described in the response.

*/ inline const Aws::String& GetReleaseLabel() const{ return m_releaseLabel; } /** *

The target release label described in the response.

*/ inline void SetReleaseLabel(const Aws::String& value) { m_releaseLabel = value; } /** *

The target release label described in the response.

*/ inline void SetReleaseLabel(Aws::String&& value) { m_releaseLabel = std::move(value); } /** *

The target release label described in the response.

*/ inline void SetReleaseLabel(const char* value) { m_releaseLabel.assign(value); } /** *

The target release label described in the response.

*/ inline DescribeReleaseLabelResult& WithReleaseLabel(const Aws::String& value) { SetReleaseLabel(value); return *this;} /** *

The target release label described in the response.

*/ inline DescribeReleaseLabelResult& WithReleaseLabel(Aws::String&& value) { SetReleaseLabel(std::move(value)); return *this;} /** *

The target release label described in the response.

*/ inline DescribeReleaseLabelResult& WithReleaseLabel(const char* value) { SetReleaseLabel(value); return *this;} /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline const Aws::Vector& GetApplications() const{ return m_applications; } /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline void SetApplications(const Aws::Vector& value) { m_applications = value; } /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline void SetApplications(Aws::Vector&& value) { m_applications = std::move(value); } /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline DescribeReleaseLabelResult& WithApplications(const Aws::Vector& value) { SetApplications(value); return *this;} /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline DescribeReleaseLabelResult& WithApplications(Aws::Vector&& value) { SetApplications(std::move(value)); return *this;} /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline DescribeReleaseLabelResult& AddApplications(const SimplifiedApplication& value) { m_applications.push_back(value); return *this; } /** *

The list of applications available for the target release label. * Name is the name of the application. Version is the * concise version of the application.

*/ inline DescribeReleaseLabelResult& AddApplications(SimplifiedApplication&& value) { m_applications.push_back(std::move(value)); return *this; } /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline void SetNextToken(const Aws::String& value) { m_nextToken = value; } /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); } /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline void SetNextToken(const char* value) { m_nextToken.assign(value); } /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline DescribeReleaseLabelResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline DescribeReleaseLabelResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

The pagination token. Reserved for future use. Currently set to null.

*/ inline DescribeReleaseLabelResult& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline const Aws::Vector& GetAvailableOSReleases() const{ return m_availableOSReleases; } /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline void SetAvailableOSReleases(const Aws::Vector& value) { m_availableOSReleases = value; } /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline void SetAvailableOSReleases(Aws::Vector&& value) { m_availableOSReleases = std::move(value); } /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline DescribeReleaseLabelResult& WithAvailableOSReleases(const Aws::Vector& value) { SetAvailableOSReleases(value); return *this;} /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline DescribeReleaseLabelResult& WithAvailableOSReleases(Aws::Vector&& value) { SetAvailableOSReleases(std::move(value)); return *this;} /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline DescribeReleaseLabelResult& AddAvailableOSReleases(const OSRelease& value) { m_availableOSReleases.push_back(value); return *this; } /** *

The list of available Amazon Linux release versions for an Amazon EMR * release. Contains a Label field that is formatted as shown in * Amazon Linux 2 Release Notes . For example, 2.0.20220218.1.

*/ inline DescribeReleaseLabelResult& AddAvailableOSReleases(OSRelease&& value) { m_availableOSReleases.push_back(std::move(value)); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeReleaseLabelResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeReleaseLabelResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeReleaseLabelResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_releaseLabel; Aws::Vector m_applications; Aws::String m_nextToken; Aws::Vector m_availableOSReleases; Aws::String m_requestId; }; } // namespace Model } // namespace EMR } // namespace Aws