Skip to content

Commit 42e70d7

Browse files
committed
add usage api for dedicated deployment
1 parent 0d6b37d commit 42e70d7

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

roboflow/adapters/deploymentapi.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@ 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}"
46+
if target_month is not None:
47+
url += f"&target_month={target_month}"
48+
if return_details:
49+
url += f"&return_details={return_details}"
50+
response = requests.get(url)
51+
if response.status_code != 200:
52+
return response.status_code, response.text
53+
return response.status_code, response.json()
54+
55+
4456
def delete_deployment(api_key, deployment_name):
4557
url = f"{DEDICATED_DEPLOYMENT_URL}/delete"
4658
response = requests.post(url, json={"api_key": api_key, "deployment_name": deployment_name})

roboflow/deployment.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ 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("usage", help="get dedicated deployments usage in a workspace")
2122
deployment_delete_parser = deployment_subparsers.add_parser("delete", help="delete a dedicated deployment")
2223
deployment_log_parser = deployment_subparsers.add_parser("log", help="show log info for a dedicated deployment")
2324

@@ -65,6 +66,11 @@ def add_deployment_parser(subparsers):
6566

6667
deployment_list_parser.set_defaults(func=list_deployment)
6768
deployment_list_parser.add_argument("-a", "--api_key", help="api key")
69+
70+
deployment_usage_parser.set_defaults(func=get_workspace_usage)
71+
deployment_usage_parser.add_argument("-a", "--api_key", help="api key")
72+
deployment_usage_parser.add_argument("target_month", help="target month (format: YYYYMM)", nargs='?')
73+
deployment_usage_parser.add_argument("-d", "--details", help="get usage details", action="store_true")
6874

6975
deployment_delete_parser.set_defaults(func=delete_deployment)
7076
deployment_delete_parser.add_argument("-a", "--api_key", help="api key")
@@ -151,6 +157,18 @@ def list_deployment(args):
151157
print(json.dumps(msg, indent=2))
152158

153159

160+
def get_workspace_usage(args):
161+
api_key = args.api_key or load_roboflow_api_key(None)
162+
if api_key is None:
163+
print("Please provide an api key")
164+
exit(1)
165+
status_code, msg = deploymentapi.get_workspace_usage(api_key, args.target_month, args.details)
166+
if status_code != 200:
167+
print(f"{status_code}: {msg}")
168+
exit(status_code)
169+
print(json.dumps(msg, indent=2))
170+
171+
154172
def delete_deployment(args):
155173
api_key = args.api_key or load_roboflow_api_key(None)
156174
if api_key is None:

0 commit comments

Comments
 (0)