qontract-reconcile 0.10.1rc449__py3-none-any.whl → 0.10.1rc451__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.1rc449
3
+ Version: 0.10.1rc451
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
@@ -563,7 +563,7 @@ reconcile/utils/state.py,sha256=-a3fOnGZnDRcTXw9Hg3QtGdKePGtnmoCkPeCt-5HgbE,1367
563
563
  reconcile/utils/structs.py,sha256=LcbLEg8WxfRqM6nW7NhcWN0YeqF7SQzxOgntmLs1SgY,352
564
564
  reconcile/utils/template.py,sha256=wTvRU4AnAV_o042tD4Mwls2dwWMuk7MKnde3MaCjaYg,331
565
565
  reconcile/utils/terraform_client.py,sha256=qlD7YJjHnxwAvos-9eS40PwzvDfXpt8y00_inNbSbRg,31760
566
- reconcile/utils/terrascript_aws_client.py,sha256=wYchxDASjewg1-sNd4eB_1xhkTLr0irhxj7VQGU2Cnk,260666
566
+ reconcile/utils/terrascript_aws_client.py,sha256=b9h3bK2l_-nDQ34IrKVqI3WPVqz3zrj93tE-d6E2Qnw,261092
567
567
  reconcile/utils/three_way_diff_strategy.py,sha256=xXCWflCzM7KdWuDGzZrv6hZhQJWZ0QGDYoeLLcH-N0c,4470
568
568
  reconcile/utils/throughput.py,sha256=iP4UWAe2LVhDo69mPPmgo9nQ7RxHD6_GS8MZe-aSiuM,344
569
569
  reconcile/utils/unleash.py,sha256=PboEYjJlLws6SbxAqKuv1yBUXQTD1NPkf36NhMQMFmQ,3584
@@ -646,8 +646,8 @@ tools/test/test_app_interface_metrics_exporter.py,sha256=dmEcNwZltP1rd_4DbxIYakO
646
646
  tools/test/test_qontract_cli.py,sha256=awwTHEc2DWlykuqGIYM0WOBoSL0KRnOraCLk3C7izis,1401
647
647
  tools/test/test_sd_app_sre_alert_report.py,sha256=v363r9zM7__0kR5K6mvJoGFcM9BvE33fWAayrqkpojA,2116
648
648
  tools/test/test_sre_checkpoints.py,sha256=SKqPPTl9ua0RFdSSofnoQX-JZE6dFLO3LRhfQzqtfh8,2607
649
- qontract_reconcile-0.10.1rc449.dist-info/METADATA,sha256=E2bO2KPEa-O0CBcDnYqJkEyOOndI0tpzL0CDdBumIDM,2348
650
- qontract_reconcile-0.10.1rc449.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
651
- qontract_reconcile-0.10.1rc449.dist-info/entry_points.txt,sha256=rTjAv28I_CHLM8ID3OPqMI_suoQ9s7tFbim4aYjn9kk,376
652
- qontract_reconcile-0.10.1rc449.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
653
- qontract_reconcile-0.10.1rc449.dist-info/RECORD,,
649
+ qontract_reconcile-0.10.1rc451.dist-info/METADATA,sha256=lZenUyoPN4t7tnYYZMjWDSUB5rfs5ckx40NGP-A6t_o,2348
650
+ qontract_reconcile-0.10.1rc451.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
651
+ qontract_reconcile-0.10.1rc451.dist-info/entry_points.txt,sha256=rTjAv28I_CHLM8ID3OPqMI_suoQ9s7tFbim4aYjn9kk,376
652
+ qontract_reconcile-0.10.1rc451.dist-info/top_level.txt,sha256=l5ISPoXzt0SdR4jVdkfa7RPSKNc8zAHYWAnR-Dw8Ey8,24
653
+ qontract_reconcile-0.10.1rc451.dist-info/RECORD,,
@@ -2854,8 +2854,56 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
2854
2854
  bucket_policy_tf_resource = aws_s3_bucket_policy(identifier, **values)
2855
2855
  tf_resources.append(bucket_policy_tf_resource)
2856
2856
 
2857
- # cloud front distribution
2858
2857
  values = common_values.get("distribution_config", {})
2858
+ # aws_s3_bucket_acl
2859
+ if "logging_config" in values.keys():
2860
+ # we could set this at a global level with a standard name like "cloudfront"
2861
+ # but we need all aws accounts upgraded to aws provider >3.60 first
2862
+ tf_resources.append(
2863
+ aws_cloudfront_log_delivery_canonical_user_id(identifier)
2864
+ )
2865
+
2866
+ logging_config_bucket = values["logging_config"]
2867
+ acl_values = {}
2868
+ access_control_policy = {
2869
+ "owner": {
2870
+ "id": "${data.aws_canonical_user_id.current.id}",
2871
+ },
2872
+ "grant": [
2873
+ {
2874
+ "grantee": {
2875
+ "id": "${data.aws_canonical_user_id.current.id}",
2876
+ "type": "CanonicalUser",
2877
+ },
2878
+ "permission": "FULL_CONTROL",
2879
+ },
2880
+ {
2881
+ "grantee": {
2882
+ # https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership
2883
+ "id": f"${{data.aws_cloudfront_log_delivery_canonical_user_id.{identifier}.id}}",
2884
+ "type": "CanonicalUser",
2885
+ },
2886
+ "permission": "FULL_CONTROL",
2887
+ },
2888
+ ],
2889
+ }
2890
+ external_account_id = logging_config_bucket.pop("external_account_id", None)
2891
+ if external_account_id:
2892
+ external_account_policy = {
2893
+ "grantee": {
2894
+ "id": external_account_id,
2895
+ "type": "CanonicalUser",
2896
+ },
2897
+ "permission": "FULL_CONTROL",
2898
+ }
2899
+ access_control_policy["grant"].append(external_account_policy)
2900
+ acl_values["access_control_policy"] = access_control_policy
2901
+ acl_values["bucket"] = logging_config_bucket.get("bucket").split(".")[0]
2902
+
2903
+ aws_s3_bucket_acl_resource = aws_s3_bucket_acl(identifier, **acl_values)
2904
+ tf_resources.append(aws_s3_bucket_acl_resource)
2905
+
2906
+ # cloud front distribution
2859
2907
  values["tags"] = common_values["tags"]
2860
2908
  values.setdefault("default_cache_behavior", {}).setdefault(
2861
2909
  "target_origin_id", "default"
@@ -2894,45 +2942,6 @@ class TerrascriptClient: # pylint: disable=too-many-public-methods
2894
2942
  )
2895
2943
  tf_resources.append(Output(output_name_0_13, value=output_value))
2896
2944
 
2897
- # aws_s3_bucket_acl
2898
- values = common_values.get("distribution_config", {})
2899
- if "logging_config" in values.keys():
2900
- # we could set this at a global level with a standard name like "cloudfront"
2901
- # but we need all aws accounts upgraded to aws provider >3.60 first
2902
- tf_resources.append(
2903
- aws_cloudfront_log_delivery_canonical_user_id(identifier)
2904
- )
2905
-
2906
- logging_config_bucket = values["logging_config"]
2907
- values = {}
2908
- access_control_policy = {
2909
- "owner": {
2910
- "id": "${data.aws_canonical_user_id.current.id}",
2911
- },
2912
- "grant": [
2913
- {
2914
- "grantee": {
2915
- "id": "${data.aws_canonical_user_id.current.id}",
2916
- "type": "CanonicalUser",
2917
- },
2918
- "permission": "FULL_CONTROL",
2919
- },
2920
- {
2921
- "grantee": {
2922
- # https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership
2923
- "id": f"${{data.aws_cloudfront_log_delivery_canonical_user_id.{identifier}.id}}",
2924
- "type": "CanonicalUser",
2925
- },
2926
- "permission": "FULL_CONTROL",
2927
- },
2928
- ],
2929
- }
2930
- values["access_control_policy"] = access_control_policy
2931
- values["bucket"] = logging_config_bucket.get("bucket").split(".")[0]
2932
-
2933
- aws_s3_bucket_acl_resource = aws_s3_bucket_acl(identifier, **values)
2934
- tf_resources.append(aws_s3_bucket_acl_resource)
2935
-
2936
2945
  self.add_resources(account, tf_resources)
2937
2946
 
2938
2947
  def populate_tf_resource_s3_sqs(self, spec):