/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Mobile
{
namespace Model
{
/**
* Detailed information about an AWS Mobile Hub project.
See
* Also:
AWS
* API Reference
*/
class ProjectDetails
{
public:
AWS_MOBILE_API ProjectDetails();
AWS_MOBILE_API ProjectDetails(Aws::Utils::Json::JsonView jsonValue);
AWS_MOBILE_API ProjectDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_MOBILE_API Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
inline ProjectDetails& WithName(const Aws::String& value) { SetName(value); return *this;}
inline ProjectDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
inline ProjectDetails& WithName(const char* value) { SetName(value); return *this;}
inline const Aws::String& GetProjectId() const{ return m_projectId; }
inline bool ProjectIdHasBeenSet() const { return m_projectIdHasBeenSet; }
inline void SetProjectId(const Aws::String& value) { m_projectIdHasBeenSet = true; m_projectId = value; }
inline void SetProjectId(Aws::String&& value) { m_projectIdHasBeenSet = true; m_projectId = std::move(value); }
inline void SetProjectId(const char* value) { m_projectIdHasBeenSet = true; m_projectId.assign(value); }
inline ProjectDetails& WithProjectId(const Aws::String& value) { SetProjectId(value); return *this;}
inline ProjectDetails& WithProjectId(Aws::String&& value) { SetProjectId(std::move(value)); return *this;}
inline ProjectDetails& WithProjectId(const char* value) { SetProjectId(value); return *this;}
inline const Aws::String& GetRegion() const{ return m_region; }
inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; }
inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; }
inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); }
inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); }
inline ProjectDetails& WithRegion(const Aws::String& value) { SetRegion(value); return *this;}
inline ProjectDetails& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;}
inline ProjectDetails& WithRegion(const char* value) { SetRegion(value); return *this;}
inline const ProjectState& GetState() const{ return m_state; }
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
inline void SetState(const ProjectState& value) { m_stateHasBeenSet = true; m_state = value; }
inline void SetState(ProjectState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
inline ProjectDetails& WithState(const ProjectState& value) { SetState(value); return *this;}
inline ProjectDetails& WithState(ProjectState&& value) { SetState(std::move(value)); return *this;}
/**
* Date the project was created.
*/
inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
/**
* Date the project was created.
*/
inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
/**
* Date the project was created.
*/
inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
/**
* Date the project was created.
*/
inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
/**
* Date the project was created.
*/
inline ProjectDetails& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
/**
* Date the project was created.
*/
inline ProjectDetails& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
/**
* Date of the last modification of the project.
*/
inline const Aws::Utils::DateTime& GetLastUpdatedDate() const{ return m_lastUpdatedDate; }
/**
* Date of the last modification of the project.
*/
inline bool LastUpdatedDateHasBeenSet() const { return m_lastUpdatedDateHasBeenSet; }
/**
* Date of the last modification of the project.
*/
inline void SetLastUpdatedDate(const Aws::Utils::DateTime& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = value; }
/**
* Date of the last modification of the project.
*/
inline void SetLastUpdatedDate(Aws::Utils::DateTime&& value) { m_lastUpdatedDateHasBeenSet = true; m_lastUpdatedDate = std::move(value); }
/**
* Date of the last modification of the project.
*/
inline ProjectDetails& WithLastUpdatedDate(const Aws::Utils::DateTime& value) { SetLastUpdatedDate(value); return *this;}
/**
* Date of the last modification of the project.
*/
inline ProjectDetails& WithLastUpdatedDate(Aws::Utils::DateTime&& value) { SetLastUpdatedDate(std::move(value)); return *this;}
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline const Aws::String& GetConsoleUrl() const{ return m_consoleUrl; }
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline bool ConsoleUrlHasBeenSet() const { return m_consoleUrlHasBeenSet; }
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline void SetConsoleUrl(const Aws::String& value) { m_consoleUrlHasBeenSet = true; m_consoleUrl = value; }
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline void SetConsoleUrl(Aws::String&& value) { m_consoleUrlHasBeenSet = true; m_consoleUrl = std::move(value); }
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline void SetConsoleUrl(const char* value) { m_consoleUrlHasBeenSet = true; m_consoleUrl.assign(value); }
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline ProjectDetails& WithConsoleUrl(const Aws::String& value) { SetConsoleUrl(value); return *this;}
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline ProjectDetails& WithConsoleUrl(Aws::String&& value) { SetConsoleUrl(std::move(value)); return *this;}
/**
* Website URL for this project in the AWS Mobile Hub console.
*/
inline ProjectDetails& WithConsoleUrl(const char* value) { SetConsoleUrl(value); return *this;}
inline const Aws::Vector& GetResources() const{ return m_resources; }
inline bool ResourcesHasBeenSet() const { return m_resourcesHasBeenSet; }
inline void SetResources(const Aws::Vector& value) { m_resourcesHasBeenSet = true; m_resources = value; }
inline void SetResources(Aws::Vector&& value) { m_resourcesHasBeenSet = true; m_resources = std::move(value); }
inline ProjectDetails& WithResources(const Aws::Vector& value) { SetResources(value); return *this;}
inline ProjectDetails& WithResources(Aws::Vector&& value) { SetResources(std::move(value)); return *this;}
inline ProjectDetails& AddResources(const Resource& value) { m_resourcesHasBeenSet = true; m_resources.push_back(value); return *this; }
inline ProjectDetails& AddResources(Resource&& value) { m_resourcesHasBeenSet = true; m_resources.push_back(std::move(value)); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet = false;
Aws::String m_projectId;
bool m_projectIdHasBeenSet = false;
Aws::String m_region;
bool m_regionHasBeenSet = false;
ProjectState m_state;
bool m_stateHasBeenSet = false;
Aws::Utils::DateTime m_createdDate;
bool m_createdDateHasBeenSet = false;
Aws::Utils::DateTime m_lastUpdatedDate;
bool m_lastUpdatedDateHasBeenSet = false;
Aws::String m_consoleUrl;
bool m_consoleUrlHasBeenSet = false;
Aws::Vector m_resources;
bool m_resourcesHasBeenSet = false;
};
} // namespace Model
} // namespace Mobile
} // namespace Aws