This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs-object-store.git


The following commit(s) were added to refs/heads/main by this push:
     new 1b8ecc7  docs: document missing config keys (#498)
1b8ecc7 is described below

commit 1b8ecc7f41eab2a3c2c373f1c2fe21bebe391727
Author: Frank Elsinga <[email protected]>
AuthorDate: Mon Nov 3 21:32:18 2025 +0100

    docs: document missing config keys (#498)
    
    * document all the missing keys
    
    * Apply suggestion from @CommanderStorm
    
    * Apply suggestion from @CommanderStorm
    
    * Apply suggestion from @CommanderStorm
    
    * Apply suggestion from @CommanderStorm
    
    * Update src/aws/builder.rs
    
    * Update src/aws/builder.rs
    
    * Update src/aws/builder.rs
    
    * Update src/aws/builder.rs
    
    ---------
    
    Co-authored-by: Andrew Lamb <[email protected]>
---
 src/aws/builder.rs | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 src/client/mod.rs  | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/gcp/builder.rs |  8 ++++++++
 3 files changed, 114 insertions(+), 4 deletions(-)

diff --git a/src/aws/builder.rs b/src/aws/builder.rs
index 79d6b0f..7c05964 100644
--- a/src/aws/builder.rs
+++ b/src/aws/builder.rs
@@ -318,16 +318,28 @@ pub enum AmazonS3ConfigKey {
     /// Set the container credentials relative URI when used in ECS
     ///
     /// 
<https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>
+    ///
+    /// Supported keys:
+    /// - `aws_container_credentials_relative_uri`
+    /// - `container_credentials_relative_uri`
     ContainerCredentialsRelativeUri,
 
     /// Set the container credentials full URI when used in EKS
     ///
     /// 
<https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html>
+    ///
+    /// Supported keys:
+    /// - `aws_container_credentials_full_uri`
+    /// - `container_credentials_full_uri`
     ContainerCredentialsFullUri,
 
     /// Set the authorization token in plain text when used in EKS to 
authenticate with ContainerCredentialsFullUri
     ///
     /// 
<https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html>
+    ///
+    /// Supported keys:
+    /// - `aws_container_authorization_token_file`
+    /// - `container_authorization_token_file`
     ContainerAuthorizationTokenFile,
 
     /// Web identity token file path for AssumeRoleWithWebIdentity
@@ -361,14 +373,26 @@ pub enum AmazonS3ConfigKey {
     /// Configure how to provide `copy_if_not_exists`
     ///
     /// See [`S3CopyIfNotExists`]
+    ///
+    /// Supported keys:
+    /// - `aws_copy_if_not_exists`
+    /// - `copy_if_not_exists`
     CopyIfNotExists,
 
     /// Configure how to provide conditional put operations
     ///
     /// See [`S3ConditionalPut`]
+    ///
+    /// Supported keys:
+    /// - `aws_conditional_put`
+    /// - `conditional_put`
     ConditionalPut,
 
     /// Skip signing request
+    ///
+    /// Supported keys:
+    /// - `aws_skip_signature`
+    /// - `skip_signature`
     SkipSignature,
 
     /// Disable tagging objects
@@ -1206,17 +1230,41 @@ fn parse_bucket_az(bucket: &str) -> Option<&str> {
 #[derive(PartialEq, Eq, Hash, Clone, Debug, Copy, Serialize, Deserialize)]
 #[non_exhaustive]
 pub enum S3EncryptionConfigKey {
-    /// Type of encryption to use. If set, must be one of "AES256" (SSE-S3), 
"aws:kms" (SSE-KMS), "aws:kms:dsse" (DSSE-KMS) or "sse-c".
+    /// Type of encryption to use.
+    ///
+    /// If set, must be one of
+    /// - "AES256" (SSE-S3),
+    /// - "aws:kms" (SSE-KMS),
+    /// - "aws:kms:dsse" (DSSE-KMS) or
+    /// - "sse-c"
+    ///
+    /// Supported keys:
+    /// - `aws_server_side_encryption`
+    /// - `server_side_encryption`
     ServerSideEncryption,
-    /// The KMS key ID to use for server-side encryption. If set, 
ServerSideEncryption
-    /// must be "aws:kms" or "aws:kms:dsse".
+    /// The KMS key ID to use for server-side encryption.
+    ///
+    /// If set, [ServerSideEncryption](Self::ServerSideEncryption) must be 
"aws:kms" or "aws:kms:dsse".
+    ///
+    /// Supported keys:
+    /// - `aws_sse_kms_key_id`
+    /// - `sse_kms_key_id`
     KmsKeyId,
     /// If set to true, will use the bucket's default KMS key for server-side 
encryption.
     /// If set to false, will disable the use of the bucket's default KMS key 
for server-side encryption.
+    ///
+    /// Supported keys:
+    /// - `aws_sse_bucket_key_enabled`
+    /// - `sse_bucket_key_enabled`
     BucketKeyEnabled,
 
     /// The base64 encoded, 256-bit customer encryption key to use for 
server-side encryption.
-    /// If set, ServerSideEncryption must be "sse-c".
+    ///
+    /// If set, [ServerSideEncryption](Self::ServerSideEncryption) must be 
"sse-c".
+    ///
+    /// Supported keys:
+    /// - `aws_sse_customer_key_base64`
+    /// - `sse_customer_key_base64`
     CustomerEncryptionKey,
 }
 
diff --git a/src/client/mod.rs b/src/client/mod.rs
index 58b27d2..def8aca 100644
--- a/src/client/mod.rs
+++ b/src/client/mod.rs
@@ -82,6 +82,9 @@ static DEFAULT_USER_AGENT: &str = 
concat!(env!("CARGO_PKG_NAME"), "/", env!("CAR
 #[non_exhaustive]
 pub enum ClientConfigKey {
     /// Allow non-TLS, i.e. non-HTTPS connections
+    ///
+    /// Supported keys:
+    /// - `allow_http`
     AllowHttp,
     /// Skip certificate validation on https connections.
     ///
@@ -92,45 +95,96 @@ pub enum ClientConfigKey {
     /// will be trusted for use. This includes expired certificates. This
     /// introduces significant vulnerabilities, and should only be used
     /// as a last resort or for testing
+    ///
+    /// Supported keys:
+    /// - `allow_invalid_certificates`
     AllowInvalidCertificates,
     /// Timeout for only the connect phase of a Client
+    ///
+    /// Supported keys:
+    /// - `connect_timeout`
     ConnectTimeout,
     /// default CONTENT_TYPE for uploads
+    ///
+    /// Supported keys:
+    /// - `default_content_type`
     DefaultContentType,
     /// Only use http1 connections
+    ///
+    /// Supported keys:
+    /// - `http1_only`
     Http1Only,
     /// Interval for HTTP2 Ping frames should be sent to keep a connection 
alive.
+    ///
+    /// Supported keys:
+    /// - `http2_keep_alive_interval`
     Http2KeepAliveInterval,
     /// Timeout for receiving an acknowledgement of the keep-alive ping.
+    ///
+    /// Supported keys:
+    /// - `http2_keep_alive_timeout`
     Http2KeepAliveTimeout,
     /// Enable HTTP2 keep alive pings for idle connections
+    ///
+    /// Supported keys:
+    /// - `http2_keep_alive_while_idle`
     Http2KeepAliveWhileIdle,
     /// Sets the maximum frame size to use for HTTP2.
+    ///
+    /// Supported keys:
+    /// - `http2_max_frame_size`
     Http2MaxFrameSize,
     /// Only use http2 connections
+    ///
+    /// Supported keys:
+    /// - `http2_only`
     Http2Only,
     /// The pool max idle timeout
     ///
     /// This is the length of time an idle connection will be kept alive
+    ///
+    /// Supported keys:
+    /// - `pool_idle_timeout`
     PoolIdleTimeout,
     /// maximum number of idle connections per host
+    ///
+    /// Supported keys:
+    /// - `pool_max_idle_per_host`
     PoolMaxIdlePerHost,
     /// HTTP proxy to use for requests
+    ///
+    /// Supported keys:
+    /// - `proxy_url`
     ProxyUrl,
     /// PEM-formatted CA certificate for proxy connections
+    ///
+    /// Supported keys:
+    /// - `proxy_ca_certificate`
     ProxyCaCertificate,
     /// List of hosts that bypass proxy
+    ///
+    /// Supported keys:
+    /// - `proxy_excludes`
     ProxyExcludes,
     /// Randomize order addresses that the DNS resolution yields.
     ///
     /// This will spread the connections across more servers.
+    ///
+    /// Supported keys:
+    /// - `randomize_addresses`
     RandomizeAddresses,
     /// Request timeout
     ///
     /// The timeout is applied from when the request starts connecting until 
the
     /// response body has finished
+    ///
+    /// Supported keys:
+    /// - `timeout`
     Timeout,
     /// User-Agent header to be used by this client
+    ///
+    /// Supported keys:
+    /// - `user_agent`
     UserAgent,
 }
 
diff --git a/src/gcp/builder.rs b/src/gcp/builder.rs
index 1d3a495..581e701 100644
--- a/src/gcp/builder.rs
+++ b/src/gcp/builder.rs
@@ -162,9 +162,17 @@ pub enum GoogleConfigKey {
     /// Application credentials path
     ///
     /// See [`GoogleCloudStorageBuilder::with_application_credentials`].
+    ///
+    /// Supported keys:
+    /// - `google_application_credentials`
+    /// - `application_credentials`
     ApplicationCredentials,
 
     /// Skip signing request
+    ///
+    /// Supported keys:
+    /// - `google_skip_signature`
+    /// - `skip_signature`
     SkipSignature,
 
     /// Client options

Reply via email to