= dmda.DomoTokenAuth(
token_auth =os.environ["DOMO_INSTANCE"],
domo_instance=os.environ["DOMO_ACCESS_TOKEN"],
domo_access_token
)
= dmda.DomoFullAuth(
full_auth =os.environ["DOMO_INSTANCE"],
domo_instance=os.environ["DOMO_USERNAME"],
domo_username=os.environ["DOMO_PASSWORD"],
domo_password )
Instance Configuration_API_Client
a class based approach to configuring your domo instance
ApiClient
ApiClient (auth:domolibrary.client.DomoAuth.DomoAuth, id:int, name:str, client_id:str, owner_id:str, domo_user:domolibrary.classes.DomoUser.DomoUser, authorization_grant_types:List[str], scope:List[domolibrary.ro utes.instance_config_api_client.ApiClient_ScopeEnum], description:str=None, is_invalid:bool=False)
ApiClients
ApiClients (auth:domolibrary.client.DomoAuth.DomoAuth, domo_clients:List[__main__.ApiClient]=<factory>, invalid_clients:List[__main__.ApiClient]=<factory>)
ApiClient_Search_Error
ApiClient_Search_Error (cls_instance, client_name:str)
base exception
= ApiClients(auth=full_auth)
domo_clients await domo_clients.get_by_name(client_name="AWS Export")
ApiClient(id=8939, name='AWS Export', client_id='68fa308a-b408-XXXX-XXXX-XXXXXXXXXXXX', owner_id=68216396, domo_user=DomoUser(id='68216396', display_name='Elliott Leonard', email_address='egleonard88@gmail.com', role_id=1, department='Owner', title=None, avatar_key='/api/content/v1/avatar/USER/68216396', phone_number='9702198956', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1741757362', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2021, 8, 3, 20, 12, 56), last_activity_dt=datetime.datetime(2024, 10, 28, 21, 12, 20, 963000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grant_ls=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.WORKFLOW: 'workflow'>, <ApiClient_ScopeEnum.AUDIT: 'audit'>, <ApiClient_ScopeEnum.BUZZ: 'buzz'>, <ApiClient_ScopeEnum.USER: 'user'>, <ApiClient_ScopeEnum.ACCOUNT: 'account'>, <ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>], description='', is_invalid=False)
= ApiClients(auth=full_auth)
domo_clients await domo_clients.get(return_raw=False))[0:5] (
[ApiClient(id=4731, name='SF Write-back', client_id='374b3480-4fdd-XXXX-XXXX-XXXXXXXXXXXX', owner_id=68216396, domo_user=DomoUser(id='68216396', display_name='Elliott Leonard', email_address='egleonard88@gmail.com', role_id=1, department='Owner', title=None, avatar_key='/api/content/v1/avatar/USER/68216396', phone_number='9702198956', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1741757362', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2021, 8, 3, 20, 12, 56), last_activity_dt=datetime.datetime(2024, 10, 28, 21, 12, 20, 963000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grant_ls=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.WORKFLOW: 'workflow'>, <ApiClient_ScopeEnum.AUDIT: 'audit'>, <ApiClient_ScopeEnum.BUZZ: 'buzz'>, <ApiClient_ScopeEnum.USER: 'user'>, <ApiClient_ScopeEnum.ACCOUNT: 'account'>, <ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>], description='', is_invalid=False),
ApiClient(id=8939, name='AWS Export', client_id='68fa308a-b408-XXXX-XXXX-XXXXXXXXXXXX', owner_id=68216396, domo_user=DomoUser(id='68216396', display_name='Elliott Leonard', email_address='egleonard88@gmail.com', role_id=1, department='Owner', title=None, avatar_key='/api/content/v1/avatar/USER/68216396', phone_number='9702198956', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1741757362', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2021, 8, 3, 20, 12, 56), last_activity_dt=datetime.datetime(2024, 10, 28, 21, 12, 20, 963000), custom_attributes={}, role=DomoRole(id=1, name='Admin', description='Full access to everything', is_system_role=True, is_default_role=None, grant_ls=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.WORKFLOW: 'workflow'>, <ApiClient_ScopeEnum.AUDIT: 'audit'>, <ApiClient_ScopeEnum.BUZZ: 'buzz'>, <ApiClient_ScopeEnum.USER: 'user'>, <ApiClient_ScopeEnum.ACCOUNT: 'account'>, <ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>], description='', is_invalid=False),
ApiClient(id=12739, name='Domo IDEA Orchestration', client_id='9647357d-b136-XXXX-XXXX-XXXXXXXXXXXX', owner_id=1026818196, domo_user=DomoUser(id='1026818196', display_name='Giuseppe Russo', email_address='giuseppe.russo@everli.com', role_id=2097317660, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/1026818196', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1178984171', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2021, 4, 12, 9, 14, 13), last_activity_dt=datetime.datetime(2024, 1, 22, 20, 44, 21, 270000), custom_attributes={}, role=DomoRole(id=2097317660, name='Community_Default_Priviliged', description='Full access except for editing users and settings owners', is_system_role=0, is_default_role=None, grant_ls=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.WORKFLOW: 'workflow'>, <ApiClient_ScopeEnum.AUDIT: 'audit'>, <ApiClient_ScopeEnum.BUZZ: 'buzz'>, <ApiClient_ScopeEnum.USER: 'user'>, <ApiClient_ScopeEnum.ACCOUNT: 'account'>, <ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>], description='', is_invalid=False),
ApiClient(id=18413, name='Plan Writeback', client_id='d8cda0c5-f125-XXXX-XXXX-XXXXXXXXXXXX', owner_id=1536267297, domo_user=None, authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.WORKFLOW: 'workflow'>, <ApiClient_ScopeEnum.USER: 'user'>, <ApiClient_ScopeEnum.ACCOUNT: 'account'>, <ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>], description='', is_invalid=True),
ApiClient(id=19020, name='Desc', client_id='dfeec71d-64ca-XXXX-XXXX-XXXXXXXXXXXX', owner_id=1345737456, domo_user=DomoUser(id='1345737456', display_name='Aditya Jain', email_address='jain_aditya95@yahoo.com', role_id=2, department=None, title=None, avatar_key='/api/content/v1/avatar/USER/1345737456', phone_number='', web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to='1141078945', publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2021, 4, 27, 8, 26, 46), last_activity_dt=datetime.datetime(2024, 6, 10, 13, 0, 7, 539000), custom_attributes={}, role=DomoRole(id=2, name='Privileged', description='Full access except for editing users and settings owners', is_system_role=True, is_default_role=None, grant_ls=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.WORKFLOW: 'workflow'>, <ApiClient_ScopeEnum.AUDIT: 'audit'>, <ApiClient_ScopeEnum.BUZZ: 'buzz'>, <ApiClient_ScopeEnum.USER: 'user'>, <ApiClient_ScopeEnum.ACCOUNT: 'account'>, <ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>], description='', is_invalid=False)]
pprint(
(await ApiClient.get_by_id(
=token_auth, client_id=domo_clients.domo_clients[0].id, return_raw=False
auth
)
) )
ApiClient(id=4731,
name='SF Write-back',
client_id='374b3480-4fdd-XXXX-XXXX-XXXXXXXXXXXX',
owner_id=68216396,
domo_user=DomoUser(id='68216396',
display_name='Elliott Leonard',
email_address='egleonard88@gmail.com',
role_id=1,
department='Owner',
title=None,
avatar_key='/api/content/v1/avatar/USER/68216396',
phone_number='9702198956',
web_landing_page=None,
web_mobile_landing_page=None,
employee_id=None,
employee_number=None,
hire_date=None,
reports_to='1741757362',
publisher_domain=None,
subscriber_domain=None,
virtual_user_id=None,
created_dt=datetime.datetime(2021, 8, 3, 20, 12, 56),
last_activity_dt=datetime.datetime(2024, 10, 28, 21, 12, 20, 963000),
custom_attributes={},
role=DomoRole(id=1,
name='Admin',
description='Full access to '
'everything',
is_system_role=True,
is_default_role=None,
grant_ls=[],
membership_ls=[]),
domo_api_clients=None,
domo_access_tokens=None),
authorization_grant_types=['client_credentials'],
scope=[<ApiClient_ScopeEnum.DATA: 'data'>,
<ApiClient_ScopeEnum.WORKFLOW: 'workflow'>,
<ApiClient_ScopeEnum.AUDIT: 'audit'>,
<ApiClient_ScopeEnum.BUZZ: 'buzz'>,
<ApiClient_ScopeEnum.USER: 'user'>,
<ApiClient_ScopeEnum.ACCOUNT: 'account'>,
<ApiClient_ScopeEnum.DASHBOARD: 'dashboard'>],
description='',
is_invalid=False)
= ApiClients(auth=full_auth)
domo_clients
= None
domo_client
try:
= await domo_clients.create_for_authorized_user(
domo_client ="catty rats2",
client_name=[ApiClient_ScopeEnum.DATA, ApiClient_ScopeEnum.AUDIT],
scope=False,
debug_api
)
except ApiClient_CRUD_Error as e:
print(e)
domo_client
🛑 ApiClient_CRUD_Error 🛑 - function: ApiClients.get_traceback || status 400 || Bad Request -- does the client already exist? at domo-community
if domo_client:
print(await domo_client.revoke())
await domo_clients.upsert_client(
="catty rats2",
client_name=[ApiClient_ScopeEnum.DATA, ApiClient_ScopeEnum.AUDIT],
scope=False,
debug_api= False
is_regenerate )
ApiClient(id=34083, name='catty rats2', client_id='15b32462-74bf-XXXX-XXXX-XXXXXXXXXXXX', owner_id=1893952720, domo_user=DomoUser(id='1893952720', display_name='Jae Wilson1', email_address='jae@datacrew.space', role_id=810756122, department='Business Improvement', title=None, avatar_key='/api/content/v1/avatar/USER/1893952720', phone_number=None, web_landing_page=None, web_mobile_landing_page=None, employee_id=None, employee_number=None, hire_date=None, reports_to=None, publisher_domain=None, subscriber_domain=None, virtual_user_id=None, created_dt=datetime.datetime(2020, 5, 8, 17, 55, 18), last_activity_dt=datetime.datetime(2024, 10, 30, 1, 48, 20, 341000), custom_attributes={}, role=DomoRole(id=810756122, name='super_admin', description='all grants - updated on 2024-10-29', is_system_role=0, is_default_role=None, grant_ls=[], membership_ls=[]), domo_api_clients=None, domo_access_tokens=None), authorization_grant_types=['client_credentials'], scope=[<ApiClient_ScopeEnum.DATA: 'data'>, <ApiClient_ScopeEnum.AUDIT: 'audit'>], description=None, is_invalid=False)