The ironic.common.swift Module

class ironic.common.swift.SwiftAPI[source]

Bases: object

API for communicating with Swift.

create_object(container, obj, filename, object_headers=None)[source]

Uploads a given file to Swift.

Parameters:
  • container – The name of the container for the object.
  • obj – The name of the object in Swift
  • filename – The file to upload, as the object data
  • object_headers – the headers for the object to pass to Swift
Returns:

The Swift UUID of the object

Raises:

SwiftOperationError, if any operation with Swift fails.

delete_object(container, obj)[source]

Deletes the given Swift object.

Parameters:
  • container – The name of the container in which Swift object is placed.
  • obj – The name of the object in Swift to be deleted.
Raises:

SwiftObjectNotFoundError, if object is not found in Swift.

Raises:

SwiftOperationError, if operation with Swift fails.

get_temp_url(container, obj, timeout)[source]

Returns the temp url for the given Swift object.

Parameters:
  • container – The name of the container in which Swift object is placed.
  • obj – The name of the Swift object.
  • timeout – The timeout in seconds after which the generated url should expire.
Returns:

The temp url for the object.

Raises:

SwiftOperationError, if any operation with Swift fails.

head_object(container, obj)[source]

Retrieves the information about the given Swift object.

Parameters:
  • container – The name of the container in which Swift object is placed.
  • obj – The name of the object in Swift
Returns:

The information about the object as returned by Swift client’s head_object call.

Raises:

SwiftOperationError, if operation with Swift fails.

update_object_meta(container, obj, object_headers)[source]

Update the metadata of a given Swift object.

Parameters:
  • container – The name of the container in which Swift object is placed.
  • obj – The name of the object in Swift
  • object_headers – the headers for the object to pass to Swift
Raises:

SwiftOperationError, if operation with Swift fails.