/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Route53RecoveryCluster { namespace Model { /** */ class UpdateRoutingControlStateRequest : public Route53RecoveryClusterRequest { public: AWS_ROUTE53RECOVERYCLUSTER_API UpdateRoutingControlStateRequest(); // 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 "UpdateRoutingControlState"; } AWS_ROUTE53RECOVERYCLUSTER_API Aws::String SerializePayload() const override; AWS_ROUTE53RECOVERYCLUSTER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline const Aws::String& GetRoutingControlArn() const{ return m_routingControlArn; } /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline bool RoutingControlArnHasBeenSet() const { return m_routingControlArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline void SetRoutingControlArn(const Aws::String& value) { m_routingControlArnHasBeenSet = true; m_routingControlArn = value; } /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline void SetRoutingControlArn(Aws::String&& value) { m_routingControlArnHasBeenSet = true; m_routingControlArn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline void SetRoutingControlArn(const char* value) { m_routingControlArnHasBeenSet = true; m_routingControlArn.assign(value); } /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline UpdateRoutingControlStateRequest& WithRoutingControlArn(const Aws::String& value) { SetRoutingControlArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline UpdateRoutingControlStateRequest& WithRoutingControlArn(Aws::String&& value) { SetRoutingControlArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the routing control that you want to * update the state for.

*/ inline UpdateRoutingControlStateRequest& WithRoutingControlArn(const char* value) { SetRoutingControlArn(value); return *this;} /** *

The state of the routing control. You can set the value to be On or Off.

*/ inline const RoutingControlState& GetRoutingControlState() const{ return m_routingControlState; } /** *

The state of the routing control. You can set the value to be On or Off.

*/ inline bool RoutingControlStateHasBeenSet() const { return m_routingControlStateHasBeenSet; } /** *

The state of the routing control. You can set the value to be On or Off.

*/ inline void SetRoutingControlState(const RoutingControlState& value) { m_routingControlStateHasBeenSet = true; m_routingControlState = value; } /** *

The state of the routing control. You can set the value to be On or Off.

*/ inline void SetRoutingControlState(RoutingControlState&& value) { m_routingControlStateHasBeenSet = true; m_routingControlState = std::move(value); } /** *

The state of the routing control. You can set the value to be On or Off.

*/ inline UpdateRoutingControlStateRequest& WithRoutingControlState(const RoutingControlState& value) { SetRoutingControlState(value); return *this;} /** *

The state of the routing control. You can set the value to be On or Off.

*/ inline UpdateRoutingControlStateRequest& WithRoutingControlState(RoutingControlState&& value) { SetRoutingControlState(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline const Aws::Vector& GetSafetyRulesToOverride() const{ return m_safetyRulesToOverride; } /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline bool SafetyRulesToOverrideHasBeenSet() const { return m_safetyRulesToOverrideHasBeenSet; } /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline void SetSafetyRulesToOverride(const Aws::Vector& value) { m_safetyRulesToOverrideHasBeenSet = true; m_safetyRulesToOverride = value; } /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline void SetSafetyRulesToOverride(Aws::Vector&& value) { m_safetyRulesToOverrideHasBeenSet = true; m_safetyRulesToOverride = std::move(value); } /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline UpdateRoutingControlStateRequest& WithSafetyRulesToOverride(const Aws::Vector& value) { SetSafetyRulesToOverride(value); return *this;} /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline UpdateRoutingControlStateRequest& WithSafetyRulesToOverride(Aws::Vector&& value) { SetSafetyRulesToOverride(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline UpdateRoutingControlStateRequest& AddSafetyRulesToOverride(const Aws::String& value) { m_safetyRulesToOverrideHasBeenSet = true; m_safetyRulesToOverride.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline UpdateRoutingControlStateRequest& AddSafetyRulesToOverride(Aws::String&& value) { m_safetyRulesToOverrideHasBeenSet = true; m_safetyRulesToOverride.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Names (ARNs) for the safety rules that you want to * override when you're updating the state of a routing control. You can override * one safety rule or multiple safety rules by including one or more ARNs, * separated by commas.

For more information, see * Override safety rules to reroute traffic in the Amazon Route 53 Application * Recovery Controller Developer Guide.

*/ inline UpdateRoutingControlStateRequest& AddSafetyRulesToOverride(const char* value) { m_safetyRulesToOverrideHasBeenSet = true; m_safetyRulesToOverride.push_back(value); return *this; } private: Aws::String m_routingControlArn; bool m_routingControlArnHasBeenSet = false; RoutingControlState m_routingControlState; bool m_routingControlStateHasBeenSet = false; Aws::Vector m_safetyRulesToOverride; bool m_safetyRulesToOverrideHasBeenSet = false; }; } // namespace Model } // namespace Route53RecoveryCluster } // namespace Aws