parameters: (self, operation_name, request, region_name=None,
               signing_type='standard', expires_in=None, signing_name=None)
docstring: Sign a request before it goes out over the wire.
  
          :type operation_name: string
          :param operation_name: The name of the current operation, e.g.
                                 ``ListBuckets``.
          :type request: AWSRequest
          :param request: The request object to be sent over the wire.
  
          :type region_name: str
          :param region_name: The region to sign the request for.
  
          :type signing_type: str
          :param signing_type: The type of signing to perform. This can be one of
              three possible values:
  
              * 'standard'     - This should be used for most requests.
              * 'presign-url'  - This should be used when pre-signing a request.
              * 'presign-post' - This should be used when pre-signing an S3 post.
  
          :type expires_in: int
          :param expires_in: The number of seconds the presigned url is valid
              for. This parameter is only valid for signing type 'presign-url'.
  
          :type signing_name: str
          :param signing_name: The name to use for the service when signing.
docstring_summary: Sign a request before it goes out over the wire.
docstring_tokens: Sign a request before it goes out over the wire .
function: def sign(self, operation_name, request, region_name=None,
               signing_type='standard', expires_in=None, signing_name=None):
          """Sign a request before it goes out over the wire.
  
          :type operation_name: string
          :param operation_name: The name of the current operation, e.g.
                                 ``ListBuckets``.
          :type request: AWSRequest
          :param request: The request object to be sent over the wire.
  
          :type region_name: str
          :param region_name: The region to sign the request for.
  
          :type signing_type: str
          :param signing_type: The type of signing to perform. This can be one of
              three possible values:
  
              * 'standard'     - This should be used for most requests.
              * 'presign-url'  - This should be used when pre-signing a request.
              * 'presign-post' - This should be used when pre-signing an S3 post.
  
          :type expires_in: int
          :param expires_in: The number of seconds the presigned url is valid
              for. This parameter is only valid for signing type 'presign-url'.
  
          :type signing_name: str
          :param signing_name: The name to use for the service when signing.
          """
          explicit_region_name = region_name
          if region_name is None:
              region_name = self._region_name
  
          if signing_name is None:
              signing_name = self._signing_name
  
          signature_version = self._choose_signer(
              operation_name, signing_type, request.context)
  
          # Allow mutating request before signing
          self._event_emitter.emit(
              'before-sign.{0}.{1}'.format(
                  self._service_id.hyphenize(), operation_name),
              request=request, signing_name=signing_name,
              region_name=self._region_name,
              signature_version=signature_version, request_signer=self,
              operation_name=operation_name
          )
  
          if signature_version != botocore.UNSIGNED:
              kwargs = {
                  'signing_name': signing_name,
                  'region_name': region_name,
                  'signature_version': signature_version
              }
              if expires_in is not None:
                  kwargs['expires'] = expires_in
              if not explicit_region_name and request.context.get(
                      'signing', {}).get('region'):
                  kwargs['region_name'] = request.context['signing']['region']
              try:
                  auth = self.get_auth_instance(**kwargs)
              except UnknownSignatureVersionError as e:
                  if signing_type != 'standard':
                      raise UnsupportedSignatureVersionError(
                          signature_version=signature_version)
                  else:
                      raise e
  
              auth.add_auth(request)
function_tokens: def sign ( self , operation_name , request , region_name = None , signing_type = 'standard' , expires_in = None , signing_name = None ) : explicit_region_name = region_name if region_name is None : region_name = self . _region_name if signing_name is None : signing_name = self . _signing_name signature_version = self . _choose_signer ( operation_name , signing_type , request . context ) # Allow mutating request before signing self . _event_emitter . emit ( 'before-sign.{0}.{1}' . format ( self . _service_id . hyphenize ( ) , operation_name ) , request = request , signing_name = signing_name , region_name = self . _region_name , signature_version = signature_version , request_signer = self , operation_name = operation_name ) if signature_version != botocore . UNSIGNED : kwargs = { 'signing_name' : signing_name , 'region_name' : region_name , 'signature_version' : signature_version } if expires_in is not None : kwargs [ 'expires' ] = expires_in if not explicit_region_name and request . context . get ( 'signing' , { } ) . get ( 'region' ) : kwargs [ 'region_name' ] = request . context [ 'signing' ] [ 'region' ] try : auth = self . get_auth_instance ( * * kwargs ) except UnknownSignatureVersionError as e : if signing_type != 'standard' : raise UnsupportedSignatureVersionError ( signature_version = signature_version ) else : raise e auth . add_auth ( request )