Esempio n. 1
0
 def conn(self):
     if self.__conn is None:
         log.debug('creating ec2 connection to %s' % self.config['region_name'])
         validate_certs = self.config['validate_certs']
         if validate_certs:
             if not HAVE_HTTPS_CONNECTION:
                 raise CloudNotAvailableException(
                     "Failed to validate AWS SSL certificates. "
                     "SSL certificate validation is only supported "
                     "on Python>=2.6.\n\nSet AWS_VALIDATE_CERTS=False in "
                     "your config to skip SSL certificate verification and"
                     " suppress this error AT YOUR OWN RISK.")
         if not boto_config.has_section('Boto'):
             boto_config.add_section('Boto')
         # Hack to get around the fact that boto ignores validate_certs
         # if https_validate_certificates is declared in the boto config
         boto_config.setbool('Boto', 'https_validate_certificates',
                             validate_certs)
         #boto_config.setint('Boto', 'http_socket_timeout',
         #                    10)
         kwargs=dict(aws_access_key_id=self.config['access_key_id'], aws_secret_access_key=self.config['secret_access_key'],
             validate_certs=self.config['validate_certs'])
         if 'proxy' in self.config:
             kwargs['proxy']=self.config['proxy']
             kwargs['proxy_port']=self.config['proxy_port']
         self.__conn = ec2.connect_to_region(self.config['region_name'], **kwargs)
         self.__conn.https_validate_certificates = validate_certs
     return self.__conn
Esempio n. 2
0
    def __init__(self, access_key, secret_key, s3_host='s3.amazonaws.com', secure=True, num_retries=5, socket_timeout=15):
        self.access_key     = access_key
        self.secret_key     = secret_key
        self.s3_host        = s3_host
        self.secure         = secure
        self.num_retries    = num_retries
        self.socket_timeout = socket_timeout

        for section in config.sections():
            config.remove_section(section)
        config.add_section('Boto')
        config.setbool('Boto', 'is_secure', self.secure)
        config.set('Boto', 'http_socket_timeout', str(self.socket_timeout))
        config.set('Boto', 'num_retries', str(self.num_retries))

        self._conn = None
        self.connect()
Esempio n. 3
0
#!/usr/bin/env python
import getopt
import sys
import re

from datetime import datetime
from datetime import timedelta
from boto.ec2 import connect_to_region
from boto.exception import EC2ResponseError
from boto import config

if not config.has_section('Boto'):
    config.add_section('Boto')

config.setbool('Boto', 'https_validate_certificates', False)
"""
    Nagios check to alert on any retiring instances or instances that need rebooting.
"""

# Setup IAM User with read-only EC2 access
AWS_KEY = ''
AWS_SECRET = ''
REGION = 'us-east-1'

OK = 0
WARNING = 1
CRITICAL = 2
UNKNOWN = 3


def get_instances(instance_ids):
Esempio n. 4
0
#!/usr/bin/env python
import getopt
import sys
import re

from datetime import datetime
from datetime import timedelta
from boto.ec2 import connect_to_region
from boto.exception import EC2ResponseError
from boto import config

if not config.has_section('Boto'):
    config.add_section('Boto')

config.setbool('Boto', 'https_validate_certificates', False)

"""
    Nagios check to alert on any retiring instances or instances that need rebooting.
"""

# Setup IAM User with read-only EC2 access
AWS_KEY = ''
AWS_SECRET = ''
REGION = 'us-east-1'

OK = 0
WARNING = 1
CRITICAL = 2
UNKNOWN = 3