/** * 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 WAFV2 { namespace Model { /** *

Information for a release of the mobile SDK, including release notes and * tags.

The mobile SDK is not generally available. Customers who have * access to the mobile SDK can use it to establish and manage WAF tokens for use * in HTTP(S) requests from a mobile device to WAF. For more information, see WAF * client application integration in the WAF Developer * Guide.

See Also:

AWS * API Reference

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

The release version.

*/ inline const Aws::String& GetReleaseVersion() const{ return m_releaseVersion; } /** *

The release version.

*/ inline bool ReleaseVersionHasBeenSet() const { return m_releaseVersionHasBeenSet; } /** *

The release version.

*/ inline void SetReleaseVersion(const Aws::String& value) { m_releaseVersionHasBeenSet = true; m_releaseVersion = value; } /** *

The release version.

*/ inline void SetReleaseVersion(Aws::String&& value) { m_releaseVersionHasBeenSet = true; m_releaseVersion = std::move(value); } /** *

The release version.

*/ inline void SetReleaseVersion(const char* value) { m_releaseVersionHasBeenSet = true; m_releaseVersion.assign(value); } /** *

The release version.

*/ inline MobileSdkRelease& WithReleaseVersion(const Aws::String& value) { SetReleaseVersion(value); return *this;} /** *

The release version.

*/ inline MobileSdkRelease& WithReleaseVersion(Aws::String&& value) { SetReleaseVersion(std::move(value)); return *this;} /** *

The release version.

*/ inline MobileSdkRelease& WithReleaseVersion(const char* value) { SetReleaseVersion(value); return *this;} /** *

The timestamp of the release.

*/ inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } /** *

The timestamp of the release.

*/ inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } /** *

The timestamp of the release.

*/ inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } /** *

The timestamp of the release.

*/ inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } /** *

The timestamp of the release.

*/ inline MobileSdkRelease& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} /** *

The timestamp of the release.

*/ inline MobileSdkRelease& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} /** *

Notes describing the release.

*/ inline const Aws::String& GetReleaseNotes() const{ return m_releaseNotes; } /** *

Notes describing the release.

*/ inline bool ReleaseNotesHasBeenSet() const { return m_releaseNotesHasBeenSet; } /** *

Notes describing the release.

*/ inline void SetReleaseNotes(const Aws::String& value) { m_releaseNotesHasBeenSet = true; m_releaseNotes = value; } /** *

Notes describing the release.

*/ inline void SetReleaseNotes(Aws::String&& value) { m_releaseNotesHasBeenSet = true; m_releaseNotes = std::move(value); } /** *

Notes describing the release.

*/ inline void SetReleaseNotes(const char* value) { m_releaseNotesHasBeenSet = true; m_releaseNotes.assign(value); } /** *

Notes describing the release.

*/ inline MobileSdkRelease& WithReleaseNotes(const Aws::String& value) { SetReleaseNotes(value); return *this;} /** *

Notes describing the release.

*/ inline MobileSdkRelease& WithReleaseNotes(Aws::String&& value) { SetReleaseNotes(std::move(value)); return *this;} /** *

Notes describing the release.

*/ inline MobileSdkRelease& WithReleaseNotes(const char* value) { SetReleaseNotes(value); return *this;} /** *

Tags that are associated with the release.

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

Tags that are associated with the release.

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

Tags that are associated with the release.

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

Tags that are associated with the release.

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

Tags that are associated with the release.

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

Tags that are associated with the release.

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

Tags that are associated with the release.

*/ inline MobileSdkRelease& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Tags that are associated with the release.

*/ inline MobileSdkRelease& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_releaseVersion; bool m_releaseVersionHasBeenSet = false; Aws::Utils::DateTime m_timestamp; bool m_timestampHasBeenSet = false; Aws::String m_releaseNotes; bool m_releaseNotesHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace WAFV2 } // namespace Aws