From 2c345526d0a5152686a04c2312be3407762a0c1f Mon Sep 17 00:00:00 2001 From: Anand J Date: Fri, 28 Mar 2025 00:19:00 -0400 Subject: [PATCH] Add get_user_vault Add create_inference example with private endpoint --- centml/sdk/api.py | 5 +++++ examples/sdk/create_inference.py | 36 ++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 examples/sdk/create_inference.py diff --git a/centml/sdk/api.py b/centml/sdk/api.py index 247e0c4..1120fdb 100644 --- a/centml/sdk/api.py +++ b/centml/sdk/api.py @@ -78,6 +78,11 @@ def get_cluster_id(self, hardware_instance_id): return filtered_hw[0].cluster_id + def get_user_vault(self, type): + items = self._api.get_all_user_vault_items_endpoint_user_vault_get(type).results + + return {i.key: i.value for i in items} + @contextmanager def get_centml_client(): diff --git a/examples/sdk/create_inference.py b/examples/sdk/create_inference.py new file mode 100644 index 0000000..8af4d20 --- /dev/null +++ b/examples/sdk/create_inference.py @@ -0,0 +1,36 @@ +import centml +from centml.sdk.api import get_centml_client +from centml.sdk import DeploymentType, CreateInferenceDeploymentRequest, UserVaultType + + +def main(): + with get_centml_client() as cclient: + certs = cclient.get_user_vault(UserVaultType.CERTIFICATES) + + request = CreateInferenceDeploymentRequest( + name="nginx", + cluster_id=1000, + hardware_instance_id=1000, + image_url="nginxinc/nginx-unprivileged", + port=8080, + min_scale=1, + max_scale=1, + endpoint_certificate_authority=certs["my_cert"], + ) + response = cclient.create_inference(request) + print("Create deployment response: ", response) + + ### Get deployment details + deployment = cclient.get_inference(response.id) + print("Deployment details: ", deployment) + + ''' + ### Pause the deployment + cclient.pause(deployment.id) + + ### Delete the deployment + cclient.delete(deployment.id) + ''' + +if __name__ == "__main__": + main()