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

The SAP HANA database of the application registered with AWS Systems Manager * for SAP.

See Also:

AWS * API Reference

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

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 Database& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The ID of the application.

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

The ID of the application.

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

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 Database& WithComponentId(const Aws::String& value) { SetComponentId(value); return *this;} /** *

The ID of the component.

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

The ID of the component.

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

The credentials of the database.

*/ inline const Aws::Vector& GetCredentials() const{ return m_credentials; } /** *

The credentials of the database.

*/ inline bool CredentialsHasBeenSet() const { return m_credentialsHasBeenSet; } /** *

The credentials of the database.

*/ inline void SetCredentials(const Aws::Vector& value) { m_credentialsHasBeenSet = true; m_credentials = value; } /** *

The credentials of the database.

*/ inline void SetCredentials(Aws::Vector&& value) { m_credentialsHasBeenSet = true; m_credentials = std::move(value); } /** *

The credentials of the database.

*/ inline Database& WithCredentials(const Aws::Vector& value) { SetCredentials(value); return *this;} /** *

The credentials of the database.

*/ inline Database& WithCredentials(Aws::Vector&& value) { SetCredentials(std::move(value)); return *this;} /** *

The credentials of the database.

*/ inline Database& AddCredentials(const ApplicationCredential& value) { m_credentialsHasBeenSet = true; m_credentials.push_back(value); return *this; } /** *

The credentials of the database.

*/ inline Database& AddCredentials(ApplicationCredential&& value) { m_credentialsHasBeenSet = true; m_credentials.push_back(std::move(value)); return *this; } /** *

The ID of the SAP HANA database.

*/ inline const Aws::String& GetDatabaseId() const{ return m_databaseId; } /** *

The ID of the SAP HANA database.

*/ inline bool DatabaseIdHasBeenSet() const { return m_databaseIdHasBeenSet; } /** *

The ID of the SAP HANA database.

*/ inline void SetDatabaseId(const Aws::String& value) { m_databaseIdHasBeenSet = true; m_databaseId = value; } /** *

The ID of the SAP HANA database.

*/ inline void SetDatabaseId(Aws::String&& value) { m_databaseIdHasBeenSet = true; m_databaseId = std::move(value); } /** *

The ID of the SAP HANA database.

*/ inline void SetDatabaseId(const char* value) { m_databaseIdHasBeenSet = true; m_databaseId.assign(value); } /** *

The ID of the SAP HANA database.

*/ inline Database& WithDatabaseId(const Aws::String& value) { SetDatabaseId(value); return *this;} /** *

The ID of the SAP HANA database.

*/ inline Database& WithDatabaseId(Aws::String&& value) { SetDatabaseId(std::move(value)); return *this;} /** *

The ID of the SAP HANA database.

*/ inline Database& WithDatabaseId(const char* value) { SetDatabaseId(value); return *this;} /** *

The name of the database.

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The name of the database.

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The name of the database.

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The name of the database.

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The name of the database.

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The name of the database.

*/ inline Database& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The name of the database.

*/ inline Database& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The name of the database.

*/ inline Database& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

The type of the database.

*/ inline const DatabaseType& GetDatabaseType() const{ return m_databaseType; } /** *

The type of the database.

*/ inline bool DatabaseTypeHasBeenSet() const { return m_databaseTypeHasBeenSet; } /** *

The type of the database.

*/ inline void SetDatabaseType(const DatabaseType& value) { m_databaseTypeHasBeenSet = true; m_databaseType = value; } /** *

The type of the database.

*/ inline void SetDatabaseType(DatabaseType&& value) { m_databaseTypeHasBeenSet = true; m_databaseType = std::move(value); } /** *

The type of the database.

*/ inline Database& WithDatabaseType(const DatabaseType& value) { SetDatabaseType(value); return *this;} /** *

The type of the database.

*/ inline Database& WithDatabaseType(DatabaseType&& value) { SetDatabaseType(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The Amazon Resource Name (ARN) of the database.

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

The status of the database.

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

The status of the database.

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

The status of the database.

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

The status of the database.

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

The status of the database.

*/ inline Database& WithStatus(const DatabaseStatus& value) { SetStatus(value); return *this;} /** *

The status of the database.

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

The primary host of the database.

*/ inline const Aws::String& GetPrimaryHost() const{ return m_primaryHost; } /** *

The primary host of the database.

*/ inline bool PrimaryHostHasBeenSet() const { return m_primaryHostHasBeenSet; } /** *

The primary host of the database.

*/ inline void SetPrimaryHost(const Aws::String& value) { m_primaryHostHasBeenSet = true; m_primaryHost = value; } /** *

The primary host of the database.

*/ inline void SetPrimaryHost(Aws::String&& value) { m_primaryHostHasBeenSet = true; m_primaryHost = std::move(value); } /** *

The primary host of the database.

*/ inline void SetPrimaryHost(const char* value) { m_primaryHostHasBeenSet = true; m_primaryHost.assign(value); } /** *

The primary host of the database.

*/ inline Database& WithPrimaryHost(const Aws::String& value) { SetPrimaryHost(value); return *this;} /** *

The primary host of the database.

*/ inline Database& WithPrimaryHost(Aws::String&& value) { SetPrimaryHost(std::move(value)); return *this;} /** *

The primary host of the database.

*/ inline Database& WithPrimaryHost(const char* value) { SetPrimaryHost(value); return *this;} /** *

The SQL port of the database.

*/ inline int GetSQLPort() const{ return m_sQLPort; } /** *

The SQL port of the database.

*/ inline bool SQLPortHasBeenSet() const { return m_sQLPortHasBeenSet; } /** *

The SQL port of the database.

*/ inline void SetSQLPort(int value) { m_sQLPortHasBeenSet = true; m_sQLPort = value; } /** *

The SQL port of the database.

*/ inline Database& WithSQLPort(int value) { SetSQLPort(value); return *this;} /** *

The time at which the database was last updated.

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

The time at which the database was last updated.

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

The time at which the database was last updated.

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

The time at which the database was last updated.

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

The time at which the database was last updated.

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

The time at which the database was last updated.

*/ inline Database& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; Aws::String m_componentId; bool m_componentIdHasBeenSet = false; Aws::Vector m_credentials; bool m_credentialsHasBeenSet = false; Aws::String m_databaseId; bool m_databaseIdHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; DatabaseType m_databaseType; bool m_databaseTypeHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; DatabaseStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_primaryHost; bool m_primaryHostHasBeenSet = false; int m_sQLPort; bool m_sQLPortHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; }; } // namespace Model } // namespace SsmSap } // namespace Aws