code: def add_secondary_ip(self, ip_address, interface=1):
          
          log = logging.getLogger(self.cls_logger + '.add_secondary_ip')
  
          # Get the ENI ID
          eni_id = self.get_eni_id(interface)
  
          # Verify the ENI ID was found
          if eni_id is None:
              msg = 'Unable to find the corresponding ENI ID for interface: {i}'. \
                  format(i=interface)
              log.error(msg)
              raise EC2UtilError(msg)
          else:
              log.info('Found ENI ID: {e}'.format(e=eni_id))
  
          # Assign the secondary IP address
          log.info('Attempting to assign the secondary IP address...')
          try:
              self.client.assign_private_ip_addresses(
                      NetworkInterfaceId=eni_id,
                      PrivateIpAddresses=[
                          ip_address,
                      ],
                      AllowReassignment=True
              )
          except ClientError:
              _, ex, trace = sys.exc_info()
              msg = 'Unable to assign secondary IP address\n{e}'.format(e=str(ex))
              log.error(msg)
              raise AWSAPIError, msg, trace
          log.info('Successfully added secondary IP address {s} to ENI ID {e} on interface {i}'.format(
                  s=ip_address, e=eni_id, i=interface))
docs: Adds an IP address as a secondary IP address
  
          :param ip_address: String IP address to add as a secondary IP
          :param interface: Integer associated to the interface/device number
          :return: None
          :raises: AWSAPIError, EC2UtilError