/** * 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 #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Panorama { namespace Model { /** *

An application instance on a device.

See Also:

AWS * API Reference

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

The application instance's ID.

*/ inline const Aws::String& GetApplicationInstanceId() const{ return m_applicationInstanceId; } /** *

The application instance's ID.

*/ inline bool ApplicationInstanceIdHasBeenSet() const { return m_applicationInstanceIdHasBeenSet; } /** *

The application instance's ID.

*/ inline void SetApplicationInstanceId(const Aws::String& value) { m_applicationInstanceIdHasBeenSet = true; m_applicationInstanceId = value; } /** *

The application instance's ID.

*/ inline void SetApplicationInstanceId(Aws::String&& value) { m_applicationInstanceIdHasBeenSet = true; m_applicationInstanceId = std::move(value); } /** *

The application instance's ID.

*/ inline void SetApplicationInstanceId(const char* value) { m_applicationInstanceIdHasBeenSet = true; m_applicationInstanceId.assign(value); } /** *

The application instance's ID.

*/ inline ApplicationInstance& WithApplicationInstanceId(const Aws::String& value) { SetApplicationInstanceId(value); return *this;} /** *

The application instance's ID.

*/ inline ApplicationInstance& WithApplicationInstanceId(Aws::String&& value) { SetApplicationInstanceId(std::move(value)); return *this;} /** *

The application instance's ID.

*/ inline ApplicationInstance& WithApplicationInstanceId(const char* value) { SetApplicationInstanceId(value); return *this;} /** *

The application instance's ARN.

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

The application instance's ARN.

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

The application instance's ARN.

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

The application instance's ARN.

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

The application instance's ARN.

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

The application instance's ARN.

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

The application instance's ARN.

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

The application instance's ARN.

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

When the application instance was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

When the application instance was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

When the application instance was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

When the application instance was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

When the application instance was created.

*/ inline ApplicationInstance& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

When the application instance was created.

*/ inline ApplicationInstance& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The device's ID.

*/ inline const Aws::String& GetDefaultRuntimeContextDevice() const{ return m_defaultRuntimeContextDevice; } /** *

The device's ID.

*/ inline bool DefaultRuntimeContextDeviceHasBeenSet() const { return m_defaultRuntimeContextDeviceHasBeenSet; } /** *

The device's ID.

*/ inline void SetDefaultRuntimeContextDevice(const Aws::String& value) { m_defaultRuntimeContextDeviceHasBeenSet = true; m_defaultRuntimeContextDevice = value; } /** *

The device's ID.

*/ inline void SetDefaultRuntimeContextDevice(Aws::String&& value) { m_defaultRuntimeContextDeviceHasBeenSet = true; m_defaultRuntimeContextDevice = std::move(value); } /** *

The device's ID.

*/ inline void SetDefaultRuntimeContextDevice(const char* value) { m_defaultRuntimeContextDeviceHasBeenSet = true; m_defaultRuntimeContextDevice.assign(value); } /** *

The device's ID.

*/ inline ApplicationInstance& WithDefaultRuntimeContextDevice(const Aws::String& value) { SetDefaultRuntimeContextDevice(value); return *this;} /** *

The device's ID.

*/ inline ApplicationInstance& WithDefaultRuntimeContextDevice(Aws::String&& value) { SetDefaultRuntimeContextDevice(std::move(value)); return *this;} /** *

The device's ID.

*/ inline ApplicationInstance& WithDefaultRuntimeContextDevice(const char* value) { SetDefaultRuntimeContextDevice(value); return *this;} /** *

The device's name.

*/ inline const Aws::String& GetDefaultRuntimeContextDeviceName() const{ return m_defaultRuntimeContextDeviceName; } /** *

The device's name.

*/ inline bool DefaultRuntimeContextDeviceNameHasBeenSet() const { return m_defaultRuntimeContextDeviceNameHasBeenSet; } /** *

The device's name.

*/ inline void SetDefaultRuntimeContextDeviceName(const Aws::String& value) { m_defaultRuntimeContextDeviceNameHasBeenSet = true; m_defaultRuntimeContextDeviceName = value; } /** *

The device's name.

*/ inline void SetDefaultRuntimeContextDeviceName(Aws::String&& value) { m_defaultRuntimeContextDeviceNameHasBeenSet = true; m_defaultRuntimeContextDeviceName = std::move(value); } /** *

The device's name.

*/ inline void SetDefaultRuntimeContextDeviceName(const char* value) { m_defaultRuntimeContextDeviceNameHasBeenSet = true; m_defaultRuntimeContextDeviceName.assign(value); } /** *

The device's name.

*/ inline ApplicationInstance& WithDefaultRuntimeContextDeviceName(const Aws::String& value) { SetDefaultRuntimeContextDeviceName(value); return *this;} /** *

The device's name.

*/ inline ApplicationInstance& WithDefaultRuntimeContextDeviceName(Aws::String&& value) { SetDefaultRuntimeContextDeviceName(std::move(value)); return *this;} /** *

The device's name.

*/ inline ApplicationInstance& WithDefaultRuntimeContextDeviceName(const char* value) { SetDefaultRuntimeContextDeviceName(value); return *this;} /** *

The application instance's description.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The application instance's description.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The application instance's description.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The application instance's description.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The application instance's description.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The application instance's description.

*/ inline ApplicationInstance& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The application instance's description.

*/ inline ApplicationInstance& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The application instance's description.

*/ inline ApplicationInstance& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The application instance's health status.

*/ inline const ApplicationInstanceHealthStatus& GetHealthStatus() const{ return m_healthStatus; } /** *

The application instance's health status.

*/ inline bool HealthStatusHasBeenSet() const { return m_healthStatusHasBeenSet; } /** *

The application instance's health status.

*/ inline void SetHealthStatus(const ApplicationInstanceHealthStatus& value) { m_healthStatusHasBeenSet = true; m_healthStatus = value; } /** *

The application instance's health status.

*/ inline void SetHealthStatus(ApplicationInstanceHealthStatus&& value) { m_healthStatusHasBeenSet = true; m_healthStatus = std::move(value); } /** *

The application instance's health status.

*/ inline ApplicationInstance& WithHealthStatus(const ApplicationInstanceHealthStatus& value) { SetHealthStatus(value); return *this;} /** *

The application instance's health status.

*/ inline ApplicationInstance& WithHealthStatus(ApplicationInstanceHealthStatus&& value) { SetHealthStatus(std::move(value)); return *this;} /** *

The application instance's name.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The application instance's name.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The application instance's name.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The application instance's name.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The application instance's name.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The application instance's name.

*/ inline ApplicationInstance& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The application instance's name.

*/ inline ApplicationInstance& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The application instance's name.

*/ inline ApplicationInstance& WithName(const char* value) { SetName(value); return *this;} /** *

The application's state.

*/ inline const Aws::Vector& GetRuntimeContextStates() const{ return m_runtimeContextStates; } /** *

The application's state.

*/ inline bool RuntimeContextStatesHasBeenSet() const { return m_runtimeContextStatesHasBeenSet; } /** *

The application's state.

*/ inline void SetRuntimeContextStates(const Aws::Vector& value) { m_runtimeContextStatesHasBeenSet = true; m_runtimeContextStates = value; } /** *

The application's state.

*/ inline void SetRuntimeContextStates(Aws::Vector&& value) { m_runtimeContextStatesHasBeenSet = true; m_runtimeContextStates = std::move(value); } /** *

The application's state.

*/ inline ApplicationInstance& WithRuntimeContextStates(const Aws::Vector& value) { SetRuntimeContextStates(value); return *this;} /** *

The application's state.

*/ inline ApplicationInstance& WithRuntimeContextStates(Aws::Vector&& value) { SetRuntimeContextStates(std::move(value)); return *this;} /** *

The application's state.

*/ inline ApplicationInstance& AddRuntimeContextStates(const ReportedRuntimeContextState& value) { m_runtimeContextStatesHasBeenSet = true; m_runtimeContextStates.push_back(value); return *this; } /** *

The application's state.

*/ inline ApplicationInstance& AddRuntimeContextStates(ReportedRuntimeContextState&& value) { m_runtimeContextStatesHasBeenSet = true; m_runtimeContextStates.push_back(std::move(value)); return *this; } /** *

The application instance's status.

*/ inline const ApplicationInstanceStatus& GetStatus() const{ return m_status; } /** *

The application instance's status.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The application instance's status.

*/ inline void SetStatus(const ApplicationInstanceStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The application instance's status.

*/ inline void SetStatus(ApplicationInstanceStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The application instance's status.

*/ inline ApplicationInstance& WithStatus(const ApplicationInstanceStatus& value) { SetStatus(value); return *this;} /** *

The application instance's status.

*/ inline ApplicationInstance& WithStatus(ApplicationInstanceStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The application instance's status description.

*/ inline const Aws::String& GetStatusDescription() const{ return m_statusDescription; } /** *

The application instance's status description.

*/ inline bool StatusDescriptionHasBeenSet() const { return m_statusDescriptionHasBeenSet; } /** *

The application instance's status description.

*/ inline void SetStatusDescription(const Aws::String& value) { m_statusDescriptionHasBeenSet = true; m_statusDescription = value; } /** *

The application instance's status description.

*/ inline void SetStatusDescription(Aws::String&& value) { m_statusDescriptionHasBeenSet = true; m_statusDescription = std::move(value); } /** *

The application instance's status description.

*/ inline void SetStatusDescription(const char* value) { m_statusDescriptionHasBeenSet = true; m_statusDescription.assign(value); } /** *

The application instance's status description.

*/ inline ApplicationInstance& WithStatusDescription(const Aws::String& value) { SetStatusDescription(value); return *this;} /** *

The application instance's status description.

*/ inline ApplicationInstance& WithStatusDescription(Aws::String&& value) { SetStatusDescription(std::move(value)); return *this;} /** *

The application instance's status description.

*/ inline ApplicationInstance& WithStatusDescription(const char* value) { SetStatusDescription(value); return *this;} /** *

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

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

The application instance's tags.

*/ inline ApplicationInstance& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_applicationInstanceId; bool m_applicationInstanceIdHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::String m_defaultRuntimeContextDevice; bool m_defaultRuntimeContextDeviceHasBeenSet = false; Aws::String m_defaultRuntimeContextDeviceName; bool m_defaultRuntimeContextDeviceNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; ApplicationInstanceHealthStatus m_healthStatus; bool m_healthStatusHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Vector m_runtimeContextStates; bool m_runtimeContextStatesHasBeenSet = false; ApplicationInstanceStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusDescription; bool m_statusDescriptionHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace Panorama } // namespace Aws