1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ssm/SSM_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/ssm/model/CloudWatchOutputConfig.h> 10 #include <aws/ssm/model/DocumentHashType.h> 11 #include <aws/ssm/model/NotificationConfig.h> 12 #include <aws/core/utils/memory/stl/AWSMap.h> 13 #include <aws/core/utils/memory/stl/AWSVector.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 class JsonView; 24 } // namespace Json 25 } // namespace Utils 26 namespace SSM 27 { 28 namespace Model 29 { 30 31 /** 32 * <p>The parameters for a <code>RUN_COMMAND</code> task type.</p> <p>For 33 * information about specifying and updating task parameters, see 34 * <a>RegisterTaskWithMaintenanceWindow</a> and 35 * <a>UpdateMaintenanceWindowTask</a>.</p> <p> <code>LoggingInfo</code> has 36 * been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket 37 * to contain logs, instead use the <code>OutputS3BucketName</code> and 38 * <code>OutputS3KeyPrefix</code> options in the 39 * <code>TaskInvocationParameters</code> structure. For information about how 40 * Amazon Web Services Systems Manager handles these options for the supported 41 * maintenance window task types, see 42 * <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p> 43 * <code>TaskParameters</code> has been deprecated. To specify parameters to pass 44 * to a task when it runs, instead use the <code>Parameters</code> option in the 45 * <code>TaskInvocationParameters</code> structure. For information about how 46 * Systems Manager handles these options for the supported maintenance window task 47 * types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p> <p>For 48 * <code>RUN_COMMAND</code> tasks, Systems Manager uses specified values for 49 * <code>TaskParameters</code> and <code>LoggingInfo</code> only if no values are 50 * specified for <code>TaskInvocationParameters</code>. </p> <p><h3>See 51 * Also:</h3> <a 52 * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/MaintenanceWindowRunCommandParameters">AWS 53 * API Reference</a></p> 54 */ 55 class AWS_SSM_API MaintenanceWindowRunCommandParameters 56 { 57 public: 58 MaintenanceWindowRunCommandParameters(); 59 MaintenanceWindowRunCommandParameters(Aws::Utils::Json::JsonView jsonValue); 60 MaintenanceWindowRunCommandParameters& operator=(Aws::Utils::Json::JsonView jsonValue); 61 Aws::Utils::Json::JsonValue Jsonize() const; 62 63 64 /** 65 * <p>Information about the commands to run.</p> 66 */ GetComment()67 inline const Aws::String& GetComment() const{ return m_comment; } 68 69 /** 70 * <p>Information about the commands to run.</p> 71 */ CommentHasBeenSet()72 inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } 73 74 /** 75 * <p>Information about the commands to run.</p> 76 */ SetComment(const Aws::String & value)77 inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } 78 79 /** 80 * <p>Information about the commands to run.</p> 81 */ SetComment(Aws::String && value)82 inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } 83 84 /** 85 * <p>Information about the commands to run.</p> 86 */ SetComment(const char * value)87 inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } 88 89 /** 90 * <p>Information about the commands to run.</p> 91 */ WithComment(const Aws::String & value)92 inline MaintenanceWindowRunCommandParameters& WithComment(const Aws::String& value) { SetComment(value); return *this;} 93 94 /** 95 * <p>Information about the commands to run.</p> 96 */ WithComment(Aws::String && value)97 inline MaintenanceWindowRunCommandParameters& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} 98 99 /** 100 * <p>Information about the commands to run.</p> 101 */ WithComment(const char * value)102 inline MaintenanceWindowRunCommandParameters& WithComment(const char* value) { SetComment(value); return *this;} 103 104 105 GetCloudWatchOutputConfig()106 inline const CloudWatchOutputConfig& GetCloudWatchOutputConfig() const{ return m_cloudWatchOutputConfig; } 107 108 CloudWatchOutputConfigHasBeenSet()109 inline bool CloudWatchOutputConfigHasBeenSet() const { return m_cloudWatchOutputConfigHasBeenSet; } 110 111 SetCloudWatchOutputConfig(const CloudWatchOutputConfig & value)112 inline void SetCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = value; } 113 114 SetCloudWatchOutputConfig(CloudWatchOutputConfig && value)115 inline void SetCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = std::move(value); } 116 117 WithCloudWatchOutputConfig(const CloudWatchOutputConfig & value)118 inline MaintenanceWindowRunCommandParameters& WithCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { SetCloudWatchOutputConfig(value); return *this;} 119 120 WithCloudWatchOutputConfig(CloudWatchOutputConfig && value)121 inline MaintenanceWindowRunCommandParameters& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;} 122 123 124 /** 125 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 126 * created. SHA-1 hashes have been deprecated.</p> 127 */ GetDocumentHash()128 inline const Aws::String& GetDocumentHash() const{ return m_documentHash; } 129 130 /** 131 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 132 * created. SHA-1 hashes have been deprecated.</p> 133 */ DocumentHashHasBeenSet()134 inline bool DocumentHashHasBeenSet() const { return m_documentHashHasBeenSet; } 135 136 /** 137 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 138 * created. SHA-1 hashes have been deprecated.</p> 139 */ SetDocumentHash(const Aws::String & value)140 inline void SetDocumentHash(const Aws::String& value) { m_documentHashHasBeenSet = true; m_documentHash = value; } 141 142 /** 143 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 144 * created. SHA-1 hashes have been deprecated.</p> 145 */ SetDocumentHash(Aws::String && value)146 inline void SetDocumentHash(Aws::String&& value) { m_documentHashHasBeenSet = true; m_documentHash = std::move(value); } 147 148 /** 149 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 150 * created. SHA-1 hashes have been deprecated.</p> 151 */ SetDocumentHash(const char * value)152 inline void SetDocumentHash(const char* value) { m_documentHashHasBeenSet = true; m_documentHash.assign(value); } 153 154 /** 155 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 156 * created. SHA-1 hashes have been deprecated.</p> 157 */ WithDocumentHash(const Aws::String & value)158 inline MaintenanceWindowRunCommandParameters& WithDocumentHash(const Aws::String& value) { SetDocumentHash(value); return *this;} 159 160 /** 161 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 162 * created. SHA-1 hashes have been deprecated.</p> 163 */ WithDocumentHash(Aws::String && value)164 inline MaintenanceWindowRunCommandParameters& WithDocumentHash(Aws::String&& value) { SetDocumentHash(std::move(value)); return *this;} 165 166 /** 167 * <p>The SHA-256 or SHA-1 hash created by the system when the document was 168 * created. SHA-1 hashes have been deprecated.</p> 169 */ WithDocumentHash(const char * value)170 inline MaintenanceWindowRunCommandParameters& WithDocumentHash(const char* value) { SetDocumentHash(value); return *this;} 171 172 173 /** 174 * <p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p> 175 */ GetDocumentHashType()176 inline const DocumentHashType& GetDocumentHashType() const{ return m_documentHashType; } 177 178 /** 179 * <p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p> 180 */ DocumentHashTypeHasBeenSet()181 inline bool DocumentHashTypeHasBeenSet() const { return m_documentHashTypeHasBeenSet; } 182 183 /** 184 * <p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p> 185 */ SetDocumentHashType(const DocumentHashType & value)186 inline void SetDocumentHashType(const DocumentHashType& value) { m_documentHashTypeHasBeenSet = true; m_documentHashType = value; } 187 188 /** 189 * <p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p> 190 */ SetDocumentHashType(DocumentHashType && value)191 inline void SetDocumentHashType(DocumentHashType&& value) { m_documentHashTypeHasBeenSet = true; m_documentHashType = std::move(value); } 192 193 /** 194 * <p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p> 195 */ WithDocumentHashType(const DocumentHashType & value)196 inline MaintenanceWindowRunCommandParameters& WithDocumentHashType(const DocumentHashType& value) { SetDocumentHashType(value); return *this;} 197 198 /** 199 * <p>SHA-256 or SHA-1. SHA-1 hashes have been deprecated.</p> 200 */ WithDocumentHashType(DocumentHashType && value)201 inline MaintenanceWindowRunCommandParameters& WithDocumentHashType(DocumentHashType&& value) { SetDocumentHashType(std::move(value)); return *this;} 202 203 204 /** 205 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 206 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 207 * or a specific version number. If you run commands by using the Amazon Web 208 * Services CLI, then you must escape the first two options by using a backslash. 209 * If you specify a version number, then you don't need to use the backslash. For 210 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 211 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 212 * "3"</code> </p> 213 */ GetDocumentVersion()214 inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; } 215 216 /** 217 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 218 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 219 * or a specific version number. If you run commands by using the Amazon Web 220 * Services CLI, then you must escape the first two options by using a backslash. 221 * If you specify a version number, then you don't need to use the backslash. For 222 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 223 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 224 * "3"</code> </p> 225 */ DocumentVersionHasBeenSet()226 inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; } 227 228 /** 229 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 230 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 231 * or a specific version number. If you run commands by using the Amazon Web 232 * Services CLI, then you must escape the first two options by using a backslash. 233 * If you specify a version number, then you don't need to use the backslash. For 234 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 235 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 236 * "3"</code> </p> 237 */ SetDocumentVersion(const Aws::String & value)238 inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; } 239 240 /** 241 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 242 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 243 * or a specific version number. If you run commands by using the Amazon Web 244 * Services CLI, then you must escape the first two options by using a backslash. 245 * If you specify a version number, then you don't need to use the backslash. For 246 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 247 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 248 * "3"</code> </p> 249 */ SetDocumentVersion(Aws::String && value)250 inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); } 251 252 /** 253 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 254 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 255 * or a specific version number. If you run commands by using the Amazon Web 256 * Services CLI, then you must escape the first two options by using a backslash. 257 * If you specify a version number, then you don't need to use the backslash. For 258 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 259 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 260 * "3"</code> </p> 261 */ SetDocumentVersion(const char * value)262 inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); } 263 264 /** 265 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 266 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 267 * or a specific version number. If you run commands by using the Amazon Web 268 * Services CLI, then you must escape the first two options by using a backslash. 269 * If you specify a version number, then you don't need to use the backslash. For 270 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 271 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 272 * "3"</code> </p> 273 */ WithDocumentVersion(const Aws::String & value)274 inline MaintenanceWindowRunCommandParameters& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;} 275 276 /** 277 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 278 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 279 * or a specific version number. If you run commands by using the Amazon Web 280 * Services CLI, then you must escape the first two options by using a backslash. 281 * If you specify a version number, then you don't need to use the backslash. For 282 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 283 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 284 * "3"</code> </p> 285 */ WithDocumentVersion(Aws::String && value)286 inline MaintenanceWindowRunCommandParameters& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;} 287 288 /** 289 * <p>The Amazon Web Services Systems Manager document (SSM document) version to 290 * use in the request. You can specify <code>$DEFAULT</code>, <code>$LATEST</code>, 291 * or a specific version number. If you run commands by using the Amazon Web 292 * Services CLI, then you must escape the first two options by using a backslash. 293 * If you specify a version number, then you don't need to use the backslash. For 294 * example:</p> <p> <code>--document-version "\$DEFAULT"</code> </p> <p> 295 * <code>--document-version "\$LATEST"</code> </p> <p> <code>--document-version 296 * "3"</code> </p> 297 */ WithDocumentVersion(const char * value)298 inline MaintenanceWindowRunCommandParameters& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;} 299 300 301 /** 302 * <p>Configurations for sending notifications about command status changes on a 303 * per-instance basis.</p> 304 */ GetNotificationConfig()305 inline const NotificationConfig& GetNotificationConfig() const{ return m_notificationConfig; } 306 307 /** 308 * <p>Configurations for sending notifications about command status changes on a 309 * per-instance basis.</p> 310 */ NotificationConfigHasBeenSet()311 inline bool NotificationConfigHasBeenSet() const { return m_notificationConfigHasBeenSet; } 312 313 /** 314 * <p>Configurations for sending notifications about command status changes on a 315 * per-instance basis.</p> 316 */ SetNotificationConfig(const NotificationConfig & value)317 inline void SetNotificationConfig(const NotificationConfig& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = value; } 318 319 /** 320 * <p>Configurations for sending notifications about command status changes on a 321 * per-instance basis.</p> 322 */ SetNotificationConfig(NotificationConfig && value)323 inline void SetNotificationConfig(NotificationConfig&& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = std::move(value); } 324 325 /** 326 * <p>Configurations for sending notifications about command status changes on a 327 * per-instance basis.</p> 328 */ WithNotificationConfig(const NotificationConfig & value)329 inline MaintenanceWindowRunCommandParameters& WithNotificationConfig(const NotificationConfig& value) { SetNotificationConfig(value); return *this;} 330 331 /** 332 * <p>Configurations for sending notifications about command status changes on a 333 * per-instance basis.</p> 334 */ WithNotificationConfig(NotificationConfig && value)335 inline MaintenanceWindowRunCommandParameters& WithNotificationConfig(NotificationConfig&& value) { SetNotificationConfig(std::move(value)); return *this;} 336 337 338 /** 339 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 340 */ GetOutputS3BucketName()341 inline const Aws::String& GetOutputS3BucketName() const{ return m_outputS3BucketName; } 342 343 /** 344 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 345 */ OutputS3BucketNameHasBeenSet()346 inline bool OutputS3BucketNameHasBeenSet() const { return m_outputS3BucketNameHasBeenSet; } 347 348 /** 349 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 350 */ SetOutputS3BucketName(const Aws::String & value)351 inline void SetOutputS3BucketName(const Aws::String& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = value; } 352 353 /** 354 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 355 */ SetOutputS3BucketName(Aws::String && value)356 inline void SetOutputS3BucketName(Aws::String&& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = std::move(value); } 357 358 /** 359 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 360 */ SetOutputS3BucketName(const char * value)361 inline void SetOutputS3BucketName(const char* value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName.assign(value); } 362 363 /** 364 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 365 */ WithOutputS3BucketName(const Aws::String & value)366 inline MaintenanceWindowRunCommandParameters& WithOutputS3BucketName(const Aws::String& value) { SetOutputS3BucketName(value); return *this;} 367 368 /** 369 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 370 */ WithOutputS3BucketName(Aws::String && value)371 inline MaintenanceWindowRunCommandParameters& WithOutputS3BucketName(Aws::String&& value) { SetOutputS3BucketName(std::move(value)); return *this;} 372 373 /** 374 * <p>The name of the Amazon Simple Storage Service (Amazon S3) bucket.</p> 375 */ WithOutputS3BucketName(const char * value)376 inline MaintenanceWindowRunCommandParameters& WithOutputS3BucketName(const char* value) { SetOutputS3BucketName(value); return *this;} 377 378 379 /** 380 * <p>The S3 bucket subfolder.</p> 381 */ GetOutputS3KeyPrefix()382 inline const Aws::String& GetOutputS3KeyPrefix() const{ return m_outputS3KeyPrefix; } 383 384 /** 385 * <p>The S3 bucket subfolder.</p> 386 */ OutputS3KeyPrefixHasBeenSet()387 inline bool OutputS3KeyPrefixHasBeenSet() const { return m_outputS3KeyPrefixHasBeenSet; } 388 389 /** 390 * <p>The S3 bucket subfolder.</p> 391 */ SetOutputS3KeyPrefix(const Aws::String & value)392 inline void SetOutputS3KeyPrefix(const Aws::String& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = value; } 393 394 /** 395 * <p>The S3 bucket subfolder.</p> 396 */ SetOutputS3KeyPrefix(Aws::String && value)397 inline void SetOutputS3KeyPrefix(Aws::String&& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = std::move(value); } 398 399 /** 400 * <p>The S3 bucket subfolder.</p> 401 */ SetOutputS3KeyPrefix(const char * value)402 inline void SetOutputS3KeyPrefix(const char* value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix.assign(value); } 403 404 /** 405 * <p>The S3 bucket subfolder.</p> 406 */ WithOutputS3KeyPrefix(const Aws::String & value)407 inline MaintenanceWindowRunCommandParameters& WithOutputS3KeyPrefix(const Aws::String& value) { SetOutputS3KeyPrefix(value); return *this;} 408 409 /** 410 * <p>The S3 bucket subfolder.</p> 411 */ WithOutputS3KeyPrefix(Aws::String && value)412 inline MaintenanceWindowRunCommandParameters& WithOutputS3KeyPrefix(Aws::String&& value) { SetOutputS3KeyPrefix(std::move(value)); return *this;} 413 414 /** 415 * <p>The S3 bucket subfolder.</p> 416 */ WithOutputS3KeyPrefix(const char * value)417 inline MaintenanceWindowRunCommandParameters& WithOutputS3KeyPrefix(const char* value) { SetOutputS3KeyPrefix(value); return *this;} 418 419 420 /** 421 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 422 */ GetParameters()423 inline const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& GetParameters() const{ return m_parameters; } 424 425 /** 426 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 427 */ ParametersHasBeenSet()428 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } 429 430 /** 431 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 432 */ SetParameters(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)433 inline void SetParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { m_parametersHasBeenSet = true; m_parameters = value; } 434 435 /** 436 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 437 */ SetParameters(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)438 inline void SetParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } 439 440 /** 441 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 442 */ WithParameters(const Aws::Map<Aws::String,Aws::Vector<Aws::String>> & value)443 inline MaintenanceWindowRunCommandParameters& WithParameters(const Aws::Map<Aws::String, Aws::Vector<Aws::String>>& value) { SetParameters(value); return *this;} 444 445 /** 446 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 447 */ WithParameters(Aws::Map<Aws::String,Aws::Vector<Aws::String>> && value)448 inline MaintenanceWindowRunCommandParameters& WithParameters(Aws::Map<Aws::String, Aws::Vector<Aws::String>>&& value) { SetParameters(std::move(value)); return *this;} 449 450 /** 451 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 452 */ AddParameters(const Aws::String & key,const Aws::Vector<Aws::String> & value)453 inline MaintenanceWindowRunCommandParameters& AddParameters(const Aws::String& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } 454 455 /** 456 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 457 */ AddParameters(Aws::String && key,const Aws::Vector<Aws::String> & value)458 inline MaintenanceWindowRunCommandParameters& AddParameters(Aws::String&& key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } 459 460 /** 461 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 462 */ AddParameters(const Aws::String & key,Aws::Vector<Aws::String> && value)463 inline MaintenanceWindowRunCommandParameters& AddParameters(const Aws::String& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } 464 465 /** 466 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 467 */ AddParameters(Aws::String && key,Aws::Vector<Aws::String> && value)468 inline MaintenanceWindowRunCommandParameters& AddParameters(Aws::String&& key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } 469 470 /** 471 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 472 */ AddParameters(const char * key,Aws::Vector<Aws::String> && value)473 inline MaintenanceWindowRunCommandParameters& AddParameters(const char* key, Aws::Vector<Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } 474 475 /** 476 * <p>The parameters for the <code>RUN_COMMAND</code> task execution.</p> 477 */ AddParameters(const char * key,const Aws::Vector<Aws::String> & value)478 inline MaintenanceWindowRunCommandParameters& AddParameters(const char* key, const Aws::Vector<Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } 479 480 481 /** 482 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 483 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 484 * notifications for maintenance window Run Command tasks.</p> 485 */ GetServiceRoleArn()486 inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; } 487 488 /** 489 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 490 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 491 * notifications for maintenance window Run Command tasks.</p> 492 */ ServiceRoleArnHasBeenSet()493 inline bool ServiceRoleArnHasBeenSet() const { return m_serviceRoleArnHasBeenSet; } 494 495 /** 496 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 497 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 498 * notifications for maintenance window Run Command tasks.</p> 499 */ SetServiceRoleArn(const Aws::String & value)500 inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = value; } 501 502 /** 503 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 504 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 505 * notifications for maintenance window Run Command tasks.</p> 506 */ SetServiceRoleArn(Aws::String && value)507 inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = std::move(value); } 508 509 /** 510 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 511 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 512 * notifications for maintenance window Run Command tasks.</p> 513 */ SetServiceRoleArn(const char * value)514 inline void SetServiceRoleArn(const char* value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn.assign(value); } 515 516 /** 517 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 518 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 519 * notifications for maintenance window Run Command tasks.</p> 520 */ WithServiceRoleArn(const Aws::String & value)521 inline MaintenanceWindowRunCommandParameters& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;} 522 523 /** 524 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 525 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 526 * notifications for maintenance window Run Command tasks.</p> 527 */ WithServiceRoleArn(Aws::String && value)528 inline MaintenanceWindowRunCommandParameters& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;} 529 530 /** 531 * <p>The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) 532 * service role to use to publish Amazon Simple Notification Service (Amazon SNS) 533 * notifications for maintenance window Run Command tasks.</p> 534 */ WithServiceRoleArn(const char * value)535 inline MaintenanceWindowRunCommandParameters& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} 536 537 538 /** 539 * <p>If this time is reached and the command hasn't already started running, it 540 * doesn't run.</p> 541 */ GetTimeoutSeconds()542 inline int GetTimeoutSeconds() const{ return m_timeoutSeconds; } 543 544 /** 545 * <p>If this time is reached and the command hasn't already started running, it 546 * doesn't run.</p> 547 */ TimeoutSecondsHasBeenSet()548 inline bool TimeoutSecondsHasBeenSet() const { return m_timeoutSecondsHasBeenSet; } 549 550 /** 551 * <p>If this time is reached and the command hasn't already started running, it 552 * doesn't run.</p> 553 */ SetTimeoutSeconds(int value)554 inline void SetTimeoutSeconds(int value) { m_timeoutSecondsHasBeenSet = true; m_timeoutSeconds = value; } 555 556 /** 557 * <p>If this time is reached and the command hasn't already started running, it 558 * doesn't run.</p> 559 */ WithTimeoutSeconds(int value)560 inline MaintenanceWindowRunCommandParameters& WithTimeoutSeconds(int value) { SetTimeoutSeconds(value); return *this;} 561 562 private: 563 564 Aws::String m_comment; 565 bool m_commentHasBeenSet; 566 567 CloudWatchOutputConfig m_cloudWatchOutputConfig; 568 bool m_cloudWatchOutputConfigHasBeenSet; 569 570 Aws::String m_documentHash; 571 bool m_documentHashHasBeenSet; 572 573 DocumentHashType m_documentHashType; 574 bool m_documentHashTypeHasBeenSet; 575 576 Aws::String m_documentVersion; 577 bool m_documentVersionHasBeenSet; 578 579 NotificationConfig m_notificationConfig; 580 bool m_notificationConfigHasBeenSet; 581 582 Aws::String m_outputS3BucketName; 583 bool m_outputS3BucketNameHasBeenSet; 584 585 Aws::String m_outputS3KeyPrefix; 586 bool m_outputS3KeyPrefixHasBeenSet; 587 588 Aws::Map<Aws::String, Aws::Vector<Aws::String>> m_parameters; 589 bool m_parametersHasBeenSet; 590 591 Aws::String m_serviceRoleArn; 592 bool m_serviceRoleArnHasBeenSet; 593 594 int m_timeoutSeconds; 595 bool m_timeoutSecondsHasBeenSet; 596 }; 597 598 } // namespace Model 599 } // namespace SSM 600 } // namespace Aws 601