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

Information about the platform for the Amazon ECS service or task.

For * more information about RuntimePlatform, see RuntimePlatform * in the Amazon Elastic Container Service Developer Guide.

See * Also:

AWS * API Reference

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

The CPU architecture.

You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on * Fargate.

*/ inline const CPUArchitecture& GetCpuArchitecture() const{ return m_cpuArchitecture; } /** *

The CPU architecture.

You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on * Fargate.

*/ inline bool CpuArchitectureHasBeenSet() const { return m_cpuArchitectureHasBeenSet; } /** *

The CPU architecture.

You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on * Fargate.

*/ inline void SetCpuArchitecture(const CPUArchitecture& value) { m_cpuArchitectureHasBeenSet = true; m_cpuArchitecture = value; } /** *

The CPU architecture.

You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on * Fargate.

*/ inline void SetCpuArchitecture(CPUArchitecture&& value) { m_cpuArchitectureHasBeenSet = true; m_cpuArchitecture = std::move(value); } /** *

The CPU architecture.

You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on * Fargate.

*/ inline RuntimePlatform& WithCpuArchitecture(const CPUArchitecture& value) { SetCpuArchitecture(value); return *this;} /** *

The CPU architecture.

You can run your Linux tasks on an ARM-based * platform by setting the value to ARM64. This option is available * for tasks that run on Linux Amazon EC2 instance or Linux containers on * Fargate.

*/ inline RuntimePlatform& WithCpuArchitecture(CPUArchitecture&& value) { SetCpuArchitecture(std::move(value)); return *this;} /** *

The operating system.

*/ inline const OSFamily& GetOperatingSystemFamily() const{ return m_operatingSystemFamily; } /** *

The operating system.

*/ inline bool OperatingSystemFamilyHasBeenSet() const { return m_operatingSystemFamilyHasBeenSet; } /** *

The operating system.

*/ inline void SetOperatingSystemFamily(const OSFamily& value) { m_operatingSystemFamilyHasBeenSet = true; m_operatingSystemFamily = value; } /** *

The operating system.

*/ inline void SetOperatingSystemFamily(OSFamily&& value) { m_operatingSystemFamilyHasBeenSet = true; m_operatingSystemFamily = std::move(value); } /** *

The operating system.

*/ inline RuntimePlatform& WithOperatingSystemFamily(const OSFamily& value) { SetOperatingSystemFamily(value); return *this;} /** *

The operating system.

*/ inline RuntimePlatform& WithOperatingSystemFamily(OSFamily&& value) { SetOperatingSystemFamily(std::move(value)); return *this;} private: CPUArchitecture m_cpuArchitecture; bool m_cpuArchitectureHasBeenSet = false; OSFamily m_operatingSystemFamily; bool m_operatingSystemFamilyHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws