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()