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/config/ConfigService_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/config/model/Scope.h> 10 #include <aws/config/model/Source.h> 11 #include <aws/config/model/MaximumExecutionFrequency.h> 12 #include <aws/config/model/ConfigRuleState.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace ConfigService 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>An Config rule represents an Lambda function that you create for a custom 32 * rule or a predefined function for an Config managed rule. The function evaluates 33 * configuration items to assess whether your Amazon Web Services resources comply 34 * with your desired configurations. This function can run when Config detects a 35 * configuration change to an Amazon Web Services resource and at a periodic 36 * frequency that you choose (for example, every 24 hours).</p> <p>You can 37 * use the Amazon Web Services CLI and Amazon Web Services SDKs if you want to 38 * create a rule that triggers evaluations for your resources when Config delivers 39 * the configuration snapshot. For more information, see 40 * <a>ConfigSnapshotDeliveryProperties</a>.</p> <p>For more information 41 * about developing and using Config rules, see <a 42 * href="https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html">Evaluating 43 * Amazon Web Services resource Configurations with Config</a> in the <i>Config 44 * Developer Guide</i>.</p><p><h3>See Also:</h3> <a 45 * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ConfigRule">AWS 46 * API Reference</a></p> 47 */ 48 class AWS_CONFIGSERVICE_API ConfigRule 49 { 50 public: 51 ConfigRule(); 52 ConfigRule(Aws::Utils::Json::JsonView jsonValue); 53 ConfigRule& operator=(Aws::Utils::Json::JsonView jsonValue); 54 Aws::Utils::Json::JsonValue Jsonize() const; 55 56 57 /** 58 * <p>The name that you assign to the Config rule. The name is required if you are 59 * adding a new rule.</p> 60 */ GetConfigRuleName()61 inline const Aws::String& GetConfigRuleName() const{ return m_configRuleName; } 62 63 /** 64 * <p>The name that you assign to the Config rule. The name is required if you are 65 * adding a new rule.</p> 66 */ ConfigRuleNameHasBeenSet()67 inline bool ConfigRuleNameHasBeenSet() const { return m_configRuleNameHasBeenSet; } 68 69 /** 70 * <p>The name that you assign to the Config rule. The name is required if you are 71 * adding a new rule.</p> 72 */ SetConfigRuleName(const Aws::String & value)73 inline void SetConfigRuleName(const Aws::String& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = value; } 74 75 /** 76 * <p>The name that you assign to the Config rule. The name is required if you are 77 * adding a new rule.</p> 78 */ SetConfigRuleName(Aws::String && value)79 inline void SetConfigRuleName(Aws::String&& value) { m_configRuleNameHasBeenSet = true; m_configRuleName = std::move(value); } 80 81 /** 82 * <p>The name that you assign to the Config rule. The name is required if you are 83 * adding a new rule.</p> 84 */ SetConfigRuleName(const char * value)85 inline void SetConfigRuleName(const char* value) { m_configRuleNameHasBeenSet = true; m_configRuleName.assign(value); } 86 87 /** 88 * <p>The name that you assign to the Config rule. The name is required if you are 89 * adding a new rule.</p> 90 */ WithConfigRuleName(const Aws::String & value)91 inline ConfigRule& WithConfigRuleName(const Aws::String& value) { SetConfigRuleName(value); return *this;} 92 93 /** 94 * <p>The name that you assign to the Config rule. The name is required if you are 95 * adding a new rule.</p> 96 */ WithConfigRuleName(Aws::String && value)97 inline ConfigRule& WithConfigRuleName(Aws::String&& value) { SetConfigRuleName(std::move(value)); return *this;} 98 99 /** 100 * <p>The name that you assign to the Config rule. The name is required if you are 101 * adding a new rule.</p> 102 */ WithConfigRuleName(const char * value)103 inline ConfigRule& WithConfigRuleName(const char* value) { SetConfigRuleName(value); return *this;} 104 105 106 /** 107 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 108 */ GetConfigRuleArn()109 inline const Aws::String& GetConfigRuleArn() const{ return m_configRuleArn; } 110 111 /** 112 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 113 */ ConfigRuleArnHasBeenSet()114 inline bool ConfigRuleArnHasBeenSet() const { return m_configRuleArnHasBeenSet; } 115 116 /** 117 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 118 */ SetConfigRuleArn(const Aws::String & value)119 inline void SetConfigRuleArn(const Aws::String& value) { m_configRuleArnHasBeenSet = true; m_configRuleArn = value; } 120 121 /** 122 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 123 */ SetConfigRuleArn(Aws::String && value)124 inline void SetConfigRuleArn(Aws::String&& value) { m_configRuleArnHasBeenSet = true; m_configRuleArn = std::move(value); } 125 126 /** 127 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 128 */ SetConfigRuleArn(const char * value)129 inline void SetConfigRuleArn(const char* value) { m_configRuleArnHasBeenSet = true; m_configRuleArn.assign(value); } 130 131 /** 132 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 133 */ WithConfigRuleArn(const Aws::String & value)134 inline ConfigRule& WithConfigRuleArn(const Aws::String& value) { SetConfigRuleArn(value); return *this;} 135 136 /** 137 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 138 */ WithConfigRuleArn(Aws::String && value)139 inline ConfigRule& WithConfigRuleArn(Aws::String&& value) { SetConfigRuleArn(std::move(value)); return *this;} 140 141 /** 142 * <p>The Amazon Resource Name (ARN) of the Config rule.</p> 143 */ WithConfigRuleArn(const char * value)144 inline ConfigRule& WithConfigRuleArn(const char* value) { SetConfigRuleArn(value); return *this;} 145 146 147 /** 148 * <p>The ID of the Config rule.</p> 149 */ GetConfigRuleId()150 inline const Aws::String& GetConfigRuleId() const{ return m_configRuleId; } 151 152 /** 153 * <p>The ID of the Config rule.</p> 154 */ ConfigRuleIdHasBeenSet()155 inline bool ConfigRuleIdHasBeenSet() const { return m_configRuleIdHasBeenSet; } 156 157 /** 158 * <p>The ID of the Config rule.</p> 159 */ SetConfigRuleId(const Aws::String & value)160 inline void SetConfigRuleId(const Aws::String& value) { m_configRuleIdHasBeenSet = true; m_configRuleId = value; } 161 162 /** 163 * <p>The ID of the Config rule.</p> 164 */ SetConfigRuleId(Aws::String && value)165 inline void SetConfigRuleId(Aws::String&& value) { m_configRuleIdHasBeenSet = true; m_configRuleId = std::move(value); } 166 167 /** 168 * <p>The ID of the Config rule.</p> 169 */ SetConfigRuleId(const char * value)170 inline void SetConfigRuleId(const char* value) { m_configRuleIdHasBeenSet = true; m_configRuleId.assign(value); } 171 172 /** 173 * <p>The ID of the Config rule.</p> 174 */ WithConfigRuleId(const Aws::String & value)175 inline ConfigRule& WithConfigRuleId(const Aws::String& value) { SetConfigRuleId(value); return *this;} 176 177 /** 178 * <p>The ID of the Config rule.</p> 179 */ WithConfigRuleId(Aws::String && value)180 inline ConfigRule& WithConfigRuleId(Aws::String&& value) { SetConfigRuleId(std::move(value)); return *this;} 181 182 /** 183 * <p>The ID of the Config rule.</p> 184 */ WithConfigRuleId(const char * value)185 inline ConfigRule& WithConfigRuleId(const char* value) { SetConfigRuleId(value); return *this;} 186 187 188 /** 189 * <p>The description that you provide for the Config rule.</p> 190 */ GetDescription()191 inline const Aws::String& GetDescription() const{ return m_description; } 192 193 /** 194 * <p>The description that you provide for the Config rule.</p> 195 */ DescriptionHasBeenSet()196 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 197 198 /** 199 * <p>The description that you provide for the Config rule.</p> 200 */ SetDescription(const Aws::String & value)201 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 202 203 /** 204 * <p>The description that you provide for the Config rule.</p> 205 */ SetDescription(Aws::String && value)206 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 207 208 /** 209 * <p>The description that you provide for the Config rule.</p> 210 */ SetDescription(const char * value)211 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 212 213 /** 214 * <p>The description that you provide for the Config rule.</p> 215 */ WithDescription(const Aws::String & value)216 inline ConfigRule& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 217 218 /** 219 * <p>The description that you provide for the Config rule.</p> 220 */ WithDescription(Aws::String && value)221 inline ConfigRule& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 222 223 /** 224 * <p>The description that you provide for the Config rule.</p> 225 */ WithDescription(const char * value)226 inline ConfigRule& WithDescription(const char* value) { SetDescription(value); return *this;} 227 228 229 /** 230 * <p>Defines which resources can trigger an evaluation for the rule. The scope can 231 * include one or more resource types, a combination of one resource type and one 232 * resource ID, or a combination of a tag key and value. Specify a scope to 233 * constrain the resources that can trigger an evaluation for the rule. If you do 234 * not specify a scope, evaluations are triggered when any resource in the 235 * recording group changes.</p> <p>The scope can be empty. </p> 236 */ GetScope()237 inline const Scope& GetScope() const{ return m_scope; } 238 239 /** 240 * <p>Defines which resources can trigger an evaluation for the rule. The scope can 241 * include one or more resource types, a combination of one resource type and one 242 * resource ID, or a combination of a tag key and value. Specify a scope to 243 * constrain the resources that can trigger an evaluation for the rule. If you do 244 * not specify a scope, evaluations are triggered when any resource in the 245 * recording group changes.</p> <p>The scope can be empty. </p> 246 */ ScopeHasBeenSet()247 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } 248 249 /** 250 * <p>Defines which resources can trigger an evaluation for the rule. The scope can 251 * include one or more resource types, a combination of one resource type and one 252 * resource ID, or a combination of a tag key and value. Specify a scope to 253 * constrain the resources that can trigger an evaluation for the rule. If you do 254 * not specify a scope, evaluations are triggered when any resource in the 255 * recording group changes.</p> <p>The scope can be empty. </p> 256 */ SetScope(const Scope & value)257 inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; } 258 259 /** 260 * <p>Defines which resources can trigger an evaluation for the rule. The scope can 261 * include one or more resource types, a combination of one resource type and one 262 * resource ID, or a combination of a tag key and value. Specify a scope to 263 * constrain the resources that can trigger an evaluation for the rule. If you do 264 * not specify a scope, evaluations are triggered when any resource in the 265 * recording group changes.</p> <p>The scope can be empty. </p> 266 */ SetScope(Scope && value)267 inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } 268 269 /** 270 * <p>Defines which resources can trigger an evaluation for the rule. The scope can 271 * include one or more resource types, a combination of one resource type and one 272 * resource ID, or a combination of a tag key and value. Specify a scope to 273 * constrain the resources that can trigger an evaluation for the rule. If you do 274 * not specify a scope, evaluations are triggered when any resource in the 275 * recording group changes.</p> <p>The scope can be empty. </p> 276 */ WithScope(const Scope & value)277 inline ConfigRule& WithScope(const Scope& value) { SetScope(value); return *this;} 278 279 /** 280 * <p>Defines which resources can trigger an evaluation for the rule. The scope can 281 * include one or more resource types, a combination of one resource type and one 282 * resource ID, or a combination of a tag key and value. Specify a scope to 283 * constrain the resources that can trigger an evaluation for the rule. If you do 284 * not specify a scope, evaluations are triggered when any resource in the 285 * recording group changes.</p> <p>The scope can be empty. </p> 286 */ WithScope(Scope && value)287 inline ConfigRule& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;} 288 289 290 /** 291 * <p>Provides the rule owner (Amazon Web Services or customer), the rule 292 * identifier, and the notifications that cause the function to evaluate your 293 * Amazon Web Services resources.</p> 294 */ GetSource()295 inline const Source& GetSource() const{ return m_source; } 296 297 /** 298 * <p>Provides the rule owner (Amazon Web Services or customer), the rule 299 * identifier, and the notifications that cause the function to evaluate your 300 * Amazon Web Services resources.</p> 301 */ SourceHasBeenSet()302 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } 303 304 /** 305 * <p>Provides the rule owner (Amazon Web Services or customer), the rule 306 * identifier, and the notifications that cause the function to evaluate your 307 * Amazon Web Services resources.</p> 308 */ SetSource(const Source & value)309 inline void SetSource(const Source& value) { m_sourceHasBeenSet = true; m_source = value; } 310 311 /** 312 * <p>Provides the rule owner (Amazon Web Services or customer), the rule 313 * identifier, and the notifications that cause the function to evaluate your 314 * Amazon Web Services resources.</p> 315 */ SetSource(Source && value)316 inline void SetSource(Source&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } 317 318 /** 319 * <p>Provides the rule owner (Amazon Web Services or customer), the rule 320 * identifier, and the notifications that cause the function to evaluate your 321 * Amazon Web Services resources.</p> 322 */ WithSource(const Source & value)323 inline ConfigRule& WithSource(const Source& value) { SetSource(value); return *this;} 324 325 /** 326 * <p>Provides the rule owner (Amazon Web Services or customer), the rule 327 * identifier, and the notifications that cause the function to evaluate your 328 * Amazon Web Services resources.</p> 329 */ WithSource(Source && value)330 inline ConfigRule& WithSource(Source&& value) { SetSource(std::move(value)); return *this;} 331 332 333 /** 334 * <p>A string, in JSON format, that is passed to the Config rule Lambda 335 * function.</p> 336 */ GetInputParameters()337 inline const Aws::String& GetInputParameters() const{ return m_inputParameters; } 338 339 /** 340 * <p>A string, in JSON format, that is passed to the Config rule Lambda 341 * function.</p> 342 */ InputParametersHasBeenSet()343 inline bool InputParametersHasBeenSet() const { return m_inputParametersHasBeenSet; } 344 345 /** 346 * <p>A string, in JSON format, that is passed to the Config rule Lambda 347 * function.</p> 348 */ SetInputParameters(const Aws::String & value)349 inline void SetInputParameters(const Aws::String& value) { m_inputParametersHasBeenSet = true; m_inputParameters = value; } 350 351 /** 352 * <p>A string, in JSON format, that is passed to the Config rule Lambda 353 * function.</p> 354 */ SetInputParameters(Aws::String && value)355 inline void SetInputParameters(Aws::String&& value) { m_inputParametersHasBeenSet = true; m_inputParameters = std::move(value); } 356 357 /** 358 * <p>A string, in JSON format, that is passed to the Config rule Lambda 359 * function.</p> 360 */ SetInputParameters(const char * value)361 inline void SetInputParameters(const char* value) { m_inputParametersHasBeenSet = true; m_inputParameters.assign(value); } 362 363 /** 364 * <p>A string, in JSON format, that is passed to the Config rule Lambda 365 * function.</p> 366 */ WithInputParameters(const Aws::String & value)367 inline ConfigRule& WithInputParameters(const Aws::String& value) { SetInputParameters(value); return *this;} 368 369 /** 370 * <p>A string, in JSON format, that is passed to the Config rule Lambda 371 * function.</p> 372 */ WithInputParameters(Aws::String && value)373 inline ConfigRule& WithInputParameters(Aws::String&& value) { SetInputParameters(std::move(value)); return *this;} 374 375 /** 376 * <p>A string, in JSON format, that is passed to the Config rule Lambda 377 * function.</p> 378 */ WithInputParameters(const char * value)379 inline ConfigRule& WithInputParameters(const char* value) { SetInputParameters(value); return *this;} 380 381 382 /** 383 * <p>The maximum frequency with which Config runs evaluations for a rule. You can 384 * specify a value for <code>MaximumExecutionFrequency</code> when:</p> <ul> <li> 385 * <p>You are using an Config managed rule that is triggered at a periodic 386 * frequency.</p> </li> <li> <p>Your custom rule is triggered when Config delivers 387 * the configuration snapshot. For more information, see 388 * <a>ConfigSnapshotDeliveryProperties</a>.</p> </li> </ul> <p>By default, 389 * rules with a periodic trigger are evaluated every 24 hours. To change the 390 * frequency, specify a valid value for the <code>MaximumExecutionFrequency</code> 391 * parameter.</p> 392 */ GetMaximumExecutionFrequency()393 inline const MaximumExecutionFrequency& GetMaximumExecutionFrequency() const{ return m_maximumExecutionFrequency; } 394 395 /** 396 * <p>The maximum frequency with which Config runs evaluations for a rule. You can 397 * specify a value for <code>MaximumExecutionFrequency</code> when:</p> <ul> <li> 398 * <p>You are using an Config managed rule that is triggered at a periodic 399 * frequency.</p> </li> <li> <p>Your custom rule is triggered when Config delivers 400 * the configuration snapshot. For more information, see 401 * <a>ConfigSnapshotDeliveryProperties</a>.</p> </li> </ul> <p>By default, 402 * rules with a periodic trigger are evaluated every 24 hours. To change the 403 * frequency, specify a valid value for the <code>MaximumExecutionFrequency</code> 404 * parameter.</p> 405 */ MaximumExecutionFrequencyHasBeenSet()406 inline bool MaximumExecutionFrequencyHasBeenSet() const { return m_maximumExecutionFrequencyHasBeenSet; } 407 408 /** 409 * <p>The maximum frequency with which Config runs evaluations for a rule. You can 410 * specify a value for <code>MaximumExecutionFrequency</code> when:</p> <ul> <li> 411 * <p>You are using an Config managed rule that is triggered at a periodic 412 * frequency.</p> </li> <li> <p>Your custom rule is triggered when Config delivers 413 * the configuration snapshot. For more information, see 414 * <a>ConfigSnapshotDeliveryProperties</a>.</p> </li> </ul> <p>By default, 415 * rules with a periodic trigger are evaluated every 24 hours. To change the 416 * frequency, specify a valid value for the <code>MaximumExecutionFrequency</code> 417 * parameter.</p> 418 */ SetMaximumExecutionFrequency(const MaximumExecutionFrequency & value)419 inline void SetMaximumExecutionFrequency(const MaximumExecutionFrequency& value) { m_maximumExecutionFrequencyHasBeenSet = true; m_maximumExecutionFrequency = value; } 420 421 /** 422 * <p>The maximum frequency with which Config runs evaluations for a rule. You can 423 * specify a value for <code>MaximumExecutionFrequency</code> when:</p> <ul> <li> 424 * <p>You are using an Config managed rule that is triggered at a periodic 425 * frequency.</p> </li> <li> <p>Your custom rule is triggered when Config delivers 426 * the configuration snapshot. For more information, see 427 * <a>ConfigSnapshotDeliveryProperties</a>.</p> </li> </ul> <p>By default, 428 * rules with a periodic trigger are evaluated every 24 hours. To change the 429 * frequency, specify a valid value for the <code>MaximumExecutionFrequency</code> 430 * parameter.</p> 431 */ SetMaximumExecutionFrequency(MaximumExecutionFrequency && value)432 inline void SetMaximumExecutionFrequency(MaximumExecutionFrequency&& value) { m_maximumExecutionFrequencyHasBeenSet = true; m_maximumExecutionFrequency = std::move(value); } 433 434 /** 435 * <p>The maximum frequency with which Config runs evaluations for a rule. You can 436 * specify a value for <code>MaximumExecutionFrequency</code> when:</p> <ul> <li> 437 * <p>You are using an Config managed rule that is triggered at a periodic 438 * frequency.</p> </li> <li> <p>Your custom rule is triggered when Config delivers 439 * the configuration snapshot. For more information, see 440 * <a>ConfigSnapshotDeliveryProperties</a>.</p> </li> </ul> <p>By default, 441 * rules with a periodic trigger are evaluated every 24 hours. To change the 442 * frequency, specify a valid value for the <code>MaximumExecutionFrequency</code> 443 * parameter.</p> 444 */ WithMaximumExecutionFrequency(const MaximumExecutionFrequency & value)445 inline ConfigRule& WithMaximumExecutionFrequency(const MaximumExecutionFrequency& value) { SetMaximumExecutionFrequency(value); return *this;} 446 447 /** 448 * <p>The maximum frequency with which Config runs evaluations for a rule. You can 449 * specify a value for <code>MaximumExecutionFrequency</code> when:</p> <ul> <li> 450 * <p>You are using an Config managed rule that is triggered at a periodic 451 * frequency.</p> </li> <li> <p>Your custom rule is triggered when Config delivers 452 * the configuration snapshot. For more information, see 453 * <a>ConfigSnapshotDeliveryProperties</a>.</p> </li> </ul> <p>By default, 454 * rules with a periodic trigger are evaluated every 24 hours. To change the 455 * frequency, specify a valid value for the <code>MaximumExecutionFrequency</code> 456 * parameter.</p> 457 */ WithMaximumExecutionFrequency(MaximumExecutionFrequency && value)458 inline ConfigRule& WithMaximumExecutionFrequency(MaximumExecutionFrequency&& value) { SetMaximumExecutionFrequency(std::move(value)); return *this;} 459 460 461 /** 462 * <p>Indicates whether the Config rule is active or is currently being deleted by 463 * Config. It can also indicate the evaluation status for the Config rule.</p> 464 * <p>Config sets the state of the rule to <code>EVALUATING</code> temporarily 465 * after you use the <code>StartConfigRulesEvaluation</code> request to evaluate 466 * your resources against the Config rule.</p> <p>Config sets the state of the rule 467 * to <code>DELETING_RESULTS</code> temporarily after you use the 468 * <code>DeleteEvaluationResults</code> request to delete the current evaluation 469 * results for the Config rule.</p> <p>Config temporarily sets the state of a rule 470 * to <code>DELETING</code> after you use the <code>DeleteConfigRule</code> request 471 * to delete the rule. After Config deletes the rule, the rule and all of its 472 * evaluations are erased and are no longer available.</p> 473 */ GetConfigRuleState()474 inline const ConfigRuleState& GetConfigRuleState() const{ return m_configRuleState; } 475 476 /** 477 * <p>Indicates whether the Config rule is active or is currently being deleted by 478 * Config. It can also indicate the evaluation status for the Config rule.</p> 479 * <p>Config sets the state of the rule to <code>EVALUATING</code> temporarily 480 * after you use the <code>StartConfigRulesEvaluation</code> request to evaluate 481 * your resources against the Config rule.</p> <p>Config sets the state of the rule 482 * to <code>DELETING_RESULTS</code> temporarily after you use the 483 * <code>DeleteEvaluationResults</code> request to delete the current evaluation 484 * results for the Config rule.</p> <p>Config temporarily sets the state of a rule 485 * to <code>DELETING</code> after you use the <code>DeleteConfigRule</code> request 486 * to delete the rule. After Config deletes the rule, the rule and all of its 487 * evaluations are erased and are no longer available.</p> 488 */ ConfigRuleStateHasBeenSet()489 inline bool ConfigRuleStateHasBeenSet() const { return m_configRuleStateHasBeenSet; } 490 491 /** 492 * <p>Indicates whether the Config rule is active or is currently being deleted by 493 * Config. It can also indicate the evaluation status for the Config rule.</p> 494 * <p>Config sets the state of the rule to <code>EVALUATING</code> temporarily 495 * after you use the <code>StartConfigRulesEvaluation</code> request to evaluate 496 * your resources against the Config rule.</p> <p>Config sets the state of the rule 497 * to <code>DELETING_RESULTS</code> temporarily after you use the 498 * <code>DeleteEvaluationResults</code> request to delete the current evaluation 499 * results for the Config rule.</p> <p>Config temporarily sets the state of a rule 500 * to <code>DELETING</code> after you use the <code>DeleteConfigRule</code> request 501 * to delete the rule. After Config deletes the rule, the rule and all of its 502 * evaluations are erased and are no longer available.</p> 503 */ SetConfigRuleState(const ConfigRuleState & value)504 inline void SetConfigRuleState(const ConfigRuleState& value) { m_configRuleStateHasBeenSet = true; m_configRuleState = value; } 505 506 /** 507 * <p>Indicates whether the Config rule is active or is currently being deleted by 508 * Config. It can also indicate the evaluation status for the Config rule.</p> 509 * <p>Config sets the state of the rule to <code>EVALUATING</code> temporarily 510 * after you use the <code>StartConfigRulesEvaluation</code> request to evaluate 511 * your resources against the Config rule.</p> <p>Config sets the state of the rule 512 * to <code>DELETING_RESULTS</code> temporarily after you use the 513 * <code>DeleteEvaluationResults</code> request to delete the current evaluation 514 * results for the Config rule.</p> <p>Config temporarily sets the state of a rule 515 * to <code>DELETING</code> after you use the <code>DeleteConfigRule</code> request 516 * to delete the rule. After Config deletes the rule, the rule and all of its 517 * evaluations are erased and are no longer available.</p> 518 */ SetConfigRuleState(ConfigRuleState && value)519 inline void SetConfigRuleState(ConfigRuleState&& value) { m_configRuleStateHasBeenSet = true; m_configRuleState = std::move(value); } 520 521 /** 522 * <p>Indicates whether the Config rule is active or is currently being deleted by 523 * Config. It can also indicate the evaluation status for the Config rule.</p> 524 * <p>Config sets the state of the rule to <code>EVALUATING</code> temporarily 525 * after you use the <code>StartConfigRulesEvaluation</code> request to evaluate 526 * your resources against the Config rule.</p> <p>Config sets the state of the rule 527 * to <code>DELETING_RESULTS</code> temporarily after you use the 528 * <code>DeleteEvaluationResults</code> request to delete the current evaluation 529 * results for the Config rule.</p> <p>Config temporarily sets the state of a rule 530 * to <code>DELETING</code> after you use the <code>DeleteConfigRule</code> request 531 * to delete the rule. After Config deletes the rule, the rule and all of its 532 * evaluations are erased and are no longer available.</p> 533 */ WithConfigRuleState(const ConfigRuleState & value)534 inline ConfigRule& WithConfigRuleState(const ConfigRuleState& value) { SetConfigRuleState(value); return *this;} 535 536 /** 537 * <p>Indicates whether the Config rule is active or is currently being deleted by 538 * Config. It can also indicate the evaluation status for the Config rule.</p> 539 * <p>Config sets the state of the rule to <code>EVALUATING</code> temporarily 540 * after you use the <code>StartConfigRulesEvaluation</code> request to evaluate 541 * your resources against the Config rule.</p> <p>Config sets the state of the rule 542 * to <code>DELETING_RESULTS</code> temporarily after you use the 543 * <code>DeleteEvaluationResults</code> request to delete the current evaluation 544 * results for the Config rule.</p> <p>Config temporarily sets the state of a rule 545 * to <code>DELETING</code> after you use the <code>DeleteConfigRule</code> request 546 * to delete the rule. After Config deletes the rule, the rule and all of its 547 * evaluations are erased and are no longer available.</p> 548 */ WithConfigRuleState(ConfigRuleState && value)549 inline ConfigRule& WithConfigRuleState(ConfigRuleState&& value) { SetConfigRuleState(std::move(value)); return *this;} 550 551 552 /** 553 * <p>Service principal name of the service that created the rule.</p> 554 * <p>The field is populated only if the service linked rule is created by a 555 * service. The field is empty if you create your own rule.</p> 556 */ GetCreatedBy()557 inline const Aws::String& GetCreatedBy() const{ return m_createdBy; } 558 559 /** 560 * <p>Service principal name of the service that created the rule.</p> 561 * <p>The field is populated only if the service linked rule is created by a 562 * service. The field is empty if you create your own rule.</p> 563 */ CreatedByHasBeenSet()564 inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; } 565 566 /** 567 * <p>Service principal name of the service that created the rule.</p> 568 * <p>The field is populated only if the service linked rule is created by a 569 * service. The field is empty if you create your own rule.</p> 570 */ SetCreatedBy(const Aws::String & value)571 inline void SetCreatedBy(const Aws::String& value) { m_createdByHasBeenSet = true; m_createdBy = value; } 572 573 /** 574 * <p>Service principal name of the service that created the rule.</p> 575 * <p>The field is populated only if the service linked rule is created by a 576 * service. The field is empty if you create your own rule.</p> 577 */ SetCreatedBy(Aws::String && value)578 inline void SetCreatedBy(Aws::String&& value) { m_createdByHasBeenSet = true; m_createdBy = std::move(value); } 579 580 /** 581 * <p>Service principal name of the service that created the rule.</p> 582 * <p>The field is populated only if the service linked rule is created by a 583 * service. The field is empty if you create your own rule.</p> 584 */ SetCreatedBy(const char * value)585 inline void SetCreatedBy(const char* value) { m_createdByHasBeenSet = true; m_createdBy.assign(value); } 586 587 /** 588 * <p>Service principal name of the service that created the rule.</p> 589 * <p>The field is populated only if the service linked rule is created by a 590 * service. The field is empty if you create your own rule.</p> 591 */ WithCreatedBy(const Aws::String & value)592 inline ConfigRule& WithCreatedBy(const Aws::String& value) { SetCreatedBy(value); return *this;} 593 594 /** 595 * <p>Service principal name of the service that created the rule.</p> 596 * <p>The field is populated only if the service linked rule is created by a 597 * service. The field is empty if you create your own rule.</p> 598 */ WithCreatedBy(Aws::String && value)599 inline ConfigRule& WithCreatedBy(Aws::String&& value) { SetCreatedBy(std::move(value)); return *this;} 600 601 /** 602 * <p>Service principal name of the service that created the rule.</p> 603 * <p>The field is populated only if the service linked rule is created by a 604 * service. The field is empty if you create your own rule.</p> 605 */ WithCreatedBy(const char * value)606 inline ConfigRule& WithCreatedBy(const char* value) { SetCreatedBy(value); return *this;} 607 608 private: 609 610 Aws::String m_configRuleName; 611 bool m_configRuleNameHasBeenSet; 612 613 Aws::String m_configRuleArn; 614 bool m_configRuleArnHasBeenSet; 615 616 Aws::String m_configRuleId; 617 bool m_configRuleIdHasBeenSet; 618 619 Aws::String m_description; 620 bool m_descriptionHasBeenSet; 621 622 Scope m_scope; 623 bool m_scopeHasBeenSet; 624 625 Source m_source; 626 bool m_sourceHasBeenSet; 627 628 Aws::String m_inputParameters; 629 bool m_inputParametersHasBeenSet; 630 631 MaximumExecutionFrequency m_maximumExecutionFrequency; 632 bool m_maximumExecutionFrequencyHasBeenSet; 633 634 ConfigRuleState m_configRuleState; 635 bool m_configRuleStateHasBeenSet; 636 637 Aws::String m_createdBy; 638 bool m_createdByHasBeenSet; 639 }; 640 641 } // namespace Model 642 } // namespace ConfigService 643 } // namespace Aws 644