/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Route53RecoveryControlConfig { namespace Model { /** *

A rule that you add to Application Recovery Controller to ensure that * recovery actions don't accidentally impair your application's * availability.

See Also:

AWS * API Reference

*/ class UpdateSafetyRuleRequest : public Route53RecoveryControlConfigRequest { public: AWS_ROUTE53RECOVERYCONTROLCONFIG_API UpdateSafetyRuleRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateSafetyRule"; } AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::String SerializePayload() const override; /** *

The assertion rule to update.

*/ inline const AssertionRuleUpdate& GetAssertionRuleUpdate() const{ return m_assertionRuleUpdate; } /** *

The assertion rule to update.

*/ inline bool AssertionRuleUpdateHasBeenSet() const { return m_assertionRuleUpdateHasBeenSet; } /** *

The assertion rule to update.

*/ inline void SetAssertionRuleUpdate(const AssertionRuleUpdate& value) { m_assertionRuleUpdateHasBeenSet = true; m_assertionRuleUpdate = value; } /** *

The assertion rule to update.

*/ inline void SetAssertionRuleUpdate(AssertionRuleUpdate&& value) { m_assertionRuleUpdateHasBeenSet = true; m_assertionRuleUpdate = std::move(value); } /** *

The assertion rule to update.

*/ inline UpdateSafetyRuleRequest& WithAssertionRuleUpdate(const AssertionRuleUpdate& value) { SetAssertionRuleUpdate(value); return *this;} /** *

The assertion rule to update.

*/ inline UpdateSafetyRuleRequest& WithAssertionRuleUpdate(AssertionRuleUpdate&& value) { SetAssertionRuleUpdate(std::move(value)); return *this;} /** *

The gating rule to update.

*/ inline const GatingRuleUpdate& GetGatingRuleUpdate() const{ return m_gatingRuleUpdate; } /** *

The gating rule to update.

*/ inline bool GatingRuleUpdateHasBeenSet() const { return m_gatingRuleUpdateHasBeenSet; } /** *

The gating rule to update.

*/ inline void SetGatingRuleUpdate(const GatingRuleUpdate& value) { m_gatingRuleUpdateHasBeenSet = true; m_gatingRuleUpdate = value; } /** *

The gating rule to update.

*/ inline void SetGatingRuleUpdate(GatingRuleUpdate&& value) { m_gatingRuleUpdateHasBeenSet = true; m_gatingRuleUpdate = std::move(value); } /** *

The gating rule to update.

*/ inline UpdateSafetyRuleRequest& WithGatingRuleUpdate(const GatingRuleUpdate& value) { SetGatingRuleUpdate(value); return *this;} /** *

The gating rule to update.

*/ inline UpdateSafetyRuleRequest& WithGatingRuleUpdate(GatingRuleUpdate&& value) { SetGatingRuleUpdate(std::move(value)); return *this;} private: AssertionRuleUpdate m_assertionRuleUpdate; bool m_assertionRuleUpdateHasBeenSet = false; GatingRuleUpdate m_gatingRuleUpdate; bool m_gatingRuleUpdateHasBeenSet = false; }; } // namespace Model } // namespace Route53RecoveryControlConfig } // namespace Aws