/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSM { namespace Model { /** *

Information about a task defined for a maintenance window.

See * Also:

AWS * API Reference

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The ID of the maintenance window where the task is registered.

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

The task ID.

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

The task ID.

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

The task ID.

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

The task ID.

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

The task ID.

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

The task ID.

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

The task ID.

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

The task ID.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The resource that the task uses during execution. For * RUN_COMMAND and AUTOMATION task types, * TaskArn is the Amazon Web Services Systems Manager (SSM document) * name or ARN. For LAMBDA tasks, it's the function name or ARN. For * STEP_FUNCTIONS tasks, it's the state machine ARN.

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

The type of task.

*/ inline const MaintenanceWindowTaskType& GetType() const{ return m_type; } /** *

The type of task.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of task.

*/ inline void SetType(const MaintenanceWindowTaskType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of task.

*/ inline void SetType(MaintenanceWindowTaskType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of task.

*/ inline MaintenanceWindowTask& WithType(const MaintenanceWindowTaskType& value) { SetType(value); return *this;} /** *

The type of task.

*/ inline MaintenanceWindowTask& WithType(MaintenanceWindowTaskType&& value) { SetType(std::move(value)); return *this;} /** *

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

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

The targets (either managed nodes or tags). Managed nodes are specified using * Key=instanceids,Values=<instanceid1>,<instanceid2>. * Tags are specified using Key=<tag name>,Values=<tag * value>.

*/ inline MaintenanceWindowTask& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(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 MaintenanceWindowTask& 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 MaintenanceWindowTask& 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 MaintenanceWindowTask& 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 MaintenanceWindowTask& 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 MaintenanceWindowTask& 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 MaintenanceWindowTask& 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 MaintenanceWindowTask& 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 MaintenanceWindowTask& AddTaskParameters(const char* key, const MaintenanceWindowTaskParameterValueExpression& value) { m_taskParametersHasBeenSet = true; m_taskParameters.emplace(key, value); return *this; } /** *

The priority of the task in the maintenance window. 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 priority of the task in the maintenance window. 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 priority of the task in the maintenance window. 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 priority of the task in the maintenance window. The lower the number, the * higher the priority. Tasks that have the same priority are scheduled in * parallel.

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

Information about an S3 bucket to write task-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; } /** *

Information about an S3 bucket to write task-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; } /** *

Information about an S3 bucket to write task-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; } /** *

Information about an S3 bucket to write task-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); } /** *

Information about an S3 bucket to write task-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 MaintenanceWindowTask& WithLoggingInfo(const LoggingInfo& value) { SetLoggingInfo(value); return *this;} /** *

Information about an S3 bucket to write task-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 MaintenanceWindowTask& WithLoggingInfo(LoggingInfo&& value) { SetLoggingInfo(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * service role to use to publish Amazon Simple Notification Service (Amazon SNS) * notifications for maintenance window Run Command tasks.

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

The task name.

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

The task name.

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

The task name.

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

The task name.

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

The task name.

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

The task name.

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

The task name.

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

The task name.

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

A description of the task.

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

A description of the task.

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

A description of the task.

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

A description of the task.

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

A description of the task.

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

A description of the task.

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

A description of the task.

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

A description of the task.

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

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

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

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

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

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

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

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

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

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

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

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

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

The details for the CloudWatch alarm applied to your maintenance window * task.

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

The details for the CloudWatch alarm applied to your maintenance window * task.

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

The details for the CloudWatch alarm applied to your maintenance window * task.

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

The details for the CloudWatch alarm applied to your maintenance window * task.

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

The details for the CloudWatch alarm applied to your maintenance window * task.

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

The details for the CloudWatch alarm applied to your maintenance window * task.

*/ inline MaintenanceWindowTask& 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::String m_taskArn; bool m_taskArnHasBeenSet = false; MaintenanceWindowTaskType m_type; bool m_typeHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; Aws::Map m_taskParameters; bool m_taskParametersHasBeenSet = false; int m_priority; bool m_priorityHasBeenSet = false; LoggingInfo m_loggingInfo; bool m_loggingInfoHasBeenSet = false; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet = false; Aws::String m_maxConcurrency; bool m_maxConcurrencyHasBeenSet = false; Aws::String m_maxErrors; bool m_maxErrorsHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; MaintenanceWindowTaskCutoffBehavior m_cutoffBehavior; bool m_cutoffBehaviorHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws