/** * 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 CloudWatch Logs configuration.

See Also:

AWS * API Reference

*/ class AWS_APPSYNC_API LogConfig { public: LogConfig(); LogConfig(Aws::Utils::Json::JsonView jsonValue); LogConfig& operator=(Aws::Utils::Json::JsonView jsonValue); 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 AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon CloudWatch * logs in your account.

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

The service role that AWS AppSync will assume to publish to Amazon 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; Aws::String m_cloudWatchLogsRoleArn; bool m_cloudWatchLogsRoleArnHasBeenSet; bool m_excludeVerboseContent; bool m_excludeVerboseContentHasBeenSet; }; } // namespace Model } // namespace AppSync } // namespace Aws