Преглед на файлове

Add tag-based getter/setter for aws firewalls

Closes https://github.com/CloudVE/cloudbridge/issues/70
Enis Afgan преди 7 години
родител
ревизия
f8d0af0c05
променени са 1 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. 13 1
      cloudbridge/cloud/providers/aws/resources.py

+ 13 - 1
cloudbridge/cloud/providers/aws/resources.py

@@ -577,7 +577,19 @@ class AWSVMFirewall(BaseVMFirewall):
 
     @property
     def name(self):
-        return self._vm_firewall.group_name
+        try:
+            name = find_tag_value(self._vm_firewall.tags, 'Name')
+            if not name:  # Return group_name (which cannot be changed)
+                name = self._vm_firewall.group_name
+            return name
+        except ClientError:
+            return self._vm_firewall.group_name
+
+    @name.setter
+    # pylint:disable=arguments-differ
+    def name(self, value):
+        self.assert_valid_resource_name(value)
+        self._vm_firewall.create_tags(Tags=[{'Key': 'Name', 'Value': value}])
 
     @property
     def network_id(self):