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

A set of Docker images that are related by platform and are managed by * CodeBuild.

See Also:

AWS * API Reference

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

The platform's name.

*/ inline const PlatformType& GetPlatform() const{ return m_platform; } /** *

The platform's name.

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

The platform's name.

*/ inline void SetPlatform(const PlatformType& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

The platform's name.

*/ inline void SetPlatform(PlatformType&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

The platform's name.

*/ inline EnvironmentPlatform& WithPlatform(const PlatformType& value) { SetPlatform(value); return *this;} /** *

The platform's name.

*/ inline EnvironmentPlatform& WithPlatform(PlatformType&& value) { SetPlatform(std::move(value)); return *this;} /** *

The list of programming languages that are available for the specified * platform.

*/ inline const Aws::Vector& GetLanguages() const{ return m_languages; } /** *

The list of programming languages that are available for the specified * platform.

*/ inline bool LanguagesHasBeenSet() const { return m_languagesHasBeenSet; } /** *

The list of programming languages that are available for the specified * platform.

*/ inline void SetLanguages(const Aws::Vector& value) { m_languagesHasBeenSet = true; m_languages = value; } /** *

The list of programming languages that are available for the specified * platform.

*/ inline void SetLanguages(Aws::Vector&& value) { m_languagesHasBeenSet = true; m_languages = std::move(value); } /** *

The list of programming languages that are available for the specified * platform.

*/ inline EnvironmentPlatform& WithLanguages(const Aws::Vector& value) { SetLanguages(value); return *this;} /** *

The list of programming languages that are available for the specified * platform.

*/ inline EnvironmentPlatform& WithLanguages(Aws::Vector&& value) { SetLanguages(std::move(value)); return *this;} /** *

The list of programming languages that are available for the specified * platform.

*/ inline EnvironmentPlatform& AddLanguages(const EnvironmentLanguage& value) { m_languagesHasBeenSet = true; m_languages.push_back(value); return *this; } /** *

The list of programming languages that are available for the specified * platform.

*/ inline EnvironmentPlatform& AddLanguages(EnvironmentLanguage&& value) { m_languagesHasBeenSet = true; m_languages.push_back(std::move(value)); return *this; } private: PlatformType m_platform; bool m_platformHasBeenSet = false; Aws::Vector m_languages; bool m_languagesHasBeenSet = false; }; } // namespace Model } // namespace CodeBuild } // namespace Aws