qontract-reconcile 0.10.1rc798__py3-none-any.whl → 0.10.1rc799__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.1
2
2
  Name: qontract-reconcile
3
- Version: 0.10.1rc798
3
+ Version: 0.10.1rc799
4
4
  Summary: Collection of tools to reconcile services with their desired state as defined in the app-interface DB.
5
5
  Home-page: https://github.com/app-sre/qontract-reconcile
6
6
  Author: Red Hat App-SRE Team
@@ -10,7 +10,7 @@ reconcile/aws_iam_password_reset.py,sha256=NwErtrqgBiXr7eGCAHdtGGOx0S7-4JnSc29Ie
10
10
  reconcile/aws_support_cases_sos.py,sha256=Jk6_XjDeJSYxgRGqcEAOcynt9qJF2r5HPIPcSKmoBv8,2974
11
11
  reconcile/blackbox_exporter_endpoint_monitoring.py,sha256=W_VJagnsJR1v5oqjlI3RJJE0_nhtJ0m81RS8zWA5u5c,3538
12
12
  reconcile/checkpoint.py,sha256=R2WFXUXLTB4sWMi4GeA4eegsuf_1-Q4vH8M0Toh3Ij4,5036
13
- reconcile/cli.py,sha256=-JkVDI5QMXiSmcxjTOy6YcmYM1JDN6uYYBH38bcM8OI,100465
13
+ reconcile/cli.py,sha256=pBX9_8GU6g4m8Y3-KeX8wOCv9datyVqxvbkXTmgdvNQ,100833
14
14
  reconcile/closedbox_endpoint_monitoring_base.py,sha256=SMhkcQqprWvThrIJa3U_3uh5w1h-alleW1QnCJFY4Qw,4909
15
15
  reconcile/cluster_deployment_mapper.py,sha256=2Ah-nu-Mdig0pjuiZl_XLrmVAjYzFjORR3dMlCgkmw0,2352
16
16
  reconcile/dashdotdb_base.py,sha256=a5aPLVxyqPSbjdB0Ty-uliOtxwvEbbEljHJKxdK3-Zk,4813
@@ -349,7 +349,7 @@ reconcile/gql_definitions/slo_documents/slo_documents.py,sha256=pOrm9NXAonlo6Lxq
349
349
  reconcile/gql_definitions/status_board/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
350
  reconcile/gql_definitions/status_board/status_board.py,sha256=vHEzncabujkqbjJ-ibMYNJTODgTc4DMf4y6TW3I_7II,4700
351
351
  reconcile/gql_definitions/statuspage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
- reconcile/gql_definitions/statuspage/statuspages.py,sha256=z1Qh2s0Aqn4UoVxQ-hRBD1EluAMO7FUFn-WmSIPAnUk,3458
352
+ reconcile/gql_definitions/statuspage/statuspages.py,sha256=RybRGzA8LiQ4yKct_IarI_i_ExQi8Q-jjW5y7J6AZKE,4564
353
353
  reconcile/gql_definitions/templating/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
354
354
  reconcile/gql_definitions/templating/template_collection.py,sha256=lS0vzEKV2ZrzOqOEriqpy0yBgKjb2Ftrzgx6PIH46_4,3310
355
355
  reconcile/gql_definitions/templating/templates.py,sha256=ejAvQ13zfNMQTz3FWtRUic6dSvio3aAgBKEqt600hbk,2821
@@ -782,8 +782,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
782
782
  tools/test/test_qontract_cli.py,sha256=w2l4BHB09k1d-BGJ1jBUNCqDv7zkqYrMHojQXg-21kQ,4155
783
783
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
784
784
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
785
- qontract_reconcile-0.10.1rc798.dist-info/METADATA,sha256=Q3RJK3iUjM4Z1ecb0Li6SoWTliTEbD7aKGQwHYRPilg,2314
786
- qontract_reconcile-0.10.1rc798.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
787
- qontract_reconcile-0.10.1rc798.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
788
- qontract_reconcile-0.10.1rc798.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
789
- qontract_reconcile-0.10.1rc798.dist-info/RECORD,,
785
+ qontract_reconcile-0.10.1rc799.dist-info/METADATA,sha256=RP2rS5xx5kL1fJvQXwc71r9VAba85yDekuh9EyC2l1g,2314
786
+ qontract_reconcile-0.10.1rc799.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
787
+ qontract_reconcile-0.10.1rc799.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
788
+ qontract_reconcile-0.10.1rc799.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
789
+ qontract_reconcile-0.10.1rc799.dist-info/RECORD,,
reconcile/cli.py CHANGED
@@ -36,6 +36,7 @@ from reconcile.utils.runtime.environment import init_env
36
36
  from reconcile.utils.runtime.integration import (
37
37
  ModuleArgsKwargsRunParams,
38
38
  ModuleBasedQontractReconcileIntegration,
39
+ NoParams,
39
40
  PydanticRunParams,
40
41
  QontractReconcileIntegration,
41
42
  )
@@ -3184,6 +3185,18 @@ def status_page_components(ctx):
3184
3185
  run_class_integration(StatusPageComponentsIntegration(), ctx.obj)
3185
3186
 
3186
3187
 
3188
+ @integration.command(
3189
+ short_help="Manages maintenances on statuspage.io hosted status pages."
3190
+ )
3191
+ @click.pass_context
3192
+ def status_page_maintenances(ctx):
3193
+ from reconcile.statuspage.integrations.maintenances import (
3194
+ StatusPageMaintenancesIntegration,
3195
+ )
3196
+
3197
+ run_class_integration(StatusPageMaintenancesIntegration(NoParams()), ctx.obj)
3198
+
3199
+
3187
3200
  @integration.command(
3188
3201
  short_help="Manages OCM cluster usergroups and notifications via OCM labels."
3189
3202
  )
@@ -56,6 +56,20 @@ query StatusPages {
56
56
  }
57
57
  }
58
58
  }
59
+ maintenances {
60
+ name
61
+ message
62
+ scheduledStart
63
+ scheduledEnd
64
+ announcements {
65
+ provider
66
+ ... on MaintenanceStatuspageAnnouncement_v1 {
67
+ page {
68
+ name
69
+ }
70
+ }
71
+ }
72
+ }
59
73
  }
60
74
  }
61
75
  """
@@ -95,12 +109,33 @@ class StatusPageComponentV1(ConfiguredBaseModel):
95
109
  status_config: Optional[list[Union[ManualStatusProviderV1, StatusProviderV1]]] = Field(..., alias="status_config")
96
110
 
97
111
 
112
+ class MaintenanceAnnouncementV1(ConfiguredBaseModel):
113
+ provider: str = Field(..., alias="provider")
114
+
115
+
116
+ class MaintenanceStatuspageAnnouncementV1_StatusPageV1(ConfiguredBaseModel):
117
+ name: str = Field(..., alias="name")
118
+
119
+
120
+ class MaintenanceStatuspageAnnouncementV1(MaintenanceAnnouncementV1):
121
+ page: MaintenanceStatuspageAnnouncementV1_StatusPageV1 = Field(..., alias="page")
122
+
123
+
124
+ class MaintenanceV1(ConfiguredBaseModel):
125
+ name: str = Field(..., alias="name")
126
+ message: str = Field(..., alias="message")
127
+ scheduled_start: str = Field(..., alias="scheduledStart")
128
+ scheduled_end: str = Field(..., alias="scheduledEnd")
129
+ announcements: Optional[list[Union[MaintenanceStatuspageAnnouncementV1, MaintenanceAnnouncementV1]]] = Field(..., alias="announcements")
130
+
131
+
98
132
  class StatusPageV1(ConfiguredBaseModel):
99
133
  name: str = Field(..., alias="name")
100
134
  page_id: str = Field(..., alias="pageId")
101
135
  api_url: str = Field(..., alias="apiUrl")
102
136
  credentials: VaultSecret = Field(..., alias="credentials")
103
137
  components: Optional[list[StatusPageComponentV1]] = Field(..., alias="components")
138
+ maintenances: Optional[list[MaintenanceV1]] = Field(..., alias="maintenances")
104
139
 
105
140
 
106
141
  class StatusPagesQueryData(ConfiguredBaseModel):