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

The parameters for task execution.

See Also:

AWS * API Reference

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

The parameters for a RUN_COMMAND task type.

*/ inline const MaintenanceWindowRunCommandParameters& GetRunCommand() const{ return m_runCommand; } /** *

The parameters for a RUN_COMMAND task type.

*/ inline bool RunCommandHasBeenSet() const { return m_runCommandHasBeenSet; } /** *

The parameters for a RUN_COMMAND task type.

*/ inline void SetRunCommand(const MaintenanceWindowRunCommandParameters& value) { m_runCommandHasBeenSet = true; m_runCommand = value; } /** *

The parameters for a RUN_COMMAND task type.

*/ inline void SetRunCommand(MaintenanceWindowRunCommandParameters&& value) { m_runCommandHasBeenSet = true; m_runCommand = std::move(value); } /** *

The parameters for a RUN_COMMAND task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithRunCommand(const MaintenanceWindowRunCommandParameters& value) { SetRunCommand(value); return *this;} /** *

The parameters for a RUN_COMMAND task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithRunCommand(MaintenanceWindowRunCommandParameters&& value) { SetRunCommand(std::move(value)); return *this;} /** *

The parameters for an AUTOMATION task type.

*/ inline const MaintenanceWindowAutomationParameters& GetAutomation() const{ return m_automation; } /** *

The parameters for an AUTOMATION task type.

*/ inline bool AutomationHasBeenSet() const { return m_automationHasBeenSet; } /** *

The parameters for an AUTOMATION task type.

*/ inline void SetAutomation(const MaintenanceWindowAutomationParameters& value) { m_automationHasBeenSet = true; m_automation = value; } /** *

The parameters for an AUTOMATION task type.

*/ inline void SetAutomation(MaintenanceWindowAutomationParameters&& value) { m_automationHasBeenSet = true; m_automation = std::move(value); } /** *

The parameters for an AUTOMATION task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithAutomation(const MaintenanceWindowAutomationParameters& value) { SetAutomation(value); return *this;} /** *

The parameters for an AUTOMATION task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithAutomation(MaintenanceWindowAutomationParameters&& value) { SetAutomation(std::move(value)); return *this;} /** *

The parameters for a STEP_FUNCTIONS task type.

*/ inline const MaintenanceWindowStepFunctionsParameters& GetStepFunctions() const{ return m_stepFunctions; } /** *

The parameters for a STEP_FUNCTIONS task type.

*/ inline bool StepFunctionsHasBeenSet() const { return m_stepFunctionsHasBeenSet; } /** *

The parameters for a STEP_FUNCTIONS task type.

*/ inline void SetStepFunctions(const MaintenanceWindowStepFunctionsParameters& value) { m_stepFunctionsHasBeenSet = true; m_stepFunctions = value; } /** *

The parameters for a STEP_FUNCTIONS task type.

*/ inline void SetStepFunctions(MaintenanceWindowStepFunctionsParameters&& value) { m_stepFunctionsHasBeenSet = true; m_stepFunctions = std::move(value); } /** *

The parameters for a STEP_FUNCTIONS task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithStepFunctions(const MaintenanceWindowStepFunctionsParameters& value) { SetStepFunctions(value); return *this;} /** *

The parameters for a STEP_FUNCTIONS task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithStepFunctions(MaintenanceWindowStepFunctionsParameters&& value) { SetStepFunctions(std::move(value)); return *this;} /** *

The parameters for a LAMBDA task type.

*/ inline const MaintenanceWindowLambdaParameters& GetLambda() const{ return m_lambda; } /** *

The parameters for a LAMBDA task type.

*/ inline bool LambdaHasBeenSet() const { return m_lambdaHasBeenSet; } /** *

The parameters for a LAMBDA task type.

*/ inline void SetLambda(const MaintenanceWindowLambdaParameters& value) { m_lambdaHasBeenSet = true; m_lambda = value; } /** *

The parameters for a LAMBDA task type.

*/ inline void SetLambda(MaintenanceWindowLambdaParameters&& value) { m_lambdaHasBeenSet = true; m_lambda = std::move(value); } /** *

The parameters for a LAMBDA task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithLambda(const MaintenanceWindowLambdaParameters& value) { SetLambda(value); return *this;} /** *

The parameters for a LAMBDA task type.

*/ inline MaintenanceWindowTaskInvocationParameters& WithLambda(MaintenanceWindowLambdaParameters&& value) { SetLambda(std::move(value)); return *this;} private: MaintenanceWindowRunCommandParameters m_runCommand; bool m_runCommandHasBeenSet = false; MaintenanceWindowAutomationParameters m_automation; bool m_automationHasBeenSet = false; MaintenanceWindowStepFunctionsParameters m_stepFunctions; bool m_stepFunctionsHasBeenSet = false; MaintenanceWindowLambdaParameters m_lambda; bool m_lambdaHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws