/** * 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 { /** *

Specifies the logging configuration when writing GraphQL operations and * tracing to Amazon CloudWatch for an AppSync GraphQL API.

See * Also:

AWS * API Reference

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

The Amazon Resource Name (ARN) of the service role that AppSync assumes to * publish to CloudWatch Logs in your account.

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

The Amazon Resource Name (ARN) of the service role that AppSync assumes to * publish to CloudWatch Logs in your account.

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

The Amazon Resource Name (ARN) of 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 Amazon Resource Name (ARN) of 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 Amazon Resource Name (ARN) of 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 Amazon Resource Name (ARN) of the service role that AppSync assumes to * publish to CloudWatch Logs in your account.

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

The Amazon Resource Name (ARN) of the service role that AppSync assumes to * publish to CloudWatch Logs in your account.

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

The Amazon Resource Name (ARN) of the service role that AppSync assumes to * publish to CloudWatch Logs in your account.

*/ inline AwsAppSyncGraphQlApiLogConfigDetails& 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 AwsAppSyncGraphQlApiLogConfigDetails& WithExcludeVerboseContent(bool value) { SetExcludeVerboseContent(value); return *this;} /** *

The field logging level.

*/ inline const Aws::String& GetFieldLogLevel() const{ return m_fieldLogLevel; } /** *

The field logging level.

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

The field logging level.

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

The field logging level.

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

The field logging level.

*/ inline void SetFieldLogLevel(const char* value) { m_fieldLogLevelHasBeenSet = true; m_fieldLogLevel.assign(value); } /** *

The field logging level.

*/ inline AwsAppSyncGraphQlApiLogConfigDetails& WithFieldLogLevel(const Aws::String& value) { SetFieldLogLevel(value); return *this;} /** *

The field logging level.

*/ inline AwsAppSyncGraphQlApiLogConfigDetails& WithFieldLogLevel(Aws::String&& value) { SetFieldLogLevel(std::move(value)); return *this;} /** *

The field logging level.

*/ inline AwsAppSyncGraphQlApiLogConfigDetails& WithFieldLogLevel(const char* value) { SetFieldLogLevel(value); return *this;} private: Aws::String m_cloudWatchLogsRoleArn; bool m_cloudWatchLogsRoleArnHasBeenSet = false; bool m_excludeVerboseContent; bool m_excludeVerboseContentHasBeenSet = false; Aws::String m_fieldLogLevel; bool m_fieldLogLevelHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws