/** * 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 describing a project's placement.

See Also:

AWS * API Reference

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the project containing the placement.

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

The name of the placement.

*/ inline const Aws::String& GetPlacementName() const{ return m_placementName; } /** *

The name of the placement.

*/ inline bool PlacementNameHasBeenSet() const { return m_placementNameHasBeenSet; } /** *

The name of the placement.

*/ inline void SetPlacementName(const Aws::String& value) { m_placementNameHasBeenSet = true; m_placementName = value; } /** *

The name of the placement.

*/ inline void SetPlacementName(Aws::String&& value) { m_placementNameHasBeenSet = true; m_placementName = std::move(value); } /** *

The name of the placement.

*/ inline void SetPlacementName(const char* value) { m_placementNameHasBeenSet = true; m_placementName.assign(value); } /** *

The name of the placement.

*/ inline PlacementDescription& WithPlacementName(const Aws::String& value) { SetPlacementName(value); return *this;} /** *

The name of the placement.

*/ inline PlacementDescription& WithPlacementName(Aws::String&& value) { SetPlacementName(std::move(value)); return *this;} /** *

The name of the placement.

*/ inline PlacementDescription& WithPlacementName(const char* value) { SetPlacementName(value); return *this;} /** *

The user-defined attributes associated with the placement.

*/ inline const Aws::Map& GetAttributes() const{ return m_attributes; } /** *

The user-defined attributes associated with the placement.

*/ inline bool AttributesHasBeenSet() const { return m_attributesHasBeenSet; } /** *

The user-defined attributes associated with the placement.

*/ inline void SetAttributes(const Aws::Map& value) { m_attributesHasBeenSet = true; m_attributes = value; } /** *

The user-defined attributes associated with the placement.

*/ inline void SetAttributes(Aws::Map&& value) { m_attributesHasBeenSet = true; m_attributes = std::move(value); } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& WithAttributes(const Aws::Map& value) { SetAttributes(value); return *this;} /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& WithAttributes(Aws::Map&& value) { SetAttributes(std::move(value)); return *this;} /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(const Aws::String& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(Aws::String&& key, const Aws::String& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(const Aws::String& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(Aws::String&& key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), std::move(value)); return *this; } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(const char* key, Aws::String&& value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, std::move(value)); return *this; } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(Aws::String&& key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(std::move(key), value); return *this; } /** *

The user-defined attributes associated with the placement.

*/ inline PlacementDescription& AddAttributes(const char* key, const char* value) { m_attributesHasBeenSet = true; m_attributes.emplace(key, value); return *this; } /** *

The date when the placement was initially created, in UNIX epoch time * format.

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

The date when the placement was initially created, in UNIX epoch time * format.

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

The date when the placement was initially created, in UNIX epoch time * format.

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

The date when the placement was initially 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 placement was initially created, in UNIX epoch time * format.

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

The date when the placement was initially created, in UNIX epoch time * format.

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

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

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

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

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

The date when the placement was last updated, in UNIX epoch time format. If * the placement 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 placement was last updated, in UNIX epoch time format. If * the placement 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 placement was last updated, in UNIX epoch time format. If * the placement was not updated, then createdDate and * updatedDate are the same.

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

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

*/ inline PlacementDescription& WithUpdatedDate(Aws::Utils::DateTime&& value) { SetUpdatedDate(std::move(value)); return *this;} private: Aws::String m_projectName; bool m_projectNameHasBeenSet = false; Aws::String m_placementName; bool m_placementNameHasBeenSet = false; Aws::Map m_attributes; bool m_attributesHasBeenSet = false; Aws::Utils::DateTime m_createdDate; bool m_createdDateHasBeenSet = false; Aws::Utils::DateTime m_updatedDate; bool m_updatedDateHasBeenSet = false; }; } // namespace Model } // namespace IoT1ClickProjects } // namespace Aws