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

Defines an Application Component.

See Also:

AWS * API Reference

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

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline const Aws::Map>& GetAdditionalInfo() const{ return m_additionalInfo; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline bool AdditionalInfoHasBeenSet() const { return m_additionalInfoHasBeenSet; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline void SetAdditionalInfo(const Aws::Map>& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = value; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline void SetAdditionalInfo(Aws::Map>&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo = std::move(value); } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& WithAdditionalInfo(const Aws::Map>& value) { SetAdditionalInfo(value); return *this;} /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& WithAdditionalInfo(Aws::Map>&& value) { SetAdditionalInfo(std::move(value)); return *this;} /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& AddAdditionalInfo(const Aws::String& key, const Aws::Vector& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.emplace(key, value); return *this; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& AddAdditionalInfo(Aws::String&& key, const Aws::Vector& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.emplace(std::move(key), value); return *this; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& AddAdditionalInfo(const Aws::String& key, Aws::Vector&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.emplace(key, std::move(value)); return *this; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& AddAdditionalInfo(Aws::String&& key, Aws::Vector&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.emplace(std::move(key), std::move(value)); return *this; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& AddAdditionalInfo(const char* key, Aws::Vector&& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.emplace(key, std::move(value)); return *this; } /** *

Additional configuration parameters for an Resilience Hub application. If you * want to implement additionalInfo through the Resilience Hub console * rather than using an API call, see Configure * the application configuration parameters.

Currently, this * parameter accepts a key-value mapping (in a string format) of only one failover * region and one associated account.

Key: "failover-regions" *

Value: "[{"region":"<REGION>", * "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

*/ inline AppComponent& AddAdditionalInfo(const char* key, const Aws::Vector& value) { m_additionalInfoHasBeenSet = true; m_additionalInfo.emplace(key, value); return *this; } /** *

Unique identifier of the Application Component.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

Unique identifier of the Application Component.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

Unique identifier of the Application Component.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

Unique identifier of the Application Component.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

Unique identifier of the Application Component.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

Unique identifier of the Application Component.

*/ inline AppComponent& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

Unique identifier of the Application Component.

*/ inline AppComponent& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

Unique identifier of the Application Component.

*/ inline AppComponent& WithId(const char* value) { SetId(value); return *this;} /** *

The name of the Application Component.

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

The name of the Application Component.

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

The name of the Application Component.

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

The name of the Application Component.

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

The name of the Application Component.

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

The name of the Application Component.

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

The name of the Application Component.

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

The name of the Application Component.

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

The type of Application Component.

*/ inline const Aws::String& GetType() const{ return m_type; } /** *

The type of Application Component.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of Application Component.

*/ inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of Application Component.

*/ inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of Application Component.

*/ inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } /** *

The type of Application Component.

*/ inline AppComponent& WithType(const Aws::String& value) { SetType(value); return *this;} /** *

The type of Application Component.

*/ inline AppComponent& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} /** *

The type of Application Component.

*/ inline AppComponent& WithType(const char* value) { SetType(value); return *this;} private: Aws::Map> m_additionalInfo; bool m_additionalInfoHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace ResilienceHub } // namespace Aws