/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Defines a physical resource. A physical resource is a resource that exists in
* your account. It can be identified using an Amazon Resource Name (ARN) or an
* Resilience Hub-native identifier. See Also:
AWS
* API Reference
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
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>"}]}]"
The application components that belong to this resource.
*/ inline const Aws::VectorThe application components that belong to this resource.
*/ inline bool AppComponentsHasBeenSet() const { return m_appComponentsHasBeenSet; } /** *The application components that belong to this resource.
*/ inline void SetAppComponents(const Aws::VectorThe application components that belong to this resource.
*/ inline void SetAppComponents(Aws::VectorThe application components that belong to this resource.
*/ inline PhysicalResource& WithAppComponents(const Aws::VectorThe application components that belong to this resource.
*/ inline PhysicalResource& WithAppComponents(Aws::VectorThe application components that belong to this resource.
*/ inline PhysicalResource& AddAppComponents(const AppComponent& value) { m_appComponentsHasBeenSet = true; m_appComponents.push_back(value); return *this; } /** *The application components that belong to this resource.
*/ inline PhysicalResource& AddAppComponents(AppComponent&& value) { m_appComponentsHasBeenSet = true; m_appComponents.push_back(std::move(value)); return *this; } /** *Indicates if a resource is included or excluded from the assessment.
*/ inline bool GetExcluded() const{ return m_excluded; } /** *Indicates if a resource is included or excluded from the assessment.
*/ inline bool ExcludedHasBeenSet() const { return m_excludedHasBeenSet; } /** *Indicates if a resource is included or excluded from the assessment.
*/ inline void SetExcluded(bool value) { m_excludedHasBeenSet = true; m_excluded = value; } /** *Indicates if a resource is included or excluded from the assessment.
*/ inline PhysicalResource& WithExcluded(bool value) { SetExcluded(value); return *this;} /** *The logical identifier of the resource.
*/ inline const LogicalResourceId& GetLogicalResourceId() const{ return m_logicalResourceId; } /** *The logical identifier of the resource.
*/ inline bool LogicalResourceIdHasBeenSet() const { return m_logicalResourceIdHasBeenSet; } /** *The logical identifier of the resource.
*/ inline void SetLogicalResourceId(const LogicalResourceId& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = value; } /** *The logical identifier of the resource.
*/ inline void SetLogicalResourceId(LogicalResourceId&& value) { m_logicalResourceIdHasBeenSet = true; m_logicalResourceId = std::move(value); } /** *The logical identifier of the resource.
*/ inline PhysicalResource& WithLogicalResourceId(const LogicalResourceId& value) { SetLogicalResourceId(value); return *this;} /** *The logical identifier of the resource.
*/ inline PhysicalResource& WithLogicalResourceId(LogicalResourceId&& value) { SetLogicalResourceId(std::move(value)); return *this;} /** *The name of the parent resource.
*/ inline const Aws::String& GetParentResourceName() const{ return m_parentResourceName; } /** *The name of the parent resource.
*/ inline bool ParentResourceNameHasBeenSet() const { return m_parentResourceNameHasBeenSet; } /** *The name of the parent resource.
*/ inline void SetParentResourceName(const Aws::String& value) { m_parentResourceNameHasBeenSet = true; m_parentResourceName = value; } /** *The name of the parent resource.
*/ inline void SetParentResourceName(Aws::String&& value) { m_parentResourceNameHasBeenSet = true; m_parentResourceName = std::move(value); } /** *The name of the parent resource.
*/ inline void SetParentResourceName(const char* value) { m_parentResourceNameHasBeenSet = true; m_parentResourceName.assign(value); } /** *The name of the parent resource.
*/ inline PhysicalResource& WithParentResourceName(const Aws::String& value) { SetParentResourceName(value); return *this;} /** *The name of the parent resource.
*/ inline PhysicalResource& WithParentResourceName(Aws::String&& value) { SetParentResourceName(std::move(value)); return *this;} /** *The name of the parent resource.
*/ inline PhysicalResource& WithParentResourceName(const char* value) { SetParentResourceName(value); return *this;} /** *The physical identifier of the resource.
*/ inline const PhysicalResourceId& GetPhysicalResourceId() const{ return m_physicalResourceId; } /** *The physical identifier of the resource.
*/ inline bool PhysicalResourceIdHasBeenSet() const { return m_physicalResourceIdHasBeenSet; } /** *The physical identifier of the resource.
*/ inline void SetPhysicalResourceId(const PhysicalResourceId& value) { m_physicalResourceIdHasBeenSet = true; m_physicalResourceId = value; } /** *The physical identifier of the resource.
*/ inline void SetPhysicalResourceId(PhysicalResourceId&& value) { m_physicalResourceIdHasBeenSet = true; m_physicalResourceId = std::move(value); } /** *The physical identifier of the resource.
*/ inline PhysicalResource& WithPhysicalResourceId(const PhysicalResourceId& value) { SetPhysicalResourceId(value); return *this;} /** *The physical identifier of the resource.
*/ inline PhysicalResource& WithPhysicalResourceId(PhysicalResourceId&& value) { SetPhysicalResourceId(std::move(value)); return *this;} /** *The name of the resource.
*/ inline const Aws::String& GetResourceName() const{ return m_resourceName; } /** *The name of the resource.
*/ inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; } /** *The name of the resource.
*/ inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; } /** *The name of the resource.
*/ inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); } /** *The name of the resource.
*/ inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); } /** *The name of the resource.
*/ inline PhysicalResource& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;} /** *The name of the resource.
*/ inline PhysicalResource& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;} /** *The name of the resource.
*/ inline PhysicalResource& WithResourceName(const char* value) { SetResourceName(value); return *this;} /** *The type of resource.
*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *The type of resource.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The type of resource.
*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The type of resource.
*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The type of resource.
*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *The type of resource.
*/ inline PhysicalResource& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *The type of resource.
*/ inline PhysicalResource& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *The type of resource.
*/ inline PhysicalResource& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *The type of input source.
*/ inline const ResourceSourceType& GetSourceType() const{ return m_sourceType; } /** *The type of input source.
*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *The type of input source.
*/ inline void SetSourceType(const ResourceSourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *The type of input source.
*/ inline void SetSourceType(ResourceSourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *The type of input source.
*/ inline PhysicalResource& WithSourceType(const ResourceSourceType& value) { SetSourceType(value); return *this;} /** *The type of input source.
*/ inline PhysicalResource& WithSourceType(ResourceSourceType&& value) { SetSourceType(std::move(value)); return *this;} private: Aws::Map