# boto - pydoc - phpman

Help on package boto:

## NAME
    boto

## DESCRIPTION
    # Copyright (c) 2006-2012 Mitch Garnaat <http://garnaat.org/>
    # Copyright (c) 2010-2011, Eucalyptus Systems, Inc.
    # Copyright (c) 2011, Nexenta Systems Inc.
    # Copyright (c) 2012 Amazon.com, Inc. or its affiliates.
    # Copyright (c) 2010, Google, Inc.
    # All rights reserved.
    #
    # Permission is hereby granted, free of charge, to any person obtaining a
    # copy of this software and associated documentation files (the
    # "Software"), to deal in the Software without restriction, including
    # without limitation the rights to use, copy, modify, merge, publish, dis-
    # tribute, sublicense, and/or sell copies of the Software, and to permit
    # persons to whom the Software is furnished to do so, subject to the fol-
    # lowing conditions:
    #
    # The above copyright notice and this permission notice shall be included
    # in all copies or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
    # ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
    # SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
    # IN THE SOFTWARE.
    #

## PACKAGE CONTENTS
    auth
    auth_handler
    awslambda (package)
    beanstalk (package)
    cacerts (package)
    cloudformation (package)
    cloudfront (package)
    cloudhsm (package)
    cloudsearch (package)
    cloudsearch2 (package)
    cloudsearchdomain (package)
    cloudtrail (package)
    codedeploy (package)
    cognito (package)
    compat
    configservice (package)
    connection
    contrib (package)
    datapipeline (package)
    directconnect (package)
    dynamodb (package)
    dynamodb2 (package)
    ec2 (package)
    ec2containerservice (package)
    ecs (package)
    elasticache (package)
    elastictranscoder (package)
    emr (package)
    endpoints
    exception
    file (package)
    fps (package)
    glacier (package)
    gs (package)
    handler
    https_connection
    iam (package)
    jsonresponse
    kinesis (package)
    kms (package)
    logs (package)
    machinelearning (package)
    manage (package)
    mashups (package)
    mturk (package)
    mws (package)
    opsworks (package)
    plugin
    provider
    pyami (package)
    rds (package)
    rds2 (package)
    redshift (package)
    regioninfo
    requestlog
    resultset
    roboto (package)
    route53 (package)
    s3 (package)
    sdb (package)
    services (package)
    ses (package)
    sns (package)
    sqs (package)
    storage_uri
    sts (package)
    support (package)
    swf (package)
    utils
    vpc (package)

## SUBMODULES
    vendored

## CLASSES
    logging.Handler(logging.Filterer)
        NullHandler

### class NullHandler
     |  NullHandler(level=0)
     |
     |  Method resolution order:
     |      NullHandler
     |      logging.Handler
     |      logging.Filterer
     |      builtins.object
     |
     |  Methods defined here:
     |
     |  emit(self, record)
     |      Do whatever it takes to actually log the specified logging record.
     |
     |      This version is intended to be implemented by subclasses and so
     |      raises a NotImplementedError.
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from logging.Handler:
     |
     |  __init__(self, level=0)
     |      Initializes the instance - basically setting the formatter to None
     |      and the filter list to empty.
     |
     |  __repr__(self)
     |      Return repr(self).
     |
     |  acquire(self)
     |      Acquire the I/O thread lock.
     |
     |  close(self)
     |      Tidy up any resources used by the handler.
     |
     |      This version removes the handler from an internal map of handlers,
     |      _handlers, which is used for handler lookup by name. Subclasses
     |      should ensure that this gets called from overridden close()
     |      methods.
     |
     |  createLock(self)
     |      Acquire a thread lock for serializing access to the underlying I/O.
     |
     |  flush(self)
     |      Ensure all logging output has been flushed.
     |
     |      This version does nothing and is intended to be implemented by
     |      subclasses.
     |
     |  format(self, record)
     |      Format the specified record.
     |
     |      If a formatter is set, use it. Otherwise, use the default formatter
     |      for the module.
     |
     |  get_name(self)
     |
     |  handle(self, record)
     |      Conditionally emit the specified logging record.
     |
     |      Emission depends on filters which may have been added to the handler.
     |      Wrap the actual emission of the record with acquisition/release of
     |      the I/O thread lock. Returns whether the filter passed the record for
     |      emission.
     |
     |  handleError(self, record)
     |      Handle errors which occur during an emit() call.
     |
     |      This method should be called from handlers when an exception is
     |      encountered during an emit() call. If raiseExceptions is false,
     |      exceptions get silently ignored. This is what is mostly wanted
     |      for a logging system - most users will not care about errors in
     |      the logging system, they are more interested in application errors.
     |      You could, however, replace this with a custom handler if you wish.
     |      The record which was being processed is passed in to this method.
     |
     |  release(self)
     |      Release the I/O thread lock.
     |
     |  setFormatter(self, fmt)
     |      Set the formatter for this handler.
     |
     |  setLevel(self, level)
     |      Set the logging level of this handler.  level must be an int or a str.
     |
     |  set_name(self, name)
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from logging.Handler:
     |
     |  name
     |
     |  ----------------------------------------------------------------------
     |  Methods inherited from logging.Filterer:
     |
     |  addFilter(self, filter)
     |      Add the specified filter to this handler.
     |
     |  filter(self, record)
     |      Determine if a record is loggable by consulting all the filters.
     |
     |      The default is to allow the record to be logged; any filter can veto
     |      this and the record is then dropped. Returns a zero value if a record
     |      is to be dropped, else non-zero.
     |
     |      .. versionchanged:: 3.2
     |
     |         Allow filters to be just callables.
     |
     |  removeFilter(self, filter)
     |      Remove the specified filter from this handler.
     |
     |  ----------------------------------------------------------------------
     |  Data descriptors inherited from logging.Filterer:
     |
     |  __dict__
     |      dictionary for instance variables (if defined)
     |
     |  __weakref__
     |      list of weak references to the object (if defined)

## FUNCTIONS
### connect_autoscale
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ec2.autoscale.AutoScaleConnection`
        :return: A connection to Amazon's Auto Scaling Service

        :type use_block_device_types bool
        :param use_block_device_types: Specifies whether to return described Launch Configs with block device mappings containing
            block device types, or a list of old style block device mappings (deprecated).  This defaults to false for compatability
            with the old incorrect style.

### connect_awslambda
        Connect to AWS Lambda

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.awslambda.layer1.AWSLambdaConnection`
        :return: A connection to the AWS Lambda service

### connect_beanstalk
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.beanstalk.layer1.Layer1`
        :return: A connection to Amazon's Elastic Beanstalk service

### connect_cloudformation
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.cloudformation.CloudFormationConnection`
        :return: A connection to Amazon's CloudFormation Service

### connect_cloudfront
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.fps.connection.FPSConnection`
        :return: A connection to FPS

### connect_cloudhsm
        Connect to AWS CloudHSM

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.cloudhsm.layer1.CloudHSMConnection`
        :return: A connection to the AWS CloudHSM service

### connect_cloudsearch
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.cloudsearch.layer2.Layer2`
        :return: A connection to Amazon's CloudSearch service

### connect_cloudsearch2
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :type sign_request: bool
        :param sign_request: whether or not to sign search and
            upload requests

        :rtype: :class:`boto.cloudsearch2.layer2.Layer2`
        :return: A connection to Amazon's CloudSearch2 service

### connect_cloudsearchdomain
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.cloudsearchdomain.layer1.CloudSearchDomainConnection`
        :return: A connection to Amazon's CloudSearch Domain service

### connect_cloudtrail
        Connect to AWS CloudTrail

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.cloudtrail.layer1.CloudtrailConnection`
        :return: A connection to the AWS Cloudtrail service

### connect_cloudwatch
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ec2.cloudwatch.CloudWatchConnection`
        :return: A connection to Amazon's EC2 Monitoring service

### connect_codedeploy
        Connect to AWS CodeDeploy

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.cognito.sync.layer1.CodeDeployConnection`
        :return: A connection to the AWS CodeDeploy service

### connect_cognito_identity
        Connect to Amazon Cognito Identity

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.cognito.identity.layer1.CognitoIdentityConnection`
        :return: A connection to the Amazon Cognito Identity service

### connect_cognito_sync
        Connect to Amazon Cognito Sync

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.cognito.sync.layer1.CognitoSyncConnection`
        :return: A connection to the Amazon Cognito Sync service

### connect_configservice
        Connect to AWS Config

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.kms.layer1.ConfigServiceConnection`
        :return: A connection to the AWS Config service

### connect_directconnect
        Connect to AWS DirectConnect

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.directconnect.layer1.DirectConnectConnection`
        :return: A connection to the AWS DirectConnect service

### connect_dynamodb
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.dynamodb.layer2.Layer2`
        :return: A connection to the Layer2 interface for DynamoDB.

### connect_ec2
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ec2.connection.EC2Connection`
        :return: A connection to Amazon's EC2

### connect_ec2_endpoint
        Connect to an EC2 Api endpoint.  Additional arguments are passed
        through to connect_ec2.

        :type url: string
        :param url: A url for the ec2 api endpoint to connect to

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ec2.connection.EC2Connection`
        :return: A connection to Eucalyptus server

### connect_ec2containerservice
        Connect to Amazon EC2 Container Service
        rtype: :class:`boto.ec2containerservice.layer1.EC2ContainerServiceConnection`
        :return: A connection to the Amazon EC2 Container Service

### connect_elastictranscoder
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ets.layer1.ElasticTranscoderConnection`
        :return: A connection to Amazon's Elastic Transcoder service

### connect_elb
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ec2.elb.ELBConnection`
        :return: A connection to Amazon's Load Balancing Service

### connect_emr
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.emr.EmrConnection`
        :return: A connection to Elastic mapreduce

### connect_euca
        Connect to a Eucalyptus service.

        :type host: string
        :param host: the host name or ip address of the Eucalyptus server

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ec2.connection.EC2Connection`
        :return: A connection to Eucalyptus server

### connect_fps
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.fps.connection.FPSConnection`
        :return: A connection to FPS

### connect_glacier
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.glacier.layer2.Layer2`
        :return: A connection to Amazon's Glacier Service

### connect_gs
        @type gs_access_key_id: string
        @param gs_access_key_id: Your Google Cloud Storage Access Key ID

        @type gs_secret_access_key: string
        @param gs_secret_access_key: Your Google Cloud Storage Secret Access Key

        @rtype: L{GSConnection<boto.gs.connection.GSConnection>}
        @return: A connection to Google's Storage service

### connect_ia
        Connect to the Internet Archive via their S3-like API.

        :type ia_access_key_id: string
        :param ia_access_key_id: Your IA Access Key ID.  This will also look
            in your boto config file for an entry in the Credentials
            section called "ia_access_key_id"

        :type ia_secret_access_key: string
        :param ia_secret_access_key: Your IA Secret Access Key.  This will also
            look in your boto config file for an entry in the Credentials
            section called "ia_secret_access_key"

        :rtype: :class:`boto.s3.connection.S3Connection`
        :return: A connection to the Internet Archive

### connect_iam
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.iam.IAMConnection`
        :return: A connection to Amazon's IAM

### connect_kinesis
        Connect to Amazon Kinesis

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.kinesis.layer1.KinesisConnection`
        :return: A connection to the Amazon Kinesis service

### connect_kms
        Connect to AWS Key Management Service

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.kms.layer1.KMSConnection`
        :return: A connection to the AWS Key Management Service

### connect_logs
        Connect to Amazon CloudWatch Logs

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.kinesis.layer1.CloudWatchLogsConnection`
        :return: A connection to the Amazon CloudWatch Logs service

### connect_machinelearning
        Connect to Amazon Machine Learning service
        rtype: :class:`boto.machinelearning.layer1.MachineLearningConnection`
        :return: A connection to the Amazon Machine Learning service

### connect_mturk
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.mturk.connection.MTurkConnection`
        :return: A connection to MTurk

### connect_opsworks

### connect_rds
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.rds.RDSConnection`
        :return: A connection to RDS

### connect_rds2
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.rds2.layer1.RDSConnection`
        :return: A connection to RDS

### connect_redshift
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.redshift.layer1.RedshiftConnection`
        :return: A connection to Amazon's Redshift service

### connect_route53
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.dns.Route53Connection`
        :return: A connection to Amazon's Route53 DNS Service

### connect_route53domains
        Connect to Amazon Route 53 Domains

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        rtype: :class:`boto.route53.domains.layer1.Route53DomainsConnection`
        :return: A connection to the Amazon Route 53 Domains service

### connect_s3
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.s3.connection.S3Connection`
        :return: A connection to Amazon's S3

### connect_sdb
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.sdb.connection.SDBConnection`
        :return: A connection to Amazon's SDB

### connect_ses
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.ses.SESConnection`
        :return: A connection to Amazon's SES

### connect_sns
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.sns.SNSConnection`
        :return: A connection to Amazon's SNS

### connect_sqs
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.sqs.connection.SQSConnection`
        :return: A connection to Amazon's SQS

### connect_sts
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.sts.STSConnection`
        :return: A connection to Amazon's STS

### connect_support
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.support.layer1.SupportConnection`
        :return: A connection to Amazon's Support service

### connect_swf
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.swf.layer1.Layer1`
        :return: A connection to the Layer1 interface for SWF.

### connect_vpc
        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.vpc.VPCConnection`
        :return: A connection to VPC

### connect_walrus
        Connect to a Walrus service.

        :type host: string
        :param host: the host name or ip address of the Walrus server

        :type aws_access_key_id: string
        :param aws_access_key_id: Your AWS Access Key ID

        :type aws_secret_access_key: string
        :param aws_secret_access_key: Your AWS Secret Access Key

        :rtype: :class:`boto.s3.connection.S3Connection`
        :return: A connection to Walrus

### init_logging

### set_file_logger

### set_stream_logger

### storage_uri
        Instantiate a StorageUri from a URI string.

        :type uri_str: string
        :param uri_str: URI naming bucket + optional object.
        :type default_scheme: string
        :param default_scheme: default scheme for scheme-less URIs.
        :type debug: int
        :param debug: debug level to pass in to boto connection (range 0..2).
        :type validate: bool
        :param validate: whether to check for bucket name validity.
        :type bucket_storage_uri_class: BucketStorageUri interface.
        :param bucket_storage_uri_class: Allows mocking for unit tests.
        :param suppress_consec_slashes: If provided, controls whether
            consecutive slashes will be suppressed in key paths.
        :type is_latest: bool
        :param is_latest: whether this versioned object represents the
            current version.

        We allow validate to be disabled to allow caller
        to implement bucket-level wildcarding (outside the boto library;
        see gsutil).

        :rtype: :class:`boto.StorageUri` subclass
        :return: StorageUri subclass for given URI.

        ``uri_str`` must be one of the following formats:

        * gs://bucket/name
        * gs://bucket/name#ver
        * s3://bucket/name
        * gs://bucket
        * s3://bucket
        * filename (which could be a Unix path like /a/b/c or a Windows path like
          C:\c)

        The last example uses the default scheme ('file', unless overridden).

### storage_uri_for_key
        Returns a StorageUri for the given key.

        :type key: :class:`boto.s3.key.Key` or subclass
        :param key: URI naming bucket + optional object.

## DATA
    BUCKET_NAME_RE = re.compile('^[a-zA-Z0-9][a-zA-Z0-9\\._-]{1,253}[a-zA-...
    BotoConfigLocations = ['/etc/boto.cfg', '/home/chedong/.boto']
    ENDPOINTS_PATH = '/usr/lib/python3/dist-packages/boto/endpoints.json'
    GENERATION_RE = re.compile('(?P<versionless_uri_str>.+)#(?P<generation...
    TOO_LONG_DNS_NAME_COMP = re.compile('[-_a-z0-9]{64}')
    UserAgent = 'Boto/2.49.0 Python/3.10.12 Linux/6.6.49-grsec-jammy+'
    VERSION_RE = re.compile('(?P<versionless_uri_str>.+)#(?P<version_id>.+...
    Version = '2.49.0'
    config = <boto.pyami.config.Config object>
    log = <Logger boto (WARNING)>
    perflog = <Logger boto.perf (WARNING)>

## VERSION
    2.49.0

## FILE
    /usr/lib/python3/dist-packages/boto/__init__.py


