This is an automated email from the ASF dual-hosted git repository.

lfrolov pushed a commit to branch DATALAB-2674
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit e22aaab758b279c4f4ad437b972533bcd39b7883
Author: leonidfrolov <[email protected]>
AuthorDate: Mon Feb 7 16:26:10 2022 +0200

    [DATALAB-2674]: changed how cmek and versioning is enabled for gcp buckets
---
 .../src/general/lib/gcp/actions_lib.py                  | 17 ++++++-----------
 .../src/general/scripts/gcp/common_create_bucket.py     |  4 ++--
 2 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/infrastructure-provisioning/src/general/lib/gcp/actions_lib.py 
b/infrastructure-provisioning/src/general/lib/gcp/actions_lib.py
index 531d6fc..9bec18a 100644
--- a/infrastructure-provisioning/src/general/lib/gcp/actions_lib.py
+++ b/infrastructure-provisioning/src/general/lib/gcp/actions_lib.py
@@ -210,17 +210,9 @@ class GCPActions:
             traceback.print_exc(file=sys.stdout)
 
 
-    def create_bucket(self, bucket_name, versioning_enabled='false', 
cmek_resource_name=''):
+    def create_bucket(self, bucket_name):
         try:
-            bucket_params = {
-                "name": bucket_name,
-                "versioning": {
-                    "enabled": "{}".format(versioning_enabled)
-                }
-            }
-            if cmek_resource_name != '':
-                bucket_params["encryption"] = {"defaultKmsKeyName": 
cmek_resource_name}
-            bucket = self.storage_client.create_bucket(project=self.project, 
body=bucket_params)
+            bucket = self.storage_client.create_bucket(bucket_name)
             print('Bucket {} created.'.format(bucket.name))
         except Exception as err:
             logging.info(
@@ -230,12 +222,15 @@ class GCPActions:
                                    file=sys.stdout)}))
             traceback.print_exc(file=sys.stdout)
 
-    def add_bucket_labels(self, bucket_name, tags):
+    def add_bucket_labels_vers_cmek(self, bucket_name, tags, 
versioning_enabled='false', cmek_resource_name=''):
         try:
             bucket = self.storage_client.get_bucket(bucket_name)
             labels = bucket.labels
             labels.update(tags)
             bucket.labels = labels
+            bucket.versioning = {"enabled": versioning_enabled}
+            if cmek_resource_name != '':
+                bucket.encryption = {"defaultKmsKeyName": cmek_resource_name}
             bucket.patch()
             print('Updated labels on {}.'.format(bucket_name))
         except Exception as err:
diff --git 
a/infrastructure-provisioning/src/general/scripts/gcp/common_create_bucket.py 
b/infrastructure-provisioning/src/general/scripts/gcp/common_create_bucket.py
index 0291dbb..5a49201 100644
--- 
a/infrastructure-provisioning/src/general/scripts/gcp/common_create_bucket.py
+++ 
b/infrastructure-provisioning/src/general/scripts/gcp/common_create_bucket.py
@@ -41,8 +41,8 @@ if __name__ == "__main__":
             logging.info("REQUESTED BUCKET {} ALREADY 
EXISTS".format(args.bucket_name))
         else:
             logging.info("Creating Bucket {}".format(args.bucket_name))
-            GCPActions().create_bucket(args.bucket_name, 
args.versioning_enabled, args.cmek_resource_name)
-            GCPActions().add_bucket_labels(args.bucket_name, 
json.loads(args.tags))
+            GCPActions().create_bucket(args.bucket_name)
+            GCPActions().add_bucket_labels_vers_cmek(args.bucket_name, 
json.loads(args.tags), args.versioning_enabled, args.cmek_resource_name)
     else:
         parser.print_help()
         sys.exit(2)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to