Example #1
0
 def _populate_keys_from_metadata_server(self):
     # get_instance_metadata is imported here because of a circular
     # dependency.
     boto.log.debug("Retrieving credentials from metadata server.")
     from boto.utils import get_instance_metadata
     timeout = config.getfloat('Boto', 'metadata_service_timeout', 1.0)
     attempts = config.getint('Boto', 'metadata_service_num_attempts', 1)
     # The num_retries arg is actually the total number of attempts made,
     # so the config options is named *_num_attempts to make this more
     # clear to users.
     metadata = get_instance_metadata(
         timeout=timeout,
         num_retries=attempts,
         data='meta-data/iam/security-credentials/')
     if metadata:
         # I'm assuming there's only one role on the instance profile.
         security = metadata.values()[0]
         self._access_key = security['AccessKeyId']
         self._secret_key = self._convert_key_to_str(
             security['SecretAccessKey'])
         self._security_token = security['Token']
         expires_at = security['Expiration']
         self._credential_expiry_time = datetime.strptime(
             expires_at, "%Y-%m-%dT%H:%M:%SZ")
         boto.log.debug("Retrieved credentials will expire in %s at: %s",
                        self._credential_expiry_time - datetime.now(),
                        expires_at)
Example #2
0
    def _populate_keys_from_metadata_server(self):
        # get_instance_metadata is imported here because of a circular
        # dependency.
        boto.log.debug("Retrieving credentials from metadata server.")
        from boto.utils import get_instance_metadata

        timeout = config.getfloat("Boto", "metadata_service_timeout", 1.0)
        attempts = config.getint("Boto", "metadata_service_num_attempts", 1)
        # The num_retries arg is actually the total number of attempts made,
        # so the config options is named *_num_attempts to make this more
        # clear to users.
        metadata = get_instance_metadata(
            timeout=timeout, num_retries=attempts, data="meta-data/iam/security-credentials/"
        )
        if metadata:
            # I'm assuming there's only one role on the instance profile.
            security = metadata.values()[0]
            self._access_key = security["AccessKeyId"]
            self._secret_key = self._convert_key_to_str(security["SecretAccessKey"])
            self._security_token = security["Token"]
            expires_at = security["Expiration"]
            self._credential_expiry_time = datetime.strptime(expires_at, "%Y-%m-%dT%H:%M:%SZ")
            boto.log.debug(
                "Retrieved credentials will expire in %s at: %s",
                self._credential_expiry_time - datetime.now(),
                expires_at,
            )
Example #3
0
File: provider.py Project: 10sr/hue
 def _populate_keys_from_metadata_server(self):
     # get_instance_metadata is imported here because of a circular
     # dependency.
     boto.log.debug("Retrieving credentials from metadata server.")
     from boto.utils import get_instance_metadata
     timeout = config.getfloat('Boto', 'metadata_service_timeout', 1.0)
     attempts = config.getint('Boto', 'metadata_service_num_attempts', 1)
     # The num_retries arg is actually the total number of attempts made,
     # so the config options is named *_num_attempts to make this more
     # clear to users.
     metadata = get_instance_metadata(
         timeout=timeout, num_retries=attempts,
         data='meta-data/iam/security-credentials/')
     if metadata:
         creds = self._get_credentials_from_metadata(metadata)
         self._access_key = creds[0]
         self._secret_key = creds[1]
         self._security_token = creds[2]
         expires_at = creds[3]
         # I'm assuming there's only one role on the instance profile.
         self._credential_expiry_time = datetime.strptime(
             expires_at, "%Y-%m-%dT%H:%M:%SZ")
         boto.log.debug("Retrieved credentials will expire in %s at: %s",
                        self._credential_expiry_time - datetime.now(),
                        expires_at)
Example #4
0
 def __init__(self):
     # Mapping from (host,port,is_secure) to HostConnectionPool.
     # If a pool becomes empty, it is removed.
     self.host_to_pool = {}
     # The last time the pool was cleaned.
     self.last_clean_time = 0.0
     self.mutex = threading.Lock()
     ConnectionPool.STALE_DURATION = \
         config.getfloat('Boto', 'connection_stale_duration',
                         ConnectionPool.STALE_DURATION)
Example #5
0
 def _populate_keys_from_metadata_server(self):
     # get_instance_metadata is imported here because of a circular
     # dependency.
     from boto.utils import get_instance_metadata
     timeout = config.getfloat('Boto', 'metadata_service_timeout', 1.0)
     metadata = get_instance_metadata(timeout=timeout, num_retries=1)
     # I'm assuming there's only one role on the instance profile.
     if metadata and 'iam' in metadata:
         security = metadata['iam']['security-credentials'].values()[0]
         if self.access_key is None:
             self.access_key = security['AccessKeyId']
         if self.secret_key is None:
             self.secret_key = security['SecretAccessKey']
         if self.security_token is None:
             self.security_token = security['Token']
Example #6
0
 def _populate_keys_from_metadata_server(self):
     # get_instance_metadata is imported here because of a circular
     # dependency.
     from boto.utils import get_instance_metadata
     timeout = config.getfloat('Boto', 'metadata_service_timeout', 1.0)
     metadata = get_instance_metadata(timeout=timeout, num_retries=1)
     # I'm assuming there's only one role on the instance profile.
     if metadata and 'iam' in metadata:
         security = metadata['iam']['security-credentials'].values()[0]
         if self.access_key is None:
             self.access_key = security['AccessKeyId']
         if self.secret_key is None:
             self.secret_key = security['SecretAccessKey']
         if self.security_token is None:
             self.security_token = security['Token']
Example #7
0
 def _populate_keys_from_metadata_server(self):
     # get_instance_metadata is imported here because of a circular
     # dependency.
     boto.log.debug("Retrieving credentials from metadata server.")
     from boto.utils import get_instance_metadata
     timeout = config.getfloat('Boto', 'metadata_service_timeout', 1.0)
     metadata = get_instance_metadata(timeout=timeout, num_retries=1)
     # I'm assuming there's only one role on the instance profile.
     if metadata and 'iam' in metadata:
         security = metadata['iam']['security-credentials'].values()[0]
         self._access_key = security['AccessKeyId']
         self._secret_key = self._convert_key_to_str(security['SecretAccessKey'])
         self._security_token = security['Token']
         expires_at = security['Expiration']
         self._credential_expiry_time = datetime.strptime(
             expires_at, "%Y-%m-%dT%H:%M:%SZ")
         boto.log.debug("Retrieved credentials will expire in %s at: %s",
                        self._credential_expiry_time - datetime.now(), expires_at)
Example #8
0
 def _populate_keys_from_metadata_server(self):
     # get_instance_metadata is imported here because of a circular
     # dependency.
     boto.log.debug("Retrieving credentials from metadata server.")
     from boto.utils import get_instance_metadata
     timeout = config.getfloat('Boto', 'metadata_service_timeout', 1.0)
     metadata = get_instance_metadata(timeout=timeout, num_retries=1)
     # I'm assuming there's only one role on the instance profile.
     if metadata and 'iam' in metadata:
         security = metadata['iam']['security-credentials'].values()[0]
         self._access_key = security['AccessKeyId']
         self._secret_key = self._convert_key_to_str(security['SecretAccessKey'])
         self._security_token = security['Token']
         expires_at = security['Expiration']
         self._credential_expiry_time = datetime.strptime(
             expires_at, "%Y-%m-%dT%H:%M:%SZ")
         boto.log.debug("Retrieved credentials will expire in %s at: %s",
                        self._credential_expiry_time - datetime.now(), expires_at)