You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: _query_logging_config.rs
    path of file: ./repos/aws-sdk-rust/sdk/route53/src/types
    
    the code of the file until where you have to start completion: // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>A complex type that contains information about a configuration for DNS query logging.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct QueryLoggingConfig {
    /// <p>The ID for a configuration for DNS query logging.</p>
    pub id: ::std::string::String,
    /// <p>The ID of the hosted zone that CloudWatch Logs is logging queries for.</p>
    pub hosted_zone_id: ::std::string::String,
    /// <p>The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.</p>
    pub cloud_watch_logs_log_group_arn: ::std::string::String,
}
impl QueryLoggingConfig {
    /// <p>The ID for a configuration for DNS query logging.</p>
    pub fn id(&self) -> &str {
        use std::ops::Deref;
        self.id.deref()
    }
    /// <p>The ID of the hosted zone that CloudWatch Logs is logging queries for
    
    pub fn build(self) -> ::std::result::Result<crate::types::QueryLoggingConfig, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::QueryLoggingConfig {
            id: self.id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "id",
                    "id was not specified but it is required when building QueryLoggingConfig",
                )
            })?,
            hosted_zone_id: self.hosted_zone_id.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "hosted_zone_id",
                    "hosted_zone_id was not specified but it is required when building QueryLoggingConfig",
                )
            })?,
            cloud_watch_logs_log_group_arn: self.cloud_watch_logs_log_group_arn.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "cloud_watch_logs_log_group_arn",
                    "cloud_watch_logs_log_group_arn was not specified but it is required when building QueryLoggingConfig",
                )
            })?,
        })
    }