/** * 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 #include #include namespace Aws { namespace SSM { namespace Model { /** */ class RegisterTaskWithMaintenanceWindowRequest : public SSMRequest { public: AWS_SSM_API RegisterTaskWithMaintenanceWindowRequest(); // 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 "RegisterTaskWithMaintenanceWindow"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The ID of the maintenance window the task should be added to.

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The targets (either managed nodes or maintenance window targets).

*

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.

Specify managed nodes using the * following format:

* Key=InstanceIds,Values=<instance-id-1>,<instance-id-2> *

Specify maintenance window targets using the following format:

* Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2> *

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

The ARN of the task to run.

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

The ARN of the task to run.

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

The ARN of the task to run.

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

The ARN of the task to run.

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

The ARN of the task to run.

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

The ARN of the task to run.

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

The ARN of the task to run.

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

The ARN of the task to run.

*/ inline RegisterTaskWithMaintenanceWindowRequest& 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 RegisterTaskWithMaintenanceWindowRequest& 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 RegisterTaskWithMaintenanceWindowRequest& 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 RegisterTaskWithMaintenanceWindowRequest& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} /** *

The type of task being registered.

*/ inline const MaintenanceWindowTaskType& GetTaskType() const{ return m_taskType; } /** *

The type of task being registered.

*/ inline bool TaskTypeHasBeenSet() const { return m_taskTypeHasBeenSet; } /** *

The type of task being registered.

*/ inline void SetTaskType(const MaintenanceWindowTaskType& value) { m_taskTypeHasBeenSet = true; m_taskType = value; } /** *

The type of task being registered.

*/ inline void SetTaskType(MaintenanceWindowTaskType&& value) { m_taskTypeHasBeenSet = true; m_taskType = std::move(value); } /** *

The type of task being registered.

*/ inline RegisterTaskWithMaintenanceWindowRequest& WithTaskType(const MaintenanceWindowTaskType& value) { SetTaskType(value); return *this;} /** *

The type of task being registered.

*/ inline RegisterTaskWithMaintenanceWindowRequest& WithTaskType(MaintenanceWindowTaskType&& value) { SetTaskType(std::move(value)); return *this;} /** *

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

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

The parameters that should be passed to the task when it is run.

*

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.

*/ inline RegisterTaskWithMaintenanceWindowRequest& 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.

*/ 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.

*/ 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.

*/ 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.

*/ 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.

*/ inline RegisterTaskWithMaintenanceWindowRequest& 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.

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

The priority of the task in the maintenance window, the lower the number the * higher the priority. Tasks in a maintenance window are scheduled in priority * order with tasks that have the same priority scheduled in parallel.

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

The priority of the task in the maintenance window, the lower the number the * higher the priority. Tasks in a maintenance window are scheduled in priority * order with tasks that have the same priority scheduled in parallel.

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

The priority of the task in the maintenance window, the lower the number the * higher the priority. Tasks in a maintenance window are scheduled in priority * order with tasks that have the same priority scheduled in parallel.

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

The priority of the task in the maintenance window, the lower the number the * higher the priority. Tasks in a maintenance window are scheduled in priority * order with tasks that have the same priority scheduled in parallel.

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

The maximum number of targets this task can be run for, 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 maximum number of targets this task can be run for, 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 maximum number of targets this task can be run for, 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 maximum number of targets this task can be run for, 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 maximum number of targets this task can be run for, 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 maximum number of targets this task can be run for, 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 RegisterTaskWithMaintenanceWindowRequest& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;} /** *

The maximum number of targets this task can be run for, 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 RegisterTaskWithMaintenanceWindowRequest& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;} /** *

The maximum number of targets this task can be run for, 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 RegisterTaskWithMaintenanceWindowRequest& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;} /** *

The maximum number of errors allowed before this 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 maximum number of errors allowed before this 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 maximum number of errors allowed before this 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 maximum number of errors allowed before this 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 maximum number of errors allowed before this 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 maximum number of errors allowed before this 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 RegisterTaskWithMaintenanceWindowRequest& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;} /** *

The maximum number of errors allowed before this 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 RegisterTaskWithMaintenanceWindowRequest& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;} /** *

The maximum number of errors allowed before this 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 RegisterTaskWithMaintenanceWindowRequest& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;} /** *

A structure containing information about an Amazon Simple Storage Service * (Amazon S3) bucket to write managed node-level logs to.

* 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; } /** *

A structure containing information about an Amazon Simple Storage Service * (Amazon S3) bucket to write managed node-level logs to.

* 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; } /** *

A structure containing information about an Amazon Simple Storage Service * (Amazon S3) bucket to write managed node-level logs to.

* 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; } /** *

A structure containing information about an Amazon Simple Storage Service * (Amazon S3) bucket to write managed node-level logs to.

* 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); } /** *

A structure containing information about an Amazon Simple Storage Service * (Amazon S3) bucket to write managed node-level logs to.

* 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 RegisterTaskWithMaintenanceWindowRequest& WithLoggingInfo(const LoggingInfo& value) { SetLoggingInfo(value); return *this;} /** *

A structure containing information about an Amazon Simple Storage Service * (Amazon S3) bucket to write managed node-level logs to.

* 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 RegisterTaskWithMaintenanceWindowRequest& WithLoggingInfo(LoggingInfo&& value) { SetLoggingInfo(std::move(value)); return *this;} /** *

An optional name for the task.

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

An optional name for the task.

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

An optional name for the task.

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

An optional name for the task.

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

An optional name for the task.

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

An optional name for the task.

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

An optional name for the task.

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

An optional name for the task.

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

An optional description for the task.

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

An optional description for the task.

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

An optional description for the task.

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

An optional description for the task.

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

An optional description for the task.

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

An optional description for the task.

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

An optional description for the task.

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

An optional description for the task.

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

User-provided idempotency token.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

User-provided idempotency token.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

User-provided idempotency token.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

User-provided idempotency token.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

User-provided idempotency token.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

User-provided idempotency token.

*/ inline RegisterTaskWithMaintenanceWindowRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

User-provided idempotency token.

*/ inline RegisterTaskWithMaintenanceWindowRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

User-provided idempotency token.

*/ inline RegisterTaskWithMaintenanceWindowRequest& WithClientToken(const char* value) { SetClientToken(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 RegisterTaskWithMaintenanceWindowRequest& 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 RegisterTaskWithMaintenanceWindowRequest& 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 RegisterTaskWithMaintenanceWindowRequest& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;} /** *

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

*/ inline RegisterTaskWithMaintenanceWindowRequest& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;} private: Aws::String m_windowId; bool m_windowIdHasBeenSet = 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; MaintenanceWindowTaskType m_taskType; bool m_taskTypeHasBeenSet = 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; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; MaintenanceWindowTaskCutoffBehavior m_cutoffBehavior; bool m_cutoffBehaviorHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws