1- from typing import List , Union
1+ from typing import List , Union , Optional , Dict , Any
22
33from infisical_sdk .infisical_requests import InfisicalRequests
44from infisical_sdk .api_types import ListSecretsResponse , SingleSecretResponse , BaseSecret
@@ -14,14 +14,15 @@ def __init__(self, requests: InfisicalRequests, cache: SecretsCache) -> None:
1414
1515 def list_secrets (
1616 self ,
17- project_id : str ,
1817 environment_slug : str ,
1918 secret_path : str ,
19+ project_id : str = None ,
2020 expand_secret_references : bool = True ,
2121 view_secret_value : bool = True ,
2222 recursive : bool = False ,
2323 include_imports : bool = True ,
24- tag_filters : List [str ] = []) -> ListSecretsResponse :
24+ tag_filters : List [str ] = [],
25+ project_slug : str = None ) -> ListSecretsResponse :
2526
2627 params = {
2728 "workspaceId" : project_id ,
@@ -31,6 +32,7 @@ def list_secrets(
3132 "expandSecretReferences" : str (expand_secret_references ).lower (),
3233 "recursive" : str (recursive ).lower (),
3334 "include_imports" : str (include_imports ).lower (),
35+ "workspaceSlug" : project_slug
3436 }
3537
3638 if tag_filters :
@@ -58,16 +60,18 @@ def list_secrets(
5860 def get_secret_by_name (
5961 self ,
6062 secret_name : str ,
61- project_id : str ,
6263 environment_slug : str ,
6364 secret_path : str ,
65+ project_id : str = None ,
66+ project_slug : str = None ,
6467 expand_secret_references : bool = True ,
6568 include_imports : bool = True ,
6669 view_secret_value : bool = True ,
6770 version : str = None ) -> BaseSecret :
6871
6972 params = {
7073 "workspaceId" : project_id ,
74+ "workspaceSlug" : project_slug ,
7175 "viewSecretValue" : str (view_secret_value ).lower (),
7276 "environment" : environment_slug ,
7377 "secretPath" : secret_path ,
@@ -105,26 +109,32 @@ def get_secret_by_name(
105109 def create_secret_by_name (
106110 self ,
107111 secret_name : str ,
108- project_id : str ,
109112 secret_path : str ,
110113 environment_slug : str ,
114+ project_id : str = None ,
111115 secret_value : str = None ,
112116 secret_comment : str = None ,
113117 skip_multiline_encoding : bool = False ,
114118 secret_reminder_repeat_days : Union [float , int ] = None ,
115- secret_reminder_note : str = None ) -> BaseSecret :
119+ secret_reminder_note : str = None ,
120+ project_slug : str = None ,
121+ secret_metadata : Optional [List [Dict [str , Any ]]] = None ,
122+ tags_ids : Optional [List [str ]] = None ,
123+ ) -> BaseSecret :
116124
117125 requestBody = {
118126 "workspaceId" : project_id ,
127+ "projectSlug" : project_slug ,
119128 "environment" : environment_slug ,
120129 "secretPath" : secret_path ,
121130 "secretValue" : secret_value ,
122131 "secretComment" : secret_comment ,
123- "tagIds" : None ,
132+ "tagIds" : tags_ids ,
124133 "skipMultilineEncoding" : skip_multiline_encoding ,
125134 "type" : "shared" ,
126135 "secretReminderRepeatDays" : secret_reminder_repeat_days ,
127- "secretReminderNote" : secret_reminder_note
136+ "secretReminderNote" : secret_reminder_note ,
137+ "secretMetadata" : secret_metadata ,
128138 }
129139 result = self .requests .post (
130140 path = f"/api/v3/secrets/raw/{ secret_name } " ,
@@ -152,28 +162,34 @@ def create_secret_by_name(
152162 def update_secret_by_name (
153163 self ,
154164 current_secret_name : str ,
155- project_id : str ,
156165 secret_path : str ,
157166 environment_slug : str ,
167+ project_id : str = None ,
158168 secret_value : str = None ,
159169 secret_comment : str = None ,
160170 skip_multiline_encoding : bool = False ,
161171 secret_reminder_repeat_days : Union [float , int ] = None ,
162172 secret_reminder_note : str = None ,
163- new_secret_name : str = None ) -> BaseSecret :
173+ new_secret_name : str = None ,
174+ project_slug : str = None ,
175+ secret_metadata : Optional [List [Dict [str , Any ]]] = None ,
176+ tags_ids : Optional [List [str ]] = None ,
177+ ) -> BaseSecret :
164178
165179 requestBody = {
166180 "workspaceId" : project_id ,
181+ "projectSlug" : project_slug ,
167182 "environment" : environment_slug ,
168183 "secretPath" : secret_path ,
169184 "secretValue" : secret_value ,
170185 "secretComment" : secret_comment ,
171186 "newSecretName" : new_secret_name ,
172- "tagIds" : None ,
187+ "tagIds" : tags_ids ,
173188 "skipMultilineEncoding" : skip_multiline_encoding ,
174189 "type" : "shared" ,
175190 "secretReminderRepeatDays" : secret_reminder_repeat_days ,
176- "secretReminderNote" : secret_reminder_note
191+ "secretReminderNote" : secret_reminder_note ,
192+ "secretMetadata" : secret_metadata ,
177193 }
178194
179195 result = self .requests .patch (
@@ -201,12 +217,14 @@ def update_secret_by_name(
201217 def delete_secret_by_name (
202218 self ,
203219 secret_name : str ,
204- project_id : str ,
205220 secret_path : str ,
206- environment_slug : str ) -> BaseSecret :
221+ environment_slug : str ,
222+ project_id : str = None ,
223+ project_slug : str = None ) -> BaseSecret :
207224
208225 requestBody = {
209226 "workspaceId" : project_id ,
227+ "projectSlug" : project_slug ,
210228 "environment" : environment_slug ,
211229 "secretPath" : secret_path ,
212230 "type" : "shared" ,
0 commit comments