Skip to content

Commit f10852b

Browse files
authored
fix: rename id to version for secretvalue parent references (#151)
1 parent a5be9fa commit f10852b

2 files changed

Lines changed: 20 additions & 8 deletions

File tree

nitric/resources/secrets.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
from dataclasses import dataclass
2222
from typing import List, Literal, Union
23+
import warnings
2324

2425
from grpclib import GRPCError
2526
from grpclib.client import Channel
@@ -77,7 +78,7 @@ def version(self, version: str) -> SecretVersionRef:
7778
7879
Can be used to retrieve the secret value associated with the version.
7980
"""
80-
return SecretVersionRef(secret=self, id=version)
81+
return SecretVersionRef(secret=self, version=version)
8182

8283
def latest(self) -> SecretVersionRef:
8384
"""
@@ -90,15 +91,26 @@ def latest(self) -> SecretVersionRef:
9091

9192

9293
def _secret_version_to_wire(version: SecretVersionRef) -> VersionMessage:
93-
return VersionMessage(SecretMessage(name=version.secret.name), version=version.id)
94+
return VersionMessage(SecretMessage(name=version.secret.name), version=version.version)
9495

9596

9697
@dataclass(frozen=True)
9798
class SecretVersionRef:
9899
"""A reference to a version of a secret, used to access the value of the version."""
99100

100101
secret: SecretRef
101-
id: str
102+
version: str
103+
104+
@property
105+
def id(self) -> SecretVersionRef:
106+
"""Get the version of this secret value."""
107+
warnings.warn(
108+
"id is deprecated and will be removed in a future version. "
109+
"Use version instead.",
110+
DeprecationWarning,
111+
stacklevel=2
112+
)
113+
return self.version
102114

103115
async def access(self) -> SecretValue:
104116
"""Return the value stored in this version of the secret."""
@@ -115,8 +127,8 @@ async def access(self) -> SecretValue:
115127
# with a fixed version id.
116128
static_version = (
117129
self
118-
if response.secret_version.version == self.id
119-
else SecretVersionRef(secret=self.secret, id=response.secret_version.version)
130+
if response.secret_version.version == self.version
131+
else SecretVersionRef(secret=self.secret, version=response.secret_version.version)
120132
)
121133

122134
return SecretValue(version=static_version, value=response.value)

tests/resources/test_secrets.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ async def test_put(self):
5555
)
5656

5757
# Check the returned value
58-
assert result.id == "test-version"
58+
assert result.version == "test-version"
5959
assert result.secret.name == "test-secret"
6060

6161
async def test_put_string(self):
@@ -78,7 +78,7 @@ async def test_latest(self):
7878
version = SecretRef("test-secret").latest()
7979

8080
assert version.secret.name == "test-secret"
81-
assert version.id == "latest"
81+
assert version.version == "latest"
8282

8383
async def test_access(self):
8484
mock_access = AsyncMock()
@@ -100,7 +100,7 @@ async def test_access(self):
100100
)
101101

102102
# Check the returned value
103-
assert result.version.id == "response-version"
103+
assert result.version.version == "response-version"
104104
assert result.value == b"super secret value"
105105

106106
async def test_value_to_string(self):

0 commit comments

Comments
 (0)