@@ -118,9 +118,11 @@ def __init__(
118
118
self ,
119
119
noncurrent_days : int | None = None ,
120
120
storage_class : str | None = None ,
121
+ newer_noncurrent_versions : int | None = None ,
121
122
):
122
123
self ._noncurrent_days = noncurrent_days
123
124
self ._storage_class = storage_class
125
+ self ._newer_noncurrent_versions = newer_noncurrent_versions
124
126
125
127
@property
126
128
def noncurrent_days (self ) -> int | None :
@@ -132,6 +134,11 @@ def storage_class(self) -> str | None:
132
134
"""Get storage class."""
133
135
return self ._storage_class
134
136
137
+ @property
138
+ def newer_noncurrent_versions (self ) -> int | None :
139
+ """Get Newer Noncurrent versions."""
140
+ return self ._newer_noncurrent_versions
141
+
135
142
@classmethod
136
143
def fromxml (cls : Type [B ], element : ET .Element ) -> B :
137
144
"""Create new object with values from XML element."""
@@ -140,9 +147,11 @@ def fromxml(cls: Type[B], element: ET.Element) -> B:
140
147
find (element , "NoncurrentVersionTransition" , True ),
141
148
)
142
149
noncurrent_days = findtext (element , "NoncurrentDays" )
150
+ versions = findtext (element , "NewerNoncurrentVersions" )
143
151
return cls (
144
152
int (noncurrent_days ) if noncurrent_days else None ,
145
153
findtext (element , "StorageClass" ),
154
+ int (versions ) if versions else None ,
146
155
)
147
156
148
157
def toxml (self , element : ET .Element | None ) -> ET .Element :
@@ -154,6 +163,9 @@ def toxml(self, element: ET.Element | None) -> ET.Element:
154
163
SubElement (element , "NoncurrentDays" , str (self ._noncurrent_days ))
155
164
if self ._storage_class :
156
165
SubElement (element , "StorageClass" , self ._storage_class )
166
+ if self ._newer_noncurrent_versions :
167
+ SubElement (element , "NewerNoncurrentVersions" ,
168
+ str (self ._newer_noncurrent_versions ))
157
169
return element
158
170
159
171
@@ -163,14 +175,21 @@ def toxml(self, element: ET.Element | None) -> ET.Element:
163
175
class NoncurrentVersionExpiration :
164
176
"""Noncurrent version expiration."""
165
177
166
- def __init__ (self , noncurrent_days : int | None = None ):
178
+ def __init__ (self , noncurrent_days : int | None = None ,
179
+ newer_noncurrent_versions : int | None = None ):
167
180
self ._noncurrent_days = noncurrent_days
181
+ self ._newer_noncurrent_versions = newer_noncurrent_versions
168
182
169
183
@property
170
184
def noncurrent_days (self ) -> int | None :
171
185
"""Get Noncurrent days."""
172
186
return self ._noncurrent_days
173
187
188
+ @property
189
+ def newer_noncurrent_versions (self ) -> int | None :
190
+ """Get Newer Noncurrent versions."""
191
+ return self ._newer_noncurrent_versions
192
+
174
193
@classmethod
175
194
def fromxml (cls : Type [C ], element : ET .Element ) -> C :
176
195
"""Create new object with values from XML element."""
@@ -179,7 +198,9 @@ def fromxml(cls: Type[C], element: ET.Element) -> C:
179
198
find (element , "NoncurrentVersionExpiration" , True ),
180
199
)
181
200
noncurrent_days = findtext (element , "NoncurrentDays" )
182
- return cls (int (noncurrent_days ) if noncurrent_days else None )
201
+ versions = findtext (element , "NewerNoncurrentVersions" )
202
+ return cls (int (noncurrent_days ) if noncurrent_days else None ,
203
+ int (versions ) if versions else None )
183
204
184
205
def toxml (self , element : ET .Element | None ) -> ET .Element :
185
206
"""Convert to XML."""
@@ -188,6 +209,9 @@ def toxml(self, element: ET.Element | None) -> ET.Element:
188
209
element = SubElement (element , "NoncurrentVersionExpiration" )
189
210
if self ._noncurrent_days :
190
211
SubElement (element , "NoncurrentDays" , str (self ._noncurrent_days ))
212
+ if self ._newer_noncurrent_versions :
213
+ SubElement (element , "NewerNoncurrentVersions" ,
214
+ str (self ._newer_noncurrent_versions ))
191
215
return element
192
216
193
217
0 commit comments