/** * 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 SecurityHub { namespace Model { /** *

Contains route settings for a stage.

See Also:

AWS * API Reference

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

Indicates whether detailed metrics are enabled.

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

Indicates whether detailed metrics are enabled.

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

Indicates whether detailed metrics are enabled.

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

Indicates whether detailed metrics are enabled.

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

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

*/ inline const Aws::String& GetLoggingLevel() const{ return m_loggingLevel; } /** *

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

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

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

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

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

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

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

*/ inline void SetLoggingLevel(const char* value) { m_loggingLevelHasBeenSet = true; m_loggingLevel.assign(value); } /** *

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

*/ inline AwsApiGatewayV2RouteSettings& WithLoggingLevel(const Aws::String& value) { SetLoggingLevel(value); return *this;} /** *

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

*/ inline AwsApiGatewayV2RouteSettings& WithLoggingLevel(Aws::String&& value) { SetLoggingLevel(std::move(value)); return *this;} /** *

The logging level. The logging level affects the log entries that are pushed * to CloudWatch Logs. Supported only for WebSocket APIs.

If the logging * level is ERROR, then the logs only include error-level entries.

*

If the logging level is INFO, then the logs include both * ERROR events and extra informational events.

Valid values: * OFF | ERROR | INFO

*/ inline AwsApiGatewayV2RouteSettings& WithLoggingLevel(const char* value) { SetLoggingLevel(value); return *this;} /** *

Indicates whether data trace logging is enabled. Data trace logging affects * the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket * APIs.

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

Indicates whether data trace logging is enabled. Data trace logging affects * the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket * APIs.

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

Indicates whether data trace logging is enabled. Data trace logging affects * the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket * APIs.

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

Indicates whether data trace logging is enabled. Data trace logging affects * the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket * APIs.

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

The throttling burst limit.

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

The throttling burst limit.

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

The throttling burst limit.

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

The throttling burst limit.

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

The throttling rate limit.

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

The throttling rate limit.

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

The throttling rate limit.

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

The throttling rate limit.

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