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

The action engine, or executor, related to the supported integration model * used to create and update the action type. The available executor types are * Lambda and JobWorker.

See Also:

AWS * API Reference

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

Details about the Lambda executor of the action type.

*/ inline const LambdaExecutorConfiguration& GetLambdaExecutorConfiguration() const{ return m_lambdaExecutorConfiguration; } /** *

Details about the Lambda executor of the action type.

*/ inline bool LambdaExecutorConfigurationHasBeenSet() const { return m_lambdaExecutorConfigurationHasBeenSet; } /** *

Details about the Lambda executor of the action type.

*/ inline void SetLambdaExecutorConfiguration(const LambdaExecutorConfiguration& value) { m_lambdaExecutorConfigurationHasBeenSet = true; m_lambdaExecutorConfiguration = value; } /** *

Details about the Lambda executor of the action type.

*/ inline void SetLambdaExecutorConfiguration(LambdaExecutorConfiguration&& value) { m_lambdaExecutorConfigurationHasBeenSet = true; m_lambdaExecutorConfiguration = std::move(value); } /** *

Details about the Lambda executor of the action type.

*/ inline ExecutorConfiguration& WithLambdaExecutorConfiguration(const LambdaExecutorConfiguration& value) { SetLambdaExecutorConfiguration(value); return *this;} /** *

Details about the Lambda executor of the action type.

*/ inline ExecutorConfiguration& WithLambdaExecutorConfiguration(LambdaExecutorConfiguration&& value) { SetLambdaExecutorConfiguration(std::move(value)); return *this;} /** *

Details about the JobWorker executor of the action type.

*/ inline const JobWorkerExecutorConfiguration& GetJobWorkerExecutorConfiguration() const{ return m_jobWorkerExecutorConfiguration; } /** *

Details about the JobWorker executor of the action type.

*/ inline bool JobWorkerExecutorConfigurationHasBeenSet() const { return m_jobWorkerExecutorConfigurationHasBeenSet; } /** *

Details about the JobWorker executor of the action type.

*/ inline void SetJobWorkerExecutorConfiguration(const JobWorkerExecutorConfiguration& value) { m_jobWorkerExecutorConfigurationHasBeenSet = true; m_jobWorkerExecutorConfiguration = value; } /** *

Details about the JobWorker executor of the action type.

*/ inline void SetJobWorkerExecutorConfiguration(JobWorkerExecutorConfiguration&& value) { m_jobWorkerExecutorConfigurationHasBeenSet = true; m_jobWorkerExecutorConfiguration = std::move(value); } /** *

Details about the JobWorker executor of the action type.

*/ inline ExecutorConfiguration& WithJobWorkerExecutorConfiguration(const JobWorkerExecutorConfiguration& value) { SetJobWorkerExecutorConfiguration(value); return *this;} /** *

Details about the JobWorker executor of the action type.

*/ inline ExecutorConfiguration& WithJobWorkerExecutorConfiguration(JobWorkerExecutorConfiguration&& value) { SetJobWorkerExecutorConfiguration(std::move(value)); return *this;} private: LambdaExecutorConfiguration m_lambdaExecutorConfiguration; bool m_lambdaExecutorConfigurationHasBeenSet = false; JobWorkerExecutorConfiguration m_jobWorkerExecutorConfiguration; bool m_jobWorkerExecutorConfigurationHasBeenSet = false; }; } // namespace Model } // namespace CodePipeline } // namespace Aws