qontract-reconcile 0.10.1rc753__py3-none-any.whl → 0.10.1rc755__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.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/METADATA +1 -1
- {qontract_reconcile-0.10.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/RECORD +12 -7
- reconcile/cli.py +27 -0
- reconcile/gql_definitions/external_resources/__init__.py +0 -0
- reconcile/gql_definitions/external_resources/external_resources_modules.py +72 -0
- reconcile/gql_definitions/external_resources/external_resources_namespaces.py +1043 -0
- reconcile/gql_definitions/external_resources/external_resources_settings.py +70 -0
- reconcile/typed_queries/external_resources.py +47 -0
- reconcile/utils/terrascript_aws_client.py +8 -6
- {qontract_reconcile-0.10.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/WHEEL +0 -0
- {qontract_reconcile-0.10.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/entry_points.txt +0 -0
- {qontract_reconcile-0.10.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/top_level.txt +0 -0
{qontract_reconcile-0.10.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: qontract-reconcile
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.1rc755
|
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
|
{qontract_reconcile-0.10.1rc753.dist-info → qontract_reconcile-0.10.1rc755.dist-info}/RECORD
RENAMED
@@ -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=
|
13
|
+
reconcile/cli.py,sha256=knLmE8YaI61Vg6tbcl5YW8HXIthq91yQknVtnXygCgY,99475
|
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
|
@@ -250,6 +250,10 @@ reconcile/gql_definitions/dashdotdb_slo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
|
|
250
250
|
reconcile/gql_definitions/dashdotdb_slo/slo_documents_query.py,sha256=zUa-CmpOwiymVmOV6KwDHH5mMl06p000320FcOas6hU,4315
|
251
251
|
reconcile/gql_definitions/dynatrace_token_provider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
252
252
|
reconcile/gql_definitions/dynatrace_token_provider/dynatrace_bootstrap_tokens.py,sha256=38b9JR7gFTdID3EJO9zeqrCT1adbLrurOLYIGAKPxtA,2045
|
253
|
+
reconcile/gql_definitions/external_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
254
|
+
reconcile/gql_definitions/external_resources/external_resources_modules.py,sha256=2VIb3hC2MRNhYDZ1al4PvudT2oSfd3fPGpzv4CEJNiw,2341
|
255
|
+
reconcile/gql_definitions/external_resources/external_resources_namespaces.py,sha256=UyOAUY1rROenjTz6y-uSEFjrEwhh-lPsIQPbi6EQLFg,40915
|
256
|
+
reconcile/gql_definitions/external_resources/external_resources_settings.py,sha256=O6zPVHjQX4RY6lcLx5uNiExfx3nO3aoyucmKxhXsL60,2342
|
253
257
|
reconcile/gql_definitions/fragments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
254
258
|
reconcile/gql_definitions/fragments/aus_organization.py,sha256=ARI87YAbC0VjFri9eVGYrRPBc4s0kWsa25RR8FFoq7E,4433
|
255
259
|
reconcile/gql_definitions/fragments/aws_account_common.py,sha256=d_FwpS_dY8o8DCLa3NERs93FVxQLiDUIPm5tGNac-iw,2320
|
@@ -560,6 +564,7 @@ reconcile/typed_queries/clusters.py,sha256=tptLP2Ov1lNqtDGuPKBOVvpDtREm5CQFDDVyp
|
|
560
564
|
reconcile/typed_queries/clusters_minimal.py,sha256=flvs4oXVR4b971h-zMTK3C2GL3bjMnvZgrAeI3XgBQQ,517
|
561
565
|
reconcile/typed_queries/clusters_with_dms.py,sha256=hyNPaHBgUIhnAeuOSY5SG46U1zDp9KytUXEobkZdRlQ,551
|
562
566
|
reconcile/typed_queries/clusters_with_peering.py,sha256=lIai7SJJD0bqIJbe7virgrbYRqjLouSL2OpJD0itpAY,330
|
567
|
+
reconcile/typed_queries/external_resources.py,sha256=vQEQwedYx_zoo94qdTSI4TMEg-rgmOOVoy19cKBlvN8,1540
|
563
568
|
reconcile/typed_queries/get_state_aws_account.py,sha256=CSJjVPWsUZ2rkGIt8ehoQt7hokFqrUDgG9HFlg2lVD8,492
|
564
569
|
reconcile/typed_queries/github_orgs.py,sha256=UZhoPl8qvA_tcO7CZlN8GuMKckt3ywd47Suu61rgHsc,258
|
565
570
|
reconcile/typed_queries/gitlab_instances.py,sha256=ZVQHy2W9xIp53f5qYkjKLHLHgOVtQpxTfcmM1C2046g,291
|
@@ -658,7 +663,7 @@ reconcile/utils/state.py,sha256=FK8NLT1xyumuXpYRm0Nk6pWpOE_U6-NovGn6zKCw8vw,1629
|
|
658
663
|
reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,352
|
659
664
|
reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
|
660
665
|
reconcile/utils/terraform_client.py,sha256=mZEKpu6nbfiQd60wRkc8-5sljBTUTOgaAKnF89itMzU,32085
|
661
|
-
reconcile/utils/terrascript_aws_client.py,sha256=
|
666
|
+
reconcile/utils/terrascript_aws_client.py,sha256=4FR4JUSniDOFMtc_r1t2z0x_drrBfcw-J33AdWeJEyw,272662
|
662
667
|
reconcile/utils/three_way_diff_strategy.py,sha256=nyqeQsLCoPI6e16k2CF3b9KNgQLU-rPf5RtfdUfVMwE,4468
|
663
668
|
reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
|
664
669
|
reconcile/utils/unleash.py,sha256=1D56CsZfE3ShDtN3IErE1T2eeIwNmxhK-yYbCotJ99E,3601
|
@@ -778,8 +783,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=SX7qL3D1SIRKFo95FoQztvf
|
|
778
783
|
tools/test/test_qontract_cli.py,sha256=w2l4BHB09k1d-BGJ1jBUNCqDv7zkqYrMHojQXg-21kQ,4155
|
779
784
|
tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
|
780
785
|
tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
|
781
|
-
qontract_reconcile-0.10.
|
782
|
-
qontract_reconcile-0.10.
|
783
|
-
qontract_reconcile-0.10.
|
784
|
-
qontract_reconcile-0.10.
|
785
|
-
qontract_reconcile-0.10.
|
786
|
+
qontract_reconcile-0.10.1rc755.dist-info/METADATA,sha256=kakntqv9m6oYmZ-sI6t-ZJmUfpJuDDPcKwTIMHsMpko,2382
|
787
|
+
qontract_reconcile-0.10.1rc755.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
788
|
+
qontract_reconcile-0.10.1rc755.dist-info/entry_points.txt,sha256=rIxI5zWtHNlfpDeq1a7pZXAPoqf7HG32KMTN3MeWK_8,429
|
789
|
+
qontract_reconcile-0.10.1rc755.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
|
790
|
+
qontract_reconcile-0.10.1rc755.dist-info/RECORD,,
|
reconcile/cli.py
CHANGED
@@ -3512,6 +3512,33 @@ def deadmanssnitch(ctx):
|
|
3512
3512
|
)
|
3513
3513
|
|
3514
3514
|
|
3515
|
+
@integration.command(short_help="Manages External Resources")
|
3516
|
+
@click.pass_context
|
3517
|
+
@threaded(default=5)
|
3518
|
+
@click.option("--cluster", help="Cluster where the Jobs will be created", default=None)
|
3519
|
+
@click.option(
|
3520
|
+
"--namespace", help="Namespace where the Jobs will be created", default=None
|
3521
|
+
)
|
3522
|
+
@click.option(
|
3523
|
+
"--dry-run-job-suffix",
|
3524
|
+
help="Suffix jons run in pr_checks. e.g: gitlab merge request id",
|
3525
|
+
default="",
|
3526
|
+
)
|
3527
|
+
def external_resources(
|
3528
|
+
ctx, cluster: str, namespace: str, dry_run_job_suffix: str, thread_pool_size: int
|
3529
|
+
):
|
3530
|
+
import reconcile.external_resources.integration
|
3531
|
+
|
3532
|
+
run_integration(
|
3533
|
+
reconcile.external_resources.integration,
|
3534
|
+
ctx.obj,
|
3535
|
+
cluster,
|
3536
|
+
namespace,
|
3537
|
+
dry_run_job_suffix,
|
3538
|
+
thread_pool_size,
|
3539
|
+
)
|
3540
|
+
|
3541
|
+
|
3515
3542
|
def get_integration_cli_meta() -> dict[str, IntegrationMeta]:
|
3516
3543
|
"""
|
3517
3544
|
returns all integrations known to cli.py via click introspection
|
File without changes
|
@@ -0,0 +1,72 @@
|
|
1
|
+
"""
|
2
|
+
Generated by qenerate plugin=pydantic_v1. DO NOT MODIFY MANUALLY!
|
3
|
+
"""
|
4
|
+
from collections.abc import Callable # noqa: F401 # pylint: disable=W0611
|
5
|
+
from datetime import datetime # noqa: F401 # pylint: disable=W0611
|
6
|
+
from enum import Enum # noqa: F401 # pylint: disable=W0611
|
7
|
+
from typing import ( # noqa: F401 # pylint: disable=W0611
|
8
|
+
Any,
|
9
|
+
Optional,
|
10
|
+
Union,
|
11
|
+
)
|
12
|
+
|
13
|
+
from pydantic import ( # noqa: F401 # pylint: disable=W0611
|
14
|
+
BaseModel,
|
15
|
+
Extra,
|
16
|
+
Field,
|
17
|
+
Json,
|
18
|
+
)
|
19
|
+
|
20
|
+
|
21
|
+
DEFINITION = """
|
22
|
+
query ExternalResourcesModules {
|
23
|
+
modules: external_resources_modules_v1 {
|
24
|
+
provision_provider
|
25
|
+
provider
|
26
|
+
module_type
|
27
|
+
image
|
28
|
+
default_version
|
29
|
+
reconcile_drift_interval_minutes
|
30
|
+
reconcile_timeout_minutes
|
31
|
+
}
|
32
|
+
}
|
33
|
+
"""
|
34
|
+
|
35
|
+
|
36
|
+
class ConfiguredBaseModel(BaseModel):
|
37
|
+
class Config:
|
38
|
+
smart_union=True
|
39
|
+
extra=Extra.forbid
|
40
|
+
|
41
|
+
|
42
|
+
class ExternalResourcesModuleV1(ConfiguredBaseModel):
|
43
|
+
provision_provider: str = Field(..., alias="provision_provider")
|
44
|
+
provider: str = Field(..., alias="provider")
|
45
|
+
module_type: str = Field(..., alias="module_type")
|
46
|
+
image: str = Field(..., alias="image")
|
47
|
+
default_version: str = Field(..., alias="default_version")
|
48
|
+
reconcile_drift_interval_minutes: str = Field(..., alias="reconcile_drift_interval_minutes")
|
49
|
+
reconcile_timeout_minutes: str = Field(..., alias="reconcile_timeout_minutes")
|
50
|
+
|
51
|
+
|
52
|
+
class ExternalResourcesModulesQueryData(ConfiguredBaseModel):
|
53
|
+
modules: Optional[list[ExternalResourcesModuleV1]] = Field(..., alias="modules")
|
54
|
+
|
55
|
+
|
56
|
+
def query(query_func: Callable, **kwargs: Any) -> ExternalResourcesModulesQueryData:
|
57
|
+
"""
|
58
|
+
This is a convenience function which queries and parses the data into
|
59
|
+
concrete types. It should be compatible with most GQL clients.
|
60
|
+
You do not have to use it to consume the generated data classes.
|
61
|
+
Alternatively, you can also mime and alternate the behavior
|
62
|
+
of this function in the caller.
|
63
|
+
|
64
|
+
Parameters:
|
65
|
+
query_func (Callable): Function which queries your GQL Server
|
66
|
+
kwargs: optional arguments that will be passed to the query function
|
67
|
+
|
68
|
+
Returns:
|
69
|
+
ExternalResourcesModulesQueryData: queried data parsed into generated classes
|
70
|
+
"""
|
71
|
+
raw_data: dict[Any, Any] = query_func(DEFINITION, **kwargs)
|
72
|
+
return ExternalResourcesModulesQueryData(**raw_data)
|