Refactors codebase
[osm/MON.git] / osm_mon / plugins / CloudWatch / connection.py
index 5853ae9..98b05aa 100644 (file)
 # contact with: wajeeha.hamid@xflowresearch.com
 ##
 
-'''
+"""
 Connecting with AWS services --CloudWatch/EC2 using Required keys  
-'''
+"""
 
 __author__ = "Wajeeha Hamid"
-__date__   = "18-September-2017"
+__date__ = "18-September-2017"
 
 import os
 
@@ -34,62 +34,61 @@ try:
     import boto.vpc
     import boto.ec2.cloudwatch
     import boto.ec2.connection
-    import logging 
+    import logging
     from boto.ec2.cloudwatch.alarm import MetricAlarm
     from boto.ec2.cloudwatch.dimension import Dimension
     from boto.sns import connect_to_region
     from boto.utils import get_instance_metadata
 
 except:
-    exit("Boto not avialable. Try activating your virtualenv OR `pip install boto`")
+    exit("Boto not available. Try activating your virtualenv OR `pip install boto`")
 
 log = logging.getLogger(__name__)
 
-class Connection():
-    """Connection Establishement with AWS -- VPC/EC2/CloudWatch"""
-#-----------------------------------------------------------------------------------------------------------------------------
-    def setEnvironment(self):  
+
+class Connection:
+    """Connection Establishment with AWS -- VPC/EC2/CloudWatch"""
+
+    def setEnvironment(self):
         try:
-            """Credentials for connecting to AWS-CloudWatch""" 
-            #Reads from the environment variables
+            """Credentials for connecting to AWS-CloudWatch"""
+            # Reads from the environment variables
             self.AWS_KEY = os.environ.get("AWS_ACCESS_KEY_ID")
             self.AWS_SECRET = os.environ.get("AWS_SECRET_ACCESS_KEY")
-            self.AWS_REGION = os.environ.get("AWS_EC2_REGION","us-west-2")
+            self.AWS_REGION = os.environ.get("AWS_EC2_REGION", "us-west-2")
 
-            #TODO Read from the cloudwatch_credentials.txt file
+            # TODO Read from the cloudwatch_credentials.txt file
 
             return self.connection_instance()
         except Exception as e:
-            log.error("AWS Credentials not configured, Try setting the access credentials first %s: ",str(e)) 
-#-----------------------------------------------------------------------------------------------------------------------------
+            log.error("AWS Credentials not configured, Try setting the access credentials first %s: ", str(e))
+
     def connection_instance(self):
-            try:
-                #VPC Connection
-                self.vpc_conn = boto.vpc.connect_to_region(self.AWS_REGION,
-                    aws_access_key_id=self.AWS_KEY,
-                    aws_secret_access_key=self.AWS_SECRET)
-               
-                
-                #EC2 Connection
-                self.ec2_conn = boto.ec2.connect_to_region(self.AWS_REGION,
-                    aws_access_key_id=self.AWS_KEY,
-                    aws_secret_access_key=self.AWS_SECRET)               
-                
-                """ TODO : Required to add actions against alarms when needed """
-                #self.sns = connect_to_region(self.AWS_REGION)
-                #self.topics = self.sns.get_all_topics()
-                #self.topic = self.topics[u'ListTopicsResponse']['ListTopicsResult']['Topics'][0]['TopicArn']
-
-                #Cloudwatch Connection
-                self.cloudwatch_conn = boto.ec2.cloudwatch.connect_to_region(
-                    self.AWS_REGION,
-                    aws_access_key_id=self.AWS_KEY,
-                    aws_secret_access_key=self.AWS_SECRET) 
-                connection_dict = dict()
-                connection_dict['ec2_connection'] = self.ec2_conn
-                connection_dict['cloudwatch_connection'] = self.cloudwatch_conn
-                return connection_dict
-                
-            except Exception as e:
-                log.error("Failed to Connect with AWS %s: ",str(e)) 
+        try:
+            # VPC Connection
+            self.vpc_conn = boto.vpc.connect_to_region(self.AWS_REGION,
+                                                       aws_access_key_id=self.AWS_KEY,
+                                                       aws_secret_access_key=self.AWS_SECRET)
 
+            # EC2 Connection
+            self.ec2_conn = boto.ec2.connect_to_region(self.AWS_REGION,
+                                                       aws_access_key_id=self.AWS_KEY,
+                                                       aws_secret_access_key=self.AWS_SECRET)
+
+            """ TODO : Required to add actions against alarms when needed """
+            # self.sns = connect_to_region(self.AWS_REGION)
+            # self.topics = self.sns.get_all_topics()
+            # self.topic = self.topics[u'ListTopicsResponse']['ListTopicsResult']['Topics'][0]['TopicArn']
+
+            # Cloudwatch Connection
+            self.cloudwatch_conn = boto.ec2.cloudwatch.connect_to_region(
+                self.AWS_REGION,
+                aws_access_key_id=self.AWS_KEY,
+                aws_secret_access_key=self.AWS_SECRET)
+            connection_dict = dict()
+            connection_dict['ec2_connection'] = self.ec2_conn
+            connection_dict['cloudwatch_connection'] = self.cloudwatch_conn
+            return connection_dict
+
+        except Exception as e:
+            log.error("Failed to Connect with AWS %s: ", str(e))