qontract-reconcile 0.10.2.dev46__py3-none-any.whl → 0.10.2.dev47__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/RECORD +5 -5
- reconcile/external_resources/aws.py +9 -5
- {qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/entry_points.txt +0 -0
{qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: qontract-reconcile
|
3
|
-
Version: 0.10.2.
|
3
|
+
Version: 0.10.2.dev47
|
4
4
|
Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
|
5
5
|
Project-URL: homepage, https://github.com/app-sre/qontract-reconcile
|
6
6
|
Project-URL: repository, https://github.com/app-sre/qontract-reconcile
|
{qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/RECORD
RENAMED
@@ -195,7 +195,7 @@ reconcile/endpoints_discovery/integration.py,sha256=fzy5tv4c_6WoAZGGBNJ276NVNB1O
|
|
195
195
|
reconcile/endpoints_discovery/merge_request.py,sha256=_yLb4tnvoZMCko8rta2C_CvOInJa9pa3HzSmHNtjgGU,2978
|
196
196
|
reconcile/endpoints_discovery/merge_request_manager.py,sha256=wUMsumxv8RnWaRattax4HfoRlhtVzmgro3GiJJ1C4Vc,6392
|
197
197
|
reconcile/external_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
198
|
-
reconcile/external_resources/aws.py,sha256=
|
198
|
+
reconcile/external_resources/aws.py,sha256=wzN3GHxyqVa4Lqqg5HdogqNW2RM532t0ZiKaQeVGOL4,10968
|
199
199
|
reconcile/external_resources/factories.py,sha256=C0QHT0soEv6z99-ELAAE19S5MaMHhV0t1fSiQn0Coc4,5970
|
200
200
|
reconcile/external_resources/integration.py,sha256=JF38M7R0Z4ADUTx57TZqSZH9k_xpPlbAxQAcGyIISuM,6925
|
201
201
|
reconcile/external_resources/integration_secrets_sync.py,sha256=dX09O3r6KURziUYYfiki10orNjOGVma-XojhVqd0ww4,1667
|
@@ -775,7 +775,7 @@ tools/saas_promotion_state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
775
775
|
tools/saas_promotion_state/saas_promotion_state.py,sha256=UfwwRLS5Ya4_Nh1w5n1dvoYtchQvYE9yj1VANt2IKqI,3925
|
776
776
|
tools/sre_checkpoints/__init__.py,sha256=CDaDaywJnmRCLyl_NCcvxi-Zc0hTi_3OdwKiFOyS39I,145
|
777
777
|
tools/sre_checkpoints/util.py,sha256=zEDbGr18ZeHNQwW8pUsr2JRjuXIPz--WAGJxZo9sv_Y,894
|
778
|
-
qontract_reconcile-0.10.2.
|
779
|
-
qontract_reconcile-0.10.2.
|
780
|
-
qontract_reconcile-0.10.2.
|
781
|
-
qontract_reconcile-0.10.2.
|
778
|
+
qontract_reconcile-0.10.2.dev47.dist-info/METADATA,sha256=agItqhZULSNiqVJbcuimv3FQ_kbEzyI5OrqMFIC5s3s,24665
|
779
|
+
qontract_reconcile-0.10.2.dev47.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
780
|
+
qontract_reconcile-0.10.2.dev47.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
|
781
|
+
qontract_reconcile-0.10.2.dev47.dist-info/RECORD,,
|
@@ -122,7 +122,8 @@ class AWSElasticacheFactory(AWSDefaultResourceFactory):
|
|
122
122
|
|
123
123
|
|
124
124
|
class AWSRdsFactory(AWSDefaultResourceFactory):
|
125
|
-
TIMEOUT_RE = re.compile(r"
|
125
|
+
TIMEOUT_RE = re.compile(r"^(?:(\d+)h)?\s*(?:(\d+)m)?$")
|
126
|
+
TIMEOUT_UNITS = units = {"h": "hours", "m": "minutes"}
|
126
127
|
|
127
128
|
def _get_source_db_spec(
|
128
129
|
self, provisioner: str, identifier: str
|
@@ -188,11 +189,14 @@ class AWSRdsFactory(AWSDefaultResourceFactory):
|
|
188
189
|
self,
|
189
190
|
timeout: str,
|
190
191
|
) -> int:
|
191
|
-
if not re.
|
192
|
+
if not (match := re.fullmatch(AWSRdsFactory.TIMEOUT_RE, timeout)):
|
192
193
|
raise ValueError(
|
193
|
-
f"Invalid RDS instance timeout format: {timeout}. Specify
|
194
|
+
f"Invalid RDS instance timeout format: {timeout}. Specify a duration using 'h' and 'm' only. E.g. 2h30m"
|
194
195
|
)
|
195
|
-
|
196
|
+
|
197
|
+
hours = int(match.group(1)) if match.group(1) else 0
|
198
|
+
minutes = int(match.group(2)) if match.group(2) else 0
|
199
|
+
return hours * 60 + minutes
|
196
200
|
|
197
201
|
def _validate_timeouts(
|
198
202
|
self,
|
@@ -218,7 +222,7 @@ class AWSRdsFactory(AWSDefaultResourceFactory):
|
|
218
222
|
timeout_minutes = self._get_timeout_minutes(timeout)
|
219
223
|
if timeout_minutes >= module_conf.reconcile_timeout_minutes:
|
220
224
|
raise ValueError(
|
221
|
-
f"RDS instance {option} timeout value {timeout_minutes} must be lower than the module reconcile_timeout_minutes value {module_conf.reconcile_timeout_minutes}."
|
225
|
+
f"RDS instance {option} timeout value {timeout_minutes} (minutes) must be lower than the module reconcile_timeout_minutes value {module_conf.reconcile_timeout_minutes}."
|
222
226
|
)
|
223
227
|
|
224
228
|
def validate(
|
{qontract_reconcile-0.10.2.dev46.dist-info → qontract_reconcile-0.10.2.dev47.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|