Procházet zdrojové kódy

Merge branch 'master' of https://github.com/gvlproject/cloudbridge

nuwan_ag před 10 roky
rodič
revize
9086b94fb8

+ 15 - 15
cloudbridge/providers/aws/resources.py

@@ -31,7 +31,7 @@ class AWSMachineImage(BaseMachineImage):
     }
     }
 
 
     def __init__(self, provider, image):
     def __init__(self, provider, image):
-        self.provider = provider
+        self._provider = provider
         if isinstance(image, AWSMachineImage):
         if isinstance(image, AWSMachineImage):
             self._ec2_image = image._ec2_image
             self._ec2_image = image._ec2_image
         else:
         else:
@@ -83,7 +83,7 @@ class AWSMachineImage(BaseMachineImage):
         Refreshes the state of this instance by re-querying the cloud provider
         Refreshes the state of this instance by re-querying the cloud provider
         for its latest state.
         for its latest state.
         """
         """
-        image = self.provider.images.get_image(self.image_id)
+        image = self._provider.images.get_image(self.image_id)
         if image:
         if image:
             self._ec2_image = image._ec2_image
             self._ec2_image = image._ec2_image
         else:
         else:
@@ -94,7 +94,7 @@ class AWSMachineImage(BaseMachineImage):
 class AWSPlacementZone(PlacementZone):
 class AWSPlacementZone(PlacementZone):
 
 
     def __init__(self, provider, zone):
     def __init__(self, provider, zone):
-        self.provider = provider
+        self._provider = provider
         if isinstance(zone, AWSPlacementZone):
         if isinstance(zone, AWSPlacementZone):
             self._aws_zone = zone._aws_zone
             self._aws_zone = zone._aws_zone
         else:
         else:
@@ -152,7 +152,7 @@ class AWSInstance(BaseInstance):
     }
     }
 
 
     def __init__(self, provider, ec2_instance):
     def __init__(self, provider, ec2_instance):
-        self.provider = provider
+        self._provider = provider
         self._ec2_instance = ec2_instance
         self._ec2_instance = ec2_instance
 
 
     @property
     @property
@@ -223,7 +223,7 @@ class AWSInstance(BaseInstance):
         """
         """
         Get the placement zone where this instance is running.
         Get the placement zone where this instance is running.
         """
         """
-        return AWSPlacementZone(self.provider, self._ec2_instance.placement)
+        return AWSPlacementZone(self._provider, self._ec2_instance.placement)
 
 
     @property
     @property
     def mac_address(self):
     def mac_address(self):
@@ -242,8 +242,8 @@ class AWSInstance(BaseInstance):
         # convert that into a ``SecurityGroup`` object before creating a
         # convert that into a ``SecurityGroup`` object before creating a
         # cloudbridge SecurityGroup object
         # cloudbridge SecurityGroup object
         names = [group.name for group in self._ec2_instance.groups]
         names = [group.name for group in self._ec2_instance.groups]
-        security_groups = self.provider.security.security_groups.get(names)
-        return [AWSSecurityGroup(self.provider, group)
+        security_groups = self._provider.security.security_groups.get(names)
+        return [AWSSecurityGroup(self._provider, group)
                 for group in security_groups]
                 for group in security_groups]
 
 
     @property
     @property
@@ -262,7 +262,7 @@ class AWSInstance(BaseInstance):
         # if the image cannot be found
         # if the image cannot be found
         retry_decorator = retry(retry_on_result=lambda result: result is None,
         retry_decorator = retry(retry_on_result=lambda result: result is None,
                                 stop_max_attempt_number=3, wait_fixed=1000)
                                 stop_max_attempt_number=3, wait_fixed=1000)
-        image = retry_decorator(self.provider.images.get_image)(image_id)
+        image = retry_decorator(self._provider.images.get_image)(image_id)
         return image
         return image
 
 
     @property
     @property
@@ -301,7 +301,7 @@ class AWSVolume(BaseVolume):
     }
     }
 
 
     def __init__(self, provider, volume):
     def __init__(self, provider, volume):
-        self.provider = provider
+        self._provider = provider
         self._volume = volume
         self._volume = volume
 
 
     @property
     @property
@@ -344,7 +344,7 @@ class AWSVolume(BaseVolume):
         Create a snapshot of this Volume.
         Create a snapshot of this Volume.
         """
         """
         snap = AWSSnapshot(
         snap = AWSSnapshot(
-            self.provider,
+            self._provider,
             self._volume.create_snapshot(
             self._volume.create_snapshot(
                 description=description))
                 description=description))
         snap.name = name
         snap.name = name
@@ -388,7 +388,7 @@ class AWSSnapshot(BaseSnapshot):
     }
     }
 
 
     def __init__(self, provider, snapshot):
     def __init__(self, provider, snapshot):
-        self.provider = provider
+        self._provider = provider
         self._snapshot = snapshot
         self._snapshot = snapshot
 
 
     @property
     @property
@@ -500,7 +500,7 @@ class AWSSecurityGroup(BaseSecurityGroup):
 class AWSContainerObject(ContainerObject):
 class AWSContainerObject(ContainerObject):
 
 
     def __init__(self, provider, key):
     def __init__(self, provider, key):
-        self.provider = provider
+        self._provider = provider
         self._key = key
         self._key = key
 
 
     @property
     @property
@@ -540,7 +540,7 @@ class AWSContainerObject(ContainerObject):
 class AWSContainer(Container):
 class AWSContainer(Container):
 
 
     def __init__(self, provider, bucket):
     def __init__(self, provider, bucket):
-        self.provider = provider
+        self._provider = provider
         self._bucket = bucket
         self._bucket = bucket
 
 
     @property
     @property
@@ -565,7 +565,7 @@ class AWSContainer(Container):
         :return: List of all available ContainerObjects within this container
         :return: List of all available ContainerObjects within this container
         """
         """
         objects = self._bucket.list()
         objects = self._bucket.list()
-        return [AWSContainerObject(self.provider, obj) for obj in objects]
+        return [AWSContainerObject(self._provider, obj) for obj in objects]
 
 
     def delete(self, delete_contents=False):
     def delete(self, delete_contents=False):
         """
         """
@@ -575,7 +575,7 @@ class AWSContainer(Container):
 
 
     def create_object(self, name):
     def create_object(self, name):
         key = Key(self._bucket, name)
         key = Key(self._bucket, name)
-        return AWSContainerObject(self.provider, key)
+        return AWSContainerObject(self._provider, key)
 
 
     def __repr__(self):
     def __repr__(self):
         return "<CB-AWSContainer: {0}>".format(self.name)
         return "<CB-AWSContainer: {0}>".format(self.name)

+ 58 - 58
cloudbridge/providers/aws/services.py

@@ -30,7 +30,7 @@ from .resources import AWSVolume
 class AWSSecurityService(SecurityService):
 class AWSSecurityService(SecurityService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
         # Initialize provider services
         # Initialize provider services
         self._key_pairs = AWSKeyPairService(provider)
         self._key_pairs = AWSKeyPairService(provider)
@@ -60,7 +60,7 @@ class AWSSecurityService(SecurityService):
 class AWSKeyPairService(KeyPairService):
 class AWSKeyPairService(KeyPairService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def list(self):
     def list(self):
         """
         """
@@ -69,38 +69,38 @@ class AWSKeyPairService(KeyPairService):
         :rtype: ``list`` of :class:`.KeyPair`
         :rtype: ``list`` of :class:`.KeyPair`
         :return:  list of KeyPair objects
         :return:  list of KeyPair objects
         """
         """
-        key_pairs = self.provider.ec2_conn.get_all_key_pairs()
-        return [AWSKeyPair(self.provider, kp) for kp in key_pairs]
+        key_pairs = self._provider.ec2_conn.get_all_key_pairs()
+        return [AWSKeyPair(self._provider, kp) for kp in key_pairs]
 
 
-    def create(self, key_name):
+    def create(self, name):
         """
         """
         Create a new key pair.
         Create a new key pair.
 
 
-        :type key_name: str
-        :param key_name: The name of the key pair to be created.
+        :type name: str
+        :param name: The name of the key pair to be created.
 
 
         :rtype: ``object`` of :class:`.KeyPair`
         :rtype: ``object`` of :class:`.KeyPair`
         :return:  A keypair instance or None if one was not be created.
         :return:  A keypair instance or None if one was not be created.
         """
         """
-        kp = self.provider.ec2_conn.create_key_pair(key_name)
+        kp = self._provider.ec2_conn.create_key_pair(name)
         if kp:
         if kp:
-            return AWSKeyPair(self.provider, kp)
+            return AWSKeyPair(self._provider, kp)
         return None
         return None
 
 
-    def delete(self, key_name):
+    def delete(self, name):
         """
         """
         Delete an existing key pair.
         Delete an existing key pair.
 
 
-        :type key_name: str
-        :param key_name: The name of the key pair to be deleted.
+        :type name: str
+        :param name: The name of the key pair to be deleted.
 
 
         :rtype: ``bool``
         :rtype: ``bool``
         :return:  ``True`` if the key does not exist, ``False`` otherwise. Note
         :return:  ``True`` if the key does not exist, ``False`` otherwise. Note
                   that this implies that the key may not have been deleted by
                   that this implies that the key may not have been deleted by
                   this method but instead has not existed in the first place.
                   this method but instead has not existed in the first place.
         """
         """
-        for kp in self.provider.ec2_conn.get_all_key_pairs():
-            if kp.name == key_name:
+        for kp in self._provider.ec2_conn.get_all_key_pairs():
+            if kp.name == name:
                 kp.delete()
                 kp.delete()
                 return True
                 return True
         return True
         return True
@@ -109,7 +109,7 @@ class AWSKeyPairService(KeyPairService):
 class AWSSecurityGroupService(SecurityGroupService):
 class AWSSecurityGroupService(SecurityGroupService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def list(self):
     def list(self):
         """
         """
@@ -118,8 +118,8 @@ class AWSSecurityGroupService(SecurityGroupService):
         :rtype: ``list`` of :class:`.SecurityGroup`
         :rtype: ``list`` of :class:`.SecurityGroup`
         :return:  list of SecurityGroup objects
         :return:  list of SecurityGroup objects
         """
         """
-        security_groups = self.provider.ec2_conn.get_all_security_groups()
-        return [AWSSecurityGroup(self.provider, sg) for sg in security_groups]
+        security_groups = self._provider.ec2_conn.get_all_security_groups()
+        return [AWSSecurityGroup(self._provider, sg) for sg in security_groups]
 
 
     def create(self, name, description):
     def create(self, name, description):
         """
         """
@@ -134,9 +134,9 @@ class AWSSecurityGroupService(SecurityGroupService):
         :rtype: ``object`` of :class:`.SecurityGroup`
         :rtype: ``object`` of :class:`.SecurityGroup`
         :return:  A SecurityGroup instance or ``None`` if one was not created.
         :return:  A SecurityGroup instance or ``None`` if one was not created.
         """
         """
-        sg = self.provider.ec2_conn.create_security_group(name, description)
+        sg = self._provider.ec2_conn.create_security_group(name, description)
         if sg:
         if sg:
-            return AWSSecurityGroup(self.provider, sg)
+            return AWSSecurityGroup(self._provider, sg)
         return None
         return None
 
 
     def get(self, group_names=None, group_ids=None):
     def get(self, group_names=None, group_ids=None):
@@ -158,11 +158,11 @@ class AWSSecurityGroupService(SecurityGroupService):
         found.
         found.
         """
         """
         try:
         try:
-            security_groups = self.provider.ec2_conn.get_all_security_groups(
+            security_groups = self._provider.ec2_conn.get_all_security_groups(
                 groupnames=group_names, group_ids=group_ids)
                 groupnames=group_names, group_ids=group_ids)
         except EC2ResponseError:
         except EC2ResponseError:
             security_groups = []
             security_groups = []
-        return [AWSSecurityGroup(self.provider, sg) for sg in security_groups]
+        return [AWSSecurityGroup(self._provider, sg) for sg in security_groups]
 
 
     def delete(self, group_id):
     def delete(self, group_id):
         """
         """
@@ -178,7 +178,7 @@ class AWSSecurityGroupService(SecurityGroupService):
                   the first place.
                   the first place.
         """
         """
         try:
         try:
-            for sg in self.provider.ec2_conn.get_all_security_groups(
+            for sg in self._provider.ec2_conn.get_all_security_groups(
                     group_ids=[group_id]):
                     group_ids=[group_id]):
                 try:
                 try:
                     sg.delete()
                     sg.delete()
@@ -192,11 +192,11 @@ class AWSSecurityGroupService(SecurityGroupService):
 class AWSBlockStoreService(BlockStoreService):
 class AWSBlockStoreService(BlockStoreService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
         # Initialize provider services
         # Initialize provider services
-        self._volumes = AWSVolumeService(self.provider)
-        self._snapshots = AWSSnapshotService(self.provider)
+        self._volumes = AWSVolumeService(self._provider)
+        self._snapshots = AWSSnapshotService(self._provider)
 
 
     @property
     @property
     def volumes(self):
     def volumes(self):
@@ -210,14 +210,14 @@ class AWSBlockStoreService(BlockStoreService):
 class AWSVolumeService(VolumeService):
 class AWSVolumeService(VolumeService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_volume(self, volume_id):
     def get_volume(self, volume_id):
         """
         """
         Returns a volume given its id.
         Returns a volume given its id.
         """
         """
-        vols = self.provider.ec2_conn.get_all_volumes(volume_ids=[volume_id])
-        return AWSVolume(self.provider, vols[0]) if vols else None
+        vols = self._provider.ec2_conn.get_all_volumes(volume_ids=[volume_id])
+        return AWSVolume(self._provider, vols[0]) if vols else None
 
 
     def find_volume(self, name):
     def find_volume(self, name):
         """
         """
@@ -230,8 +230,8 @@ class AWSVolumeService(VolumeService):
         """
         """
         List all volumes.
         List all volumes.
         """
         """
-        return [AWSVolume(self.provider, vol)
-                for vol in self.provider.ec2_conn.get_all_volumes()]
+        return [AWSVolume(self._provider, vol)
+                for vol in self._provider.ec2_conn.get_all_volumes()]
 
 
     def create_volume(self, name, size, zone, snapshot=None):
     def create_volume(self, name, size, zone, snapshot=None):
         """
         """
@@ -241,11 +241,11 @@ class AWSVolumeService(VolumeService):
         snapshot_id = snapshot.snapshot_id if isinstance(
         snapshot_id = snapshot.snapshot_id if isinstance(
             zone, AWSSnapshot) and snapshot else snapshot
             zone, AWSSnapshot) and snapshot else snapshot
 
 
-        ec2_vol = self.provider.ec2_conn.create_volume(
+        ec2_vol = self._provider.ec2_conn.create_volume(
             size,
             size,
             zone_name,
             zone_name,
             snapshot=snapshot_id)
             snapshot=snapshot_id)
-        cb_vol = AWSVolume(self.provider, ec2_vol)
+        cb_vol = AWSVolume(self._provider, ec2_vol)
         cb_vol.name = name
         cb_vol.name = name
         return cb_vol
         return cb_vol
 
 
@@ -253,16 +253,16 @@ class AWSVolumeService(VolumeService):
 class AWSObjectStoreService(ObjectStoreService):
 class AWSObjectStoreService(ObjectStoreService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_container(self, container_id):
     def get_container(self, container_id):
         """
         """
         Returns a container given its id. Returns None if the container
         Returns a container given its id. Returns None if the container
         does not exist.
         does not exist.
         """
         """
-        bucket = self.provider.s3_conn.lookup(container_id)
+        bucket = self._provider.s3_conn.lookup(container_id)
         if bucket:
         if bucket:
-            return AWSContainer(self.provider, bucket)
+            return AWSContainer(self._provider, bucket)
         else:
         else:
             return None
             return None
 
 
@@ -277,31 +277,31 @@ class AWSObjectStoreService(ObjectStoreService):
         """
         """
         List all containers.
         List all containers.
         """
         """
-        buckets = self.provider.s3_conn.get_all_buckets()
-        return [AWSContainer(self.provider, bucket) for bucket in buckets]
+        buckets = self._provider.s3_conn.get_all_buckets()
+        return [AWSContainer(self._provider, bucket) for bucket in buckets]
 
 
     def create_container(self, name, location=None):
     def create_container(self, name, location=None):
         """
         """
         Create a new container.
         Create a new container.
         """
         """
-        bucket = self.provider.s3_conn.create_bucket(
+        bucket = self._provider.s3_conn.create_bucket(
             name,
             name,
             location=location if location else '')
             location=location if location else '')
-        return AWSContainer(self.provider, bucket)
+        return AWSContainer(self._provider, bucket)
 
 
 
 
 class AWSSnapshotService(SnapshotService):
 class AWSSnapshotService(SnapshotService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_snapshot(self, snapshot_id):
     def get_snapshot(self, snapshot_id):
         """
         """
         Returns a snapshot given its id.
         Returns a snapshot given its id.
         """
         """
-        snaps = self.provider.ec2_conn.get_all_snapshots(
+        snaps = self._provider.ec2_conn.get_all_snapshots(
             snapshot_ids=[snapshot_id])
             snapshot_ids=[snapshot_id])
-        return AWSSnapshot(self.provider, snaps[0]) if snaps else None
+        return AWSSnapshot(self._provider, snaps[0]) if snaps else None
 
 
     def find_snapshot(self, name):
     def find_snapshot(self, name):
         """
         """
@@ -316,9 +316,9 @@ class AWSSnapshotService(SnapshotService):
         """
         """
         # TODO: get_all_images returns too many images - some kind of filtering
         # TODO: get_all_images returns too many images - some kind of filtering
         # abilities are needed. Forced to "self" for now
         # abilities are needed. Forced to "self" for now
-        return [AWSSnapshot(self.provider, snap)
+        return [AWSSnapshot(self._provider, snap)
                 for snap in
                 for snap in
-                self.provider.ec2_conn.get_all_snapshots(owner="self")]
+                self._provider.ec2_conn.get_all_snapshots(owner="self")]
 
 
     def create_snapshot(self, name, volume, description=None):
     def create_snapshot(self, name, volume, description=None):
         """
         """
@@ -328,10 +328,10 @@ class AWSSnapshotService(SnapshotService):
             volume,
             volume,
             AWSVolume) else volume
             AWSVolume) else volume
 
 
-        ec2_snap = self.provider.ec2_conn.create_snapshot(
+        ec2_snap = self._provider.ec2_conn.create_snapshot(
             volume_id,
             volume_id,
             description=description)
             description=description)
-        cb_snap = AWSSnapshot(self.provider, ec2_snap)
+        cb_snap = AWSSnapshot(self._provider, ec2_snap)
         cb_snap.name = name
         cb_snap.name = name
         return cb_snap
         return cb_snap
 
 
@@ -339,16 +339,16 @@ class AWSSnapshotService(SnapshotService):
 class AWSImageService(ImageService):
 class AWSImageService(ImageService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_image(self, image_id):
     def get_image(self, image_id):
         """
         """
         Returns an Image given its id
         Returns an Image given its id
         """
         """
         try:
         try:
-            image = self.provider.ec2_conn.get_image(image_id)
+            image = self._provider.ec2_conn.get_image(image_id)
             if image:
             if image:
-                return AWSMachineImage(self.provider, image)
+                return AWSMachineImage(self._provider, image)
         except EC2ResponseError:
         except EC2ResponseError:
             pass
             pass
 
 
@@ -367,14 +367,14 @@ class AWSImageService(ImageService):
         """
         """
         # TODO: get_all_images returns too many images - some kind of filtering
         # TODO: get_all_images returns too many images - some kind of filtering
         # abilities are needed. Forced to "self" for now
         # abilities are needed. Forced to "self" for now
-        images = self.provider.ec2_conn.get_all_images(owners="self")
-        return [AWSMachineImage(self.provider, image) for image in images]
+        images = self._provider.ec2_conn.get_all_images(owners="self")
+        return [AWSMachineImage(self._provider, image) for image in images]
 
 
 
 
 class AWSComputeService(ComputeService):
 class AWSComputeService(ComputeService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def create_instance(self, name, image, instance_type, zone=None,
     def create_instance(self, name, image, instance_type, zone=None,
                         keypair=None, security_groups=None, user_data=None,
                         keypair=None, security_groups=None, user_data=None,
@@ -399,14 +399,14 @@ class AWSComputeService(ComputeService):
         else:
         else:
             security_groups_list = None
             security_groups_list = None
 
 
-        reservation = self.provider.ec2_conn.run_instances(
+        reservation = self._provider.ec2_conn.run_instances(
             image_id=image_id, instance_type=instance_size,
             image_id=image_id, instance_type=instance_size,
             min_count=1, max_count=1, placement=zone_name,
             min_count=1, max_count=1, placement=zone_name,
             key_name=keypair_name, security_groups=security_groups_list,
             key_name=keypair_name, security_groups=security_groups_list,
             user_data=user_data
             user_data=user_data
         )
         )
         if reservation:
         if reservation:
-            instance = AWSInstance(self.provider, reservation.instances[0])
+            instance = AWSInstance(self._provider, reservation.instances[0])
             instance.name = name
             instance.name = name
         return instance
         return instance
 
 
@@ -415,10 +415,10 @@ class AWSComputeService(ComputeService):
         Returns an instance given its id. Returns None
         Returns an instance given its id. Returns None
         if the object does not exist.
         if the object does not exist.
         """
         """
-        reservation = self.provider.ec2_conn.get_all_reservations(
+        reservation = self._provider.ec2_conn.get_all_reservations(
             instance_ids=[instance_id])
             instance_ids=[instance_id])
         if reservation:
         if reservation:
-            return AWSInstance(self.provider, reservation[0].instances[0])
+            return AWSInstance(self._provider, reservation[0].instances[0])
         else:
         else:
             return None
             return None
 
 
@@ -436,7 +436,7 @@ class AWSComputeService(ComputeService):
         """
         """
         List all instances.
         List all instances.
         """
         """
-        reservations = self.provider.ec2_conn.get_all_reservations()
-        return [AWSInstance(self.provider, inst)
+        reservations = self._provider.ec2_conn.get_all_reservations()
+        return [AWSInstance(self._provider, inst)
                 for res in reservations
                 for res in reservations
                 for inst in res.instances]
                 for inst in res.instances]

+ 2 - 2
cloudbridge/providers/base.py

@@ -185,7 +185,7 @@ class BaseSnapshot(BaseObjectLifeCycleMixin, Snapshot):
 class BaseKeyPair(KeyPair):
 class BaseKeyPair(KeyPair):
 
 
     def __init__(self, provider, key_pair):
     def __init__(self, provider, key_pair):
-        self.provider = provider
+        self._provider = provider
         self._key_pair = key_pair
         self._key_pair = key_pair
 
 
     @property
     @property
@@ -213,7 +213,7 @@ class BaseKeyPair(KeyPair):
 class BaseSecurityGroup(SecurityGroup):
 class BaseSecurityGroup(SecurityGroup):
 
 
     def __init__(self, provider, security_group):
     def __init__(self, provider, security_group):
-        self.provider = provider
+        self._provider = provider
         self._security_group = security_group
         self._security_group = security_group
 
 
     @property
     @property

+ 6 - 6
cloudbridge/providers/interfaces/services.py

@@ -414,12 +414,12 @@ class KeyPairService(ProviderService):
         raise NotImplementedError(
         raise NotImplementedError(
             'list_key_pairs not implemented by this provider')
             'list_key_pairs not implemented by this provider')
 
 
-    def create(self, key_name):
+    def create(self, name):
         """
         """
         Create a new keypair.
         Create a new keypair.
 
 
-        :type key_name: str
-        :param key_name: The name of the key pair to be created.
+        :type name: str
+        :param name: The name of the key pair to be created.
 
 
         :rtype: ``object`` of :class:`.KeyPair`
         :rtype: ``object`` of :class:`.KeyPair`
         :return:  A keypair instance
         :return:  A keypair instance
@@ -427,12 +427,12 @@ class KeyPairService(ProviderService):
         raise NotImplementedError(
         raise NotImplementedError(
             'create_key_pair not implemented by this provider')
             'create_key_pair not implemented by this provider')
 
 
-    def delete(self, key_name):
+    def delete(self, name):
         """
         """
         Delete an existing SecurityGroup.
         Delete an existing SecurityGroup.
 
 
-        :type key_name: str
-        :param key_name: The name of the key pair to be deleted.
+        :type name: str
+        :param name: The name of the key pair to be deleted.
 
 
         :rtype: ``bool``
         :rtype: ``bool``
         :return:  ``True`` if the key does not exist, ``False`` otherwise. Note
         :return:  ``True`` if the key does not exist, ``False`` otherwise. Note

+ 28 - 28
cloudbridge/providers/openstack/resources.py

@@ -36,7 +36,7 @@ class OpenStackMachineImage(BaseMachineImage):
     }
     }
 
 
     def __init__(self, provider, os_image):
     def __init__(self, provider, os_image):
-        self.provider = provider
+        self._provider = provider
         if isinstance(os_image, OpenStackMachineImage):
         if isinstance(os_image, OpenStackMachineImage):
             self._os_image = os_image._os_image
             self._os_image = os_image._os_image
         else:
         else:
@@ -88,7 +88,7 @@ class OpenStackMachineImage(BaseMachineImage):
         Refreshes the state of this instance by re-querying the cloud provider
         Refreshes the state of this instance by re-querying the cloud provider
         for its latest state.
         for its latest state.
         """
         """
-        image = self.provider.images.get_image(self.image_id)
+        image = self._provider.images.get_image(self.image_id)
         if image:
         if image:
             self._os_image = image._os_image
             self._os_image = image._os_image
         else:
         else:
@@ -100,7 +100,7 @@ class OpenStackMachineImage(BaseMachineImage):
 class OpenStackPlacementZone(PlacementZone):
 class OpenStackPlacementZone(PlacementZone):
 
 
     def __init__(self, provider, zone):
     def __init__(self, provider, zone):
-        self.provider = provider
+        self._provider = provider
         if isinstance(zone, OpenStackPlacementZone):
         if isinstance(zone, OpenStackPlacementZone):
             self._os_zone = zone._os_zone
             self._os_zone = zone._os_zone
         else:
         else:
@@ -171,7 +171,7 @@ class OpenStackInstance(BaseInstance):
     }
     }
 
 
     def __init__(self, provider, os_instance):
     def __init__(self, provider, os_instance):
-        self.provider = provider
+        self._provider = provider
         self._os_instance = os_instance
         self._os_instance = os_instance
 
 
     @property
     @property
@@ -252,7 +252,7 @@ class OpenStackInstance(BaseInstance):
         Get the placement zone where this instance is running.
         Get the placement zone where this instance is running.
         """
         """
         return OpenStackPlacementZone(
         return OpenStackPlacementZone(
-            self.provider,
+            self._provider,
             getattr(self._os_instance, 'OS-EXT-AZ:availability_zone', None))
             getattr(self._os_instance, 'OS-EXT-AZ:availability_zone', None))
 
 
     @property
     @property
@@ -270,9 +270,9 @@ class OpenStackInstance(BaseInstance):
         """
         """
         security_groups = []
         security_groups = []
         for group in self._os_instance.security_groups:
         for group in self._os_instance.security_groups:
-            security_groups.append(self.provider.nova.security_groups.find(
+            security_groups.append(self._provider.nova.security_groups.find(
                 name=group.get('name')))
                 name=group.get('name')))
-        return [OpenStackSecurityGroup(self.provider, group)
+        return [OpenStackSecurityGroup(self._provider, group)
                 for group in security_groups]
                 for group in security_groups]
 
 
     @property
     @property
@@ -288,7 +288,7 @@ class OpenStackInstance(BaseInstance):
         """
         """
         image_id = self._os_instance.create_image(name)
         image_id = self._os_instance.create_image(name)
         return OpenStackMachineImage(
         return OpenStackMachineImage(
-            self.provider, self.provider.images.get_image(image_id))
+            self._provider, self._provider.images.get_image(image_id))
 
 
     @property
     @property
     def state(self):
     def state(self):
@@ -300,7 +300,7 @@ class OpenStackInstance(BaseInstance):
         Refreshes the state of this instance by re-querying the cloud provider
         Refreshes the state of this instance by re-querying the cloud provider
         for its latest state.
         for its latest state.
         """
         """
-        instance = self.provider.compute.get_instance(
+        instance = self._provider.compute.get_instance(
             self.instance_id)
             self.instance_id)
         if instance:
         if instance:
             self._os_instance = instance._os_instance
             self._os_instance = instance._os_instance
@@ -316,7 +316,7 @@ class OpenStackInstance(BaseInstance):
 class OpenStackRegion(Region):
 class OpenStackRegion(Region):
 
 
     def __init__(self, provider, os_region):
     def __init__(self, provider, os_region):
-        self.provider = provider
+        self._provider = provider
         self._os_region = os_region
         self._os_region = os_region
 
 
     @property
     @property
@@ -345,7 +345,7 @@ class OpenStackVolume(BaseVolume):
     }
     }
 
 
     def __init__(self, provider, volume):
     def __init__(self, provider, volume):
-        self.provider = provider
+        self._provider = provider
         self._volume = volume
         self._volume = volume
 
 
     @property
     @property
@@ -386,7 +386,7 @@ class OpenStackVolume(BaseVolume):
         """
         """
         Create a snapshot of this Volume.
         Create a snapshot of this Volume.
         """
         """
-        return self.provider.block_store.snapshots.create_snapshot(
+        return self._provider.block_store.snapshots.create_snapshot(
             name, self, description=description)
             name, self, description=description)
 
 
     def delete(self):
     def delete(self):
@@ -405,7 +405,7 @@ class OpenStackVolume(BaseVolume):
         Refreshes the state of this volume by re-querying the cloud provider
         Refreshes the state of this volume by re-querying the cloud provider
         for its latest state.
         for its latest state.
         """
         """
-        vol = self.provider.block_store.volumes.get_volume(
+        vol = self._provider.block_store.volumes.get_volume(
             self.volume_id)
             self.volume_id)
         if vol:
         if vol:
             self._volume = vol._volume
             self._volume = vol._volume
@@ -430,7 +430,7 @@ class OpenStackSnapshot(BaseSnapshot):
     }
     }
 
 
     def __init__(self, provider, snapshot):
     def __init__(self, provider, snapshot):
-        self.provider = provider
+        self._provider = provider
         self._snapshot = snapshot
         self._snapshot = snapshot
 
 
     @property
     @property
@@ -462,7 +462,7 @@ class OpenStackSnapshot(BaseSnapshot):
         Refreshes the state of this snapshot by re-querying the cloud provider
         Refreshes the state of this snapshot by re-querying the cloud provider
         for its latest state.
         for its latest state.
         """
         """
-        snap = self.provider.block_store.snapshots.get_snapshot(
+        snap = self._provider.block_store.snapshots.get_snapshot(
             self.snapshot_id)
             self.snapshot_id)
         if snap:
         if snap:
             self._snapshot = snap._snapshot
             self._snapshot = snap._snapshot
@@ -535,14 +535,14 @@ class OpenStackSecurityGroup(BaseSecurityGroup):
         """
         """
         if src_group:
         if src_group:
             for protocol in ['tcp', 'udp']:
             for protocol in ['tcp', 'udp']:
-                self.provider.nova.security_group_rules.create(
+                self._provider.nova.security_group_rules.create(
                     parent_group_id=self._security_group.id,
                     parent_group_id=self._security_group.id,
                     ip_protocol=protocol,
                     ip_protocol=protocol,
                     from_port=1,
                     from_port=1,
                     to_port=65535,
                     to_port=65535,
                     group_id=src_group.id)
                     group_id=src_group.id)
         else:
         else:
-            return self.provider.nova.security_group_rules.create(
+            return self._provider.nova.security_group_rules.create(
                 parent_group_id=self._security_group.id,
                 parent_group_id=self._security_group.id,
                 ip_protocol=ip_protocol,
                 ip_protocol=ip_protocol,
                 from_port=from_port,
                 from_port=from_port,
@@ -553,7 +553,7 @@ class OpenStackSecurityGroup(BaseSecurityGroup):
 class OpenStackContainerObject(ContainerObject):
 class OpenStackContainerObject(ContainerObject):
 
 
     def __init__(self, provider, cbcontainer, obj):
     def __init__(self, provider, cbcontainer, obj):
-        self.provider = provider
+        self._provider = provider
         self.cbcontainer = cbcontainer
         self.cbcontainer = cbcontainer
         self._obj = obj
         self._obj = obj
 
 
@@ -569,7 +569,7 @@ class OpenStackContainerObject(ContainerObject):
         Download this object and write its
         Download this object and write its
         contents to the target_stream.
         contents to the target_stream.
         """
         """
-        _, content = self.provider.swift.get_object(
+        _, content = self._provider.swift.get_object(
             self.cbcontainer.name, self.name, resp_chunk_size=65536)
             self.cbcontainer.name, self.name, resp_chunk_size=65536)
         shutil.copyfileobj(content, target_stream)
         shutil.copyfileobj(content, target_stream)
 
 
@@ -578,7 +578,7 @@ class OpenStackContainerObject(ContainerObject):
         Set the contents of this object to the data read from the source
         Set the contents of this object to the data read from the source
         string.
         string.
         """
         """
-        self.provider.swift.put_object(self.cbcontainer.name, self.name,
+        self._provider.swift.put_object(self.cbcontainer.name, self.name,
                                        data)
                                        data)
 
 
     def delete(self):
     def delete(self):
@@ -589,7 +589,7 @@ class OpenStackContainerObject(ContainerObject):
         :return: True if successful
         :return: True if successful
         """
         """
         try:
         try:
-            self.provider.swift.delete_object(self.cbcontainer.name, self.name)
+            self._provider.swift.delete_object(self.cbcontainer.name, self.name)
         except ClientException as err:
         except ClientException as err:
             if err.http_status == 404:
             if err.http_status == 404:
                 return True
                 return True
@@ -602,7 +602,7 @@ class OpenStackContainerObject(ContainerObject):
 class OpenStackContainer(Container):
 class OpenStackContainer(Container):
 
 
     def __init__(self, provider, container):
     def __init__(self, provider, container):
-        self.provider = provider
+        self._provider = provider
         self._container = container
         self._container = container
 
 
     @property
     @property
@@ -616,10 +616,10 @@ class OpenStackContainer(Container):
         """
         """
         Retrieve a given object from this container.
         Retrieve a given object from this container.
         """
         """
-        _, object_list = self.provider.swift.get_container(
+        _, object_list = self._provider.swift.get_container(
             self.name, prefix=key)
             self.name, prefix=key)
         if object_list:
         if object_list:
-            return OpenStackContainerObject(self.provider, self,
+            return OpenStackContainerObject(self._provider, self,
                                             object_list[0])
                                             object_list[0])
         else:
         else:
             return None
             return None
@@ -631,18 +631,18 @@ class OpenStackContainer(Container):
         :rtype: ContainerObject
         :rtype: ContainerObject
         :return: List of all available ContainerObjects within this container
         :return: List of all available ContainerObjects within this container
         """
         """
-        _, object_list = self.provider.swift.get_container(self.name)
+        _, object_list = self._provider.swift.get_container(self.name)
         return [
         return [
-            OpenStackContainer(self.provider, o) for o in object_list]
+            OpenStackContainer(self._provider, o) for o in object_list]
 
 
     def delete(self, delete_contents=False):
     def delete(self, delete_contents=False):
         """
         """
         Delete this container.
         Delete this container.
         """
         """
-        self.provider.swift.delete_container(self.name)
+        self._provider.swift.delete_container(self.name)
 
 
     def create_object(self, object_name):
     def create_object(self, object_name):
-        self.provider.swift.put_object(self.name, object_name, None)
+        self._provider.swift.put_object(self.name, object_name, None)
         return self.get(object_name)
         return self.get(object_name)
 
 
     def __repr__(self):
     def __repr__(self):

+ 58 - 58
cloudbridge/providers/openstack/services.py

@@ -34,7 +34,7 @@ from .resources import OpenStackVolume
 class OpenStackSecurityService(SecurityService):
 class OpenStackSecurityService(SecurityService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
         # Initialize provider services
         # Initialize provider services
         self._key_pairs = OpenStackKeyPairService(provider)
         self._key_pairs = OpenStackKeyPairService(provider)
@@ -64,7 +64,7 @@ class OpenStackSecurityService(SecurityService):
 class OpenStackKeyPairService(KeyPairService):
 class OpenStackKeyPairService(KeyPairService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def list(self):
     def list(self):
         """
         """
@@ -73,30 +73,30 @@ class OpenStackKeyPairService(KeyPairService):
         :rtype: ``list`` of :class:`.KeyPair`
         :rtype: ``list`` of :class:`.KeyPair`
         :return:  list of KeyPair objects
         :return:  list of KeyPair objects
         """
         """
-        key_pairs = self.provider.nova.keypairs.list()
-        return [OpenStackKeyPair(self.provider, kp) for kp in key_pairs]
+        key_pairs = self._provider.nova.keypairs.list()
+        return [OpenStackKeyPair(self._provider, kp) for kp in key_pairs]
 
 
-    def create(self, key_name):
+    def create(self, name):
         """
         """
         Create a new key pair.
         Create a new key pair.
 
 
-        :type key_name: str
-        :param key_name: The name of the key pair to be created.
+        :type name: str
+        :param name: The name of the key pair to be created.
 
 
         :rtype: ``object`` of :class:`.KeyPair`
         :rtype: ``object`` of :class:`.KeyPair`
         :return:  A keypair instance or None if one was not be created.
         :return:  A keypair instance or None if one was not be created.
         """
         """
-        kp = self.provider.nova.keypairs.create(key_name)
+        kp = self._provider.nova.keypairs.create(name)
         if kp:
         if kp:
-            return OpenStackKeyPair(self.provider, kp)
+            return OpenStackKeyPair(self._provider, kp)
         return None
         return None
 
 
-    def delete(self, key_name):
+    def delete(self, name):
         """
         """
         Delete an existing key pair.
         Delete an existing key pair.
 
 
-        :type key_name: str
-        :param key_name: The name of the key pair to be deleted.
+        :type name: str
+        :param name: The name of the key pair to be deleted.
 
 
         :rtype: ``bool``
         :rtype: ``bool``
         :return:  ``True`` if the key does not exist, ``False`` otherwise. Note
         :return:  ``True`` if the key does not exist, ``False`` otherwise. Note
@@ -104,7 +104,7 @@ class OpenStackKeyPairService(KeyPairService):
                   this method but instead has not existed in the first place.
                   this method but instead has not existed in the first place.
         """
         """
         try:
         try:
-            kp = self.provider.nova.keypairs.find(name=key_name)
+            kp = self._provider.nova.keypairs.find(name=name)
             kp.delete()
             kp.delete()
             return True
             return True
         except NovaNotFound:
         except NovaNotFound:
@@ -114,7 +114,7 @@ class OpenStackKeyPairService(KeyPairService):
 class OpenStackSecurityGroupService(SecurityGroupService):
 class OpenStackSecurityGroupService(SecurityGroupService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def list(self):
     def list(self):
         """
         """
@@ -123,9 +123,9 @@ class OpenStackSecurityGroupService(SecurityGroupService):
         :rtype: ``list`` of :class:`.SecurityGroup`
         :rtype: ``list`` of :class:`.SecurityGroup`
         :return:  list of SecurityGroup objects
         :return:  list of SecurityGroup objects
         """
         """
-        groups = self.provider.nova.security_groups.list()
+        groups = self._provider.nova.security_groups.list()
         return [OpenStackSecurityGroup(
         return [OpenStackSecurityGroup(
-            self.provider, group) for group in groups]
+            self._provider, group) for group in groups]
 
 
     def create(self, name, description):
     def create(self, name, description):
         """
         """
@@ -140,9 +140,9 @@ class OpenStackSecurityGroupService(SecurityGroupService):
         :rtype: ``object`` of :class:`.SecurityGroup`
         :rtype: ``object`` of :class:`.SecurityGroup`
         :return: a SecurityGroup object
         :return: a SecurityGroup object
         """
         """
-        sg = self.provider.nova.security_groups.create(name, description)
+        sg = self._provider.nova.security_groups.create(name, description)
         if sg:
         if sg:
-            return OpenStackSecurityGroup(self.provider, sg)
+            return OpenStackSecurityGroup(self._provider, sg)
         return None
         return None
 
 
     def get(self, group_names=None, group_ids=None):
     def get(self, group_names=None, group_ids=None):
@@ -167,7 +167,7 @@ class OpenStackSecurityGroupService(SecurityGroupService):
             group_names = []
             group_names = []
         if not group_ids:
         if not group_ids:
             group_ids = []
             group_ids = []
-        security_groups = self.provider.nova.security_groups.list()
+        security_groups = self._provider.nova.security_groups.list()
         filtered = []
         filtered = []
         for sg in security_groups:
         for sg in security_groups:
             if sg.name in group_names:
             if sg.name in group_names:
@@ -175,7 +175,7 @@ class OpenStackSecurityGroupService(SecurityGroupService):
             if sg.id in group_ids:
             if sg.id in group_ids:
                 filtered.append(sg)
                 filtered.append(sg)
         # If a filter was specified, use the filtered list; otherwise, get all
         # If a filter was specified, use the filtered list; otherwise, get all
-        return [OpenStackSecurityGroup(self.provider, sg)
+        return [OpenStackSecurityGroup(self._provider, sg)
                 for sg in (filtered
                 for sg in (filtered
                            if (group_names or group_ids) else security_groups)]
                            if (group_names or group_ids) else security_groups)]
 
 
@@ -201,7 +201,7 @@ class OpenStackSecurityGroupService(SecurityGroupService):
 class OpenStackImageService(ImageService):
 class OpenStackImageService(ImageService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_image(self, image_id):
     def get_image(self, image_id):
         """
         """
@@ -209,7 +209,7 @@ class OpenStackImageService(ImageService):
         """
         """
         try:
         try:
             return OpenStackMachineImage(
             return OpenStackMachineImage(
-                self.provider, self.provider.nova.images.get(image_id))
+                self._provider, self._provider.nova.images.get(image_id))
         except NovaNotFound:
         except NovaNotFound:
             return None
             return None
 
 
@@ -224,19 +224,19 @@ class OpenStackImageService(ImageService):
         """
         """
         List all images.
         List all images.
         """
         """
-        images = self.provider.nova.images.list()
-        return [OpenStackMachineImage(self.provider, image)
+        images = self._provider.nova.images.list()
+        return [OpenStackMachineImage(self._provider, image)
                 for image in images]
                 for image in images]
 
 
 
 
 class OpenStackInstanceTypesService(InstanceTypesService):
 class OpenStackInstanceTypesService(InstanceTypesService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def list(self):
     def list(self):
         return [OpenStackInstanceType(f)
         return [OpenStackInstanceType(f)
-                for f in self.provider.nova.flavors.list()]
+                for f in self._provider.nova.flavors.list()]
 
 
     def find_by_name(self, name):
     def find_by_name(self, name):
         return next(
         return next(
@@ -246,11 +246,11 @@ class OpenStackInstanceTypesService(InstanceTypesService):
 class OpenStackBlockStoreService(BlockStoreService):
 class OpenStackBlockStoreService(BlockStoreService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
         # Initialize provider services
         # Initialize provider services
-        self._volumes = OpenStackVolumeService(self.provider)
-        self._snapshots = OpenStackSnapshotService(self.provider)
+        self._volumes = OpenStackVolumeService(self._provider)
+        self._snapshots = OpenStackSnapshotService(self._provider)
 
 
     @property
     @property
     def volumes(self):
     def volumes(self):
@@ -264,7 +264,7 @@ class OpenStackBlockStoreService(BlockStoreService):
 class OpenStackVolumeService(VolumeService):
 class OpenStackVolumeService(VolumeService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_volume(self, volume_id):
     def get_volume(self, volume_id):
         """
         """
@@ -272,7 +272,7 @@ class OpenStackVolumeService(VolumeService):
         """
         """
         try:
         try:
             return OpenStackVolume(
             return OpenStackVolume(
-                self.provider, self.provider.cinder.volumes.get(volume_id))
+                self._provider, self._provider.cinder.volumes.get(volume_id))
         except CinderNotFound:
         except CinderNotFound:
             return None
             return None
 
 
@@ -287,8 +287,8 @@ class OpenStackVolumeService(VolumeService):
         """
         """
         List all volumes.
         List all volumes.
         """
         """
-        return [OpenStackVolume(self.provider, vol)
-                for vol in self.provider.cinder.volumes.list()]
+        return [OpenStackVolume(self._provider, vol)
+                for vol in self._provider.cinder.volumes.list()]
 
 
     def create_volume(self, name, size, zone, snapshot=None):
     def create_volume(self, name, size, zone, snapshot=None):
         """
         """
@@ -298,16 +298,16 @@ class OpenStackVolumeService(VolumeService):
         snapshot_id = snapshot.snapshot_id if isinstance(
         snapshot_id = snapshot.snapshot_id if isinstance(
             zone, OpenStackSnapshot) and snapshot else snapshot
             zone, OpenStackSnapshot) and snapshot else snapshot
 
 
-        os_vol = self.provider.cinder.volumes.create(
+        os_vol = self._provider.cinder.volumes.create(
             size, name=name, availability_zone=zone_name,
             size, name=name, availability_zone=zone_name,
             snapshot_id=snapshot_id)
             snapshot_id=snapshot_id)
-        return OpenStackVolume(self.provider, os_vol)
+        return OpenStackVolume(self._provider, os_vol)
 
 
 
 
 class OpenStackSnapshotService(SnapshotService):
 class OpenStackSnapshotService(SnapshotService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_snapshot(self, snapshot_id):
     def get_snapshot(self, snapshot_id):
         """
         """
@@ -315,8 +315,8 @@ class OpenStackSnapshotService(SnapshotService):
         """
         """
         try:
         try:
             return OpenStackSnapshot(
             return OpenStackSnapshot(
-                self.provider,
-                self.provider.cinder.volume_snapshots.get(snapshot_id))
+                self._provider,
+                self._provider.cinder.volume_snapshots.get(snapshot_id))
         except CinderNotFound:
         except CinderNotFound:
             return None
             return None
 
 
@@ -331,8 +331,8 @@ class OpenStackSnapshotService(SnapshotService):
         """
         """
         List all snapshot.
         List all snapshot.
         """
         """
-        return [OpenStackSnapshot(self.provider, snap)
-                for snap in self.provider.cinder.volume_snapshots.list()]
+        return [OpenStackSnapshot(self._provider, snap)
+                for snap in self._provider.cinder.volume_snapshots.list()]
 
 
     def create_snapshot(self, name, volume, description=None):
     def create_snapshot(self, name, volume, description=None):
         """
         """
@@ -341,26 +341,26 @@ class OpenStackSnapshotService(SnapshotService):
         volume_id = volume.volume_id if \
         volume_id = volume.volume_id if \
             isinstance(volume, OpenStackVolume) else volume
             isinstance(volume, OpenStackVolume) else volume
 
 
-        os_snap = self.provider.cinder.volume_snapshots.create(
+        os_snap = self._provider.cinder.volume_snapshots.create(
             volume_id, name=name,
             volume_id, name=name,
             description=description)
             description=description)
-        return OpenStackSnapshot(self.provider, os_snap)
+        return OpenStackSnapshot(self._provider, os_snap)
 
 
 
 
 class OpenStackObjectStoreService(ObjectStoreService):
 class OpenStackObjectStoreService(ObjectStoreService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
+        self._provider = provider
 
 
     def get_container(self, container_id):
     def get_container(self, container_id):
         """
         """
         Returns a container given its id. Returns None if the container
         Returns a container given its id. Returns None if the container
         does not exist.
         does not exist.
         """
         """
-        _, container_list = self.provider.swift.get_account(
+        _, container_list = self._provider.swift.get_account(
             prefix=container_id)
             prefix=container_id)
         if container_list:
         if container_list:
-            return OpenStackContainer(self.provider, container_list[0])
+            return OpenStackContainer(self._provider, container_list[0])
         else:
         else:
             return None
             return None
 
 
@@ -375,23 +375,23 @@ class OpenStackObjectStoreService(ObjectStoreService):
         """
         """
         List all containers.
         List all containers.
         """
         """
-        _, container_list = self.provider.swift.get_account()
+        _, container_list = self._provider.swift.get_account()
         return [
         return [
-            OpenStackContainer(self.provider, c) for c in container_list]
+            OpenStackContainer(self._provider, c) for c in container_list]
 
 
     def create_container(self, name, location=None):
     def create_container(self, name, location=None):
         """
         """
         Create a new container.
         Create a new container.
         """
         """
-        self.provider.swift.put_container(name)
+        self._provider.swift.put_container(name)
         return self.get_container(name)
         return self.get_container(name)
 
 
 
 
 class OpenStackComputeService(ComputeService):
 class OpenStackComputeService(ComputeService):
 
 
     def __init__(self, provider):
     def __init__(self, provider):
-        self.provider = provider
-        self.instance_types = OpenStackInstanceTypesService(self.provider)
+        self._provider = provider
+        self.instance_types = OpenStackInstanceTypesService(self._provider)
 
 
     def create_instance(self, name, image, instance_type, zone=None,
     def create_instance(self, name, image, instance_type, zone=None,
                         keypair=None, security_groups=None, user_data=None,
                         keypair=None, security_groups=None, user_data=None,
@@ -416,7 +416,7 @@ class OpenStackComputeService(ComputeService):
         else:
         else:
             security_groups_list = None
             security_groups_list = None
 
 
-        os_instance = self.provider.nova.servers.create(
+        os_instance = self._provider.nova.servers.create(
             name,
             name,
             image_id,
             image_id,
             instance_size,
             instance_size,
@@ -426,14 +426,14 @@ class OpenStackComputeService(ComputeService):
             key_name=keypair_name,
             key_name=keypair_name,
             security_groups=security_groups_list,
             security_groups=security_groups_list,
             userdata=user_data)
             userdata=user_data)
-        return OpenStackInstance(self.provider, os_instance)
+        return OpenStackInstance(self._provider, os_instance)
 
 
     def list_instances(self):
     def list_instances(self):
         """
         """
         List all instances.
         List all instances.
         """
         """
-        instances = self.provider.nova.servers.list()
-        return [OpenStackInstance(self.provider, instance)
+        instances = self._provider.nova.servers.list()
+        return [OpenStackInstance(self._provider, instance)
                 for instance in instances]
                 for instance in instances]
 
 
     def list_regions(self):
     def list_regions(self):
@@ -442,15 +442,15 @@ class OpenStackComputeService(ComputeService):
         """
         """
         # detailed must be set to ``False`` because the (default) ``True``
         # detailed must be set to ``False`` because the (default) ``True``
         # value requires Admin priviledges
         # value requires Admin priviledges
-        regions = self.provider.nova.availability_zones.list(detailed=False)
-        return [OpenStackRegion(self.provider, region) for region in regions]
+        regions = self._provider.nova.availability_zones.list(detailed=False)
+        return [OpenStackRegion(self._provider, region) for region in regions]
 
 
     def get_instance(self, instance_id):
     def get_instance(self, instance_id):
         """
         """
         Returns an instance given its id.
         Returns an instance given its id.
         """
         """
         try:
         try:
-            os_instance = self.provider.nova.servers.get(instance_id)
-            return OpenStackInstance(self.provider, os_instance)
+            os_instance = self._provider.nova.servers.get(instance_id)
+            return OpenStackInstance(self._provider, os_instance)
         except NovaNotFound:
         except NovaNotFound:
             return None
             return None

+ 3 - 3
test/test_provider_security_service.py

@@ -11,10 +11,10 @@ class ProviderSecurityServiceTestCase(ProviderTestBase):
 
 
     def test_crud_key_pair_service(self):
     def test_crud_key_pair_service(self):
         name = 'cbtestkeypair-{0}'.format(uuid.uuid4())
         name = 'cbtestkeypair-{0}'.format(uuid.uuid4())
-        kp = self.provider.security.key_pairs.create(key_name=name)
+        kp = self.provider.security.key_pairs.create(name=name)
         with helpers.exception_action(
         with helpers.exception_action(
             lambda:
             lambda:
-                self.provider.security.key_pairs.delete(key_name=kp.name)
+                self.provider.security.key_pairs.delete(name=kp.name)
         ):
         ):
             kpl = self.provider.security.key_pairs.list()
             kpl = self.provider.security.key_pairs.list()
             found_kp = [k for k in kpl if k.name == name]
             found_kp = [k for k in kpl if k.name == name]
@@ -22,7 +22,7 @@ class ProviderSecurityServiceTestCase(ProviderTestBase):
                 len(found_kp) == 1,
                 len(found_kp) == 1,
                 "List key pairs did not return the expected key {0}."
                 "List key pairs did not return the expected key {0}."
                 .format(name))
                 .format(name))
-            self.provider.security.key_pairs.delete(key_name=kp.name)
+            self.provider.security.key_pairs.delete(name=kp.name)
             kpl = self.provider.security.key_pairs.list()
             kpl = self.provider.security.key_pairs.list()
             found_kp = [k for k in kpl if k.name == name]
             found_kp = [k for k in kpl if k.name == name]
             self.assertTrue(
             self.assertTrue(