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

The Amazon CloudWatch Logs configuration.

See Also:

AWS * API Reference

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

The field logging level. Values can be NONE, ERROR, or ALL.

  • * NONE: No field-level logs are captured.

  • ERROR: * Logs the following information only for the fields that are in error:

      *
    • The error section in the server response.

    • Field-level * errors.

    • The generated request/response functions that got * resolved for error fields.

  • ALL: The * following information is logged for all fields in the query:

    • *

      Field-level tracing information.

    • The generated * request/response functions that got resolved for each field.

    *
*/ inline const FieldLogLevel& GetFieldLogLevel() const{ return m_fieldLogLevel; } /** *

The field logging level. Values can be NONE, ERROR, or ALL.

  • * NONE: No field-level logs are captured.

  • ERROR: * Logs the following information only for the fields that are in error:

      *
    • The error section in the server response.

    • Field-level * errors.

    • The generated request/response functions that got * resolved for error fields.

  • ALL: The * following information is logged for all fields in the query:

    • *

      Field-level tracing information.

    • The generated * request/response functions that got resolved for each field.

    *
*/ inline bool FieldLogLevelHasBeenSet() const { return m_fieldLogLevelHasBeenSet; } /** *

The field logging level. Values can be NONE, ERROR, or ALL.

  • * NONE: No field-level logs are captured.

  • ERROR: * Logs the following information only for the fields that are in error:

      *
    • The error section in the server response.

    • Field-level * errors.

    • The generated request/response functions that got * resolved for error fields.

  • ALL: The * following information is logged for all fields in the query:

    • *

      Field-level tracing information.

    • The generated * request/response functions that got resolved for each field.

    *
*/ inline void SetFieldLogLevel(const FieldLogLevel& value) { m_fieldLogLevelHasBeenSet = true; m_fieldLogLevel = value; } /** *

The field logging level. Values can be NONE, ERROR, or ALL.

  • * NONE: No field-level logs are captured.

  • ERROR: * Logs the following information only for the fields that are in error:

      *
    • The error section in the server response.

    • Field-level * errors.

    • The generated request/response functions that got * resolved for error fields.

  • ALL: The * following information is logged for all fields in the query:

    • *

      Field-level tracing information.

    • The generated * request/response functions that got resolved for each field.

    *
*/ inline void SetFieldLogLevel(FieldLogLevel&& value) { m_fieldLogLevelHasBeenSet = true; m_fieldLogLevel = std::move(value); } /** *

The field logging level. Values can be NONE, ERROR, or ALL.

  • * NONE: No field-level logs are captured.

  • ERROR: * Logs the following information only for the fields that are in error:

      *
    • The error section in the server response.

    • Field-level * errors.

    • The generated request/response functions that got * resolved for error fields.

  • ALL: The * following information is logged for all fields in the query:

    • *

      Field-level tracing information.

    • The generated * request/response functions that got resolved for each field.

    *
*/ inline LogConfig& WithFieldLogLevel(const FieldLogLevel& value) { SetFieldLogLevel(value); return *this;} /** *

The field logging level. Values can be NONE, ERROR, or ALL.

  • * NONE: No field-level logs are captured.

  • ERROR: * Logs the following information only for the fields that are in error:

      *
    • The error section in the server response.

    • Field-level * errors.

    • The generated request/response functions that got * resolved for error fields.

  • ALL: The * following information is logged for all fields in the query:

    • *

      Field-level tracing information.

    • The generated * request/response functions that got resolved for each field.

    *
*/ inline LogConfig& WithFieldLogLevel(FieldLogLevel&& value) { SetFieldLogLevel(std::move(value)); return *this;} /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline const Aws::String& GetCloudWatchLogsRoleArn() const{ return m_cloudWatchLogsRoleArn; } /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline bool CloudWatchLogsRoleArnHasBeenSet() const { return m_cloudWatchLogsRoleArnHasBeenSet; } /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline void SetCloudWatchLogsRoleArn(const Aws::String& value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn = value; } /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline void SetCloudWatchLogsRoleArn(Aws::String&& value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn = std::move(value); } /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline void SetCloudWatchLogsRoleArn(const char* value) { m_cloudWatchLogsRoleArnHasBeenSet = true; m_cloudWatchLogsRoleArn.assign(value); } /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline LogConfig& WithCloudWatchLogsRoleArn(const Aws::String& value) { SetCloudWatchLogsRoleArn(value); return *this;} /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline LogConfig& WithCloudWatchLogsRoleArn(Aws::String&& value) { SetCloudWatchLogsRoleArn(std::move(value)); return *this;} /** *

The service role that AppSync assumes to publish to CloudWatch logs in your * account.

*/ inline LogConfig& WithCloudWatchLogsRoleArn(const char* value) { SetCloudWatchLogsRoleArn(value); return *this;} /** *

Set to TRUE to exclude sections that contain information such as headers, * context, and evaluated mapping templates, regardless of logging level.

*/ inline bool GetExcludeVerboseContent() const{ return m_excludeVerboseContent; } /** *

Set to TRUE to exclude sections that contain information such as headers, * context, and evaluated mapping templates, regardless of logging level.

*/ inline bool ExcludeVerboseContentHasBeenSet() const { return m_excludeVerboseContentHasBeenSet; } /** *

Set to TRUE to exclude sections that contain information such as headers, * context, and evaluated mapping templates, regardless of logging level.

*/ inline void SetExcludeVerboseContent(bool value) { m_excludeVerboseContentHasBeenSet = true; m_excludeVerboseContent = value; } /** *

Set to TRUE to exclude sections that contain information such as headers, * context, and evaluated mapping templates, regardless of logging level.

*/ inline LogConfig& WithExcludeVerboseContent(bool value) { SetExcludeVerboseContent(value); return *this;} private: FieldLogLevel m_fieldLogLevel; bool m_fieldLogLevelHasBeenSet = false; Aws::String m_cloudWatchLogsRoleArn; bool m_cloudWatchLogsRoleArnHasBeenSet = false; bool m_excludeVerboseContent; bool m_excludeVerboseContentHasBeenSet = false; }; } // namespace Model } // namespace AppSync } // namespace Aws