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

Discovery configuration associated to the workload.

See Also:

* AWS * API Reference

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

Discovery integration status in respect to Trusted Advisor for the * workload.

*/ inline const TrustedAdvisorIntegrationStatus& GetTrustedAdvisorIntegrationStatus() const{ return m_trustedAdvisorIntegrationStatus; } /** *

Discovery integration status in respect to Trusted Advisor for the * workload.

*/ inline bool TrustedAdvisorIntegrationStatusHasBeenSet() const { return m_trustedAdvisorIntegrationStatusHasBeenSet; } /** *

Discovery integration status in respect to Trusted Advisor for the * workload.

*/ inline void SetTrustedAdvisorIntegrationStatus(const TrustedAdvisorIntegrationStatus& value) { m_trustedAdvisorIntegrationStatusHasBeenSet = true; m_trustedAdvisorIntegrationStatus = value; } /** *

Discovery integration status in respect to Trusted Advisor for the * workload.

*/ inline void SetTrustedAdvisorIntegrationStatus(TrustedAdvisorIntegrationStatus&& value) { m_trustedAdvisorIntegrationStatusHasBeenSet = true; m_trustedAdvisorIntegrationStatus = std::move(value); } /** *

Discovery integration status in respect to Trusted Advisor for the * workload.

*/ inline WorkloadDiscoveryConfig& WithTrustedAdvisorIntegrationStatus(const TrustedAdvisorIntegrationStatus& value) { SetTrustedAdvisorIntegrationStatus(value); return *this;} /** *

Discovery integration status in respect to Trusted Advisor for the * workload.

*/ inline WorkloadDiscoveryConfig& WithTrustedAdvisorIntegrationStatus(TrustedAdvisorIntegrationStatus&& value) { SetTrustedAdvisorIntegrationStatus(std::move(value)); return *this;} /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline const Aws::Vector& GetWorkloadResourceDefinition() const{ return m_workloadResourceDefinition; } /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline bool WorkloadResourceDefinitionHasBeenSet() const { return m_workloadResourceDefinitionHasBeenSet; } /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline void SetWorkloadResourceDefinition(const Aws::Vector& value) { m_workloadResourceDefinitionHasBeenSet = true; m_workloadResourceDefinition = value; } /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline void SetWorkloadResourceDefinition(Aws::Vector&& value) { m_workloadResourceDefinitionHasBeenSet = true; m_workloadResourceDefinition = std::move(value); } /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline WorkloadDiscoveryConfig& WithWorkloadResourceDefinition(const Aws::Vector& value) { SetWorkloadResourceDefinition(value); return *this;} /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline WorkloadDiscoveryConfig& WithWorkloadResourceDefinition(Aws::Vector&& value) { SetWorkloadResourceDefinition(std::move(value)); return *this;} /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline WorkloadDiscoveryConfig& AddWorkloadResourceDefinition(const DefinitionType& value) { m_workloadResourceDefinitionHasBeenSet = true; m_workloadResourceDefinition.push_back(value); return *this; } /** *

The mode to use for identifying resources associated with the workload.

*

You can specify WORKLOAD_METADATA, APP_REGISTRY, or * both.

*/ inline WorkloadDiscoveryConfig& AddWorkloadResourceDefinition(DefinitionType&& value) { m_workloadResourceDefinitionHasBeenSet = true; m_workloadResourceDefinition.push_back(std::move(value)); return *this; } private: TrustedAdvisorIntegrationStatus m_trustedAdvisorIntegrationStatus; bool m_trustedAdvisorIntegrationStatusHasBeenSet = false; Aws::Vector m_workloadResourceDefinition; bool m_workloadResourceDefinitionHasBeenSet = false; }; } // namespace Model } // namespace WellArchitected } // namespace Aws