qontract-reconcile 0.10.2.dev214__py3-none-any.whl → 0.10.2.dev216__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: qontract-reconcile
3
- Version: 0.10.2.dev214
3
+ Version: 0.10.2.dev216
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
@@ -72,7 +72,7 @@ reconcile/openshift_prometheus_rules.py,sha256=onowXab248zmHH8SbYDTc1W1bl7JiqRFU
72
72
  reconcile/openshift_resourcequotas.py,sha256=yUi56PiOn3inMMfq_x_FEHmaW-reGipzoorjdar372g,2415
73
73
  reconcile/openshift_resources.py,sha256=I2nO_C37mG3rfyGrd4cGwN3mVseVGuTAHAyhFzLyqF4,1518
74
74
  reconcile/openshift_resources_base.py,sha256=fogdGOnAk-8xK7z9UeLs1rT2IwDs6Q7jSx_iOVAWDLk,42316
75
- reconcile/openshift_rhcs_certs.py,sha256=1HfQRMAftafQzJTAUKz98WhIbNR5SC9iCD-C92HZV_4,9932
75
+ reconcile/openshift_rhcs_certs.py,sha256=obaklp0i-FsmFhY6y7K4bGHKkAUbb86GqqEaYrBo9-4,9985
76
76
  reconcile/openshift_rolebindings.py,sha256=9mlJ2FjWUoH-rsjtasreA_hV-K5Z_YR00qR_RR60OZM,6555
77
77
  reconcile/openshift_routes.py,sha256=fXvuPSjcjVw1X3j2EQvUAdbOepmIFdKk-M3qP8QzPiw,1075
78
78
  reconcile/openshift_saas_deploy.py,sha256=T1dvb9zajisaJNjbnR6-AZHU-itscHtr4oCqLj8KCK0,13037
@@ -141,7 +141,7 @@ reconcile/aus/version_gates/ocp_gate_handler.py,sha256=RW1ppDaCZXVegV9AzzqYXxDUu
141
141
  reconcile/aus/version_gates/sts_version_gate_handler.py,sha256=swwwz0YyvrEBf_InqrRRBCt2QzHYNvvq8jz9aYwElh4,3663
142
142
  reconcile/automated_actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
143
143
  reconcile/automated_actions/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
- reconcile/automated_actions/config/integration.py,sha256=y4Ce_sgCx50lZQNvfkcnuyrDP4VPC1Dvq5-eBU8uibM,12248
144
+ reconcile/automated_actions/config/integration.py,sha256=sHraZXmSg5diPr2T80qhqmm5flA-Wnz_dk15ZAK3dh0,12908
145
145
  reconcile/aws_account_manager/README.md,sha256=_XFM3GZNHUzv--e_navqJuaUWpjC6QrHfulreHynFf0,262
146
146
  reconcile/aws_account_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
147
147
  reconcile/aws_account_manager/integration.py,sha256=XTamC824imAezzVoQhhwdMOawNcPCOghR_y7i_8bpJI,15343
@@ -227,7 +227,7 @@ reconcile/glitchtip_project_alerts/integration.py,sha256=d3PMy-mQSbSZdIGAVaZCA2U
227
227
  reconcile/glitchtip_project_dsn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
228
228
  reconcile/glitchtip_project_dsn/integration.py,sha256=2iugub-kHYkHNK33n0v9_TeWonuxCPah_VkoTPvaajE,8077
229
229
  reconcile/gql_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
230
- reconcile/gql_definitions/introspection.json,sha256=98cLVDNRRqTIu5ONbfa0WqIptS3J7g-s4M2Dhq3oSo4,2345500
230
+ reconcile/gql_definitions/introspection.json,sha256=wqSPBHoGwZXz8uFUEqmUFdV3MPjjo8m76EgnAhYbjzo,2353319
231
231
  reconcile/gql_definitions/acs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
232
232
  reconcile/gql_definitions/acs/acs_instances.py,sha256=L91WW9LbhJbBSrECqShQpFtjoBOsmNIYLRpMbx1io5o,2181
233
233
  reconcile/gql_definitions/acs/acs_policies.py,sha256=Ygpfl2-VkYLSlJvHgp_dJBfb66K_Rwfdfpsa18w1v1s,4338
@@ -241,7 +241,7 @@ reconcile/gql_definitions/app_sre_tekton_access_revalidation/__init__.py,sha256=
241
241
  reconcile/gql_definitions/app_sre_tekton_access_revalidation/roles.py,sha256=8Y4NsS5T7tumDWxY5MuoV50MK2i-DsLYSpCRjb7KaLE,2353
242
242
  reconcile/gql_definitions/app_sre_tekton_access_revalidation/users.py,sha256=XdVxBxiyTR6Cy939EHNw__0k7iWrZWlhrgS5DakST0I,2504
243
243
  reconcile/gql_definitions/automated_actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
244
- reconcile/gql_definitions/automated_actions/instance.py,sha256=A2cTd13049HVSU7-AOOFpbpIoDkawEjCaHUsE3CoQGs,7478
244
+ reconcile/gql_definitions/automated_actions/instance.py,sha256=s7u8DczbfpVVzzDO5sOHYNWdWoPXJmkP2gGF6MpwUbA,9946
245
245
  reconcile/gql_definitions/aws_account_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
246
  reconcile/gql_definitions/aws_account_manager/aws_accounts.py,sha256=vF51KrY2gwX0J9vESiaRMPQqdAMEtz9f_tBq52bInp0,5148
247
247
  reconcile/gql_definitions/aws_ami_cleanup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -815,7 +815,7 @@ tools/saas_promotion_state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
815
815
  tools/saas_promotion_state/saas_promotion_state.py,sha256=UfwwRLS5Ya4_Nh1w5n1dvoYtchQvYE9yj1VANt2IKqI,3925
816
816
  tools/sre_checkpoints/__init__.py,sha256=CDaDaywJnmRCLyl_NCcvxi-Zc0hTi_3OdwKiFOyS39I,145
817
817
  tools/sre_checkpoints/util.py,sha256=zEDbGr18ZeHNQwW8pUsr2JRjuXIPz--WAGJxZo9sv_Y,894
818
- qontract_reconcile-0.10.2.dev214.dist-info/METADATA,sha256=v5PuwHiAY6FhlSgoeJwmibmuBtdVMx9AvVe1IklU6Wo,24555
819
- qontract_reconcile-0.10.2.dev214.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
820
- qontract_reconcile-0.10.2.dev214.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
821
- qontract_reconcile-0.10.2.dev214.dist-info/RECORD,,
818
+ qontract_reconcile-0.10.2.dev216.dist-info/METADATA,sha256=f3VR3mYsXa1wAmZrXVDuPCwMfzI6WB5rFPMINZuS1TQ,24555
819
+ qontract_reconcile-0.10.2.dev216.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
820
+ qontract_reconcile-0.10.2.dev216.dist-info/entry_points.txt,sha256=5i9l54La3vQrDLAdwDKQWC0iG4sV9RRfOb1BpvzOWLc,698
821
+ qontract_reconcile-0.10.2.dev216.dist-info/RECORD,,
@@ -17,6 +17,7 @@ from pydantic import BaseModel
17
17
  import reconcile.openshift_base as ob
18
18
  from reconcile.gql_definitions.automated_actions.instance import (
19
19
  AutomatedActionActionListV1,
20
+ AutomatedActionExternalResourceFlushElastiCacheV1,
20
21
  AutomatedActionExternalResourceRdsRebootV1,
21
22
  AutomatedActionOpenshiftWorkloadRestartArgumentV1,
22
23
  AutomatedActionOpenshiftWorkloadRestartV1,
@@ -167,14 +168,23 @@ class AutomatedActionsConfigIntegration(
167
168
  arg.dict(exclude_none=True, exclude_defaults=True)
168
169
  for arg in action.action_list_arguments or []
169
170
  )
171
+ case AutomatedActionExternalResourceFlushElastiCacheV1():
172
+ for ec_arg in action.external_resource_flush_elasticache_arguments:
173
+ for ec_er in ec_arg.namespace.external_resources or []:
174
+ if not isinstance(ec_er.provisioner, AWSAccountV1):
175
+ continue
176
+ parameters.append({
177
+ "account": f"^{ec_er.provisioner.name}$",
178
+ "identifier": ec_arg.identifier,
179
+ })
170
180
  case AutomatedActionExternalResourceRdsRebootV1():
171
- for arg in action.external_resource_rds_reboot_arguments:
172
- for er in arg.namespace.external_resources or []:
173
- if not isinstance(er.provisioner, AWSAccountV1):
181
+ for rds_arg in action.external_resource_rds_reboot_arguments:
182
+ for rds_er in rds_arg.namespace.external_resources or []:
183
+ if not isinstance(rds_er.provisioner, AWSAccountV1):
174
184
  continue
175
185
  parameters.append({
176
- "account": f"^{er.provisioner.name}$",
177
- "identifier": arg.identifier,
186
+ "account": f"^{rds_er.provisioner.name}$",
187
+ "identifier": rds_arg.identifier,
178
188
  })
179
189
  case AutomatedActionOpenshiftWorkloadRestartV1():
180
190
  parameters.extend(
@@ -90,6 +90,20 @@ query AutomatedActionsInstances {
90
90
  max_age_minutes
91
91
  }
92
92
  }
93
+ ... on AutomatedActionExternalResourceFlushElastiCache_v1 {
94
+ external_resource_flush_elasticache_arguments: arguments {
95
+ namespace {
96
+ externalResources {
97
+ provisioner {
98
+ ... on AWSAccount_v1 {
99
+ name
100
+ }
101
+ }
102
+ }
103
+ }
104
+ identifier
105
+ }
106
+ }
93
107
  ... on AutomatedActionExternalResourceRdsReboot_v1 {
94
108
  external_resource_rds_reboot_arguments: arguments {
95
109
  namespace {
@@ -194,8 +208,33 @@ class AutomatedActionExternalResourceArgumentV1(ConfiguredBaseModel):
194
208
  identifier: str = Field(..., alias="identifier")
195
209
 
196
210
 
211
+ class AutomatedActionExternalResourceFlushElastiCacheV1(AutomatedActionV1):
212
+ external_resource_flush_elasticache_arguments: list[AutomatedActionExternalResourceArgumentV1] = Field(..., alias="external_resource_flush_elasticache_arguments")
213
+
214
+
215
+ class AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1_ExternalResourcesProvisionerV1(ConfiguredBaseModel):
216
+ ...
217
+
218
+
219
+ class AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1_ExternalResourcesProvisionerV1_AWSAccountV1(AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1_ExternalResourcesProvisionerV1):
220
+ name: str = Field(..., alias="name")
221
+
222
+
223
+ class AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1(ConfiguredBaseModel):
224
+ provisioner: Union[AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1_ExternalResourcesProvisionerV1_AWSAccountV1, AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1_ExternalResourcesProvisionerV1] = Field(..., alias="provisioner")
225
+
226
+
227
+ class AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1(ConfiguredBaseModel):
228
+ external_resources: Optional[list[AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1_NamespaceExternalResourceV1]] = Field(..., alias="externalResources")
229
+
230
+
231
+ class AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1(ConfiguredBaseModel):
232
+ namespace: AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1_NamespaceV1 = Field(..., alias="namespace")
233
+ identifier: str = Field(..., alias="identifier")
234
+
235
+
197
236
  class AutomatedActionExternalResourceRdsRebootV1(AutomatedActionV1):
198
- external_resource_rds_reboot_arguments: list[AutomatedActionExternalResourceArgumentV1] = Field(..., alias="external_resource_rds_reboot_arguments")
237
+ external_resource_rds_reboot_arguments: list[AutomatedActionExternalResourceRdsRebootV1_AutomatedActionExternalResourceArgumentV1] = Field(..., alias="external_resource_rds_reboot_arguments")
199
238
 
200
239
 
201
240
  class DisableClusterAutomationsV1(ConfiguredBaseModel):
@@ -226,7 +265,7 @@ class AutomatedActionOpenshiftWorkloadRestartV1(AutomatedActionV1):
226
265
  class AutomatedActionsInstanceV1(ConfiguredBaseModel):
227
266
  name: str = Field(..., alias="name")
228
267
  deployment: NamespaceV1 = Field(..., alias="deployment")
229
- actions: Optional[list[Union[AutomatedActionActionListV1, AutomatedActionExternalResourceRdsRebootV1, AutomatedActionOpenshiftWorkloadRestartV1, AutomatedActionV1]]] = Field(..., alias="actions")
268
+ actions: Optional[list[Union[AutomatedActionActionListV1, AutomatedActionExternalResourceFlushElastiCacheV1, AutomatedActionExternalResourceRdsRebootV1, AutomatedActionOpenshiftWorkloadRestartV1, AutomatedActionV1]]] = Field(..., alias="actions")
230
269
 
231
270
 
232
271
  class AutomatedActionsInstancesQueryData(ConfiguredBaseModel):
@@ -5737,6 +5737,11 @@
5737
5737
  "name": "AutomatedActionCreateToken_v1",
5738
5738
  "ofType": null
5739
5739
  },
5740
+ {
5741
+ "kind": "OBJECT",
5742
+ "name": "AutomatedActionExternalResourceFlushElastiCache_v1",
5743
+ "ofType": null
5744
+ },
5740
5745
  {
5741
5746
  "kind": "OBJECT",
5742
5747
  "name": "AutomatedActionExternalResourceRdsReboot_v1",
@@ -27344,6 +27349,11 @@
27344
27349
  "name": "AutomatedActionCreateToken_v1",
27345
27350
  "ofType": null
27346
27351
  },
27352
+ {
27353
+ "kind": "OBJECT",
27354
+ "name": "AutomatedActionExternalResourceFlushElastiCache_v1",
27355
+ "ofType": null
27356
+ },
27347
27357
  {
27348
27358
  "kind": "OBJECT",
27349
27359
  "name": "AutomatedActionExternalResourceRdsReboot_v1",
@@ -53512,7 +53522,7 @@
53512
53522
  },
53513
53523
  {
53514
53524
  "kind": "OBJECT",
53515
- "name": "AutomatedActionExternalResourceRdsReboot_v1",
53525
+ "name": "AutomatedActionExternalResourceFlushElastiCache_v1",
53516
53526
  "description": null,
53517
53527
  "fields": [
53518
53528
  {
@@ -53719,6 +53729,172 @@
53719
53729
  "enumValues": null,
53720
53730
  "possibleTypes": null
53721
53731
  },
53732
+ {
53733
+ "kind": "OBJECT",
53734
+ "name": "AutomatedActionExternalResourceRdsReboot_v1",
53735
+ "description": null,
53736
+ "fields": [
53737
+ {
53738
+ "name": "schema",
53739
+ "description": null,
53740
+ "args": [],
53741
+ "type": {
53742
+ "kind": "NON_NULL",
53743
+ "name": null,
53744
+ "ofType": {
53745
+ "kind": "SCALAR",
53746
+ "name": "String",
53747
+ "ofType": null
53748
+ }
53749
+ },
53750
+ "isDeprecated": false,
53751
+ "deprecationReason": null
53752
+ },
53753
+ {
53754
+ "name": "path",
53755
+ "description": null,
53756
+ "args": [],
53757
+ "type": {
53758
+ "kind": "NON_NULL",
53759
+ "name": null,
53760
+ "ofType": {
53761
+ "kind": "SCALAR",
53762
+ "name": "String",
53763
+ "ofType": null
53764
+ }
53765
+ },
53766
+ "isDeprecated": false,
53767
+ "deprecationReason": null
53768
+ },
53769
+ {
53770
+ "name": "type",
53771
+ "description": null,
53772
+ "args": [],
53773
+ "type": {
53774
+ "kind": "NON_NULL",
53775
+ "name": null,
53776
+ "ofType": {
53777
+ "kind": "SCALAR",
53778
+ "name": "String",
53779
+ "ofType": null
53780
+ }
53781
+ },
53782
+ "isDeprecated": false,
53783
+ "deprecationReason": null
53784
+ },
53785
+ {
53786
+ "name": "description",
53787
+ "description": null,
53788
+ "args": [],
53789
+ "type": {
53790
+ "kind": "SCALAR",
53791
+ "name": "String",
53792
+ "ofType": null
53793
+ },
53794
+ "isDeprecated": false,
53795
+ "deprecationReason": null
53796
+ },
53797
+ {
53798
+ "name": "maxOps",
53799
+ "description": null,
53800
+ "args": [],
53801
+ "type": {
53802
+ "kind": "NON_NULL",
53803
+ "name": null,
53804
+ "ofType": {
53805
+ "kind": "SCALAR",
53806
+ "name": "Int",
53807
+ "ofType": null
53808
+ }
53809
+ },
53810
+ "isDeprecated": false,
53811
+ "deprecationReason": null
53812
+ },
53813
+ {
53814
+ "name": "instances",
53815
+ "description": null,
53816
+ "args": [],
53817
+ "type": {
53818
+ "kind": "NON_NULL",
53819
+ "name": null,
53820
+ "ofType": {
53821
+ "kind": "LIST",
53822
+ "name": null,
53823
+ "ofType": {
53824
+ "kind": "NON_NULL",
53825
+ "name": null,
53826
+ "ofType": {
53827
+ "kind": "OBJECT",
53828
+ "name": "AutomatedActionsInstance_v1",
53829
+ "ofType": null
53830
+ }
53831
+ }
53832
+ }
53833
+ },
53834
+ "isDeprecated": false,
53835
+ "deprecationReason": null
53836
+ },
53837
+ {
53838
+ "name": "permissions",
53839
+ "description": null,
53840
+ "args": [],
53841
+ "type": {
53842
+ "kind": "LIST",
53843
+ "name": null,
53844
+ "ofType": {
53845
+ "kind": "NON_NULL",
53846
+ "name": null,
53847
+ "ofType": {
53848
+ "kind": "OBJECT",
53849
+ "name": "PermissionAutomatedActions_v1",
53850
+ "ofType": null
53851
+ }
53852
+ }
53853
+ },
53854
+ "isDeprecated": false,
53855
+ "deprecationReason": null
53856
+ },
53857
+ {
53858
+ "name": "arguments",
53859
+ "description": null,
53860
+ "args": [],
53861
+ "type": {
53862
+ "kind": "NON_NULL",
53863
+ "name": null,
53864
+ "ofType": {
53865
+ "kind": "LIST",
53866
+ "name": null,
53867
+ "ofType": {
53868
+ "kind": "NON_NULL",
53869
+ "name": null,
53870
+ "ofType": {
53871
+ "kind": "OBJECT",
53872
+ "name": "AutomatedActionExternalResourceArgument_v1",
53873
+ "ofType": null
53874
+ }
53875
+ }
53876
+ }
53877
+ },
53878
+ "isDeprecated": false,
53879
+ "deprecationReason": null
53880
+ }
53881
+ ],
53882
+ "inputFields": null,
53883
+ "interfaces": [
53884
+ {
53885
+ "kind": "INTERFACE",
53886
+ "name": "AutomatedAction_v1",
53887
+ "ofType": null
53888
+ },
53889
+ {
53890
+ "kind": "INTERFACE",
53891
+ "name": "DatafileObject_v1",
53892
+ "ofType": null
53893
+ }
53894
+ ],
53895
+ "enumValues": null,
53896
+ "possibleTypes": null
53897
+ },
53722
53898
  {
53723
53899
  "kind": "OBJECT",
53724
53900
  "name": "AutomatedActionNoOp_v1",
@@ -243,6 +243,7 @@ def run(
243
243
  internal: bool | None = None,
244
244
  use_jump_host: bool = True,
245
245
  cluster_name: Iterable[str] | None = None,
246
+ defer: Callable | None = None,
246
247
  ) -> None:
247
248
  gql_api = gql.get_api()
248
249
  vault_settings = get_app_interface_vault_settings()
@@ -261,7 +262,8 @@ def run(
261
262
  use_jump_host=use_jump_host,
262
263
  thread_pool_size=thread_pool_size,
263
264
  )
264
- defer(oc_map.cleanup)
265
+ if defer:
266
+ defer(oc_map.cleanup)
265
267
  ri = ResourceInventory()
266
268
  state_specs = ob.init_specs_to_fetch(
267
269
  ri,