Class: Fog::Storage::AzureRM::Directory
- Inherits:
-
Model
- Object
- Model
- Fog::Storage::AzureRM::Directory
- Includes:
- AzureRM::Utilities::General
- Defined in:
- lib/fog/azurerm/models/storage/directory.rb
Overview
This class is giving implementation of create and delete a container.
Constant Summary collapse
- VALID_ACLS =
['container', 'blob', 'unknown', nil].freeze
Instance Attribute Summary collapse
-
#acl ⇒ String
Get the the permission.
Instance Method Summary collapse
-
#destroy ⇒ Boolean
Destroy directory.
-
#files ⇒ Fog::Storage::AzureRM::Files
Get files under this directory.
-
#persisted? ⇒ Boolean
Check whether the directory is created.
-
#public=(new_public) ⇒ Boolean
Set the container permission to public or private.
-
#public_url(options = {}) ⇒ String
Get the public URL of the directory.
-
#save(options = {}) ⇒ Boolean
Create/Update the directory.
Methods included from AzureRM::Utilities::General
#active_directory_service_settings, #current_time, #get_blob_endpoint, #get_blob_endpoint_with_domain, #get_circuit_name_from_id, #get_end_point_type, #get_hash_from_object, #get_image_name, #get_record_set_from_id, #get_record_type, #get_resource_from_resource_id, #get_resource_group_from_id, #get_subscription_id, #get_traffic_manager_profile_name_from_endpoint_id, #get_type_from_recordset_type, #get_virtual_machine_from_id, #get_virtual_network_from_id, #parse_storage_object, #raise_azure_exception, #random_string, #remove_trailing_periods_from_path_segments, #resource_manager_endpoint_url, #resource_not_found?, #storage_endpoint_suffix, #validate_params
Instance Attribute Details
#acl ⇒ String
Get the the permission
required attributes: key
51 52 53 54 55 56 57 58 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 51 def acl requires :key return attributes[:acl] if attributes[:acl] != 'unknown' || !persisted? data = service.get_container_acl(key) attributes[:acl] = data[0] end |
Instance Method Details
#destroy ⇒ Boolean
Destroy directory.
required attributes: key
66 67 68 69 70 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 66 def destroy requires :key service.delete_container(key) end |
#files ⇒ Fog::Storage::AzureRM::Files
Get files under this directory. If you have set max_results or max_keys when getting this directory by directories.get, files may be incomplete. You need to use files.all to get all files under this directory.
78 79 80 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 78 def files @files ||= Fog::Storage::AzureRM::Files.new(directory: self, service: service) end |
#persisted? ⇒ Boolean
Check whether the directory is created.
145 146 147 148 149 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 145 def persisted? # is_persisted is true in case of directories.get or after #save # last_modified is set in case of directories.all attributes[:is_persisted] || !attributes[:last_modified].nil? end |
#public=(new_public) ⇒ Boolean
Set the container permission to public or private
88 89 90 91 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 88 def public=(new_public) attributes[:acl] = new_public ? 'container' : nil new_public end |
#public_url(options = {}) ⇒ String
Get the public URL of the directory
required attributes: key
102 103 104 105 106 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 102 def public_url( = {}) requires :key service.get_container_url(key, ) if acl == 'container' end |
#save(options = {}) ⇒ Boolean
Create/Update the directory
required attributes: key
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/fog/azurerm/models/storage/directory.rb', line 118 def save( = {}) requires :key is_create = .delete(:is_create) if is_create.nil? || is_create = {} [:public_access_level] = acl if acl != 'unknown' [:metadata] = if container = service.create_container(key, ) else service.put_container_acl(key, acl) if acl != 'unknown' service.(key, ) if container = service.get_container_properties(key) end attributes[:is_persisted] = true data = parse_storage_object(container) merge_attributes(data) true end |