/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace Route53 { namespace Model { /** *

A complex type that contains information about a configuration for DNS query * logging.

See Also:

AWS * API Reference

*/ class QueryLoggingConfig { public: AWS_ROUTE53_API QueryLoggingConfig(); AWS_ROUTE53_API QueryLoggingConfig(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ROUTE53_API QueryLoggingConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ROUTE53_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const; /** *

The ID for a configuration for DNS query logging.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID for a configuration for DNS query logging.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID for a configuration for DNS query logging.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID for a configuration for DNS query logging.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID for a configuration for DNS query logging.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID for a configuration for DNS query logging.

*/ inline QueryLoggingConfig& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID for a configuration for DNS query logging.

*/ inline QueryLoggingConfig& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID for a configuration for DNS query logging.

*/ inline QueryLoggingConfig& WithId(const char* value) { SetId(value); return *this;} /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline const Aws::String& GetHostedZoneId() const{ return m_hostedZoneId; } /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline bool HostedZoneIdHasBeenSet() const { return m_hostedZoneIdHasBeenSet; } /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline void SetHostedZoneId(const Aws::String& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = value; } /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline void SetHostedZoneId(Aws::String&& value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId = std::move(value); } /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline void SetHostedZoneId(const char* value) { m_hostedZoneIdHasBeenSet = true; m_hostedZoneId.assign(value); } /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline QueryLoggingConfig& WithHostedZoneId(const Aws::String& value) { SetHostedZoneId(value); return *this;} /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline QueryLoggingConfig& WithHostedZoneId(Aws::String&& value) { SetHostedZoneId(std::move(value)); return *this;} /** *

The ID of the hosted zone that CloudWatch Logs is logging queries for.

*/ inline QueryLoggingConfig& WithHostedZoneId(const char* value) { SetHostedZoneId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline const Aws::String& GetCloudWatchLogsLogGroupArn() const{ return m_cloudWatchLogsLogGroupArn; } /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline bool CloudWatchLogsLogGroupArnHasBeenSet() const { return m_cloudWatchLogsLogGroupArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline void SetCloudWatchLogsLogGroupArn(const Aws::String& value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn = value; } /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline void SetCloudWatchLogsLogGroupArn(Aws::String&& value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline void SetCloudWatchLogsLogGroupArn(const char* value) { m_cloudWatchLogsLogGroupArnHasBeenSet = true; m_cloudWatchLogsLogGroupArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline QueryLoggingConfig& WithCloudWatchLogsLogGroupArn(const Aws::String& value) { SetCloudWatchLogsLogGroupArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline QueryLoggingConfig& WithCloudWatchLogsLogGroupArn(Aws::String&& value) { SetCloudWatchLogsLogGroupArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon * Route 53 is publishing logs to.

*/ inline QueryLoggingConfig& WithCloudWatchLogsLogGroupArn(const char* value) { SetCloudWatchLogsLogGroupArn(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_hostedZoneId; bool m_hostedZoneIdHasBeenSet = false; Aws::String m_cloudWatchLogsLogGroupArn; bool m_cloudWatchLogsLogGroupArnHasBeenSet = false; }; } // namespace Model } // namespace Route53 } // namespace Aws