@ -1930,7 +1930,7 @@ class DecortController(object):
return
return
def account_find ( self , account_name , account_id = 0 ,
def account_find ( self , account_name , account_id = 0 ,
fail_if_not_found= False ) :
resource_consumption= False , fail_if_not_found= False ) :
""" Find cloud account specified by the name and return facts about the account. Knowing account is
""" Find cloud account specified by the name and return facts about the account. Knowing account is
required for certain cloud resource management tasks ( e . g . creating new RG ) .
required for certain cloud resource management tasks ( e . g . creating new RG ) .
@ -1995,6 +1995,16 @@ class DecortController(object):
account_details [ ' updatedTime ' ]
account_details [ ' updatedTime ' ]
)
)
if resource_consumption :
resource_consumption = self . account_resource_consumption (
account_id = account_details [ ' id ' ] ,
fail_if_not_found = True
)
account_details [ ' resource_consumed ' ] = \
resource_consumption [ ' Consumed ' ]
account_details [ ' resource_reserved ' ] = \
resource_consumption [ ' Reserved ' ]
return account_details [ ' id ' ] , account_details
return account_details [ ' id ' ] , account_details
else :
else :
if fail_if_not_found :
if fail_if_not_found :
@ -2005,6 +2015,25 @@ class DecortController(object):
else :
else :
return 0 , None
return 0 , None
def account_resource_consumption ( self , account_id : int ,
fail_if_not_found = False ) - > None | dict :
self . result [ ' waypoints ' ] + = f ' -> account_resource_consumption '
api_resp = self . decort_api_call (
arg_req_function = requests . post ,
arg_api_name = ' /restmachine/cloudapi/account/getResourceConsumption ' ,
arg_params = { ' accountId ' : account_id } ,
not_fail_codes = [ 404 ]
)
if api_resp . status_code == 200 :
return api_resp . json ( )
else :
if fail_if_not_found :
self . result [ ' msg ' ] = ( " Current user does not have access to "
" the requested account or non-existent "
" account specified. " )
self . amodule . fail_json ( * * self . result )
###################################
###################################
# GPU resource manipulation methods
# GPU resource manipulation methods
###################################
###################################