fog-openstack 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/fog/network/openstack.rb +19 -3
- data/lib/fog/network/openstack/models/extension.rb +15 -0
- data/lib/fog/network/openstack/models/extensions.rb +32 -0
- data/lib/fog/network/openstack/requests/get_extension.rb +28 -0
- data/lib/fog/network/openstack/requests/list_extensions.rb +25 -0
- data/lib/fog/openstack/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d553be58f8a9eb0f1972cb98898385c4499bc738
|
4
|
+
data.tar.gz: 6e25a7433659b73a9286016b2ec59b137e175b26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a690106d859693cb48f74ebf18dd9654c0c31219ddf324217df4c1fa344c87d472b6d1f67b52f04e05c426bfadcecf600996e70290402be97ce7eca70ebb0022
|
7
|
+
data.tar.gz: 07954dafb481e9dc4ecac147032ee8a60be25a417f140b4b00b01e5d8522e0bf7fde11d2c0b6a196f797f5e042cc792c95ae11f1f974a15ec3815939304b7868
|
@@ -20,6 +20,8 @@ module Fog
|
|
20
20
|
## MODELS
|
21
21
|
#
|
22
22
|
model_path 'fog/network/openstack/models'
|
23
|
+
model :extension
|
24
|
+
collection :extensions
|
23
25
|
model :network
|
24
26
|
collection :networks
|
25
27
|
model :port
|
@@ -57,6 +59,10 @@ module Fog
|
|
57
59
|
#
|
58
60
|
request_path 'fog/network/openstack/requests'
|
59
61
|
|
62
|
+
# Neutron Extensions
|
63
|
+
request :list_extensions
|
64
|
+
request :get_extension
|
65
|
+
|
60
66
|
# Network CRUD
|
61
67
|
request :list_networks
|
62
68
|
request :create_network
|
@@ -186,11 +192,21 @@ module Fog
|
|
186
192
|
def self.data
|
187
193
|
@data ||= Hash.new do |hash, key|
|
188
194
|
qos_policy_id = Fog::UUID.uuid
|
189
|
-
network_id
|
190
|
-
|
191
|
-
|
195
|
+
network_id = Fog::UUID.uuid
|
196
|
+
extension_id = Fog::UUID.uuid
|
197
|
+
subnet_id = Fog::UUID.uuid
|
198
|
+
tenant_id = Fog::Mock.random_hex(8)
|
192
199
|
|
193
200
|
hash[key] = {
|
201
|
+
:extensions => {
|
202
|
+
extension_id => {
|
203
|
+
'id' => extension_id,
|
204
|
+
'alias' => 'dvr',
|
205
|
+
'description' => 'Enables configuration of Distributed Virtual Routers.',
|
206
|
+
'links' => [],
|
207
|
+
'name' => 'Distributed Virtual Router'
|
208
|
+
}
|
209
|
+
},
|
194
210
|
:networks => {
|
195
211
|
network_id => {
|
196
212
|
'id' => network_id,
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Network
|
5
|
+
class OpenStack
|
6
|
+
class Extension < Fog::OpenStack::Model
|
7
|
+
identity :id
|
8
|
+
attribute :name
|
9
|
+
attribute :links
|
10
|
+
attribute :description
|
11
|
+
attribute :alias
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/network/openstack/models/extension'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Network
|
6
|
+
class OpenStack
|
7
|
+
class Extensions < Fog::OpenStack::Collection
|
8
|
+
attribute :filters
|
9
|
+
|
10
|
+
model Fog::Network::OpenStack::Extension
|
11
|
+
|
12
|
+
def initialize(attributes)
|
13
|
+
self.filters ||= {}
|
14
|
+
super
|
15
|
+
end
|
16
|
+
|
17
|
+
def all(filters_arg = filters)
|
18
|
+
filters = filters_arg
|
19
|
+
load_response(service.list_extensions(filters), 'extensions')
|
20
|
+
end
|
21
|
+
|
22
|
+
def get(extension_id)
|
23
|
+
if extension = service.get_extension(extension_id).body['extension']
|
24
|
+
new(extension)
|
25
|
+
end
|
26
|
+
rescue Fog::Network::OpenStack::NotFound
|
27
|
+
nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Fog
|
2
|
+
module Network
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def get_extension(name)
|
6
|
+
request(
|
7
|
+
:expects => [200],
|
8
|
+
:method => 'GET',
|
9
|
+
:path => "extensions/#{name}"
|
10
|
+
)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Mock
|
15
|
+
def get_extension(name)
|
16
|
+
response = Excon::Response.new
|
17
|
+
if data = self.data[:extensions][name]
|
18
|
+
response.status = 200
|
19
|
+
response.body = {'extension' => data}
|
20
|
+
response
|
21
|
+
else
|
22
|
+
raise Fog::Network::OpenStack::NotFound
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module Network
|
3
|
+
class OpenStack
|
4
|
+
class Real
|
5
|
+
def list_extensions(filters = {})
|
6
|
+
request(
|
7
|
+
:expects => 200,
|
8
|
+
:method => 'GET',
|
9
|
+
:path => 'extensions',
|
10
|
+
:query => filters
|
11
|
+
)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Mock
|
16
|
+
def list_extensions(_filters = {})
|
17
|
+
Excon::Response.new(
|
18
|
+
:body => {'extensions' => data[:extensions].values},
|
19
|
+
:status => 200
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-openstack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Darby
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog-core
|
@@ -710,6 +710,8 @@ files:
|
|
710
710
|
- lib/fog/monitoring/openstack/requests/update_alarm.rb
|
711
711
|
- lib/fog/monitoring/openstack/requests/update_alarm_definition.rb
|
712
712
|
- lib/fog/network/openstack.rb
|
713
|
+
- lib/fog/network/openstack/models/extension.rb
|
714
|
+
- lib/fog/network/openstack/models/extensions.rb
|
713
715
|
- lib/fog/network/openstack/models/floating_ip.rb
|
714
716
|
- lib/fog/network/openstack/models/floating_ips.rb
|
715
717
|
- lib/fog/network/openstack/models/ike_policies.rb
|
@@ -780,6 +782,7 @@ files:
|
|
780
782
|
- lib/fog/network/openstack/requests/delete_vpn_service.rb
|
781
783
|
- lib/fog/network/openstack/requests/disassociate_floating_ip.rb
|
782
784
|
- lib/fog/network/openstack/requests/disassociate_lb_health_monitor.rb
|
785
|
+
- lib/fog/network/openstack/requests/get_extension.rb
|
783
786
|
- lib/fog/network/openstack/requests/get_floating_ip.rb
|
784
787
|
- lib/fog/network/openstack/requests/get_ike_policy.rb
|
785
788
|
- lib/fog/network/openstack/requests/get_ipsec_policy.rb
|
@@ -799,6 +802,7 @@ files:
|
|
799
802
|
- lib/fog/network/openstack/requests/get_security_group_rule.rb
|
800
803
|
- lib/fog/network/openstack/requests/get_subnet.rb
|
801
804
|
- lib/fog/network/openstack/requests/get_vpn_service.rb
|
805
|
+
- lib/fog/network/openstack/requests/list_extensions.rb
|
802
806
|
- lib/fog/network/openstack/requests/list_floating_ips.rb
|
803
807
|
- lib/fog/network/openstack/requests/list_ike_policies.rb
|
804
808
|
- lib/fog/network/openstack/requests/list_ipsec_policies.rb
|