/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace WellArchitected { namespace Model { /** *

The profile associated with a workload.

See Also:

AWS * API Reference

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

The profile ARN.

*/ inline const Aws::String& GetProfileArn() const{ return m_profileArn; } /** *

The profile ARN.

*/ inline bool ProfileArnHasBeenSet() const { return m_profileArnHasBeenSet; } /** *

The profile ARN.

*/ inline void SetProfileArn(const Aws::String& value) { m_profileArnHasBeenSet = true; m_profileArn = value; } /** *

The profile ARN.

*/ inline void SetProfileArn(Aws::String&& value) { m_profileArnHasBeenSet = true; m_profileArn = std::move(value); } /** *

The profile ARN.

*/ inline void SetProfileArn(const char* value) { m_profileArnHasBeenSet = true; m_profileArn.assign(value); } /** *

The profile ARN.

*/ inline WorkloadProfile& WithProfileArn(const Aws::String& value) { SetProfileArn(value); return *this;} /** *

The profile ARN.

*/ inline WorkloadProfile& WithProfileArn(Aws::String&& value) { SetProfileArn(std::move(value)); return *this;} /** *

The profile ARN.

*/ inline WorkloadProfile& WithProfileArn(const char* value) { SetProfileArn(value); return *this;} /** *

The profile version.

*/ inline const Aws::String& GetProfileVersion() const{ return m_profileVersion; } /** *

The profile version.

*/ inline bool ProfileVersionHasBeenSet() const { return m_profileVersionHasBeenSet; } /** *

The profile version.

*/ inline void SetProfileVersion(const Aws::String& value) { m_profileVersionHasBeenSet = true; m_profileVersion = value; } /** *

The profile version.

*/ inline void SetProfileVersion(Aws::String&& value) { m_profileVersionHasBeenSet = true; m_profileVersion = std::move(value); } /** *

The profile version.

*/ inline void SetProfileVersion(const char* value) { m_profileVersionHasBeenSet = true; m_profileVersion.assign(value); } /** *

The profile version.

*/ inline WorkloadProfile& WithProfileVersion(const Aws::String& value) { SetProfileVersion(value); return *this;} /** *

The profile version.

*/ inline WorkloadProfile& WithProfileVersion(Aws::String&& value) { SetProfileVersion(std::move(value)); return *this;} /** *

The profile version.

*/ inline WorkloadProfile& WithProfileVersion(const char* value) { SetProfileVersion(value); return *this;} private: Aws::String m_profileArn; bool m_profileArnHasBeenSet = false; Aws::String m_profileVersion; bool m_profileVersionHasBeenSet = false; }; } // namespace Model } // namespace WellArchitected } // namespace Aws