Хочу динамически цепляться к разным инсталляциям и проектам без clouds.yaml
Вроде бы олдскульные апи клиенты это позволяли делать:
auth = ks_v3.Password(auth_url=cfg_dict['auth_url'],
username=cfg_dict['username'],
password=cfg_dict['password'],
user_domain_name=cfg_dict['domainname'],
project_domain_name=cfg_dict['domainname'],
project_name=project)
sess = ks_session.Session(auth=auth, verify=cert_path)
А дальше создаёшь клиента с указанием сессии.
cl = nv_client.Client(2, session=sess,
endpoint_type=cfg_dict['endpoint_type'],
region_name=cfg_dict['region_name'])
И либо перед работой с новым регионом пересоздаёшь сессию, либо сразу создаёшь все (для всех регионов) и переключаешься между ними.
А sdk был не очень, я им пока не пользуюсь. Как коровые сервисы переведут на sdk полностью, можно будет посмотреть еще раз