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

An object providing summary information for a particular project for an * associated AWS account and region.

See Also:

AWS * API Reference

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

The ARN of the project.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The ARN of the project.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The ARN of the project.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The ARN of the project.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The ARN of the project.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The ARN of the project.

*/ inline ProjectSummary& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The ARN of the project.

*/ inline ProjectSummary& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The ARN of the project.

*/ inline ProjectSummary& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the project being summarized.

*/ inline const Aws::String& GetProjectName() const{ return m_projectName; } /** *

The name of the project being summarized.

*/ inline bool ProjectNameHasBeenSet() const { return m_projectNameHasBeenSet; } /** *

The name of the project being summarized.

*/ inline void SetProjectName(const Aws::String& value) { m_projectNameHasBeenSet = true; m_projectName = value; } /** *

The name of the project being summarized.

*/ inline void SetProjectName(Aws::String&& value) { m_projectNameHasBeenSet = true; m_projectName = std::move(value); } /** *

The name of the project being summarized.

*/ inline void SetProjectName(const char* value) { m_projectNameHasBeenSet = true; m_projectName.assign(value); } /** *

The name of the project being summarized.

*/ inline ProjectSummary& WithProjectName(const Aws::String& value) { SetProjectName(value); return *this;} /** *

The name of the project being summarized.

*/ inline ProjectSummary& WithProjectName(Aws::String&& value) { SetProjectName(std::move(value)); return *this;} /** *

The name of the project being summarized.

*/ inline ProjectSummary& WithProjectName(const char* value) { SetProjectName(value); return *this;} /** *

The date when the project was originally created, in UNIX epoch time * format.

*/ inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; } /** *

The date when the project was originally created, in UNIX epoch time * format.

*/ inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } /** *

The date when the project was originally created, in UNIX epoch time * format.

*/ inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } /** *

The date when the project was originally created, in UNIX epoch time * format.

*/ inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } /** *

The date when the project was originally created, in UNIX epoch time * format.

*/ inline ProjectSummary& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;} /** *

The date when the project was originally created, in UNIX epoch time * format.

*/ inline ProjectSummary& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;} /** *

The date when the project was last updated, in UNIX epoch time format. If the * project was not updated, then createdDate and * updatedDate are the same.

*/ inline const Aws::Utils::DateTime& GetUpdatedDate() const{ return m_updatedDate; } /** *

The date when the project was last updated, in UNIX epoch time format. If the * project was not updated, then createdDate and * updatedDate are the same.

*/ inline bool UpdatedDateHasBeenSet() const { return m_updatedDateHasBeenSet; } /** *

The date when the project was last updated, in UNIX epoch time format. If the * project was not updated, then createdDate and * updatedDate are the same.

*/ inline void SetUpdatedDate(const Aws::Utils::DateTime& value) { m_updatedDateHasBeenSet = true; m_updatedDate = value; } /** *

The date when the project was last updated, in UNIX epoch time format. If the * project was not updated, then createdDate and * updatedDate are the same.

*/ inline void SetUpdatedDate(Aws::Utils::DateTime&& value) { m_updatedDateHasBeenSet = true; m_updatedDate = std::move(value); } /** *

The date when the project was last updated, in UNIX epoch time format. If the * project was not updated, then createdDate and * updatedDate are the same.

*/ inline ProjectSummary& WithUpdatedDate(const Aws::Utils::DateTime& value) { SetUpdatedDate(value); return *this;} /** *

The date when the project was last updated, in UNIX epoch time format. If the * project was not updated, then createdDate and * updatedDate are the same.

*/ inline ProjectSummary& WithUpdatedDate(Aws::Utils::DateTime&& value) { SetUpdatedDate(std::move(value)); return *this;} /** *

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

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

The tags (metadata key/value pairs) associated with the project.

*/ inline ProjectSummary& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_projectName; bool m_projectNameHasBeenSet = false; Aws::Utils::DateTime m_createdDate; bool m_createdDateHasBeenSet = false; Aws::Utils::DateTime m_updatedDate; bool m_updatedDateHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace IoT1ClickProjects } // namespace Aws