qontract-reconcile 0.10.2.dev8__py3-none-any.whl → 0.10.2.dev10__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.dev8
3
+ Version: 0.10.2.dev10
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
@@ -215,7 +215,7 @@ reconcile/glitchtip_project_alerts/integration.py,sha256=9faPhmSu5scZ3K3H2IOH31_
215
215
  reconcile/glitchtip_project_dsn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
216
  reconcile/glitchtip_project_dsn/integration.py,sha256=2iugub-kHYkHNK33n0v9_TeWonuxCPah_VkoTPvaajE,8077
217
217
  reconcile/gql_definitions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
218
- reconcile/gql_definitions/introspection.json,sha256=_tF-lsViLqXOEGKw-asMqRV94XhmFHuaTxqovWq87gw,2215501
218
+ reconcile/gql_definitions/introspection.json,sha256=mlhbQShB7_Xp3xgrT9dzZZaf155i2fkR79gzUsfEGME,2215125
219
219
  reconcile/gql_definitions/acs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
220
  reconcile/gql_definitions/acs/acs_instances.py,sha256=L91WW9LbhJbBSrECqShQpFtjoBOsmNIYLRpMbx1io5o,2181
221
221
  reconcile/gql_definitions/acs/acs_policies.py,sha256=bN5i4mks10Z23KJSj7jqp966Osq2dps4d-sPH9gjxEA,7008
@@ -402,7 +402,7 @@ reconcile/gql_definitions/terraform_cloudflare_users/terraform_cloudflare_roles.
402
402
  reconcile/gql_definitions/terraform_init/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
403
403
  reconcile/gql_definitions/terraform_init/aws_accounts.py,sha256=OJ0hDbRachRaDkL-OGT6-byr9cKdBiQDnNCpwUe3oJ8,2674
404
404
  reconcile/gql_definitions/terraform_repo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
405
- reconcile/gql_definitions/terraform_repo/terraform_repo.py,sha256=Eb6vb-nBIZMAiIbjTcDTH-eNv3831bvZAIgM6E287Hw,3861
405
+ reconcile/gql_definitions/terraform_repo/terraform_repo.py,sha256=9cDKdP9ziBh9J_mw2Gi6GUOP4mFxMABY_D62qSeMtJI,3881
406
406
  reconcile/gql_definitions/terraform_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
407
  reconcile/gql_definitions/terraform_resources/database_access_manager.py,sha256=yv0_YC-LmhaKD_gyGG3le1w5BtypBjlsO894-Zgdg4U,4813
408
408
  reconcile/gql_definitions/terraform_resources/terraform_resources_namespaces.py,sha256=_man82NXH9Jw7OvgDiQCKiLDG6Q7aV_ktOAi12QCXbI,42793
@@ -739,7 +739,7 @@ tools/app_interface_metrics_exporter.py,sha256=f1qwTmQfEcs98uBVRyBa0k7GQXdiSwd7w
739
739
  tools/app_interface_reporter.py,sha256=oZPib4HPq0aZ2Zui1QGJGk6qQdfpeihujGDBnSdKyGE,17627
740
740
  tools/glitchtip_access_reporter.py,sha256=oPBnk_YoDuljU3v0FaChzOwwnk4vap1xEE67QEjzdqs,2948
741
741
  tools/glitchtip_access_revalidation.py,sha256=8kbBJk04mkq28kWoRDDkfCGIF3GRg3pJrFAh1sW0dbk,2821
742
- tools/qontract_cli.py,sha256=f64mkGqv7WfZa-HvhiMe_Cig3XjOUdzwCm-MBG3DqCs,143755
742
+ tools/qontract_cli.py,sha256=0xR_PhqrgtLr2yCdblGBlojtCPSX8qdhnW1XE4IVQ-4,144009
743
743
  tools/sd_app_sre_alert_report.py,sha256=e9vAdyenUz2f5c8-z-5WY0wv-SJ9aePKDH2r4IwB6pc,5063
744
744
  tools/template_validation.py,sha256=qpKYaTgk0GOPGa2Ct5_5sKdwIHtCAKIBGzsMPuJU5fw,3371
745
745
  tools/cli_commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -748,11 +748,11 @@ tools/cli_commands/erv2.py,sha256=pWjd6yBhzakB1Lz4DUaESTbzEIO9-Njc7p7k_gvZj1U,22
748
748
  tools/cli_commands/gpg_encrypt.py,sha256=x02JOMn834z89YSNvr5B-oJky7rR1C0begCkPh45eHk,4958
749
749
  tools/cli_commands/systems_and_tools.py,sha256=EMHOF1AtUDaoSk0bbjl6oUKYAz4rTZjIBaF-6E6GspM,16816
750
750
  tools/cli_commands/cost_report/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
751
- tools/cli_commands/cost_report/aws.py,sha256=QKpzQ12Ysyo8CaKq-RNc4K434qDXqFAjzb0gXWnrT34,4521
751
+ tools/cli_commands/cost_report/aws.py,sha256=JtwDfhaYLfa4Uz1LR6OfSBh_3nBlb90kQq6i3MV_ims,4563
752
752
  tools/cli_commands/cost_report/cost_management_api.py,sha256=UZVD1P755gRqKSln5gn1vBiwi9BAhpx5mQuMKEDfI3o,4671
753
753
  tools/cli_commands/cost_report/model.py,sha256=7W6mi8p_hRn8z5YyRCEoDionGHM3RXL7ItDWqQXaCMg,1082
754
- tools/cli_commands/cost_report/openshift.py,sha256=5qad9bG8EmNNrw5kTmFBuRk1pApn9xiYboQ6aK6LYq0,5503
755
- tools/cli_commands/cost_report/openshift_cost_optimization.py,sha256=lpdqnhQGXaPuL19IxchvFvM8DPz0xB6vg_fXJAopkGQ,6711
754
+ tools/cli_commands/cost_report/openshift.py,sha256=cV1k3BIY_XcSSgiATPwVNDWnIUF6m2GMdCCVah3LxGg,5545
755
+ tools/cli_commands/cost_report/openshift_cost_optimization.py,sha256=2mmfOVQWQzu3SSWDZdvoC5NC_GhV-OqDZqlaB7m59KU,6753
756
756
  tools/cli_commands/cost_report/response.py,sha256=l5fVNMg8zzoNWm8LquYJsWM3VqxABBG8KT_qN0L3P6c,2689
757
757
  tools/cli_commands/cost_report/util.py,sha256=lKSWjjUfDzMfSSTbFqc4Ln8JfzlWiW8kR2i51VJbEnc,2497
758
758
  tools/cli_commands/cost_report/view.py,sha256=2uNO_fWIUydEL2kQXV959crRkHqzjp9c1OrefXNiJ5s,14033
@@ -766,7 +766,7 @@ tools/saas_promotion_state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
766
766
  tools/saas_promotion_state/saas_promotion_state.py,sha256=5LJ9rygZ304vxfsIuRfuxueoYRb72EZNKKITEcJ4Mtk,3908
767
767
  tools/sre_checkpoints/__init__.py,sha256=CDaDaywJnmRCLyl_NCcvxi-Zc0hTi_3OdwKiFOyS39I,145
768
768
  tools/sre_checkpoints/util.py,sha256=zEDbGr18ZeHNQwW8pUsr2JRjuXIPz--WAGJxZo9sv_Y,894
769
- qontract_reconcile-0.10.2.dev8.dist-info/METADATA,sha256=Q7bA9-IZt-P1nmshnv22D4iHqrAq7N03KD5__iEgMyA,24664
770
- qontract_reconcile-0.10.2.dev8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
771
- qontract_reconcile-0.10.2.dev8.dist-info/entry_points.txt,sha256=JniHZPadNOILPyfSl0LF2YSp3Db7K2_W2CN7i9f3Gos,540
772
- qontract_reconcile-0.10.2.dev8.dist-info/RECORD,,
769
+ qontract_reconcile-0.10.2.dev10.dist-info/METADATA,sha256=La8J_79sKGDY6o_5VGgejGYryBVNCjNdaRwYOhQzrAQ,24665
770
+ qontract_reconcile-0.10.2.dev10.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
771
+ qontract_reconcile-0.10.2.dev10.dist-info/entry_points.txt,sha256=JniHZPadNOILPyfSl0LF2YSp3Db7K2_W2CN7i9f3Gos,540
772
+ qontract_reconcile-0.10.2.dev10.dist-info/RECORD,,
@@ -32452,13 +32452,9 @@
32452
32452
  "description": null,
32453
32453
  "args": [],
32454
32454
  "type": {
32455
- "kind": "NON_NULL",
32456
- "name": null,
32457
- "ofType": {
32458
- "kind": "OBJECT",
32459
- "name": "VaultSecret_v1",
32460
- "ofType": null
32461
- }
32455
+ "kind": "OBJECT",
32456
+ "name": "VaultSecret_v1",
32457
+ "ofType": null
32462
32458
  },
32463
32459
  "isDeprecated": false,
32464
32460
  "deprecationReason": null
@@ -32468,13 +32464,9 @@
32468
32464
  "description": null,
32469
32465
  "args": [],
32470
32466
  "type": {
32471
- "kind": "NON_NULL",
32472
- "name": null,
32473
- "ofType": {
32474
- "kind": "OBJECT",
32475
- "name": "VaultSecret_v1",
32476
- "ofType": null
32477
- }
32467
+ "kind": "OBJECT",
32468
+ "name": "VaultSecret_v1",
32469
+ "ofType": null
32478
32470
  },
32479
32471
  "isDeprecated": false,
32480
32472
  "deprecationReason": null
@@ -100,8 +100,8 @@ class AppV1(ConfiguredBaseModel):
100
100
 
101
101
 
102
102
  class TerraformRepoVariablesV1(ConfiguredBaseModel):
103
- inputs: VaultSecret = Field(..., alias="inputs")
104
- outputs: VaultSecret = Field(..., alias="outputs")
103
+ inputs: Optional[VaultSecret] = Field(..., alias="inputs")
104
+ outputs: Optional[VaultSecret] = Field(..., alias="outputs")
105
105
 
106
106
 
107
107
  class TerraformRepoV1(ConfiguredBaseModel):
@@ -125,7 +125,7 @@ class AwsCostReportCommand:
125
125
  )
126
126
 
127
127
  @classmethod
128
- def create(cls) -> Self:
128
+ def create(cls, thread_pool_size: int = THREAD_POOL_SIZE) -> Self:
129
129
  gql_api = gql.get_api()
130
130
  secret = fetch_cost_report_secret(gql_api)
131
131
  cost_management_api = CostManagementApi.create_from_secret(secret)
@@ -133,5 +133,5 @@ class AwsCostReportCommand:
133
133
  gql_api=gql_api,
134
134
  cost_management_api=cost_management_api,
135
135
  cost_management_console_base_url=secret["console_base_url"],
136
- thread_pool_size=THREAD_POOL_SIZE,
136
+ thread_pool_size=thread_pool_size,
137
137
  )
@@ -155,12 +155,12 @@ class OpenShiftCostReportCommand:
155
155
  )
156
156
 
157
157
  @classmethod
158
- def create(cls) -> Self:
158
+ def create(cls, thread_pool_size: int = THREAD_POOL_SIZE) -> Self:
159
159
  gql_api = gql.get_api()
160
160
  secret = fetch_cost_report_secret(gql_api)
161
161
  cost_management_api = CostManagementApi.create_from_secret(secret)
162
162
  return cls(
163
163
  gql_api=gql_api,
164
164
  cost_management_api=cost_management_api,
165
- thread_pool_size=THREAD_POOL_SIZE,
165
+ thread_pool_size=thread_pool_size,
166
166
  )
@@ -176,12 +176,12 @@ class OpenShiftCostOptimizationReportCommand:
176
176
  return f"{round(response.amount)}{response.format}"
177
177
 
178
178
  @classmethod
179
- def create(cls) -> Self:
179
+ def create(cls, thread_pool_size: int = THREAD_POOL_SIZE) -> Self:
180
180
  gql_api = gql.get_api()
181
181
  secret = fetch_cost_report_secret(gql_api)
182
182
  cost_management_api = CostManagementApi.create_from_secret(secret)
183
183
  return cls(
184
184
  gql_api=gql_api,
185
185
  cost_management_api=cost_management_api,
186
- thread_pool_size=THREAD_POOL_SIZE,
186
+ thread_pool_size=thread_pool_size,
187
187
  )
tools/qontract_cli.py CHANGED
@@ -2771,22 +2771,27 @@ def alerts(ctx, file_path):
2771
2771
 
2772
2772
  @get.command()
2773
2773
  @click.pass_context
2774
- def aws_cost_report(ctx):
2775
- command = AwsCostReportCommand.create()
2774
+ @thread_pool_size(default=5)
2775
+ def aws_cost_report(ctx, thread_pool_size):
2776
+ command = AwsCostReportCommand.create(thread_pool_size=thread_pool_size)
2776
2777
  print(command.execute())
2777
2778
 
2778
2779
 
2779
2780
  @get.command()
2780
2781
  @click.pass_context
2781
- def openshift_cost_report(ctx):
2782
- command = OpenShiftCostReportCommand.create()
2782
+ @thread_pool_size(default=5)
2783
+ def openshift_cost_report(ctx, thread_pool_size):
2784
+ command = OpenShiftCostReportCommand.create(thread_pool_size=thread_pool_size)
2783
2785
  print(command.execute())
2784
2786
 
2785
2787
 
2786
2788
  @get.command()
2787
2789
  @click.pass_context
2788
- def openshift_cost_optimization_report(ctx):
2789
- command = OpenShiftCostOptimizationReportCommand.create()
2790
+ @thread_pool_size(default=5)
2791
+ def openshift_cost_optimization_report(ctx, thread_pool_size):
2792
+ command = OpenShiftCostOptimizationReportCommand.create(
2793
+ thread_pool_size=thread_pool_size
2794
+ )
2790
2795
  print(command.execute())
2791
2796
 
2792
2797