Method: Fog::SharedFileSystem::OpenStack::Real#create_share

Defined in:
lib/fog/shared_file_system/openstack/requests/create_share.rb

#create_share(protocol, size, options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/fog/shared_file_system/openstack/requests/create_share.rb', line 5

def create_share(protocol, size, options = {})
  data = {
    'share_proto' => protocol,
    'size'        => size
  }

  vanilla_options = [
    :name, :description, :display_name, :display_description, :share_type, :volume_type, :snapshot_id,
    :is_public, :metadata, :share_network_id, :consistency_group_id, :availability_zone
  ]

  vanilla_options.select { |o| options[o] }.each do |key|
    data[key] = options[key]
  end

  request(
    :body    => Fog::JSON.encode('share' => data),
    :expects => 200,
    :method  => 'POST',
    :path    => 'shares'
  )
end