/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ApiGatewayV2 { namespace Model { /** *

Represents a collection of route settings.

See Also:

AWS * API Reference

*/ class RouteSettings { public: AWS_APIGATEWAYV2_API RouteSettings(); AWS_APIGATEWAYV2_API RouteSettings(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAYV2_API RouteSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAYV2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Specifies whether (true) or not (false) data trace logging is enabled for * this route. This property affects the log entries pushed to Amazon CloudWatch * Logs. Supported only for WebSocket APIs.

*/ inline bool GetDataTraceEnabled() const{ return m_dataTraceEnabled; } /** *

Specifies whether (true) or not (false) data trace logging is enabled for * this route. This property affects the log entries pushed to Amazon CloudWatch * Logs. Supported only for WebSocket APIs.

*/ inline bool DataTraceEnabledHasBeenSet() const { return m_dataTraceEnabledHasBeenSet; } /** *

Specifies whether (true) or not (false) data trace logging is enabled for * this route. This property affects the log entries pushed to Amazon CloudWatch * Logs. Supported only for WebSocket APIs.

*/ inline void SetDataTraceEnabled(bool value) { m_dataTraceEnabledHasBeenSet = true; m_dataTraceEnabled = value; } /** *

Specifies whether (true) or not (false) data trace logging is enabled for * this route. This property affects the log entries pushed to Amazon CloudWatch * Logs. Supported only for WebSocket APIs.

*/ inline RouteSettings& WithDataTraceEnabled(bool value) { SetDataTraceEnabled(value); return *this;} /** *

Specifies whether detailed metrics are enabled.

*/ inline bool GetDetailedMetricsEnabled() const{ return m_detailedMetricsEnabled; } /** *

Specifies whether detailed metrics are enabled.

*/ inline bool DetailedMetricsEnabledHasBeenSet() const { return m_detailedMetricsEnabledHasBeenSet; } /** *

Specifies whether detailed metrics are enabled.

*/ inline void SetDetailedMetricsEnabled(bool value) { m_detailedMetricsEnabledHasBeenSet = true; m_detailedMetricsEnabled = value; } /** *

Specifies whether detailed metrics are enabled.

*/ inline RouteSettings& WithDetailedMetricsEnabled(bool value) { SetDetailedMetricsEnabled(value); return *this;} /** *

Specifies the logging level for this route: INFO, ERROR, or OFF. This * property affects the log entries pushed to Amazon CloudWatch Logs. Supported * only for WebSocket APIs.

*/ inline const LoggingLevel& GetLoggingLevel() const{ return m_loggingLevel; } /** *

Specifies the logging level for this route: INFO, ERROR, or OFF. This * property affects the log entries pushed to Amazon CloudWatch Logs. Supported * only for WebSocket APIs.

*/ inline bool LoggingLevelHasBeenSet() const { return m_loggingLevelHasBeenSet; } /** *

Specifies the logging level for this route: INFO, ERROR, or OFF. This * property affects the log entries pushed to Amazon CloudWatch Logs. Supported * only for WebSocket APIs.

*/ inline void SetLoggingLevel(const LoggingLevel& value) { m_loggingLevelHasBeenSet = true; m_loggingLevel = value; } /** *

Specifies the logging level for this route: INFO, ERROR, or OFF. This * property affects the log entries pushed to Amazon CloudWatch Logs. Supported * only for WebSocket APIs.

*/ inline void SetLoggingLevel(LoggingLevel&& value) { m_loggingLevelHasBeenSet = true; m_loggingLevel = std::move(value); } /** *

Specifies the logging level for this route: INFO, ERROR, or OFF. This * property affects the log entries pushed to Amazon CloudWatch Logs. Supported * only for WebSocket APIs.

*/ inline RouteSettings& WithLoggingLevel(const LoggingLevel& value) { SetLoggingLevel(value); return *this;} /** *

Specifies the logging level for this route: INFO, ERROR, or OFF. This * property affects the log entries pushed to Amazon CloudWatch Logs. Supported * only for WebSocket APIs.

*/ inline RouteSettings& WithLoggingLevel(LoggingLevel&& value) { SetLoggingLevel(std::move(value)); return *this;} /** *

Specifies the throttling burst limit.

*/ inline int GetThrottlingBurstLimit() const{ return m_throttlingBurstLimit; } /** *

Specifies the throttling burst limit.

*/ inline bool ThrottlingBurstLimitHasBeenSet() const { return m_throttlingBurstLimitHasBeenSet; } /** *

Specifies the throttling burst limit.

*/ inline void SetThrottlingBurstLimit(int value) { m_throttlingBurstLimitHasBeenSet = true; m_throttlingBurstLimit = value; } /** *

Specifies the throttling burst limit.

*/ inline RouteSettings& WithThrottlingBurstLimit(int value) { SetThrottlingBurstLimit(value); return *this;} /** *

Specifies the throttling rate limit.

*/ inline double GetThrottlingRateLimit() const{ return m_throttlingRateLimit; } /** *

Specifies the throttling rate limit.

*/ inline bool ThrottlingRateLimitHasBeenSet() const { return m_throttlingRateLimitHasBeenSet; } /** *

Specifies the throttling rate limit.

*/ inline void SetThrottlingRateLimit(double value) { m_throttlingRateLimitHasBeenSet = true; m_throttlingRateLimit = value; } /** *

Specifies the throttling rate limit.

*/ inline RouteSettings& WithThrottlingRateLimit(double value) { SetThrottlingRateLimit(value); return *this;} private: bool m_dataTraceEnabled; bool m_dataTraceEnabledHasBeenSet = false; bool m_detailedMetricsEnabled; bool m_detailedMetricsEnabledHasBeenSet = false; LoggingLevel m_loggingLevel; bool m_loggingLevelHasBeenSet = false; int m_throttlingBurstLimit; bool m_throttlingBurstLimitHasBeenSet = false; double m_throttlingRateLimit; bool m_throttlingRateLimitHasBeenSet = false; }; } // namespace Model } // namespace ApiGatewayV2 } // namespace Aws