Resources

CloudServiceType

class cloudbridge.cloud.interfaces.resources.CloudServiceType[source]

Defines possible service types that are offered by providers.

Providers can implement the has_service method and clients can check for the availability of a service with:

if (provider.has_service(CloudServiceTypes.OBJECTSTORE))
    ...

ObjectLifeCycleMixin

class cloudbridge.cloud.interfaces.resources.ObjectLifeCycleMixin[source]

A mixin for an object with a defined life-cycle, such as an Instance, Volume, Image or Snapshot. An object that supports ObjectLifeCycleMixin will always have a state, defining which point in its life cycle it is currently at.

It also defines a wait_till_ready operation, which indicates that the object is in a state in its life cycle where it is ready to be used by an end-user.

A refresh operation allows the object to synchronise its state with the service provider.

refresh()[source]

Refreshs this object’s state and synchronize it with the underlying service provider.

state

Get the current state of this object.

Return type:str
Returns:The current state as a string.
wait_for(target_states, terminal_states=None, timeout=None, interval=None)[source]

Wait for a specified timeout for an object to reach a set of desired target states. If the object does not reach the desired state within the specified timeout, a WaitStateException will be raised. The optional terminal_states property can be used to specify an additional set of states which, should the object reach one, the object thereafter will not transition into the desired target state. Should this happen, a WaitStateException will be raised.

Example:

instance.wait_for(
    [InstanceState.TERMINATED, InstanceState.UNKNOWN],
    terminal_states=[InstanceState.ERROR])
Parameters:
  • target_states (list of states) – The list of target states to wait for.
  • terminal_states (list of states) – A list of terminal states after which the object will not transition into a target state. A WaitStateException will be raised if the object transition into a terminal state.
  • timeout (int) – The maximum length of time (in seconds) to wait for the object to changed to desired state. If no timeout is specified, the global default_wait_timeout defined in the provider config will apply.
  • interval (int) – How frequently to poll the object’s state (in seconds). If no interval is specified, the global default_wait_interval defined in the provider config will apply.
Return type:

True

Returns:

Returns True if successful. A WaitStateException exception may be thrown by the underlying service if the object cannot get into a ready state (e.g. if the object is in an error state).

wait_till_ready(timeout, interval)[source]

A convenience method to wait till the current object reaches a state which is ready for use, which is any state where the end-user can successfully interact with the object. Will throw a WaitStateException if the object is not ready within the specified timeout.

Parameters:
  • timeout (int) – The maximum length of time (in seconds) to wait for the object to become ready.
  • interval (int) – How frequently to poll the object’s ready state (in seconds).
Return type:

True

Returns:

Returns True if successful. A WaitStateException exception may be thrown by the underlying service if the object cannot get into a ready state (e.g. if the object is in an error state).

ResultList

class cloudbridge.cloud.interfaces.resources.ResultList[source]

This is a wrapper class around a standard Python list class and provides some extra properties to aid with paging through a large number of results.

Example:

# get first page of results
rl = provider.compute.instances.list(limit=50)
for result in rl:
    print("Instance Data: {0}", result)
if rl.supports_total:
    print("Total results: {0}".format(rl.total_results))
else:
    print("Total records unknown,"
          "but has more data?: {0}."format(rl.is_truncated))

# Page to next set of results
if (rl.is_truncated)
    rl = provider.compute.instances.list(limit=100,
                                         marker=rl.marker)
is_truncated

Indicates whether this result list has more results that can be paged in.

marker

This is an opaque identifier used to assist in paging through very long lists of objects. This marker can be provided to the list method to get the next set of results.

supports_server_paging

Indicates whether this ResultList supports client side paging or server side paging. If server side paging is not supported, the data property provides direct access to all available data.

supports_total

Indicates whether the provider supports returning the total number of available results. The supports_total property should be checked before accessing the total_results property.

total_results

Indicates the total number of results for a particular query. The supports_total property should be used to check whether the provider supports returning the total number of results, before accessing this property, or the behaviour is indeterminate.

InstanceState

class cloudbridge.cloud.interfaces.resources.InstanceState[source]

Standard states for a node

Variables:
  • UNKNOWN – Instance state unknown.
  • PENDING – Instance is pending
  • CONFIGURING – Instance is being reconfigured in some way.
  • RUNNING – Instance is running.
  • REBOOTING – Instance is rebooting.
  • TERMINATED – Instance is terminated. No further operations possible.
  • STOPPED – Instance is stopped. Instance can be resumed.
  • ERROR – Instance is in an error state. No further operations possible.

Instance

class cloudbridge.cloud.interfaces.resources.Instance[source]
add_floating_ip(ip_address)[source]

Add a public IP address to this instance.

Parameters:ip_address (str) – The IP address to associate with the instance.
add_security_group(sg)[source]

Add a security group to this instance

Parameters:sg (SecurityGroup) – The SecurityGroup to associate with the instance.
create_image(name)[source]

Create a new image based on this instance.

Return type::class:.Image
Returns:an Image object
id

Get the instance identifier.

Return type:str
Returns:ID for this instance as returned by the cloud middleware.
image_id

Get the image ID for this instance.

Return type:str
Returns:Image ID (i.e., AMI) this instance is using.
instance_type

Retrieve full instance type information for this instance.

Return type:InstanceType
Returns:Instance type for this instance
instance_type_id

Get the instance type id for this instance. This will typically be a string value like ‘m1.large’. On OpenStack, this may be a number or UUID. To get the full :class:.InstanceType object, you can use the instance.instance_type property instead.

Return type:str
Returns:Instance type name for this instance (e.g., m1.large)
key_pair_name

Get the name of the key pair associated with this instance.

Return type:str
Returns:Name of the ssh key pair associated with this instance.
name

Get the instance name.

Return type:str
Returns:Name for this instance as returned by the cloud middleware.
private_ips

Get all the private IP addresses for this instance.

Return type:list
Returns:A list of private IP addresses associated with this instance.
public_ips

Get all the public IP addresses for this instance.

Return type:list
Returns:A list of public IP addresses associated with this instance.
reboot()[source]

Reboot this instance (using the cloud middleware API).

Return type:bool
Returns:True if the reboot was successful; False otherwise.
remove_floating_ip(ip_address)[source]

Remove a public IP address from this instance.

Parameters:ip_address (str) – The IP address to remove from the instance.
remove_security_group(sg)[source]

Remove a security group from this instance

Parameters:sg (SecurityGroup) – The SecurityGroup to associate with the instance.
security_group_ids

Get the IDs of the security groups associated with this instance.

Return type:list or :class:str
Returns:A list of the SecurityGroup IDs associated with this instance.
security_groups

Get the security groups associated with this instance.

Return type:list or SecurityGroup objects
Returns:A list of SecurityGroup objects associated with this instance.
terminate()[source]

Permanently terminate this instance.

zone_id

Get the placement zone ID where this instance is running.

Return type:str
Returns:Region/zone/placement where this instance is running.

MachineImageState

class cloudbridge.cloud.interfaces.resources.MachineImageState[source]

Standard states for a machine image

Variables:
  • UNKNOWN – Image state unknown.
  • PENDING – Image is pending
  • AVAILABLE – Image is available
  • ERROR – Image is in an error state. Not recoverable.

LaunchConfig

class cloudbridge.cloud.interfaces.resources.LaunchConfig[source]

Represents an advanced launch configuration object.

Theis object can contain information such as BlockDeviceMappings configurations, and other advanced options which may be useful when launching an instance.

Example:

lc = provider.compute.instances.create_launch_config()
lc.add_block_device(...)

inst = provider.compute.instances.create(name, image, instance_type,
                                         network, launch_config=lc)
add_ephemeral_device()[source]

Adds a new ephemeral block device mapping to the boot configuration. This can be used to add existing ephemeral devices to the instance. (The total number of ephemeral devices available for a particular InstanceType can be determined by querying the InstanceTypes service). Note that on some services, such as AWS, ephemeral devices must be added in as a device mapping at instance creation time, and cannot be added afterwards.

Note that the device name, such as /dev/sda1, cannot be selected at present, since this tends to be provider and instance type specific. However, the order of device addition coupled with device type will generally determine naming order, with devices added first getting lower letters than instances added later.

Example:

lc = provider.compute.instances.create_launch_config()

# 1. Add all available ephemeral devices
inst_type = provider.compute.instance_types.find(name='m1.tiny')[0]
for i in range(inst_type.num_ephemeral_disks):
    lc.add_ephemeral_device()
add_volume_device(source=None, is_root=None, size=None, delete_on_terminate=None)[source]

Adds a new volume based block device mapping to the boot configuration. The volume can be based on a snapshot, image, existing volume or be a blank new volume, and is specified by the source parameter.

The property is_root can be set to True to override any existing root device mappings. Otherwise, the default behaviour is to add new block devices to the instance.

Note that the device name, such as /dev/sda1, cannot be selected at present, since this tends to be provider and instance type specific. However, the order of device addition coupled with device type will generally determine naming order, with devices added first getting lower letters than instances added later (except when is_root is set).

Example:

lc = provider.compute.instances.create_launch_config()

# 1. Create and attach an empty volume of size 100GB
lc.add_volume_device(size=100, delete_on_terminate=True)

# 2. Create and attach a volume based on a snapshot
snap = provider.block_store.snapshots.get('<my_snapshot_id>')
lc.add_volume_device(source=snap)

# 3. Create+attach a volume based on an image and set it as root
img = provider.compute.images.get('<my_image_id>')
lc.add_volume_device(source=img, size=100, is_root=True)
Parameters:
  • source (Volume, Snapshot, Image or None.) – The source block_device to add. If Volume, the volume will be attached directly to the instance. If Snapshot, a volume will be created based on the Snapshot and attached to the instance. If Image, a volume based on the Image will be attached to the instance. If None, the source is assumed to be a blank volume.
  • is_root (bool) – Determines which device will serve as the root device. If more than one device is defined as root, an InvalidConfigurationException will be thrown.
  • size (int) – The size of the volume to create. An implementation may ignore this parameter for certain sources like ‘Volume’.
  • delete_on_terminate (bool) – Determines whether to delete or keep the volume on instance termination.

MachineImage

class cloudbridge.cloud.interfaces.resources.MachineImage[source]
delete()[source]

Delete this image

Return type:bool
Returns:True if the operation succeeded.
description

Get the image description.

Return type:str
Returns:Description for this image as returned by the cloud middleware.
id

Get the image identifier.

Return type:str
Returns:ID for this instance as returned by the cloud middleware.
min_disk

Returns the minimum size of the disk that’s required to boot this image (in GB)

Return type:int
Returns:The minimum disk size needed by this image
name

Get the image name.

Return type:str
Returns:Name for this image as returned by the cloud middleware.

Network

class cloudbridge.cloud.interfaces.resources.Network[source]

Represents a software-defined network, like the Virtual Private Cloud.

cidr_block

A CIDR block for this network.

Note

OpenStack does not define a CIDR block for networks.

Return type:str
Returns:A CIDR block string.
create_subnet(cidr_block, name=None, zone=None)[source]

Create a new network subnet and associate it with this Network.

Parameters:
  • cidr_block (str) – CIDR block within this Network to assign to the subnet.
  • name (str) – An optional subnet name. The name will be set if the provider supports it.
  • zone (str) – Placement zone where to create the subnet. Some providers may not support subnet zones, in which case the value is ignored.
Return type:

object of Subnet

Returns:

A Subnet object

delete()[source]

Delete this network.

Return type:bool
Returns:True if successful.
external

A flag to indicate if this network is capable of Internet-connectivity.

Return type:bool
Returns:True if the network can be connected to the Internet.
id

Get the network identifier.

Return type:str
Returns:ID for this network. Will generally correspond to the cloud middleware’s ID, but should be treated as an opaque value.
name

Get the network name.

Return type:str
Returns:Name for this network as returned by the cloud middleware.
state

The state of the network.

Return type:str
Returns:One of unknown, pending, available, down or error.
subnets()[source]

The associated subnets.

Return type:list of Subnet
Returns:List of subnets associated with this network.

Subnet

class cloudbridge.cloud.interfaces.resources.Subnet[source]

Represents a subnet, as part of a Network.

cidr_block

A CIDR block for this subnet.

Return type:str
Returns:A CIDR block string.
delete()[source]

Delete this subnet.

Return type:bool
Returns:True if successful.
id

Get the subnet identifier.

Return type:str
Returns:ID for this network. Will generally correspond to the cloud middleware’s ID, but should be treated as an opaque value.
name

Get the subnet name.

Return type:str
Returns:Name for this subnet as returned by the cloud middleware.
network_id

ID of the network associated with this this subnet.

Return type:str
Returns:Network ID.
zone

Placement zone of the subnet.

If the provider does not support subnet placement, return None.

Return type:PlacementZone object
Returns:Placement zone of the subnet, or None if not defined.

VolumeState

class cloudbridge.cloud.interfaces.resources.VolumeState[source]

Standard states for a volume

Variables:
  • UNKNOWN – Volume state unknown.
  • CREATING – Volume is being created.
  • CONFIGURING – Volume is being configured in some way.
  • AVAILABLE – Volume is available and can be attached to an instance.
  • IN_USE – Volume is attached and in-use.
  • DELETED – Volume has been deleted. No further operations possible.
  • ERROR – Volume is in an error state. No further operations possible.

Volume

class cloudbridge.cloud.interfaces.resources.Volume[source]
attach(instance, device)[source]

Attach this volume to an instance.

Parameters:
  • instance (str or Instance object) – The ID of an instance or an Instance object to which this volume will be attached.
  • device (str) – The device on the instance through which the volume will be exposed (e.g. /dev/sdh).
Return type:

bool

Returns:

True if successful.

attachments

Get attachment information for this volume.

Return type:AttachmentInfo
Returns:Returns an AttachmentInfo object.
create_snapshot(name, description=None)[source]

Create a snapshot of this Volume.

Parameters:
  • name (str) – The name of this snapshot.
  • description (str) – A description of the snapshot. Limited to 256 characters.
Return type:

Snapshot

Returns:

The created Snapshot object.

create_time

Get the creation data and time for this volume.

Return type:DateTime
Returns:Creation time for this volume as returned by the cloud middleware.
delete()[source]

Delete this volume.

Return type:bool
Returns:True if successful.
description

Get the volume description. Some cloud providers may not support this property, and will return the volume name instead.

Return type:str
Returns:Description for this volume as returned by the cloud middleware.
detach(force=False)[source]

Detach this volume from an instance.

Parameters:force (bool) – Forces detachment if the previous detachment attempt did not occur cleanly. This option is supported on select clouds only. This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance will not have an opportunity to flush file system caches nor file system meta data. If you use this option, you must perform file system check and repair procedures.
Return type:bool
Returns:True if successful.
id

Get the volume identifier.

Return type:str
Returns:ID for this volume. Will generally correspond to the cloud middleware’s ID, but should be treated as an opaque value.
name

Get the volume name.

Return type:str
Returns:Name for this volume as returned by the cloud middleware.
size

Get the volume size (in GB).

Return type:int
Returns:Size for this volume as returned by the cloud middleware.
source

If available, get the source that this volume is based on (can be a Snapshot or an Image). Returns None if no source.

Return type:Snapshot` or ``Image
Returns:Snapshot or Image source for this volume as returned by the cloud middleware.
zone_id

Get the placement zone id that this volume belongs to.

Return type:str
Returns:PlacementZone for this volume as returned by the cloud middleware.

SnapshotState

class cloudbridge.cloud.interfaces.resources.SnapshotState[source]

Standard states for a snapshot

Variables:
  • UNKNOWN – Snapshot state unknown.
  • PENDING – Snapshot is pending.
  • CONFIGURING – Snapshot is being configured in some way.
  • AVAILABLE – Snapshot has been completed and is ready for use.
  • ERROR – Snapshot is in an error state. No further operations possible.

Snapshot

class cloudbridge.cloud.interfaces.resources.Snapshot[source]
create_time

Get the creation data and time for this snapshot.

Return type:DateTime
Returns:Creation time for this snapshot as returned by the cloud middleware.
create_volume(placement, size=None, volume_type=None, iops=None)[source]

Create a new Volume from this Snapshot.

Parameters:
  • placement (str) – The availability zone where to create the Volume.
  • size (int) – The size of the new volume, in GiB (optional). Defaults to the size of the snapshot.
  • volume_type (str) – The type of the volume (optional). Availability and valid values depend on the provider.
  • iops (int) – The provisioned IOPs you want to associate with this volume (optional). Availability depends on the provider.
Return type:

Volume

Returns:

An instance of the created Volume.

delete()[source]

Delete this snapshot.

Return type:bool
Returns:True if successful.
description

Get the snapshot description. Some cloud providers may not support this property, and will return the snapshot name instead.

Return type:str
Returns:Description for this snapshot as returned by the cloud middleware.
id

Get the snapshot identifier.

Return type:str
Returns:ID for this snapshot. Will generally correspond to the cloud middleware’s ID, but should be treated as an opaque value.
name

Get the snapshot name.

size

Get the snapshot size (in GB).

Return type:int
Returns:Size for this snapshot as returned by the cloud middleware.
volume_id

Get the id of the volume that this snapshot is based on. May return None if the source volume no longer exists.

Return type:int
Returns:Id of the volume that this snapshot is based on

KeyPair

class cloudbridge.cloud.interfaces.resources.KeyPair[source]
delete()[source]

Delete this key pair.

Return type:bool
Returns:True if successful.
id

Return the id of this key pair.

Return type:str
Returns:ID for this snapshot. Will generally correspond to the cloud middleware’s name, but should be treated as an opaque value.
material

Unencrypted private key.

Return type:str
Returns:Unencrypted private key or None if not available.
name

Return the name of this key pair.

Return type:str
Returns:A name of this ssh key pair.

Region

class cloudbridge.cloud.interfaces.resources.Region[source]

Represents a cloud region, typically a separate geographic area and will contain at least one placement zone.

id

The id for this region

Return type:str
Returns:ID of the region.
name

Name of the region.

Return type:str
Returns:Name of the region.
zones

Access information about placement zones within this region.

Return type:Iterable
Returns:Iterable of available placement zones in this region.

PlacementZone

class cloudbridge.cloud.interfaces.resources.PlacementZone[source]

Represents a placement zone. A placement zone is contained within a Region.

id

Name of the placement zone.

Return type:str
Returns:Name of the placement zone.
name

Name of the placement zone.

Return type:str
Returns:Name of the placement zone.
region_name

A region this placement zone is associated with.

Return type:str
Returns:The name of the region the zone is associated with.

InstanceType

class cloudbridge.cloud.interfaces.resources.InstanceType[source]

An instance type object.

extra_data

A dictionary of extra data about this instance. May contain nested dictionaries, but all key value pairs are strings or integers.

Return type:dict
Returns:Extra attributes for this instance type.
family

The family/group that this instance type belongs to.

For example, General Purpose Instances or High-Memory Instances. If the provider does not support such a grouping, it may return None.

Return type:str
Returns:Name of the instance family or None.
num_ephemeral_disks

The total number of ephemeral disks on this instance type.

Return type:int
Returns:Number of ephemeral disks available.
ram

The amount of RAM (in MB) supported by this instance type.

Return type:int
Returns:Total RAM (in MB).
size_ephemeral_disks

The size of this instance types’s total ephemeral storage (in GB).

Return type:int
Returns:Size of ephemeral disks (in GB).
size_root_disk

The size of this instance types’s root disk (in GB).

Return type:int
Returns:Size of root disk (in GB).
size_total_disk

The total disk space available on this instance type (root_disk + ephemeral).

Return type:int
Returns:Size of total disk space (in GB).
vcpus

The number of VCPUs supported by this instance type.

Return type:int
Returns:Number of VCPUs.

SecurityGroup

class cloudbridge.cloud.interfaces.resources.SecurityGroup[source]
add_rule(ip_protocol=None, from_port=None, to_port=None, cidr_ip=None, src_group=None)[source]

Create a security group rule. If the rule already exists, simply returns it.

You need to pass in either src_group OR ip_protocol AND from_port, to_port, cidr_ip. In other words, either you are authorizing another group or you are authorizing some ip-based rule.

Parameters:
  • ip_protocol (str) – Either tcp | udp | icmp.
  • from_port (int) – The beginning port number you are enabling.
  • to_port (int) – The ending port number you are enabling.
  • cidr_ip (str or list of str) – The CIDR block you are providing access to.
  • src_group (SecurityGroup) – The Security Group object you are granting access to.
Return type:

SecurityGroupRule

Returns:

Rule object if successful or None.

delete()[source]

Delete this security group.

Return type:bool
Returns:True if successful.
description

Return the description of this security group.

Return type:str
Returns:A description of this security group.
get_rule(ip_protocol=None, from_port=None, to_port=None, cidr_ip=None, src_group=None)[source]

Get a security group rule with the specified parameters.

You need to pass in either src_group OR ip_protocol AND from_port, to_port, and cidr_ip. Note that when retrieving a group rule, this method will return only one rule although possibly several rules exist for the group rule. In that case, use the .rules property and filter the results as desired.

Parameters:
  • ip_protocol (str) – Either tcp | udp | icmp.
  • from_port (int) – The beginning port number you are enabling.
  • to_port (int) – The ending port number you are enabling.
  • cidr_ip (str or list of str) – The CIDR block you are providing access to.
  • src_group (SecurityGroup) – The Security Group object you are granting access to.
Return type:

SecurityGroupRule

Returns:

Role object if one can be found or None.

id

Get the ID of this security group.

Return type:str
Returns:Security group ID.
name

Return the name of this security group.

Return type:str
Returns:A name of this security group.
network_id

Network ID with which this security group is associated.

Return type:str
Returns:Provider-supplied network ID or None is not available.
rules

Get the list of rules for this security group.

Return type:list of SecurityGroupRule
Returns:A list of security group rule objects.

SecurityGroupRule

class cloudbridge.cloud.interfaces.resources.SecurityGroupRule[source]

Represents a security group rule.

cidr_ip

CIDR block this security group is providing access to.

Return type:str
Returns:CIDR block.
delete()[source]

Delete this rule.

from_port

Lowest port number opened as part of this rule.

Return type:int
Returns:Lowest port number or 0 if not set.
group

Security group given access permissions by this rule.

Return type::class:.SecurityGroup
Returns:The Security Group with granting access.
id

ID for this rule.

Note that this may be a CloudBridge-specific ID if the underlying provider does not support rule IDs.

Return type:str
Returns:Role ID.
ip_protocol

IP protocol used. Either tcp | udp | icmp.

Return type:str
Returns:Active protocol.
to_port

Highest port number opened as part of this rule.

Return type:int
Returns:Highest port number or 0 if not set.

BucketObject

class cloudbridge.cloud.interfaces.resources.BucketObject[source]

Represents an object stored within a bucket.

delete()[source]

Delete this object.

Return type:bool
Returns:True if successful.
generate_url(expires_in=0)[source]

Generate a URL to this object.

If the object is public, expires_in argument is not necessary, but if the object is private, the lifetime of URL is set using expires_in argument.

Parameters:expires_in (int) – Time to live of the generated URL in seconds.
Return type:str
Returns:A URL to access the object.
id

Get this object’s id.

Return type:str
Returns:id of this object as returned by the cloud middleware.
iter_content()[source]

Returns this object’s content as an iterable.

Return type:Iterable
Returns:An iterable of the file contents
last_modified

Get the date and time this object was last modified.

Return type:str
Returns:Date and time formatted string %Y-%m-%dT%H:%M:%S.%f
name

Get this object’s name.

Return type:str
Returns:Name of this object as returned by the cloud middleware.
save_content(target_stream)[source]

Save this object and write its contents to the target_stream.

size

Get this object’s size.

Return type:int
Returns:Size of this object in bytes.
upload(source_stream)[source]

Set the contents of this object to the data read from the source stream.

Return type:bool
Returns:True if successful.
upload_from_file(path)[source]

Store the contents of the file pointed by the “path” variable.

Parameters:path (str) – Absolute path to the file to be uploaded to S3.

Bucket

class cloudbridge.cloud.interfaces.resources.Bucket[source]
create_object(name)[source]

Create a new object within this bucket.

Return type::class:.BucketObject
Returns:The newly created bucket object
delete(delete_contents=False)[source]

Delete this bucket.

Parameters:delete_contents (bool) – If True, all objects within the bucket will be deleted.
Return type:bool
Returns:True if successful.
get(name)[source]

Retrieve a given object from this bucket.

Parameters:name (str) – The identifier of the object to retrieve
Return type::class:.BucketObject
Returns:The BucketObject or None if it cannot be found.
id

Get this bucket’s id.

Return type:str
Returns:ID of this bucket as returned by the cloud middleware.
list(limit=None, marker=None, prefix=None)[source]

List objects in this bucket.

Parameters:
  • limit (int) – Maximum number of elements to return.
  • marker (int) – Fetch results after this offset.
  • prefix (str) – Prefix criteria by which to filter listed objects.
Return type:

:class:.BucketObject

Returns:

List of all available BucketObjects within this bucket.

name

Get this bucket’s name.

Return type:str
Returns:Name of this bucket as returned by the cloud middleware.