@@ -587,16 +587,21 @@ async def ListAccessPolicyTemplatesAsync(
587
587
return templates
588
588
589
589
async def GetAccessPolicyTemplateAsync (self , rid : ResourceID ):
590
- if rid . id is not None :
590
+ if hasattr ( rid , "id" ) :
591
591
resp_json = await self ._get_async (
592
592
f"/tokenizer/policies/accesstemplate/{ rid .id } "
593
593
)
594
- elif rid .name is not None :
594
+ return AccessPolicyTemplate .from_json (resp_json )
595
+ elif hasattr (rid , "name" ):
595
596
resp_json = await self ._get_async (
596
- f"/tokenizer/policies/accesstemplate?name ={ rid .name } "
597
+ f"/tokenizer/policies/accesstemplate?template_name ={ rid .name } "
597
598
)
598
-
599
- return AccessPolicyTemplate .from_json (resp_json )
599
+ if len (resp_json ["data" ]) == 1 :
600
+ return AccessPolicyTemplate .from_json (resp_json ["data" ][0 ])
601
+ raise UserCloudsSDKError (
602
+ f"Access Policy Template with name { rid .name } not found" , 404
603
+ )
604
+ raise UserCloudsSDKError ("Invalid ResourceID" , 400 )
600
605
601
606
async def UpdateAccessPolicyTemplateAsync (
602
607
self , access_policy_template : AccessPolicyTemplate
@@ -659,14 +664,19 @@ async def ListAccessPoliciesAsync(
659
664
return policies
660
665
661
666
async def GetAccessPolicyAsync (self , rid : ResourceID ):
662
- if rid . id is not None :
667
+ if hasattr ( rid , "id" ) :
663
668
resp_json = await self ._get_async (f"/tokenizer/policies/access/{ rid .id } " )
664
- elif rid .name is not None :
669
+ return AccessPolicy .from_json (resp_json )
670
+ elif hasattr (rid , "name" ):
665
671
resp_json = await self ._get_async (
666
- f"/tokenizer/policies/access?name ={ rid .name } "
672
+ f"/tokenizer/policies/access?policy_name ={ rid .name } "
667
673
)
668
-
669
- return AccessPolicy .from_json (resp_json )
674
+ if len (resp_json ["data" ]) == 1 :
675
+ return AccessPolicy .from_json (resp_json ["data" ][0 ])
676
+ raise UserCloudsSDKError (
677
+ f"Access Policy with name { rid .name } not found" , 404
678
+ )
679
+ raise UserCloudsSDKError ("Invalid ResourceID" , 400 )
670
680
671
681
async def UpdateAccessPolicyAsync (self , access_policy : AccessPolicy ):
672
682
resp_json = await self ._put_async (
@@ -698,6 +708,21 @@ async def CreateTransformerAsync(
698
708
return transformer
699
709
raise err
700
710
711
+ async def GetTransformerAsync (self , rid : ResourceID ):
712
+ if hasattr (rid , "id" ):
713
+ resp_json = await self ._get_async (
714
+ f"/tokenizer/policies/transformation/{ rid .id } "
715
+ )
716
+ return Transformer .from_json (resp_json )
717
+ elif hasattr (rid , "name" ):
718
+ resp_json = await self ._get_async (
719
+ f"/tokenizer/policies/transformation?transformer_name={ rid .name } "
720
+ )
721
+ if len (resp_json ["data" ]) == 1 :
722
+ return Transformer .from_json (resp_json ["data" ][0 ])
723
+ raise UserCloudsSDKError (f"Transformer with name { rid .name } not found" , 404 )
724
+ raise UserCloudsSDKError ("Invalid ResourceID" , 400 )
725
+
701
726
async def ListTransformersAsync (
702
727
self ,
703
728
limit : int = 0 ,
@@ -727,7 +752,12 @@ async def ListTransformersAsync(
727
752
transformers = [Transformer .from_json (tf ) for tf in resp_json ["data" ]]
728
753
return transformers
729
754
730
- # Note: Transformers are immutable, so no Update method is provided.
755
+ async def UpdateTransformerAsync (self , transformer : Transformer ):
756
+ resp_json = await self ._put_async (
757
+ f"/tokenizer/policies/transformation/{ transformer .id } " ,
758
+ json_data = {"transformer" : transformer .__dict__ },
759
+ )
760
+ return Transformer .from_json (resp_json )
731
761
732
762
async def DeleteTransformerAsync (self , id : uuid .UUID ):
733
763
return await self ._delete_async (f"/tokenizer/policies/transformation/{ id } " )
0 commit comments