Skip to content

Commit 13dfeb2

Browse files
committed
add endpoints usage_deployment and usage_workspace
1 parent 9dc371e commit 13dfeb2

File tree

2 files changed

+38
-11
lines changed

2 files changed

+38
-11
lines changed

roboflow/adapters/deploymentapi.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,20 @@ def list_deployment(api_key):
4141
return response.status_code, response.json()
4242

4343

44-
def get_workspace_usage(api_key, target_month, return_details):
45-
url = f"{DEDICATED_DEPLOYMENT_URL}/get_usage?api_key={api_key}"
44+
def get_workspace_usage(api_key, target_month):
45+
url = f"{DEDICATED_DEPLOYMENT_URL}/usage_workspace?api_key={api_key}"
46+
if target_month is not None:
47+
url += f"&target_month={target_month}"
48+
response = requests.get(url)
49+
if response.status_code != 200:
50+
return response.status_code, response.text
51+
return response.status_code, response.json()
52+
53+
54+
def get_deployment_usage(api_key, deployment_name, target_month):
55+
url = f"{DEDICATED_DEPLOYMENT_URL}/usage_deployment?api_key={api_key}&deployment_name={deployment_name}"
4656
if target_month is not None:
4757
url += f"&target_month={target_month}"
48-
if return_details:
49-
url += f"&return_details={return_details}"
5058
response = requests.get(url)
5159
if response.status_code != 200:
5260
return response.status_code, response.text

roboflow/deployment.py

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ def add_deployment_parser(subparsers):
1818
"get", help="show detailed info for a dedicated deployment"
1919
)
2020
deployment_list_parser = deployment_subparsers.add_parser("list", help="list dedicated deployments in a workspace")
21-
deployment_usage_parser = deployment_subparsers.add_parser(
22-
"usage", help="get dedicated deployments usage in a workspace"
21+
deployment_usage_workspace_parser = deployment_subparsers.add_parser(
22+
"usage_workspace", help="get all dedicated deployments usage in a workspace"
23+
)
24+
deployment_usage_deployment_parser = deployment_subparsers.add_parser(
25+
"usage_deployment", help="get usage of a specific dedicated deployments"
2326
)
2427
deployment_delete_parser = deployment_subparsers.add_parser("delete", help="delete a dedicated deployment")
2528
deployment_log_parser = deployment_subparsers.add_parser("log", help="show log info for a dedicated deployment")
@@ -69,10 +72,14 @@ def add_deployment_parser(subparsers):
6972
deployment_list_parser.set_defaults(func=list_deployment)
7073
deployment_list_parser.add_argument("-a", "--api_key", help="api key")
7174

72-
deployment_usage_parser.set_defaults(func=get_workspace_usage)
73-
deployment_usage_parser.add_argument("-a", "--api_key", help="api key")
74-
deployment_usage_parser.add_argument("target_month", help="target month (format: YYYYMM)", nargs="?")
75-
deployment_usage_parser.add_argument("-d", "--details", help="get usage details", action="store_true")
75+
deployment_usage_workspace_parser.set_defaults(func=get_workspace_usage)
76+
deployment_usage_workspace_parser.add_argument("-a", "--api_key", help="api key")
77+
deployment_usage_workspace_parser.add_argument("target_month", help="target month (format: YYYYMM)", nargs="?")
78+
79+
deployment_usage_deployment_parser.set_defaults(func=get_deployment_usage)
80+
deployment_usage_deployment_parser.add_argument("-a", "--api_key", help="api key")
81+
deployment_usage_deployment_parser.add_argument("deployment_name", help="deployment name")
82+
deployment_usage_deployment_parser.add_argument("target_month", help="target month (format: YYYYMM)", nargs="?")
7683

7784
deployment_delete_parser.set_defaults(func=delete_deployment)
7885
deployment_delete_parser.add_argument("-a", "--api_key", help="api key")
@@ -164,7 +171,19 @@ def get_workspace_usage(args):
164171
if api_key is None:
165172
print("Please provide an api key")
166173
exit(1)
167-
status_code, msg = deploymentapi.get_workspace_usage(api_key, args.target_month, args.details)
174+
status_code, msg = deploymentapi.get_workspace_usage(api_key, args.target_month)
175+
if status_code != 200:
176+
print(f"{status_code}: {msg}")
177+
exit(status_code)
178+
print(json.dumps(msg, indent=2))
179+
180+
181+
def get_deployment_usage(args):
182+
api_key = args.api_key or load_roboflow_api_key(None)
183+
if api_key is None:
184+
print("Please provide an api key")
185+
exit(1)
186+
status_code, msg = deploymentapi.get_deployment_usage(api_key, args.deployment_name, args.target_month)
168187
if status_code != 200:
169188
print(f"{status_code}: {msg}")
170189
exit(status_code)

0 commit comments

Comments
 (0)