Index: /branches/rel_apv_10_7_3/usr/click/bin/backend/sys_cmd.c
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/bin/backend/sys_cmd.c	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/bin/backend/sys_cmd.c	(working copy)
@@ -3520,9 +3520,9 @@
         path[strcspn(path, "\n")] = 0;
 
         // Check if the output is "True"
-        if (strcmp(path, "True\n") == 0 || strcmp(path, "True") == 0) {
+        if (strcmp(path, "True") == 0) {
             printf("az log on");
-        } else if (strcmp(path, "False\n") == 0 || strcmp(path, "False") == 0) {
+        } else if (strcmp(path, "False") == 0) {
 			printf("az log off");
         } else {
 			exit(1);
@@ -4172,6 +4172,41 @@
     pclose(fp);
 }
 
+char *
+write_aws_ha_config(char *segment)
+{
+	char config[1024];
+	char *result_config;
+	FILE *fp;
+	char process_stdout[1035];
+	char cmd[1024];
+
+	snprintf(cmd, 1024, "python3 /ca/bin/aws/AWSFailoverPoller.py -mode status");
+	fp = popen(cmd, "r");
+	if (fp == NULL) {
+        printf("Failed to run command\n" );
+        exit(1);
+    }
+    while (fgets(process_stdout, sizeof(process_stdout)-1, fp) != NULL) {
+        process_stdout[strcspn(process_stdout, "\n")] = 0;
+
+        // Check if the output is "True"
+        if (strcmp(process_stdout, "True") == 0) {
+            snprintf(config, sizeof(config), "cloud aws ha enable\n");
+        } else if (strcmp(process_stdout, "False") == 0) {
+			snprintf(config, sizeof(config), "cloud aws ha disable\n");
+        } else {
+			exit(1);
+		}
+    }
+	fclose(fp);
+
+	int len = strlen(config) + 1;
+	result_config = malloc(len);
+	snprintf(result_config, len, "%s", config);
+
+	return result_config;
+}
 // AWS CLOUD FUNCTION END
 
 int
Index: /branches/rel_apv_10_7_3/usr/click/bin/backend/sys_tool.c
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/bin/backend/sys_tool.c	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/bin/backend/sys_tool.c	(working copy)
@@ -1210,6 +1210,14 @@
 		"#prometheus configuration" 
 	},
 
+	/* TWSD-59 , start */
+	{
+		write_aws_ha_config,
+		CMD_NORMAL|CMD_ARRAYOS|CMD_SPROXY|CMD_GLOBAL,
+		"#aws poller enable configuration"
+	},
+	/* TWSD-59 , end */
+
 	/*last entry is empty*/
     {
 	NULL,          
@@ -2080,7 +2088,7 @@
 	},
 	{
 		clear_prometheus_config,
-		CMD_NORMAL|CMD_ARRAYOS|CMD_SPROXY|CMD_GLOBAL 
+		CMD_NORMAL|CMD_ARRAYOS|CMD_SPROXY|CMD_GLOBAL
 	},
 	/*last entry is empty*/ 
 	{ 
Index: /branches/rel_apv_10_7_3/usr/click/lib/libcaui/ca_ui.h
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/lib/libcaui/ca_ui.h	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/lib/libcaui/ca_ui.h	(working copy)
@@ -648,4 +648,7 @@
 extern char *write_prometheus_config(char *segment);
 extern int clear_prometheus_config();
 
+/* aws tool configuration */
+extern char *write_aws_ha_config(char *segment);
+
 #endif /* _CA_UI_H_ */
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSAuthManager.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSAuthManager.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSAuthManager.py	(working copy)
@@ -1,19 +1,31 @@
 import argparse
+
 from aws_auth.AWSAuthController import AWSAuthController
 from logger.ProxyAWSLogger import ProxyAWSLogger
 
 
 class AWSAuthManager():
-    '''
-    A class that uses AWSAuthController do the task.
-    The facade design pattern.
+    """
+    A class that uses AWSAuthController to handle AWS authentication tasks.
+    Implements the facade design pattern.
+    """
 
-    '''
     def __init__():
         pass
 
     @classmethod
     def login(cls, access_key: str, secret_key: str, region: str):
+        """
+        Logs in to AWS using provided credentials.
+
+        Args:
+            access_key (str): AWS access key ID.
+            secret_key (str): AWS secret access key.
+            region (str): The AWS region to use.
+
+        Returns:
+            None
+        """
         AWSAuthController.login(access_key=access_key,
                                 secret_key=secret_key,
                                 region=region)
@@ -24,6 +36,15 @@
 
     @classmethod
     def logout(cls):
+        """
+        Logs out from AWS.
+
+        Args:
+            None
+
+        Returns:
+            None
+        """
         log_in_info = AWSAuthController.get_login_info()
         try:
             AWSAuthController.logout()
@@ -34,6 +55,15 @@
 
     @classmethod
     def show(cls):
+        """
+        Displays the current AWS login information.
+
+        Args:
+            None
+
+        Returns:
+            None
+        """
         try:
             log_in_info = AWSAuthController.get_login_info()
             ProxyAWSLogger.info(f"show log in information with access key: "
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSConfigManager.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSConfigManager.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSConfigManager.py	(working copy)
@@ -1,4 +1,5 @@
 import argparse
+
 from logger.ProxyAWSLogger import ProxyAWSLogger
 from aws_eni.AWSENIConfigurator import AWSENIConfigurator
 
@@ -9,7 +10,7 @@
 
     @classmethod
     def add_eni_config(cls, src_eni_id: str, dest_eni_id: str) -> None:
-        '''
+        """
         This is used to add a pair of ENIs to configuration.
 
         Args:
@@ -18,7 +19,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
         try:
             AWSENIConfigurator.add_eni_config(src_eni_id, dest_eni_id)
             ProxyAWSLogger.info(f"Successfully add pair "
@@ -28,7 +29,7 @@
 
     @classmethod
     def show_eni_config(cls) -> None:
-        '''
+        """
         Print all ENI configuration with json format
 
         Args:
@@ -36,7 +37,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
         try:
             config = AWSENIConfigurator.get_config()
             print(config)
@@ -46,7 +47,7 @@
 
     @classmethod
     def remove_eni_config(cls, index: str) -> None:
-        '''
+        """
         Remove ENI configuration according to given index.
 
         Args:
@@ -54,7 +55,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
         try:
             AWSENIConfigurator.remove_eni_config(index)
             ProxyAWSLogger.info(f"Successfully remove "
@@ -65,7 +66,7 @@
 
     @classmethod
     def clear_eni_config(cls) -> None:
-        '''
+        """
         Remove all ENI configurations
 
         Args:
@@ -73,7 +74,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
         try:
             AWSENIConfigurator.clear_eni_config()
             ProxyAWSLogger.info(f"Successfully clear "
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSENIManager.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSENIManager.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSENIManager.py	(working copy)
@@ -1,4 +1,5 @@
 import argparse
+
 from logger.ProxyAWSLogger import ProxyAWSLogger
 from aws_eni.AWSENIController import AWSENIController
 from aws_eni.AWSENIConfigurator import AWSENIConfigurator
@@ -6,10 +7,10 @@
 
 
 class AWSENIManager():
-    '''
+    """
     This class is used to manually trigger the tasks when the
     failover happens and recover back to the original state.
-    '''
+    """
 
     def __init__(self):
         pass
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSFailoverPoller.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSFailoverPoller.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/AWSFailoverPoller.py	(working copy)
@@ -1,8 +1,10 @@
 import os
 import time
 from datetime import datetime
-import psutil
 import argparse
+
+import psutil
+
 from logger.ProxyAWSLogger import ProxyAWSLogger
 from apv_controller.APVController import APVController
 from aws_eni.AWSENIConfigurator import AWSENIConfigurator
@@ -10,11 +12,22 @@
 
 
 class AWSFailoverPoller():
+    """Handles failover polling for AWS infrastructure."""
+
     def __init__(self):
         pass
 
     @classmethod
-    def start(cls):
+    def start(cls) -> None:
+        """
+        Stops the polling by killing the poller process.
+
+        Args:
+            None
+
+        Returns:
+            None
+        """
         in_failover = False
         polling_period = 2  # seconds
         apv_c = APVController()
@@ -57,7 +70,7 @@
                 in_failover = False
 
     @classmethod
-    def stop(cls):
+    def stop(cls) -> None:
         '''kill poller that is another running process by its filename,
         a.k.a. this file name.'''
         # get this module name (filename)
@@ -65,7 +78,7 @@
         cls.kill_poller(module_name)
 
     @classmethod
-    def kill_poller(self, process_name):
+    def kill_poller(cls, process_name) -> None:
         '''This method will kill all the process with the same
         name of process_name.'''
         for proc in psutil.process_iter(['pid', 'cmdline']):
@@ -76,20 +89,18 @@
                         proc.kill()
                         ProxyAWSLogger.info("kill process_name")
 
-    @classmethod
-    def stop(self):
-        '''kill poller that is another running process by its filename,
-        a.k.a. this file name.'''
-        # get this module name (filename)
-        module_name = os.path.basename(__file__)
-        self.kill_poller(module_name)
 
     @classmethod
-    def is_poller_running(self, this_mode) -> bool:
-        '''This method is used to determine if the poller is running or not.
-        return True if it is running
-        return False if it isn't running
-        '''
+    def is_poller_running(cls, this_mode) -> bool:
+        """
+        Checks if the poller is currently running.
+
+        Args:
+            this_mode (str): The current mode passed to the function to determine if polling is active.
+
+        Returns:
+            bool: Returns True if the poller is running, False otherwise.
+        """
         module_name = os.path.basename(__file__)
         for proc in psutil.process_iter(['pid', 'cmdline']):
             # print(module_name, proc.info, os.getpid())
@@ -102,15 +113,22 @@
 
 
 if __name__ == "__main__":
+    description = (
+        """
+        This script manages the polling functionality for HA failover:
+        - enable: Starts the polling process.
+        - disable: Stops the polling process.
+        - status: Checks if the polling process is running
+        """
+    )
     choices = ["enable", "disable", "status"]
     parser = argparse.ArgumentParser(
-        description='This API is used to turn on and off the polling \
-        functionality of HA')
+        description=description)
     parser.add_argument(
         '-mode',
         type=str,
         choices=choices,
-        help='Enter [enable], [disable], or [status] to manipulate poller.'
+        help='Enter [enable], [disable], or [status] to control poller.'
     )
     args = parser.parse_args()
     if args.mode == "enable":
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/LoggerManager.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/LoggerManager.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/LoggerManager.py	(working copy)
@@ -1,31 +1,40 @@
 import argparse
+
 from logger.ProxyAWSLogger import ProxyAWSLogger
 
 
 class LoggerManager():
+    """Manages logging functionality using ProxyAWSLogger."""
+
+
     def __init__():
         pass
 
     @classmethod
     def turn_on_logger(cls) -> None:
+        """Turns on the logger."""
         ProxyAWSLogger.debug("Turn on log functionality.")
         ProxyAWSLogger.turn_on()
 
     @classmethod
     def turn_off_logger(cls) -> None:
+        """Turns off the logger."""
         ProxyAWSLogger.debug("Turn off log functionality.")
         ProxyAWSLogger.turn_off()
 
     @classmethod
     def check_Logger_state(cls) -> bool:
+        """Checks if the logger is on."""
         return ProxyAWSLogger.get_is_logger_on()
 
     @classmethod
     def check_Logger_level_state(cls) -> str:
+        """Checks the current log level state."""
         return ProxyAWSLogger.get_Logger_level_state()
 
     @classmethod
     def get_log(cls, number_of_line: int = None) -> str:
+        """Retrieves log messages."""
         res = ProxyAWSLogger.get_log()
         return res
 
@@ -37,17 +46,21 @@
     @classmethod
     def get_log_file_path(cls) -> str:
         log_file_path = ProxyAWSLogger.get_log_file_path()
-        ProxyAWSLogger.info("get log file path: "+log_file_path)
+        ProxyAWSLogger.info("get log file path")
         return log_file_path
 
 
 if __name__ == '__main__':
-    description = '''
-    This API is used to
-    1. manipulate the mode(on or off) of the functionality.
-    2. dump the log message.
-    3. check current logger status
-    4. set the log severity and show log severity'''
+    description = (
+        """
+        This API is used to:
+        1. Manipulate the mode (on or off) of the functionality.
+        2. Dump the log message.
+        3. Check current logger status.
+        4. Set the log severity and show log severity.
+        """
+    )
+
     parser = argparse.ArgumentParser(description=description)
     parser.add_argument('-mode', type=str, choices=["on", "off", "show", "status",
                         "getlogpath"], help='Enter [on], [off], [getlogpath], or [show]')
@@ -67,8 +80,7 @@
     elif args.mode == "off":
         LoggerManager.turn_off_logger()
     elif args.mode == "show":
-        log = LoggerManager.get_log()
-        print(log)
+        print(LoggerManager.get_log())
     elif args.mode == "status":
         print(LoggerManager.check_Logger_state())
     elif args.mode == "getlogpath":
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/apv_controller/APVCommander.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/apv_controller/APVCommander.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/apv_controller/APVCommander.py	(working copy)
@@ -6,18 +6,18 @@
         pass
 
     def launch_apv_command(self, apv_command: str):
-        '''
+        """
         /ca/bin/backend -c "show version"`echo -e "\\0374"`
         template:
         /ca/bin/backend -c "APV_COMMAND"`echo -e "\\0374"`
         example:
         /ca/bin/backend -c "show ha status domain"`echo -e "\\0374"`
         /ca/bin/backend -c "show version"`echo -e "\\0374"`
-        '''
+        """
         return self.exec_cli_show(apv_command)
 
     def exec_cli_show(self, cmd):
-        '''this function is from the Tim'''
+        """this function is from the Tim"""
         cmd = "/ca/bin/backend -c \"{}\"`echo -e \"\\0374\"`".format(cmd)
         # cmd = "/ca/bin/backend -c \"show version\"`echo -e \"\\0374\"`"
         try:
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/apv_controller/APVController.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/apv_controller/APVController.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/apv_controller/APVController.py	(working copy)
@@ -1,47 +1,86 @@
 import re
 from collections import deque
 import argparse
+
 from apv_controller.APVCommander import APVCommander
+from logger.ProxyAWSLogger import ProxyAWSLogger
 
 
 class APVController():
     def __init__(self) -> None:
+        """
+        Initializes the APVController object and retrieves the APV name.
+
+        Args:
+            None
+
+        Returns:
+            None
+        """
         self.name = self.get_apv_name()
         peer_state_q_max_len = 3  # workaround
         self.peer_state_q: deque = deque(maxlen=peer_state_q_max_len)
 
-    def get_apv_version():
+    def get_apv_version(self) -> str:
+        """
+        Retrieves the version of the APV.
+
+        Args:
+            None
+
+        Returns:
+            str: The version string of the APV.
+        """
         commander = APVCommander()
         res = commander.launch_apv_command("show version")
         return res
 
     def get_apv_name(self) -> str:
-        ''' get APV name in HA.
-        Algo:
-        step1. Use 'show ha status domain' Array CLI to get the context.
-        step2. The local unit is the name of this APV.
-        '''
+        """
+        Retrieves the APV's name in High Availability (HA) mode.
+
+        The method queries the system's HA status to extract the local APV's name.
+
+        Args:
+            None
+
+        Returns:
+            str: The APV name.
+
+        Raises:
+            Exception: If the APV name cannot be determined.
+        """
         if hasattr(self, 'name'):
             return self.name
         commander = APVCommander()
         context = commander.launch_apv_command("show ha status domain")
-        pattern = 'Local[\s]+unit:[\s]+(.+)\s(UP|DOWN)\s*'
+        pattern = 'Local[\s]+unit:[\s]+(.+)\s(UP|DOWN|NETWORK_LOGIN)\s*'
 
         name_list = re.findall(pattern, context)
         if not name_list:
             error_msg = "Error: cannot find APV name in "+context
+            ProxyAWSLogger.debug(error_msg)
             raise Exception(error_msg)
         return name_list[0][0].strip()
 
     def is_primary(self) -> bool:
-        '''Check if this APV is primary.
+        """Check if this APV is primary.
         Algo:
         The highiest proirity is primary. Check if this APV name is the same with the name of APV that is highiest priority.
         step1. Use "show ha config" APV command.
         step2. Parse it by regrex to get ha group prioirty
         step3. Sort it by prioirty
         step4. Check if this APV name is same with the name of APV that is highiest priority.
-        '''
+
+        Args:
+            None
+
+        Returns:
+            bool: True if this APV is primary, False otherwise.
+
+        Raises:
+            Exception: If the APV's HA configuration cannot be retrieved or parsed.
+        """
         self.name = self.get_apv_name()
         commander = APVCommander()
         context = commander.launch_apv_command("show ha config")
@@ -63,20 +102,29 @@
         return self.name == sorted_group_priority_list[-1][0]
 
     def is_primary_alive(self) -> bool:
-        '''This function is to check if the primary APV is alive or not.
+        """
+        This function is to check if the primary APV is alive or not.
+        Only if ha status is DOWN, the return value will be false, aka primary is down
         return True: primary APV is alive, do nothing
         return False: Primary APV is not alive.
         This must be called in secondary APV.
         Algo:
         step1. Use APV CLI "show ha status domain to check if peer(primary APV) is UP or DOWN".
         step2. if peer(primary APV) is "DOWN", it means primary is dead, aka not alive.
-        '''
+
+        Args:
+            None
+
+        Returns:
+            bool: True if the primary APV is alive, False otherwise.
+
+        Raises:
+            Exception: If the peer's status cannot be retrieved or parsed.
+        """
         commander = APVCommander()
         context = commander.launch_apv_command("show ha status domain")
-        print(context)
-        pattern = 'Peer[\s]+unit:[\s]+(.+)\s(UP|DOWN)\s*'
+        pattern = 'Peer[\s]+unit:[\s]+(.+)\s(UP|DOWN|NETWORK_LOGIN)\s*'
         peer_up_or_down_list = re.findall(pattern, context)
-        print(peer_up_or_down_list)
 
         if not peer_up_or_down_list:
             error_msg = "Error: cannot parse peer status in " + context
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_auth/AWSAuthController.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_auth/AWSAuthController.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_auth/AWSAuthController.py	(working copy)
@@ -1,16 +1,18 @@
 import subprocess
+
 import boto3
 from botocore.exceptions import NoCredentialsError
+
 from logger.ProxyAWSLogger import ProxyAWSLogger
 
 
 class AWSAuthController():
-    '''
+    """
     A class to handle aws authentication for vAPV
 
     Attributes:
         output_format(str): The output format is default to json.
-    '''
+    """
     output_format = 'json'
 
     def __init__() -> None:
@@ -18,7 +20,7 @@
 
     @classmethod
     def login(cls, access_key: str, secret_key: str, region: str) -> None:
-        '''
+        """
         Authenticate using aws configure AWS CLI
 
         Args:
@@ -28,7 +30,7 @@
 
         Returns:
             None:
-        '''
+        """
         command = ["aws", "configure"]
         try:
             subprocess.run(
@@ -45,7 +47,7 @@
 
     @classmethod
     def logout(cls) -> None:
-        '''
+        """
         Clear credential by setting all configuration to none.
 
         Args:
@@ -53,7 +55,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
         print("logout")
         try:
             subprocess.run(
@@ -74,14 +76,14 @@
 
     @classmethod
     def get_login_info(cls) -> dict:
-        '''
+        """
         Get the current log in information.
 
         Args:
             None: This function does not take any arguments.
         Returns:
             str: The dictionary of current log in information.
-        '''
+        """
         res = {
             "aws_access_key_id": None,
             "aws_secret_access_key": None,
@@ -109,24 +111,24 @@
 
     @classmethod
     def _mask_credential(cls, text: str) -> str:
-        '''
+        """
         For security issue, mask the input text.
 
         Returns:
             str: a masked string of input text.
-        '''
+        """
         number_show_char = 4
         starts = "*"*7
         return starts+text[-number_show_char:]
 
     @classmethod
     def is_authenticated(cls) -> bool:
-        '''
+        """
         Try a simple ec2 API call (describe instances) to test if the credentials are working
 
         Returns:
             bool: is authenticated
-        '''
+        """
         try:
             ec2 = boto3.client('ec2')
             ec2.describe_instances()
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_eni/AWSENIConfigurator.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_eni/AWSENIConfigurator.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_eni/AWSENIConfigurator.py	(working copy)
@@ -3,11 +3,11 @@
 
 
 class AWSENIConfigurator():
-    '''
+    """
     This is a class to handle the configuration of shifting.
     Basically, configuration should include source eni id and
     destination eni id.
-    '''
+    """
     config_file_path = "/ca/conf/aws_eni_config.json"
     max_number_of_conifg = 200
 
@@ -16,9 +16,9 @@
 
     @classmethod
     def get_config(cls) -> dict:
-        '''
+        """
         Read the config file based on config_file_path and return it
-        '''
+        """
         config_dict = {}
         if os.path.exists(cls.config_file_path):
             with open(cls.config_file_path, 'r') as f:
@@ -37,14 +37,14 @@
 
     @classmethod
     def add_eni_config(cls, src_eni_id: str, dest_eni_id: str) -> None:
-        '''
+        """
         Add a pair of eni configuration.
 
         Args:
             src_eni_id(str): The eni id of source eni
             dest_eni_id(str): The eni id of destination eni
 
-        '''
+        """
         ip_config_dict = cls.get_config()
         for i in range(1, cls.max_number_of_conifg+1):
             if str(i) not in ip_config_dict:
@@ -57,7 +57,7 @@
 
     @classmethod
     def remove_eni_config(cls, index: str) -> None:
-        '''
+        """
         Remove ENI configuration according to given index.
 
         Args:
@@ -65,7 +65,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
 
         config = cls.get_config()
         del config[index]
@@ -73,7 +73,7 @@
 
     @classmethod
     def clear_eni_config(cls) -> None:
-        '''
+        """
         Remove ENI configuration according to given index.
 
         Args:
@@ -81,7 +81,7 @@
 
         Returns:
             None: This function does not return any value.
-        '''
+        """
 
         cls._save_config({})
 
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_eni/AWSENIController.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_eni/AWSENIController.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/aws_eni/AWSENIController.py	(working copy)
@@ -1,24 +1,25 @@
 import boto3
 from botocore.exceptions import ClientError
+
 from logger.ProxyAWSLogger import ProxyAWSLogger
 
 
 class AWSENIController():
-    '''
+    """
     AWSENIController is used to manipulate the network interface.
-    '''
+    """
     def __init__():
         pass
 
     @classmethod
     def transfer_secondary_ip(cls, src_eni_id: str, dest_eni_id: str) -> None:
-        '''
+        """
         Transfer all secondary ip from source ENI to target ENI given their IDs.
 
         Args:
             src_eni_id(str): The ENI id of source ENI.
             dest_eni_id(str): The ENI id of destination ENI.
-        '''
+        """
         ec2 = boto3.client(
             "ec2",
         )
Index: /branches/rel_apv_10_7_3/usr/click/tools/aws/logger/ProxyAWSLogger.py
===================================================================
--- /branches/rel_apv_10_7_3/usr/click/tools/aws/logger/ProxyAWSLogger.py	(revision 39048)
+++ /branches/rel_apv_10_7_3/usr/click/tools/aws/logger/ProxyAWSLogger.py	(working copy)
@@ -1,19 +1,19 @@
 
 import os
 import json
-from logger.AWSLogger import AbstractAWSLogger
-from logger.AWSLogger import AWSLogger
+
+from logger.AWSLogger import AbstractAWSLogger, AWSLogger
 
 
 class ProxyAWSLogger(AbstractAWSLogger):
-    '''
+    """
     This class is designed using the proxy pattern,
     a structural design pattern.
     Because there is a requirement of dynamically changing
     the level of severity,
     we use a proxy to determine if the configuration file is changed or not in
     order to keep the AWSLogger class pure.
-    '''
+    """
     config_modified_indicator_file = os.path.join(
         AWSLogger.current_module_directory, 'config_modified.txt')
     with open(AWSLogger.config_file_path, 'r') as config_file:
@@ -22,7 +22,7 @@
 
     @classmethod
     def get_config(cls) -> dict:
-        '''THe usage of this method refers to the set_config()'''
+        """THe usage of this method refers to the set_config()"""
         try:
             with open(AWSLogger.config_file_path, 'r') as config_file:
                 config = json.load(config_file)
@@ -35,7 +35,7 @@
 
     @classmethod
     def set_config(cls, config: dict) -> None:
-        '''The suggested method to modify configuration file is to use
+        """The suggested method to modify configuration file is to use
         get_config() method
         to get the original configuration dictionary, modify
         the dictionary objecct, and invoke set_config() with
@@ -44,7 +44,7 @@
         1. take input to override the original config dictionary.
         2. write the file.
         3. set config file modified indictor
-        '''
+        """
         # AWSLogger.info(f"setting new config: {config}")
         ori_config = cls.get_config()
         for key in ori_config.keys():
@@ -56,13 +56,13 @@
 
     @classmethod
     def is_config_modified(cls) -> bool:
-        '''This method is used to check if the configuration file
+        """This method is used to check if the configuration file
         is modified or not.
         The alogrithem to do that is check if there is the modified
         file existed.
         If the file existed, the configuration file is modified;
         otherwise, the configuration is unchaged.
-        '''
+        """
         return os.path.exists(cls.config_modified_indicator_file)
 
     @classmethod
@@ -83,10 +83,10 @@
 
     @classmethod
     def turn_on(cls) -> None:
-        '''This on off functionality is on off all the invoking debug, info,
+        """This on off functionality is on off all the invoking debug, info,
         warning, and error method using ProxyAWSLogger class.
         That is, if the client directly use AWSLogger, the message is still be
-        logger. However, it's not recommanded'''
+        logger. However, it's not recommanded"""
         config = cls.get_config()
         config["is_logger_on"] = True
         cls.set_config(config)
@@ -95,10 +95,10 @@
 
     @classmethod
     def turn_off(cls) -> None:
-        '''This on off functionality is on off all the invoking debug, info,
+        """This on off functionality is on off all the invoking debug, info,
         warning, and error method using ProxyAWSLogger class.
         That is, if the client directly use AWSLogger, the message is still
-        be logger. However, it's not recommanded'''
+        be logger. However, it's not recommanded"""
         config = cls.get_config()
         config["is_logger_on"] = False
         cls.set_config(config)
@@ -107,7 +107,7 @@
 
     @classmethod
     def get_log(cls) -> str:
-        '''return a string of content of log file'''
+        """return a string of content of log file"""
         config = cls.get_config()
         with open(config["log_path"], 'r', encoding='utf-8') as file:
             content = file.read()
@@ -115,19 +115,19 @@
 
     @classmethod
     def get_is_logger_on(cls) -> bool:
-        '''This is used to check if logger is on or not
+        """This is used to check if logger is on or not
         return True if logger is on
         return False if logger is off
-        '''
+        """
         config = cls.get_config()
         return config["is_logger_on"]
 
     @classmethod
     def get_Logger_level_state(cls) -> str:
-        '''This is used to check if logger level is debug, info,
+        """This is used to check if logger level is debug, info,
         warning, and error
         return a string of log severity
-        '''
+        """
         config = cls.get_config()
         return config["level_of_severity"]
 
