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: _datadog_connector_profile_credentials.rs
    path of file: ./repos/aws-sdk-rust/sdk/appflow/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>The connector-specific credentials required by Datadog.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct DatadogConnectorProfileCredentials {
    /// <p>A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.</p>
    pub api_key: ::std::string::String,
    /// <p>Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.</p>
    pub ap
    
    pub fn build(self) -> ::std::result::Result<crate::types::DatadogConnectorProfileCredentials, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::types::DatadogConnectorProfileCredentials {
            api_key: self.api_key.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "api_key",
                    "api_key was not specified but it is required when building DatadogConnectorProfileCredentials",
                )
            })?,
            application_key: self.application_key.ok_or_else(|| {
                ::aws_smithy_types::error::operation::BuildError::missing_field(
                    "application_key",
                    "application_key was not specified but it is required when building DatadogConnectorProfileCredentials",
                )
            })?,
        })
    }