Skip to content

Commit dcd9362

Browse files
authored
feat(secret_manager): add used_by field to Secret (#627)
1 parent dd978e5 commit dcd9362

File tree

4 files changed

+64
-44
lines changed

4 files changed

+64
-44
lines changed

scaleway-async/scaleway_async/secret/v1beta1/marshalling.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from scaleway_core.profile import ProfileDefaults
88
from .types import (
9+
Product,
910
SecretType,
1011
EphemeralProperties,
1112
SecretVersion,
@@ -157,18 +158,6 @@ def unmarshal_Secret(data: Any) -> Secret:
157158
if field is not None:
158159
args["status"] = field
159160

160-
field = data.get("created_at", None)
161-
if field is not None:
162-
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
163-
else:
164-
args["created_at"] = None
165-
166-
field = data.get("updated_at", None)
167-
if field is not None:
168-
args["updated_at"] = parser.isoparse(field) if isinstance(field, str) else field
169-
else:
170-
args["updated_at"] = None
171-
172161
field = data.get("tags", None)
173162
if field is not None:
174163
args["tags"] = field
@@ -193,10 +182,26 @@ def unmarshal_Secret(data: Any) -> Secret:
193182
if field is not None:
194183
args["path"] = field
195184

185+
field = data.get("used_by", None)
186+
if field is not None:
187+
args["used_by"] = [Product(v) for v in field] if field is not None else None
188+
196189
field = data.get("region", None)
197190
if field is not None:
198191
args["region"] = field
199192

193+
field = data.get("created_at", None)
194+
if field is not None:
195+
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
196+
else:
197+
args["created_at"] = None
198+
199+
field = data.get("updated_at", None)
200+
if field is not None:
201+
args["updated_at"] = parser.isoparse(field) if isinstance(field, str) else field
202+
else:
203+
args["updated_at"] = None
204+
200205
field = data.get("description", None)
201206
if field is not None:
202207
args["description"] = field

scaleway-async/scaleway_async/secret/v1beta1/types.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -226,16 +226,6 @@ class Secret:
226226
* `locked`: no action can be performed on the secret. This status can only be applied and removed by Scaleway.
227227
"""
228228

229-
created_at: Optional[datetime]
230-
"""
231-
Date and time of the secret's creation.
232-
"""
233-
234-
updated_at: Optional[datetime]
235-
"""
236-
Last update of the secret.
237-
"""
238-
239229
tags: List[str]
240230
"""
241231
List of the secret's tags.
@@ -266,11 +256,26 @@ class Secret:
266256
Location of the secret in the directory structure.
267257
"""
268258

259+
used_by: List[Product]
260+
"""
261+
List of Scaleway resources that can access and manage the secret.
262+
"""
263+
269264
region: Region
270265
"""
271266
Region of the secret.
272267
"""
273268

269+
created_at: Optional[datetime]
270+
"""
271+
Date and time of the secret's creation.
272+
"""
273+
274+
updated_at: Optional[datetime]
275+
"""
276+
Last update of the secret.
277+
"""
278+
274279
description: Optional[str]
275280
"""
276281
Updated description of the secret.

scaleway/scaleway/secret/v1beta1/marshalling.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from scaleway_core.profile import ProfileDefaults
88
from .types import (
9+
Product,
910
SecretType,
1011
EphemeralProperties,
1112
SecretVersion,
@@ -157,18 +158,6 @@ def unmarshal_Secret(data: Any) -> Secret:
157158
if field is not None:
158159
args["status"] = field
159160

160-
field = data.get("created_at", None)
161-
if field is not None:
162-
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
163-
else:
164-
args["created_at"] = None
165-
166-
field = data.get("updated_at", None)
167-
if field is not None:
168-
args["updated_at"] = parser.isoparse(field) if isinstance(field, str) else field
169-
else:
170-
args["updated_at"] = None
171-
172161
field = data.get("tags", None)
173162
if field is not None:
174163
args["tags"] = field
@@ -193,10 +182,26 @@ def unmarshal_Secret(data: Any) -> Secret:
193182
if field is not None:
194183
args["path"] = field
195184

185+
field = data.get("used_by", None)
186+
if field is not None:
187+
args["used_by"] = [Product(v) for v in field] if field is not None else None
188+
196189
field = data.get("region", None)
197190
if field is not None:
198191
args["region"] = field
199192

193+
field = data.get("created_at", None)
194+
if field is not None:
195+
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
196+
else:
197+
args["created_at"] = None
198+
199+
field = data.get("updated_at", None)
200+
if field is not None:
201+
args["updated_at"] = parser.isoparse(field) if isinstance(field, str) else field
202+
else:
203+
args["updated_at"] = None
204+
200205
field = data.get("description", None)
201206
if field is not None:
202207
args["description"] = field

scaleway/scaleway/secret/v1beta1/types.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -226,16 +226,6 @@ class Secret:
226226
* `locked`: no action can be performed on the secret. This status can only be applied and removed by Scaleway.
227227
"""
228228

229-
created_at: Optional[datetime]
230-
"""
231-
Date and time of the secret's creation.
232-
"""
233-
234-
updated_at: Optional[datetime]
235-
"""
236-
Last update of the secret.
237-
"""
238-
239229
tags: List[str]
240230
"""
241231
List of the secret's tags.
@@ -266,11 +256,26 @@ class Secret:
266256
Location of the secret in the directory structure.
267257
"""
268258

259+
used_by: List[Product]
260+
"""
261+
List of Scaleway resources that can access and manage the secret.
262+
"""
263+
269264
region: Region
270265
"""
271266
Region of the secret.
272267
"""
273268

269+
created_at: Optional[datetime]
270+
"""
271+
Date and time of the secret's creation.
272+
"""
273+
274+
updated_at: Optional[datetime]
275+
"""
276+
Last update of the secret.
277+
"""
278+
274279
description: Optional[str]
275280
"""
276281
Updated description of the secret.

0 commit comments

Comments
 (0)