Пример #1
0
    def __init__(self,
                 replicaset=None,
                 filters=None,
                 dryrun=False,
                 region=None,
                 logger=None):
        self.creation_time = datetime.now().strftime("%Y-%m-%dT%H-%M-%S")

        if logger is not None:
            self.logger = logger

        if region is None:
            region = AWS_REGION

        if AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY:
            self.ec2 = ec2_connect_to_region(
                region,
                aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY
            )
            self.s3 = s3_connect_to_region(
                s3_bucket_region,
                aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY
            )
        else:
            self.ec2 = ec2_connect_to_region(
                region
            )
            self.s3 = s3_connect_to_region(
               s3_bucket_region
            )

        if replicaset is None:
            raise RuntimeError('Replicaset must be provided.')

        self.replicaset = replicaset

        if filters:
            self.instances = self._instances_via_filters(filters=filters)
        else:
            raise RuntimeError('An API filter must be provided.')
        self.logger.debug("Found instances %s" % self.instances)

        self.mongo = self._mongo(instances=self.instances)
        self.logger.debug("Connected to mongo %s" % self.mongo)

        self.dryrun = dryrun
Пример #2
0
    def __init__(self,
                 replicaset=None,
                 filters=None,
                 instance_ids=None,
                 ssh_opts=None,
                 dryrun=False,
                 region=None,
                 logger=None):
        self.creation_time = datetime.utcnow().strftime("%m-%d-%Y %H:%M:%S")

        if logger is not None:
            self.logger = logger

        if region is None:
            region = 'us-east-1'

        if AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY:
            self.ec2 = ec2_connect_to_region(
                region,
                aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY
            )
        else:
            self.ec2 = ec2_connect_to_region(
                region
            )

        if replicaset is None:
            raise RuntimeError('replicaset must be provided.')

        self.replicaset = replicaset

        if filters:
            self.instances = self._instances_via_filters(filters=filters)
        elif instance_ids:
            self.instances = self._instances_via_ids(instance_ids=instance_ids)
        else:
            raise RuntimeError('Either an API filter or a list of instance'
                               'IDs must be provided.')
        self.logger.debug("found instances %s" % self.instances)

        self.mongo = self._mongo(instances=self.instances)
        self.logger.debug("connected to mongo %s" % self.mongo)

        self.ssh_opts = ssh_opts
        self.logger.debug("set ssh opts to %s" % self.ssh_opts)

        self.dryrun = dryrun
Пример #3
0
    def __init__(self,
                 replicaset=None,
                 filters=None,
                 instance_ids=None,
                 ssh_opts=None,
                 dryrun=False,
                 region=None,
                 logger=None):
        self.creation_time = datetime.utcnow().strftime("%m-%d-%Y %H:%M:%S")

        if logger is not None:
            self.logger = logger

        if region is None:
            region = 'us-east-1'

        if AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY:
            self.ec2 = ec2_connect_to_region(
                region,
                aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
        else:
            self.ec2 = ec2_connect_to_region(region)

        if replicaset is None:
            raise RuntimeError('replicaset must be provided.')

        self.replicaset = replicaset

        if filters:
            self.instances = self._instances_via_filters(filters=filters)
        elif instance_ids:
            self.instances = self._instances_via_ids(instance_ids=instance_ids)
        else:
            raise RuntimeError('Either an API filter or a list of instance'
                               'IDs must be provided.')
        self.logger.debug("found instances %s" % self.instances)

        self.mongo = self._mongo(instances=self.instances)
        self.logger.debug("connected to mongo %s" % self.mongo)

        self.ssh_opts = ssh_opts
        self.logger.debug("set ssh opts to %s" % self.ssh_opts)

        self.dryrun = dryrun
Пример #4
0
    def __init__(self,
                 replicaset=None,
                 filters=None,
                 dryrun=False,
                 region=None,
                 logger=None):
        self.creation_time = datetime.now().strftime("%Y-%m-%dT%H-%M-%S")

        if logger is not None:
            self.logger = logger

        if region is None:
            region = AWS_REGION

        if AWS_ACCESS_KEY_ID or AWS_SECRET_ACCESS_KEY:
            self.ec2 = ec2_connect_to_region(
                region,
                aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
            self.s3 = s3_connect_to_region(
                s3_bucket_region,
                aws_access_key_id=AWS_ACCESS_KEY_ID,
                aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
        else:
            self.ec2 = ec2_connect_to_region(region)
            self.s3 = s3_connect_to_region(s3_bucket_region)

        if replicaset is None:
            raise RuntimeError('Replicaset must be provided.')

        self.replicaset = replicaset

        if filters:
            self.instances = self._instances_via_filters(filters=filters)
        else:
            raise RuntimeError('An API filter must be provided.')
        self.logger.debug("Found instances %s" % self.instances)

        self.mongo = self._mongo(instances=self.instances)
        self.logger.debug("Connected to mongo %s" % self.mongo)

        self.dryrun = dryrun
Пример #5
0
def ec2():
    """
    Creates an EC2 connection.
    """
    return ec2_connect_to_region(REGION)