footmark/provider.py (28 lines of code) (raw):

""" This class encapsulates the provider-specific header differences. """ class Provider(object): def __init__(self, name, access_key=None, secret_key=None, security_token=None, ecs_role_name=None): self.access_key = access_key self.secret_key = secret_key self.security_token = security_token self.ecs_role_name = ecs_role_name def get_access_key(self): # if self._credentials_need_refresh(): # self._populate_keys_from_metadata_server() return self._access_key def set_access_key(self, value): self._access_key = value access_key = property(get_access_key, set_access_key) def get_secret_key(self): # if self._credentials_need_refresh(): # self._populate_keys_from_metadata_server() return self._secret_key def set_secret_key(self, value): self._secret_key = value secret_key = property(get_secret_key, set_secret_key) def get_security_token(self): # if self._credentials_need_refresh(): # self._populate_keys_from_metadata_server() return self._security_token def set_security_token(self, value): self._security_token = value security_token = property(get_security_token, set_security_token) def get_ecs_role_name(self): return self._ecs_role_name def set_ecs_role_name(self, value): self._ecs_role_name = value ecs_role_name = property(get_ecs_role_name, set_ecs_role_name) # Static utility method for getting default Provider. def get_default(): return Provider('acs')