class Fog::Storage::AzureRM::Directories

This class is giving implementation of listing containers.

Public Instance Methods

all() click to toggle source

List all directories(containers) in the storage account.

@return [Fog::Storage::AzureRM::Directories]

# File lib/fog/azurerm/models/storage/directories.rb, line 12
def all
  containers = service.list_containers
  data = []
  containers.each do |container|
    c = parse_storage_object(container)
    c[:acl] = 'unknown'
    data << c
  end
  load(data)
end
check_container_exists(name) click to toggle source
# File lib/fog/azurerm/models/storage/directories.rb, line 69
def check_container_exists(name)
  service.check_container_exists(name)
end
delete_temporary_container(storage_account_name, access_key, container_name) click to toggle source
# File lib/fog/azurerm/models/storage/directories.rb, line 64
def delete_temporary_container(storage_account_name, access_key, container_name)
  storage_data = Fog::Storage::AzureRM.new(azure_storage_account_name: storage_account_name, azure_storage_access_key: access_key)
  storage_data.delete_container(container_name)
end
get(identity, options = {}) click to toggle source

Get a directory with files(blobs) under this directory. You can set max_keys to 1 if you do not want to return all files under this directory.

@param identity [String] Name of directory @param options [Hash] @option options [String] max_keys or

max_results Sets the maximum number of files to return.

@option options [String] delimiter Sets to cause that the operation returns a BlobPrefix element in the response body that acts

as a placeholder for all files whose names begin with the same substring up to the appearance
of the delimiter character. The delimiter may be a single character or a string.

@option options [String] marker Sets the identifier that specifies the portion of the list to be returned. @option options [String] prefix Sets filters the results to return only files whose name begins with the specified prefix.

@return [Fog::Storage::AzureRM::Directory] A directory. Return nil if the directory does not exist.

# File lib/fog/azurerm/models/storage/directories.rb, line 38
def get(identity, options = {})
  remap_attributes(options, max_keys: :max_results)

  container = service.get_container_properties(identity)
  data = parse_storage_object(container)
  data[:acl] = 'unknown'

  directory = new(key: identity, is_persisted: true)
  directory.merge_attributes(data)

  data = service.list_blobs(identity, options)

  new_options = options.merge(next_marker: data[:next_marker])
  directory.files.merge_attributes(new_options)

  blobs = []
  data[:blobs].each do |blob|
    blobs << parse_storage_object(blob)
  end
  directory.files.load(blobs)
  directory
rescue Exception => error
  return nil if error.message == 'NotFound'
  raise error
end