/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace SSM { namespace Model { /** */ class UpdateMaintenanceWindowTaskRequest : public SSMRequest { public: AWS_SSM_API UpdateMaintenanceWindowTaskRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateMaintenanceWindowTask"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The maintenance window ID that contains the task to modify.

*/ inline const Aws::String& GetWindowId() const{ return m_windowId; } /** *

The maintenance window ID that contains the task to modify.

*/ inline bool WindowIdHasBeenSet() const { return m_windowIdHasBeenSet; } /** *

The maintenance window ID that contains the task to modify.

*/ inline void SetWindowId(const Aws::String& value) { m_windowIdHasBeenSet = true; m_windowId = value; } /** *

The maintenance window ID that contains the task to modify.

*/ inline void SetWindowId(Aws::String&& value) { m_windowIdHasBeenSet = true; m_windowId = std::move(value); } /** *

The maintenance window ID that contains the task to modify.

*/ inline void SetWindowId(const char* value) { m_windowIdHasBeenSet = true; m_windowId.assign(value); } /** *

The maintenance window ID that contains the task to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithWindowId(const Aws::String& value) { SetWindowId(value); return *this;} /** *

The maintenance window ID that contains the task to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithWindowId(Aws::String&& value) { SetWindowId(std::move(value)); return *this;} /** *

The maintenance window ID that contains the task to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithWindowId(const char* value) { SetWindowId(value); return *this;} /** *

The task ID to modify.

*/ inline const Aws::String& GetWindowTaskId() const{ return m_windowTaskId; } /** *

The task ID to modify.

*/ inline bool WindowTaskIdHasBeenSet() const { return m_windowTaskIdHasBeenSet; } /** *

The task ID to modify.

*/ inline void SetWindowTaskId(const Aws::String& value) { m_windowTaskIdHasBeenSet = true; m_windowTaskId = value; } /** *

The task ID to modify.

*/ inline void SetWindowTaskId(Aws::String&& value) { m_windowTaskIdHasBeenSet = true; m_windowTaskId = std::move(value); } /** *

The task ID to modify.

*/ inline void SetWindowTaskId(const char* value) { m_windowTaskIdHasBeenSet = true; m_windowTaskId.assign(value); } /** *

The task ID to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithWindowTaskId(const Aws::String& value) { SetWindowTaskId(value); return *this;} /** *

The task ID to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithWindowTaskId(Aws::String&& value) { SetWindowTaskId(std::move(value)); return *this;} /** *

The task ID to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithWindowTaskId(const char* value) { SetWindowTaskId(value); return *this;} /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline const Aws::Vector& GetTargets() const{ return m_targets; } /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline void SetTargets(const Aws::Vector& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline void SetTargets(Aws::Vector&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline UpdateMaintenanceWindowTaskRequest& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

The targets (either managed nodes or tags) to modify. Managed nodes are * specified using the format * Key=instanceids,Values=instanceID_1,instanceID_2. Tags are * specified using the format Key=tag_name,Values=tag_value.

*

One or more targets must be specified for maintenance window Run * Command-type tasks. Depending on the task, targets are optional for other * maintenance window task types (Automation, Lambda, and Step Functions). For more * information about running tasks that don't specify targets, see Registering * maintenance window tasks without targets in the Amazon Web Services * Systems Manager User Guide.

*/ inline UpdateMaintenanceWindowTaskRequest& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } /** *

The task ARN to modify.

*/ inline const Aws::String& GetTaskArn() const{ return m_taskArn; } /** *

The task ARN to modify.

*/ inline bool TaskArnHasBeenSet() const { return m_taskArnHasBeenSet; } /** *

The task ARN to modify.

*/ inline void SetTaskArn(const Aws::String& value) { m_taskArnHasBeenSet = true; m_taskArn = value; } /** *

The task ARN to modify.

*/ inline void SetTaskArn(Aws::String&& value) { m_taskArnHasBeenSet = true; m_taskArn = std::move(value); } /** *

The task ARN to modify.

*/ inline void SetTaskArn(const char* value) { m_taskArnHasBeenSet = true; m_taskArn.assign(value); } /** *

The task ARN to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskArn(const Aws::String& value) { SetTaskArn(value); return *this;} /** *

The task ARN to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskArn(Aws::String&& value) { SetTaskArn(std::move(value)); return *this;} /** *

The task ARN to modify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskArn(const char* value) { SetTaskArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; } /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline bool ServiceRoleArnHasBeenSet() const { return m_serviceRoleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline void SetServiceRoleArn(const char* value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline UpdateMaintenanceWindowTaskRequest& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline UpdateMaintenanceWindowTaskRequest& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM service role for Amazon Web * Services Systems Manager to assume when running a maintenance window task. If * you do not specify a service role ARN, Systems Manager uses your account's * service-linked role. If no service-linked role for Systems Manager exists in * your account, it is created when you run * RegisterTaskWithMaintenanceWindow.

For more information, see * the following topics in the in the Amazon Web Services Systems Manager User * Guide:

*/ inline UpdateMaintenanceWindowTaskRequest& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline const Aws::Map& GetTaskParameters() const{ return m_taskParameters; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline bool TaskParametersHasBeenSet() const { return m_taskParametersHasBeenSet; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline void SetTaskParameters(const Aws::Map& value) { m_taskParametersHasBeenSet = true; m_taskParameters = value; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline void SetTaskParameters(Aws::Map&& value) { m_taskParametersHasBeenSet = true; m_taskParameters = std::move(value); } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskParameters(const Aws::Map& value) { SetTaskParameters(value); return *this;} /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskParameters(Aws::Map&& value) { SetTaskParameters(std::move(value)); return *this;} /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& AddTaskParameters(const Aws::String& key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(key, value); return *this; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& AddTaskParameters(Aws::String&& key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(std::move(key), value); return *this; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& AddTaskParameters(const Aws::String& key, MaintenanceWindowTaskParameterValueExpression&& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(key, std::move(value)); return *this; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& AddTaskParameters(Aws::String&& key, MaintenanceWindowTaskParameterValueExpression&& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(std::move(key), std::move(value)); return *this; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& AddTaskParameters(const char* key, MaintenanceWindowTaskParameterValueExpression&& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(key, std::move(value)); return *this; } /** *

The parameters to modify.

TaskParameters has been * deprecated. To specify parameters to pass to a task when it runs, instead use * the Parameters option in the TaskInvocationParameters * structure. For information about how Systems Manager handles these options for * the supported maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

The map has the * following format:

Key: string, between 1 and 255 characters

Value: * an array of strings, each string is between 1 and 255 characters

*/ inline UpdateMaintenanceWindowTaskRequest& AddTaskParameters(const char* key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(key, value); return *this; } /** *

The parameters that the task should use during execution. Populate only the * fields that match the task type. All other fields should be empty.

*

When you update a maintenance window task that has options * specified in TaskInvocationParameters, you must provide again all * the TaskInvocationParameters values that you want to retain. The * values you don't specify again are removed. For example, suppose that when you * registered a Run Command task, you specified * TaskInvocationParameters values for Comment, * NotificationConfig, and OutputS3BucketName. If you * update the maintenance window task and specify only a different * OutputS3BucketName value, the values for Comment and * NotificationConfig are removed.

*/ inline const MaintenanceWindowTaskInvocationParameters& GetTaskInvocationParameters() const{ return m_taskInvocationParameters; } /** *

The parameters that the task should use during execution. Populate only the * fields that match the task type. All other fields should be empty.

*

When you update a maintenance window task that has options * specified in TaskInvocationParameters, you must provide again all * the TaskInvocationParameters values that you want to retain. The * values you don't specify again are removed. For example, suppose that when you * registered a Run Command task, you specified * TaskInvocationParameters values for Comment, * NotificationConfig, and OutputS3BucketName. If you * update the maintenance window task and specify only a different * OutputS3BucketName value, the values for Comment and * NotificationConfig are removed.

*/ inline bool TaskInvocationParametersHasBeenSet() const { return m_taskInvocationParametersHasBeenSet; } /** *

The parameters that the task should use during execution. Populate only the * fields that match the task type. All other fields should be empty.

*

When you update a maintenance window task that has options * specified in TaskInvocationParameters, you must provide again all * the TaskInvocationParameters values that you want to retain. The * values you don't specify again are removed. For example, suppose that when you * registered a Run Command task, you specified * TaskInvocationParameters values for Comment, * NotificationConfig, and OutputS3BucketName. If you * update the maintenance window task and specify only a different * OutputS3BucketName value, the values for Comment and * NotificationConfig are removed.

*/ inline void SetTaskInvocationParameters(const MaintenanceWindowTaskInvocationParameters& value) { m_taskInvocationParametersHasBeenSet = true; m_taskInvocationParameters = value; } /** *

The parameters that the task should use during execution. Populate only the * fields that match the task type. All other fields should be empty.

*

When you update a maintenance window task that has options * specified in TaskInvocationParameters, you must provide again all * the TaskInvocationParameters values that you want to retain. The * values you don't specify again are removed. For example, suppose that when you * registered a Run Command task, you specified * TaskInvocationParameters values for Comment, * NotificationConfig, and OutputS3BucketName. If you * update the maintenance window task and specify only a different * OutputS3BucketName value, the values for Comment and * NotificationConfig are removed.

*/ inline void SetTaskInvocationParameters(MaintenanceWindowTaskInvocationParameters&& value) { m_taskInvocationParametersHasBeenSet = true; m_taskInvocationParameters = std::move(value); } /** *

The parameters that the task should use during execution. Populate only the * fields that match the task type. All other fields should be empty.

*

When you update a maintenance window task that has options * specified in TaskInvocationParameters, you must provide again all * the TaskInvocationParameters values that you want to retain. The * values you don't specify again are removed. For example, suppose that when you * registered a Run Command task, you specified * TaskInvocationParameters values for Comment, * NotificationConfig, and OutputS3BucketName. If you * update the maintenance window task and specify only a different * OutputS3BucketName value, the values for Comment and * NotificationConfig are removed.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskInvocationParameters(const MaintenanceWindowTaskInvocationParameters& value) { SetTaskInvocationParameters(value); return *this;} /** *

The parameters that the task should use during execution. Populate only the * fields that match the task type. All other fields should be empty.

*

When you update a maintenance window task that has options * specified in TaskInvocationParameters, you must provide again all * the TaskInvocationParameters values that you want to retain. The * values you don't specify again are removed. For example, suppose that when you * registered a Run Command task, you specified * TaskInvocationParameters values for Comment, * NotificationConfig, and OutputS3BucketName. If you * update the maintenance window task and specify only a different * OutputS3BucketName value, the values for Comment and * NotificationConfig are removed.

*/ inline UpdateMaintenanceWindowTaskRequest& WithTaskInvocationParameters(MaintenanceWindowTaskInvocationParameters&& value) { SetTaskInvocationParameters(std::move(value)); return *this;} /** *

The new task priority to specify. The lower the number, the higher the * priority. Tasks that have the same priority are scheduled in parallel.

*/ inline int GetPriority() const{ return m_priority; } /** *

The new task priority to specify. The lower the number, the higher the * priority. Tasks that have the same priority are scheduled in parallel.

*/ inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; } /** *

The new task priority to specify. The lower the number, the higher the * priority. Tasks that have the same priority are scheduled in parallel.

*/ inline void SetPriority(int value) { m_priorityHasBeenSet = true; m_priority = value; } /** *

The new task priority to specify. The lower the number, the higher the * priority. Tasks that have the same priority are scheduled in parallel.

*/ inline UpdateMaintenanceWindowTaskRequest& WithPriority(int value) { SetPriority(value); return *this;} /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; } /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; } /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; } /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); } /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); } /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;} /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;} /** *

The new MaxConcurrency value you want to specify. * MaxConcurrency is the number of targets that are allowed to run * this task, in parallel.

Although this element is listed as * "Required: No", a value can be omitted only when you are registering or updating * a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;} /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; } /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; } /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; } /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); } /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); } /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;} /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;} /** *

The new MaxErrors value to specify. MaxErrors is * the maximum number of errors that are allowed before the task stops being * scheduled.

Although this element is listed as "Required: No", a * value can be omitted only when you are registering or updating a targetless * task You must provide a value in all other cases.

For maintenance * window tasks without a target specified, you can't supply a value for this * option. Instead, the system inserts a placeholder value of 1. This * value doesn't affect the running of your task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;} /** *

The new logging location in Amazon S3 to specify.

* LoggingInfo has been deprecated. To specify an Amazon Simple * Storage Service (Amazon S3) bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Amazon Web Services Systems Manager handles these options for the supported * maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

*/ inline const LoggingInfo& GetLoggingInfo() const{ return m_loggingInfo; } /** *

The new logging location in Amazon S3 to specify.

* LoggingInfo has been deprecated. To specify an Amazon Simple * Storage Service (Amazon S3) bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Amazon Web Services Systems Manager handles these options for the supported * maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

*/ inline bool LoggingInfoHasBeenSet() const { return m_loggingInfoHasBeenSet; } /** *

The new logging location in Amazon S3 to specify.

* LoggingInfo has been deprecated. To specify an Amazon Simple * Storage Service (Amazon S3) bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Amazon Web Services Systems Manager handles these options for the supported * maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

*/ inline void SetLoggingInfo(const LoggingInfo& value) { m_loggingInfoHasBeenSet = true; m_loggingInfo = value; } /** *

The new logging location in Amazon S3 to specify.

* LoggingInfo has been deprecated. To specify an Amazon Simple * Storage Service (Amazon S3) bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Amazon Web Services Systems Manager handles these options for the supported * maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

*/ inline void SetLoggingInfo(LoggingInfo&& value) { m_loggingInfoHasBeenSet = true; m_loggingInfo = std::move(value); } /** *

The new logging location in Amazon S3 to specify.

* LoggingInfo has been deprecated. To specify an Amazon Simple * Storage Service (Amazon S3) bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Amazon Web Services Systems Manager handles these options for the supported * maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

*/ inline UpdateMaintenanceWindowTaskRequest& WithLoggingInfo(const LoggingInfo& value) { SetLoggingInfo(value); return *this;} /** *

The new logging location in Amazon S3 to specify.

* LoggingInfo has been deprecated. To specify an Amazon Simple * Storage Service (Amazon S3) bucket to contain logs, instead use the * OutputS3BucketName and OutputS3KeyPrefix options in * the TaskInvocationParameters structure. For information about how * Amazon Web Services Systems Manager handles these options for the supported * maintenance window task types, see * MaintenanceWindowTaskInvocationParameters.

*/ inline UpdateMaintenanceWindowTaskRequest& WithLoggingInfo(LoggingInfo&& value) { SetLoggingInfo(std::move(value)); return *this;} /** *

The new task name to specify.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The new task name to specify.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The new task name to specify.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The new task name to specify.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The new task name to specify.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The new task name to specify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The new task name to specify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The new task name to specify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithName(const char* value) { SetName(value); return *this;} /** *

The new task description to specify.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The new task description to specify.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The new task description to specify.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The new task description to specify.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The new task description to specify.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The new task description to specify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The new task description to specify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The new task description to specify.

*/ inline UpdateMaintenanceWindowTaskRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

If True, then all fields that are required by the * RegisterTaskWithMaintenanceWindow operation are also required for this * API request. Optional fields that aren't specified are set to null.

*/ inline bool GetReplace() const{ return m_replace; } /** *

If True, then all fields that are required by the * RegisterTaskWithMaintenanceWindow operation are also required for this * API request. Optional fields that aren't specified are set to null.

*/ inline bool ReplaceHasBeenSet() const { return m_replaceHasBeenSet; } /** *

If True, then all fields that are required by the * RegisterTaskWithMaintenanceWindow operation are also required for this * API request. Optional fields that aren't specified are set to null.

*/ inline void SetReplace(bool value) { m_replaceHasBeenSet = true; m_replace = value; } /** *

If True, then all fields that are required by the * RegisterTaskWithMaintenanceWindow operation are also required for this * API request. Optional fields that aren't specified are set to null.

*/ inline UpdateMaintenanceWindowTaskRequest& WithReplace(bool value) { SetReplace(value); return *this;} /** *

Indicates whether tasks should continue to run after the cutoff time * specified in the maintenance windows is reached.

  • * CONTINUE_TASK: When the cutoff time is reached, any tasks that are * running continue. The default value.

  • * CANCEL_TASK:

    • For Automation, Lambda, Step * Functions tasks: When the cutoff time is reached, any task invocations that are * already running continue, but no new task invocations are started.

    • *
    • For Run Command tasks: When the cutoff time is reached, the system sends * a CancelCommand operation that attempts to cancel the command associated * with the task. However, there is no guarantee that the command will be * terminated and the underlying process stopped.

    The status for * tasks that are not completed is TIMED_OUT.

*/ inline const MaintenanceWindowTaskCutoffBehavior& GetCutoffBehavior() const{ return m_cutoffBehavior; } /** *

Indicates whether tasks should continue to run after the cutoff time * specified in the maintenance windows is reached.

  • * CONTINUE_TASK: When the cutoff time is reached, any tasks that are * running continue. The default value.

  • * CANCEL_TASK:

    • For Automation, Lambda, Step * Functions tasks: When the cutoff time is reached, any task invocations that are * already running continue, but no new task invocations are started.

    • *
    • For Run Command tasks: When the cutoff time is reached, the system sends * a CancelCommand operation that attempts to cancel the command associated * with the task. However, there is no guarantee that the command will be * terminated and the underlying process stopped.

    The status for * tasks that are not completed is TIMED_OUT.

*/ inline bool CutoffBehaviorHasBeenSet() const { return m_cutoffBehaviorHasBeenSet; } /** *

Indicates whether tasks should continue to run after the cutoff time * specified in the maintenance windows is reached.

  • * CONTINUE_TASK: When the cutoff time is reached, any tasks that are * running continue. The default value.

  • * CANCEL_TASK:

    • For Automation, Lambda, Step * Functions tasks: When the cutoff time is reached, any task invocations that are * already running continue, but no new task invocations are started.

    • *
    • For Run Command tasks: When the cutoff time is reached, the system sends * a CancelCommand operation that attempts to cancel the command associated * with the task. However, there is no guarantee that the command will be * terminated and the underlying process stopped.

    The status for * tasks that are not completed is TIMED_OUT.

*/ inline void SetCutoffBehavior(const MaintenanceWindowTaskCutoffBehavior& value) { m_cutoffBehaviorHasBeenSet = true; m_cutoffBehavior = value; } /** *

Indicates whether tasks should continue to run after the cutoff time * specified in the maintenance windows is reached.

  • * CONTINUE_TASK: When the cutoff time is reached, any tasks that are * running continue. The default value.

  • * CANCEL_TASK:

    • For Automation, Lambda, Step * Functions tasks: When the cutoff time is reached, any task invocations that are * already running continue, but no new task invocations are started.

    • *
    • For Run Command tasks: When the cutoff time is reached, the system sends * a CancelCommand operation that attempts to cancel the command associated * with the task. However, there is no guarantee that the command will be * terminated and the underlying process stopped.

    The status for * tasks that are not completed is TIMED_OUT.

*/ inline void SetCutoffBehavior(MaintenanceWindowTaskCutoffBehavior&& value) { m_cutoffBehaviorHasBeenSet = true; m_cutoffBehavior = std::move(value); } /** *

Indicates whether tasks should continue to run after the cutoff time * specified in the maintenance windows is reached.

  • * CONTINUE_TASK: When the cutoff time is reached, any tasks that are * running continue. The default value.

  • * CANCEL_TASK:

    • For Automation, Lambda, Step * Functions tasks: When the cutoff time is reached, any task invocations that are * already running continue, but no new task invocations are started.

    • *
    • For Run Command tasks: When the cutoff time is reached, the system sends * a CancelCommand operation that attempts to cancel the command associated * with the task. However, there is no guarantee that the command will be * terminated and the underlying process stopped.

    The status for * tasks that are not completed is TIMED_OUT.

*/ inline UpdateMaintenanceWindowTaskRequest& WithCutoffBehavior(const MaintenanceWindowTaskCutoffBehavior& value) { SetCutoffBehavior(value); return *this;} /** *

Indicates whether tasks should continue to run after the cutoff time * specified in the maintenance windows is reached.

  • * CONTINUE_TASK: When the cutoff time is reached, any tasks that are * running continue. The default value.

  • * CANCEL_TASK:

    • For Automation, Lambda, Step * Functions tasks: When the cutoff time is reached, any task invocations that are * already running continue, but no new task invocations are started.

    • *
    • For Run Command tasks: When the cutoff time is reached, the system sends * a CancelCommand operation that attempts to cancel the command associated * with the task. However, there is no guarantee that the command will be * terminated and the underlying process stopped.

    The status for * tasks that are not completed is TIMED_OUT.

*/ inline UpdateMaintenanceWindowTaskRequest& WithCutoffBehavior(MaintenanceWindowTaskCutoffBehavior&& value) { SetCutoffBehavior(std::move(value)); return *this;} /** *

The CloudWatch alarm you want to apply to your maintenance window task.

*/ inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; } /** *

The CloudWatch alarm you want to apply to your maintenance window task.

*/ inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; } /** *

The CloudWatch alarm you want to apply to your maintenance window task.

*/ inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; } /** *

The CloudWatch alarm you want to apply to your maintenance window task.

*/ inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); } /** *

The CloudWatch alarm you want to apply to your maintenance window task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;} /** *

The CloudWatch alarm you want to apply to your maintenance window task.

*/ inline UpdateMaintenanceWindowTaskRequest& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;} private: Aws::String m_windowId; bool m_windowIdHasBeenSet = false; Aws::String m_windowTaskId; bool m_windowTaskIdHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; Aws::String m_taskArn; bool m_taskArnHasBeenSet = false; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet = false; Aws::Map m_taskParameters; bool m_taskParametersHasBeenSet = false; MaintenanceWindowTaskInvocationParameters m_taskInvocationParameters; bool m_taskInvocationParametersHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; Aws::String m_maxConcurrency; bool m_maxConcurrencyHasBeenSet = false; Aws::String m_maxErrors; bool m_maxErrorsHasBeenSet = false; LoggingInfo m_loggingInfo; bool m_loggingInfoHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; bool m_replace; bool m_replaceHasBeenSet = false; MaintenanceWindowTaskCutoffBehavior m_cutoffBehavior; bool m_cutoffBehaviorHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws