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

The SAP component of your application.

See Also:

AWS * API Reference

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

The ID of the component.

*/ inline const Aws::String& GetComponentId() const{ return m_componentId; } /** *

The ID of the component.

*/ inline bool ComponentIdHasBeenSet() const { return m_componentIdHasBeenSet; } /** *

The ID of the component.

*/ inline void SetComponentId(const Aws::String& value) { m_componentIdHasBeenSet = true; m_componentId = value; } /** *

The ID of the component.

*/ inline void SetComponentId(Aws::String&& value) { m_componentIdHasBeenSet = true; m_componentId = std::move(value); } /** *

The ID of the component.

*/ inline void SetComponentId(const char* value) { m_componentIdHasBeenSet = true; m_componentId.assign(value); } /** *

The ID of the component.

*/ inline Component& WithComponentId(const Aws::String& value) { SetComponentId(value); return *this;} /** *

The ID of the component.

*/ inline Component& WithComponentId(Aws::String&& value) { SetComponentId(std::move(value)); return *this;} /** *

The ID of the component.

*/ inline Component& WithComponentId(const char* value) { SetComponentId(value); return *this;} /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline const Aws::String& GetParentComponent() const{ return m_parentComponent; } /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline bool ParentComponentHasBeenSet() const { return m_parentComponentHasBeenSet; } /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline void SetParentComponent(const Aws::String& value) { m_parentComponentHasBeenSet = true; m_parentComponent = value; } /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline void SetParentComponent(Aws::String&& value) { m_parentComponentHasBeenSet = true; m_parentComponent = std::move(value); } /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline void SetParentComponent(const char* value) { m_parentComponentHasBeenSet = true; m_parentComponent.assign(value); } /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline Component& WithParentComponent(const Aws::String& value) { SetParentComponent(value); return *this;} /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline Component& WithParentComponent(Aws::String&& value) { SetParentComponent(std::move(value)); return *this;} /** *

The parent component of a highly available environment. For example, in a * highly available SAP on AWS workload, the parent component consists of the * entire setup, including the child components.

*/ inline Component& WithParentComponent(const char* value) { SetParentComponent(value); return *this;} /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline const Aws::Vector& GetChildComponents() const{ return m_childComponents; } /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline bool ChildComponentsHasBeenSet() const { return m_childComponentsHasBeenSet; } /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline void SetChildComponents(const Aws::Vector& value) { m_childComponentsHasBeenSet = true; m_childComponents = value; } /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline void SetChildComponents(Aws::Vector&& value) { m_childComponentsHasBeenSet = true; m_childComponents = std::move(value); } /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline Component& WithChildComponents(const Aws::Vector& value) { SetChildComponents(value); return *this;} /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline Component& WithChildComponents(Aws::Vector&& value) { SetChildComponents(std::move(value)); return *this;} /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline Component& AddChildComponents(const Aws::String& value) { m_childComponentsHasBeenSet = true; m_childComponents.push_back(value); return *this; } /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline Component& AddChildComponents(Aws::String&& value) { m_childComponentsHasBeenSet = true; m_childComponents.push_back(std::move(value)); return *this; } /** *

The child components of a highly available environment. For example, in a * highly available SAP on AWS workload, the child component consists of the * primary and secondar instances.

*/ inline Component& AddChildComponents(const char* value) { m_childComponentsHasBeenSet = true; m_childComponents.push_back(value); return *this; } /** *

The ID of the application.

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The ID of the application.

*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *

The ID of the application.

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *

The ID of the application.

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *

The ID of the application.

*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *

The ID of the application.

*/ inline Component& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The ID of the application.

*/ inline Component& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The ID of the application.

*/ inline Component& WithApplicationId(const char* value) { SetApplicationId(value); return *this;} /** *

The type of the component.

*/ inline const ComponentType& GetComponentType() const{ return m_componentType; } /** *

The type of the component.

*/ inline bool ComponentTypeHasBeenSet() const { return m_componentTypeHasBeenSet; } /** *

The type of the component.

*/ inline void SetComponentType(const ComponentType& value) { m_componentTypeHasBeenSet = true; m_componentType = value; } /** *

The type of the component.

*/ inline void SetComponentType(ComponentType&& value) { m_componentTypeHasBeenSet = true; m_componentType = std::move(value); } /** *

The type of the component.

*/ inline Component& WithComponentType(const ComponentType& value) { SetComponentType(value); return *this;} /** *

The type of the component.

*/ inline Component& WithComponentType(ComponentType&& value) { SetComponentType(std::move(value)); return *this;} /** *

The status of the component.

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

The status of the component.

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

The status of the component.

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

The status of the component.

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

The status of the component.

*/ inline Component& WithStatus(const ComponentStatus& value) { SetStatus(value); return *this;} /** *

The status of the component.

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

The hostname of the component.

*/ inline const Aws::String& GetSapHostname() const{ return m_sapHostname; } /** *

The hostname of the component.

*/ inline bool SapHostnameHasBeenSet() const { return m_sapHostnameHasBeenSet; } /** *

The hostname of the component.

*/ inline void SetSapHostname(const Aws::String& value) { m_sapHostnameHasBeenSet = true; m_sapHostname = value; } /** *

The hostname of the component.

*/ inline void SetSapHostname(Aws::String&& value) { m_sapHostnameHasBeenSet = true; m_sapHostname = std::move(value); } /** *

The hostname of the component.

*/ inline void SetSapHostname(const char* value) { m_sapHostnameHasBeenSet = true; m_sapHostname.assign(value); } /** *

The hostname of the component.

*/ inline Component& WithSapHostname(const Aws::String& value) { SetSapHostname(value); return *this;} /** *

The hostname of the component.

*/ inline Component& WithSapHostname(Aws::String&& value) { SetSapHostname(std::move(value)); return *this;} /** *

The hostname of the component.

*/ inline Component& WithSapHostname(const char* value) { SetSapHostname(value); return *this;} /** *

The kernel version of the component.

*/ inline const Aws::String& GetSapKernelVersion() const{ return m_sapKernelVersion; } /** *

The kernel version of the component.

*/ inline bool SapKernelVersionHasBeenSet() const { return m_sapKernelVersionHasBeenSet; } /** *

The kernel version of the component.

*/ inline void SetSapKernelVersion(const Aws::String& value) { m_sapKernelVersionHasBeenSet = true; m_sapKernelVersion = value; } /** *

The kernel version of the component.

*/ inline void SetSapKernelVersion(Aws::String&& value) { m_sapKernelVersionHasBeenSet = true; m_sapKernelVersion = std::move(value); } /** *

The kernel version of the component.

*/ inline void SetSapKernelVersion(const char* value) { m_sapKernelVersionHasBeenSet = true; m_sapKernelVersion.assign(value); } /** *

The kernel version of the component.

*/ inline Component& WithSapKernelVersion(const Aws::String& value) { SetSapKernelVersion(value); return *this;} /** *

The kernel version of the component.

*/ inline Component& WithSapKernelVersion(Aws::String&& value) { SetSapKernelVersion(std::move(value)); return *this;} /** *

The kernel version of the component.

*/ inline Component& WithSapKernelVersion(const char* value) { SetSapKernelVersion(value); return *this;} /** *

The SAP HANA version of the component.

*/ inline const Aws::String& GetHdbVersion() const{ return m_hdbVersion; } /** *

The SAP HANA version of the component.

*/ inline bool HdbVersionHasBeenSet() const { return m_hdbVersionHasBeenSet; } /** *

The SAP HANA version of the component.

*/ inline void SetHdbVersion(const Aws::String& value) { m_hdbVersionHasBeenSet = true; m_hdbVersion = value; } /** *

The SAP HANA version of the component.

*/ inline void SetHdbVersion(Aws::String&& value) { m_hdbVersionHasBeenSet = true; m_hdbVersion = std::move(value); } /** *

The SAP HANA version of the component.

*/ inline void SetHdbVersion(const char* value) { m_hdbVersionHasBeenSet = true; m_hdbVersion.assign(value); } /** *

The SAP HANA version of the component.

*/ inline Component& WithHdbVersion(const Aws::String& value) { SetHdbVersion(value); return *this;} /** *

The SAP HANA version of the component.

*/ inline Component& WithHdbVersion(Aws::String&& value) { SetHdbVersion(std::move(value)); return *this;} /** *

The SAP HANA version of the component.

*/ inline Component& WithHdbVersion(const char* value) { SetHdbVersion(value); return *this;} /** *

Details of the SAP HANA system replication for the component.

*/ inline const Resilience& GetResilience() const{ return m_resilience; } /** *

Details of the SAP HANA system replication for the component.

*/ inline bool ResilienceHasBeenSet() const { return m_resilienceHasBeenSet; } /** *

Details of the SAP HANA system replication for the component.

*/ inline void SetResilience(const Resilience& value) { m_resilienceHasBeenSet = true; m_resilience = value; } /** *

Details of the SAP HANA system replication for the component.

*/ inline void SetResilience(Resilience&& value) { m_resilienceHasBeenSet = true; m_resilience = std::move(value); } /** *

Details of the SAP HANA system replication for the component.

*/ inline Component& WithResilience(const Resilience& value) { SetResilience(value); return *this;} /** *

Details of the SAP HANA system replication for the component.

*/ inline Component& WithResilience(Resilience&& value) { SetResilience(std::move(value)); return *this;} /** *

The associated host of the component.

*/ inline const AssociatedHost& GetAssociatedHost() const{ return m_associatedHost; } /** *

The associated host of the component.

*/ inline bool AssociatedHostHasBeenSet() const { return m_associatedHostHasBeenSet; } /** *

The associated host of the component.

*/ inline void SetAssociatedHost(const AssociatedHost& value) { m_associatedHostHasBeenSet = true; m_associatedHost = value; } /** *

The associated host of the component.

*/ inline void SetAssociatedHost(AssociatedHost&& value) { m_associatedHostHasBeenSet = true; m_associatedHost = std::move(value); } /** *

The associated host of the component.

*/ inline Component& WithAssociatedHost(const AssociatedHost& value) { SetAssociatedHost(value); return *this;} /** *

The associated host of the component.

*/ inline Component& WithAssociatedHost(AssociatedHost&& value) { SetAssociatedHost(std::move(value)); return *this;} /** *

The SAP HANA databases of the component.

*/ inline const Aws::Vector& GetDatabases() const{ return m_databases; } /** *

The SAP HANA databases of the component.

*/ inline bool DatabasesHasBeenSet() const { return m_databasesHasBeenSet; } /** *

The SAP HANA databases of the component.

*/ inline void SetDatabases(const Aws::Vector& value) { m_databasesHasBeenSet = true; m_databases = value; } /** *

The SAP HANA databases of the component.

*/ inline void SetDatabases(Aws::Vector&& value) { m_databasesHasBeenSet = true; m_databases = std::move(value); } /** *

The SAP HANA databases of the component.

*/ inline Component& WithDatabases(const Aws::Vector& value) { SetDatabases(value); return *this;} /** *

The SAP HANA databases of the component.

*/ inline Component& WithDatabases(Aws::Vector&& value) { SetDatabases(std::move(value)); return *this;} /** *

The SAP HANA databases of the component.

*/ inline Component& AddDatabases(const Aws::String& value) { m_databasesHasBeenSet = true; m_databases.push_back(value); return *this; } /** *

The SAP HANA databases of the component.

*/ inline Component& AddDatabases(Aws::String&& value) { m_databasesHasBeenSet = true; m_databases.push_back(std::move(value)); return *this; } /** *

The SAP HANA databases of the component.

*/ inline Component& AddDatabases(const char* value) { m_databasesHasBeenSet = true; m_databases.push_back(value); return *this; } /** *

The time at which the component was last updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** *

The time at which the component was last updated.

*/ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** *

The time at which the component was last updated.

*/ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** *

The time at which the component was last updated.

*/ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** *

The time at which the component was last updated.

*/ inline Component& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** *

The time at which the component was last updated.

*/ inline Component& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

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

The Amazon Resource Name (ARN) of the component.

*/ inline Component& WithArn(const char* value) { SetArn(value); return *this;} private: Aws::String m_componentId; bool m_componentIdHasBeenSet = false; Aws::String m_parentComponent; bool m_parentComponentHasBeenSet = false; Aws::Vector m_childComponents; bool m_childComponentsHasBeenSet = false; Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; ComponentType m_componentType; bool m_componentTypeHasBeenSet = false; ComponentStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_sapHostname; bool m_sapHostnameHasBeenSet = false; Aws::String m_sapKernelVersion; bool m_sapKernelVersionHasBeenSet = false; Aws::String m_hdbVersion; bool m_hdbVersionHasBeenSet = false; Resilience m_resilience; bool m_resilienceHasBeenSet = false; AssociatedHost m_associatedHost; bool m_associatedHostHasBeenSet = false; Aws::Vector m_databases; bool m_databasesHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; }; } // namespace Model } // namespace SsmSap } // namespace Aws