parameters: (self, DBHostname, Port, DBUsername, Region=None)
return_statement: return presigned_url[len(scheme):]
docstring: Generates an auth token used to connect to a db with IAM credentials.
  
      :type DBHostname: str
      :param DBHostname: The hostname of the database to connect to.
  
      :type Port: int
      :param Port: The port number the database is listening on.
  
      :type DBUsername: str
      :param DBUsername: The username to log in as.
  
      :type Region: str
      :param Region: The region the database is in. If None, the client
          region will be used.
  
      :return: A presigned url which can be used as an auth token.
docstring_summary: Generates an auth token used to connect to a db with IAM credentials.
docstring_tokens: Generates an auth token used to connect to a db with IAM credentials .
function: def generate_db_auth_token(self, DBHostname, Port, DBUsername, Region=None):
      """Generates an auth token used to connect to a db with IAM credentials.
  
      :type DBHostname: str
      :param DBHostname: The hostname of the database to connect to.
  
      :type Port: int
      :param Port: The port number the database is listening on.
  
      :type DBUsername: str
      :param DBUsername: The username to log in as.
  
      :type Region: str
      :param Region: The region the database is in. If None, the client
          region will be used.
  
      :return: A presigned url which can be used as an auth token.
      """
      region = Region
      if region is None:
          region = self.meta.region_name
  
      params = {
          'Action': 'connect',
          'DBUser': DBUsername,
      }
  
      request_dict = {
          'url_path': '/',
          'query_string': '',
          'headers': {},
          'body': params,
          'method': 'GET'
      }
  
      # RDS requires that the scheme not be set when sent over. This can cause
      # issues when signing because the Python url parsing libraries follow
      # RFC 1808 closely, which states that a netloc must be introduced by `//`.
      # Otherwise the url is presumed to be relative, and thus the whole
      # netloc would be treated as a path component. To work around this we
      # introduce https here and remove it once we're done processing it.
      scheme = 'https://'
      endpoint_url = '%s%s:%s' % (scheme, DBHostname, Port)
      prepare_request_dict(request_dict, endpoint_url)
      presigned_url = self._request_signer.generate_presigned_url(
          operation_name='connect', request_dict=request_dict,
          region_name=region, expires_in=900, signing_name='rds-db'
      )
      return presigned_url[len(scheme):]
function_tokens: def generate_db_auth_token ( self , DBHostname , Port , DBUsername , Region = None ) : region = Region if region is None : region = self . meta . region_name params = { 'Action' : 'connect' , 'DBUser' : DBUsername , } request_dict = { 'url_path' : '/' , 'query_string' : '' , 'headers' : { } , 'body' : params , 'method' : 'GET' } # RDS requires that the scheme not be set when sent over. This can cause # issues when signing because the Python url parsing libraries follow # RFC 1808 closely, which states that a netloc must be introduced by `//`. # Otherwise the url is presumed to be relative, and thus the whole # netloc would be treated as a path component. To work around this we # introduce https here and remove it once we're done processing it. scheme = 'https://' endpoint_url = '%s%s:%s' % ( scheme , DBHostname , Port ) prepare_request_dict ( request_dict , endpoint_url ) presigned_url = self . _request_signer . generate_presigned_url ( operation_name = 'connect' , request_dict = request_dict , region_name = region , expires_in = 900 , signing_name = 'rds-db' ) return presigned_url [ len ( scheme ) : ]