Class: Fog::Storage::AzureRM::Directories

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/azurerm/models/storage/directories.rb

Overview

This class is giving implementation of listing containers.

Instance Method Summary collapse

Instance Method Details

#allFog::Storage::AzureRM::Directories

List all directories(containers) in the storage account.



12
13
14
15
16
17
18
19
20
21
# 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) ⇒ Object



69
70
71
# 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) ⇒ Object



64
65
66
67
# File 'lib/fog/azurerm/models/storage/directories.rb', line 64

def delete_temporary_container(, access_key, container_name)
  storage_data = Fog::Storage::AzureRM.new(azure_storage_account_name: , azure_storage_access_key: access_key)
  storage_data.delete_container(container_name)
end

#get(identity, options = {}) ⇒ Fog::Storage::AzureRM::Directory

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.

Options Hash (options):

  • max_keys (String)

    or max_results Sets the maximum number of files to return.

  • delimiter (String)

    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.

  • marker (String)

    Sets the identifier that specifies the portion of the list to be returned.

  • prefix (String)

    Sets filters the results to return only files whose name begins with the specified prefix.



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 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