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/sms/SMS_EXPORTS.h> 8 #include <aws/sms/SMSRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/sms/model/LicenseType.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace SMS 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_SMS_API UpdateReplicationJobRequest : public SMSRequest 24 { 25 public: 26 UpdateReplicationJobRequest(); 27 28 // Service request name is the Operation name which will send this request out, 29 // each operation should has unique request name, so that we can get operation's name from this request. 30 // Note: this is not true for response, multiple operations may have the same response name, 31 // so we can not get operation's name from response. GetServiceRequestName()32 inline virtual const char* GetServiceRequestName() const override { return "UpdateReplicationJob"; } 33 34 Aws::String SerializePayload() const override; 35 36 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 37 38 39 /** 40 * <p>The ID of the replication job.</p> 41 */ GetReplicationJobId()42 inline const Aws::String& GetReplicationJobId() const{ return m_replicationJobId; } 43 44 /** 45 * <p>The ID of the replication job.</p> 46 */ ReplicationJobIdHasBeenSet()47 inline bool ReplicationJobIdHasBeenSet() const { return m_replicationJobIdHasBeenSet; } 48 49 /** 50 * <p>The ID of the replication job.</p> 51 */ SetReplicationJobId(const Aws::String & value)52 inline void SetReplicationJobId(const Aws::String& value) { m_replicationJobIdHasBeenSet = true; m_replicationJobId = value; } 53 54 /** 55 * <p>The ID of the replication job.</p> 56 */ SetReplicationJobId(Aws::String && value)57 inline void SetReplicationJobId(Aws::String&& value) { m_replicationJobIdHasBeenSet = true; m_replicationJobId = std::move(value); } 58 59 /** 60 * <p>The ID of the replication job.</p> 61 */ SetReplicationJobId(const char * value)62 inline void SetReplicationJobId(const char* value) { m_replicationJobIdHasBeenSet = true; m_replicationJobId.assign(value); } 63 64 /** 65 * <p>The ID of the replication job.</p> 66 */ WithReplicationJobId(const Aws::String & value)67 inline UpdateReplicationJobRequest& WithReplicationJobId(const Aws::String& value) { SetReplicationJobId(value); return *this;} 68 69 /** 70 * <p>The ID of the replication job.</p> 71 */ WithReplicationJobId(Aws::String && value)72 inline UpdateReplicationJobRequest& WithReplicationJobId(Aws::String&& value) { SetReplicationJobId(std::move(value)); return *this;} 73 74 /** 75 * <p>The ID of the replication job.</p> 76 */ WithReplicationJobId(const char * value)77 inline UpdateReplicationJobRequest& WithReplicationJobId(const char* value) { SetReplicationJobId(value); return *this;} 78 79 80 /** 81 * <p>The time between consecutive replication runs, in hours.</p> 82 */ GetFrequency()83 inline int GetFrequency() const{ return m_frequency; } 84 85 /** 86 * <p>The time between consecutive replication runs, in hours.</p> 87 */ FrequencyHasBeenSet()88 inline bool FrequencyHasBeenSet() const { return m_frequencyHasBeenSet; } 89 90 /** 91 * <p>The time between consecutive replication runs, in hours.</p> 92 */ SetFrequency(int value)93 inline void SetFrequency(int value) { m_frequencyHasBeenSet = true; m_frequency = value; } 94 95 /** 96 * <p>The time between consecutive replication runs, in hours.</p> 97 */ WithFrequency(int value)98 inline UpdateReplicationJobRequest& WithFrequency(int value) { SetFrequency(value); return *this;} 99 100 101 /** 102 * <p>The start time of the next replication run.</p> 103 */ GetNextReplicationRunStartTime()104 inline const Aws::Utils::DateTime& GetNextReplicationRunStartTime() const{ return m_nextReplicationRunStartTime; } 105 106 /** 107 * <p>The start time of the next replication run.</p> 108 */ NextReplicationRunStartTimeHasBeenSet()109 inline bool NextReplicationRunStartTimeHasBeenSet() const { return m_nextReplicationRunStartTimeHasBeenSet; } 110 111 /** 112 * <p>The start time of the next replication run.</p> 113 */ SetNextReplicationRunStartTime(const Aws::Utils::DateTime & value)114 inline void SetNextReplicationRunStartTime(const Aws::Utils::DateTime& value) { m_nextReplicationRunStartTimeHasBeenSet = true; m_nextReplicationRunStartTime = value; } 115 116 /** 117 * <p>The start time of the next replication run.</p> 118 */ SetNextReplicationRunStartTime(Aws::Utils::DateTime && value)119 inline void SetNextReplicationRunStartTime(Aws::Utils::DateTime&& value) { m_nextReplicationRunStartTimeHasBeenSet = true; m_nextReplicationRunStartTime = std::move(value); } 120 121 /** 122 * <p>The start time of the next replication run.</p> 123 */ WithNextReplicationRunStartTime(const Aws::Utils::DateTime & value)124 inline UpdateReplicationJobRequest& WithNextReplicationRunStartTime(const Aws::Utils::DateTime& value) { SetNextReplicationRunStartTime(value); return *this;} 125 126 /** 127 * <p>The start time of the next replication run.</p> 128 */ WithNextReplicationRunStartTime(Aws::Utils::DateTime && value)129 inline UpdateReplicationJobRequest& WithNextReplicationRunStartTime(Aws::Utils::DateTime&& value) { SetNextReplicationRunStartTime(std::move(value)); return *this;} 130 131 132 /** 133 * <p>The license type to be used for the AMI created by a successful replication 134 * run.</p> 135 */ GetLicenseType()136 inline const LicenseType& GetLicenseType() const{ return m_licenseType; } 137 138 /** 139 * <p>The license type to be used for the AMI created by a successful replication 140 * run.</p> 141 */ LicenseTypeHasBeenSet()142 inline bool LicenseTypeHasBeenSet() const { return m_licenseTypeHasBeenSet; } 143 144 /** 145 * <p>The license type to be used for the AMI created by a successful replication 146 * run.</p> 147 */ SetLicenseType(const LicenseType & value)148 inline void SetLicenseType(const LicenseType& value) { m_licenseTypeHasBeenSet = true; m_licenseType = value; } 149 150 /** 151 * <p>The license type to be used for the AMI created by a successful replication 152 * run.</p> 153 */ SetLicenseType(LicenseType && value)154 inline void SetLicenseType(LicenseType&& value) { m_licenseTypeHasBeenSet = true; m_licenseType = std::move(value); } 155 156 /** 157 * <p>The license type to be used for the AMI created by a successful replication 158 * run.</p> 159 */ WithLicenseType(const LicenseType & value)160 inline UpdateReplicationJobRequest& WithLicenseType(const LicenseType& value) { SetLicenseType(value); return *this;} 161 162 /** 163 * <p>The license type to be used for the AMI created by a successful replication 164 * run.</p> 165 */ WithLicenseType(LicenseType && value)166 inline UpdateReplicationJobRequest& WithLicenseType(LicenseType&& value) { SetLicenseType(std::move(value)); return *this;} 167 168 169 /** 170 * <p>The name of the IAM role to be used by AWS SMS.</p> 171 */ GetRoleName()172 inline const Aws::String& GetRoleName() const{ return m_roleName; } 173 174 /** 175 * <p>The name of the IAM role to be used by AWS SMS.</p> 176 */ RoleNameHasBeenSet()177 inline bool RoleNameHasBeenSet() const { return m_roleNameHasBeenSet; } 178 179 /** 180 * <p>The name of the IAM role to be used by AWS SMS.</p> 181 */ SetRoleName(const Aws::String & value)182 inline void SetRoleName(const Aws::String& value) { m_roleNameHasBeenSet = true; m_roleName = value; } 183 184 /** 185 * <p>The name of the IAM role to be used by AWS SMS.</p> 186 */ SetRoleName(Aws::String && value)187 inline void SetRoleName(Aws::String&& value) { m_roleNameHasBeenSet = true; m_roleName = std::move(value); } 188 189 /** 190 * <p>The name of the IAM role to be used by AWS SMS.</p> 191 */ SetRoleName(const char * value)192 inline void SetRoleName(const char* value) { m_roleNameHasBeenSet = true; m_roleName.assign(value); } 193 194 /** 195 * <p>The name of the IAM role to be used by AWS SMS.</p> 196 */ WithRoleName(const Aws::String & value)197 inline UpdateReplicationJobRequest& WithRoleName(const Aws::String& value) { SetRoleName(value); return *this;} 198 199 /** 200 * <p>The name of the IAM role to be used by AWS SMS.</p> 201 */ WithRoleName(Aws::String && value)202 inline UpdateReplicationJobRequest& WithRoleName(Aws::String&& value) { SetRoleName(std::move(value)); return *this;} 203 204 /** 205 * <p>The name of the IAM role to be used by AWS SMS.</p> 206 */ WithRoleName(const char * value)207 inline UpdateReplicationJobRequest& WithRoleName(const char* value) { SetRoleName(value); return *this;} 208 209 210 /** 211 * <p>The description of the replication job.</p> 212 */ GetDescription()213 inline const Aws::String& GetDescription() const{ return m_description; } 214 215 /** 216 * <p>The description of the replication job.</p> 217 */ DescriptionHasBeenSet()218 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 219 220 /** 221 * <p>The description of the replication job.</p> 222 */ SetDescription(const Aws::String & value)223 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 224 225 /** 226 * <p>The description of the replication job.</p> 227 */ SetDescription(Aws::String && value)228 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 229 230 /** 231 * <p>The description of the replication job.</p> 232 */ SetDescription(const char * value)233 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 234 235 /** 236 * <p>The description of the replication job.</p> 237 */ WithDescription(const Aws::String & value)238 inline UpdateReplicationJobRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 239 240 /** 241 * <p>The description of the replication job.</p> 242 */ WithDescription(Aws::String && value)243 inline UpdateReplicationJobRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 244 245 /** 246 * <p>The description of the replication job.</p> 247 */ WithDescription(const char * value)248 inline UpdateReplicationJobRequest& WithDescription(const char* value) { SetDescription(value); return *this;} 249 250 251 /** 252 * <p>The maximum number of SMS-created AMIs to retain. The oldest is deleted after 253 * the maximum number is reached and a new AMI is created.</p> 254 */ GetNumberOfRecentAmisToKeep()255 inline int GetNumberOfRecentAmisToKeep() const{ return m_numberOfRecentAmisToKeep; } 256 257 /** 258 * <p>The maximum number of SMS-created AMIs to retain. The oldest is deleted after 259 * the maximum number is reached and a new AMI is created.</p> 260 */ NumberOfRecentAmisToKeepHasBeenSet()261 inline bool NumberOfRecentAmisToKeepHasBeenSet() const { return m_numberOfRecentAmisToKeepHasBeenSet; } 262 263 /** 264 * <p>The maximum number of SMS-created AMIs to retain. The oldest is deleted after 265 * the maximum number is reached and a new AMI is created.</p> 266 */ SetNumberOfRecentAmisToKeep(int value)267 inline void SetNumberOfRecentAmisToKeep(int value) { m_numberOfRecentAmisToKeepHasBeenSet = true; m_numberOfRecentAmisToKeep = value; } 268 269 /** 270 * <p>The maximum number of SMS-created AMIs to retain. The oldest is deleted after 271 * the maximum number is reached and a new AMI is created.</p> 272 */ WithNumberOfRecentAmisToKeep(int value)273 inline UpdateReplicationJobRequest& WithNumberOfRecentAmisToKeep(int value) { SetNumberOfRecentAmisToKeep(value); return *this;} 274 275 276 /** 277 * <p>When true, the replication job produces encrypted AMIs. For more information, 278 * <code>KmsKeyId</code>.</p> 279 */ GetEncrypted()280 inline bool GetEncrypted() const{ return m_encrypted; } 281 282 /** 283 * <p>When true, the replication job produces encrypted AMIs. For more information, 284 * <code>KmsKeyId</code>.</p> 285 */ EncryptedHasBeenSet()286 inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; } 287 288 /** 289 * <p>When true, the replication job produces encrypted AMIs. For more information, 290 * <code>KmsKeyId</code>.</p> 291 */ SetEncrypted(bool value)292 inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; } 293 294 /** 295 * <p>When true, the replication job produces encrypted AMIs. For more information, 296 * <code>KmsKeyId</code>.</p> 297 */ WithEncrypted(bool value)298 inline UpdateReplicationJobRequest& WithEncrypted(bool value) { SetEncrypted(value); return *this;} 299 300 301 /** 302 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 303 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 304 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 305 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 306 * enabled but a KMS key ID is not specified, the customer's default KMS key for 307 * Amazon EBS is used.</p> 308 */ GetKmsKeyId()309 inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } 310 311 /** 312 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 313 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 314 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 315 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 316 * enabled but a KMS key ID is not specified, the customer's default KMS key for 317 * Amazon EBS is used.</p> 318 */ KmsKeyIdHasBeenSet()319 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } 320 321 /** 322 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 323 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 324 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 325 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 326 * enabled but a KMS key ID is not specified, the customer's default KMS key for 327 * Amazon EBS is used.</p> 328 */ SetKmsKeyId(const Aws::String & value)329 inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } 330 331 /** 332 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 333 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 334 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 335 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 336 * enabled but a KMS key ID is not specified, the customer's default KMS key for 337 * Amazon EBS is used.</p> 338 */ SetKmsKeyId(Aws::String && value)339 inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } 340 341 /** 342 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 343 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 344 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 345 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 346 * enabled but a KMS key ID is not specified, the customer's default KMS key for 347 * Amazon EBS is used.</p> 348 */ SetKmsKeyId(const char * value)349 inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } 350 351 /** 352 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 353 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 354 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 355 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 356 * enabled but a KMS key ID is not specified, the customer's default KMS key for 357 * Amazon EBS is used.</p> 358 */ WithKmsKeyId(const Aws::String & value)359 inline UpdateReplicationJobRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} 360 361 /** 362 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 363 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 364 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 365 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 366 * enabled but a KMS key ID is not specified, the customer's default KMS key for 367 * Amazon EBS is used.</p> 368 */ WithKmsKeyId(Aws::String && value)369 inline UpdateReplicationJobRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} 370 371 /** 372 * <p>The ID of the KMS key for replication jobs that produce encrypted AMIs. This 373 * value can be any of the following:</p> <ul> <li> <p>KMS key ID</p> </li> <li> 374 * <p>KMS key alias</p> </li> <li> <p>ARN referring to the KMS key ID</p> </li> 375 * <li> <p>ARN referring to the KMS key alias</p> </li> </ul> <p>If encrypted is 376 * enabled but a KMS key ID is not specified, the customer's default KMS key for 377 * Amazon EBS is used.</p> 378 */ WithKmsKeyId(const char * value)379 inline UpdateReplicationJobRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} 380 381 private: 382 383 Aws::String m_replicationJobId; 384 bool m_replicationJobIdHasBeenSet; 385 386 int m_frequency; 387 bool m_frequencyHasBeenSet; 388 389 Aws::Utils::DateTime m_nextReplicationRunStartTime; 390 bool m_nextReplicationRunStartTimeHasBeenSet; 391 392 LicenseType m_licenseType; 393 bool m_licenseTypeHasBeenSet; 394 395 Aws::String m_roleName; 396 bool m_roleNameHasBeenSet; 397 398 Aws::String m_description; 399 bool m_descriptionHasBeenSet; 400 401 int m_numberOfRecentAmisToKeep; 402 bool m_numberOfRecentAmisToKeepHasBeenSet; 403 404 bool m_encrypted; 405 bool m_encryptedHasBeenSet; 406 407 Aws::String m_kmsKeyId; 408 bool m_kmsKeyIdHasBeenSet; 409 }; 410 411 } // namespace Model 412 } // namespace SMS 413 } // namespace Aws 414