Config Reference#

botocore.config#

class botocore.config.Config(*args, **kwargs)#

Advanced configuration for Botocore clients.

Parameters:
  • region_name (str) – The region to use in instantiating the client

  • signature_version (str) – The signature version when signing requests.

  • user_agent (str) – The value to use in the User-Agent header.

  • user_agent_extra (str) – The value to append to the current User-Agent header value.

  • user_agent_appid (str) – A value that gets included in the User-Agent string in the format “app/<user_agent_appid>”. Allowed characters are ASCII alphanumerics and !$%&'*+-.^_`|~. All other characters will be replaced by a -.

  • connect_timeout (float or int) – The time in seconds till a timeout exception is thrown when attempting to make a connection. The default is 60 seconds.

  • read_timeout (float or int) – The time in seconds till a timeout exception is thrown when attempting to read from a connection. The default is 60 seconds.

  • parameter_validation (bool) – Whether parameter validation should occur when serializing requests. The default is True. You can disable parameter validation for performance reasons. Otherwise, it’s recommended to leave parameter validation enabled.

  • max_pool_connections (int) – The maximum number of connections to keep in a connection pool. If this value is not set, the default value of 10 is used.

  • proxies (dict) – A dictionary of proxy servers to use by protocol or endpoint, e.g.: {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. The proxies are used on each request.

  • proxies_config (dict) –

    A dictionary of additional proxy configurations. Valid keys are:

    • proxy_ca_bundle – The path to a custom certificate bundle to use when establishing SSL/TLS connections with proxy.

    • proxy_client_cert – The path to a certificate for proxy TLS client authentication.

      When a string is provided it is treated as a path to a proxy client certificate. When a two element tuple is provided, it will be interpreted as the path to the client certificate, and the path to the certificate key.

    • proxy_use_forwarding_for_https – For HTTPS proxies, forward your requests to HTTPS destinations with an absolute URI. We strongly recommend you only use this option with trusted or corporate proxies. Value must be boolean.

  • s3 (dict) –

    A dictionary of S3 specific configurations. Valid keys are:

    • use_accelerate_endpoint – Refers to whether to use the S3 Accelerate endpoint. The value must be a boolean. If True, the client will use the S3 Accelerate endpoint. If the S3 Accelerate endpoint is being used then the addressing style will always be virtual.

    • payload_signing_enabled – Refers to whether or not to SHA256 sign sigv4 payloads. By default, this is disabled for streaming uploads (UploadPart and PutObject).

    • addressing_style – Refers to the style in which to address s3 endpoints. Values must be a string that equals one of:

      • auto – Addressing style is chosen for user. Depending on the configuration of client, the endpoint may be addressed in the virtual or the path style. Note that this is the default behavior if no style is specified.

      • virtual – Addressing style is always virtual. The name of the bucket must be DNS compatible or an exception will be thrown. Endpoints will be addressed as such: mybucket.s3.amazonaws.com

      • path – Addressing style is always by path. Endpoints will be addressed as such: s3.amazonaws.com/mybucket

    • us_east_1_regional_endpoint – Refers to what S3 endpoint to use when the region is configured to be us-east-1. Values must be a string that equals:

      • regional – Use the us-east-1.amazonaws.com endpoint if the client is configured to use the us-east-1 region.

      • legacy – Use the s3.amazonaws.com endpoint if the client is configured to use the us-east-1 region. This is the default if the configuration option is not specified.

  • retries (dict) –

    A dictionary for configuration related to retry behavior. Valid keys are:

    • total_max_attempts – An integer representing the maximum number of total attempts that will be made on a single request. This includes the initial request, so a value of 1 indicates that no requests will be retried. If total_max_attempts and max_attempts are both provided, total_max_attempts takes precedence. total_max_attempts is preferred over max_attempts because it maps to the AWS_MAX_ATTEMPTS environment variable and the max_attempts config file value.

    • max_attempts – An integer representing the maximum number of retry attempts that will be made on a single request. For example, setting this value to 2 will result in the request being retried at most two times after the initial request. Setting this value to 0 will result in no retries ever being attempted after the initial request. If not provided, the number of retries will default to the value specified in the service model, which is typically four retries.

    • mode – A string representing the type of retry mode botocore should use. Valid values are:

      • legacy - The pre-existing retry behavior.

      • standard - The standardized set of retry rules. This will also default to 3 max attempts unless overridden.

      • adaptive - Retries with additional client side throttling.

  • client_cert (str, (str, str)) –

    The path to a certificate for TLS client authentication.

    When a string is provided it is treated as a path to a client certificate to be used when creating a TLS connection.

    If a client key is to be provided alongside the client certificate the client_cert should be set to a tuple of length two where the first element is the path to the client certificate and the second element is the path to the certificate key.

  • inject_host_prefix (bool) –

    Whether host prefix injection should occur.

    Defaults to True.

    Setting this to False disables the injection of operation parameters into the prefix of the hostname. This is useful for clients providing custom endpoints that should not have their host prefix modified.

  • use_dualstack_endpoint (bool) –

    Setting to True enables dualstack endpoint resolution.

    Defaults to None.

  • use_fips_endpoint (bool) –

    Setting to True enables fips endpoint resolution.

    Defaults to None.

  • ignore_configured_endpoint_urls (bool) –

    Setting to True disables use of endpoint URLs provided via environment variables and the shared configuration file.

    Defaults to None.

  • tcp_keepalive (bool) –

    Enables the TCP Keep-Alive socket option used when creating new connections if set to True.

    Defaults to False.

  • request_min_compression_size_bytes (int) –

    The minimum size in bytes that a request body should be to trigger compression. All requests with streaming input that don’t contain the requiresLength trait will be compressed regardless of this setting.

    Defaults to None.

  • disable_request_compression (bool) –

    Disables request body compression if set to True.

    Defaults to None.

  • client_context_params (dict) –

    A dictionary of parameters specific to individual services. If available, valid parameters can be found in the Client Context Parameters section of the service client’s documentation. Invalid parameters or ones that are not used by the specified service will be ignored.

    Defaults to None.

merge(other_config)#

Merges the config object with another config object

This will merge in all non-default values from the provided config and return a new config object

Parameters:

config (other) – Another config object to merge with. The values in the provided config object will take precedence in the merging

Returns:

A config object built from the merged values of both config objects.