fog 1.32.0 → 1.33.0
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/CHANGELOG.md +59 -0
- data/Gemfile +1 -0
- data/Rakefile +4 -4
- data/fog.gemspec +3 -2
- data/lib/fog/linode/requests/compute/avail_datacenters.rb +8 -7
- data/lib/fog/openstack.rb +1 -0
- data/lib/fog/openstack/compute.rb +7 -1
- data/lib/fog/openstack/core.rb +28 -54
- data/lib/fog/openstack/identity.rb +1 -0
- data/lib/fog/openstack/identity_v3.rb +10 -9
- data/lib/fog/openstack/models/baremetal/chassis.rb +3 -14
- data/lib/fog/openstack/models/baremetal/chassis_collection.rb +5 -5
- data/lib/fog/openstack/models/baremetal/driver.rb +2 -8
- data/lib/fog/openstack/models/baremetal/drivers.rb +3 -5
- data/lib/fog/openstack/models/baremetal/node.rb +3 -14
- data/lib/fog/openstack/models/baremetal/nodes.rb +4 -4
- data/lib/fog/openstack/models/baremetal/port.rb +3 -14
- data/lib/fog/openstack/models/baremetal/ports.rb +4 -4
- data/lib/fog/openstack/models/collection.rb +45 -0
- data/lib/fog/openstack/models/compute/address.rb +2 -2
- data/lib/fog/openstack/models/compute/addresses.rb +3 -5
- data/lib/fog/openstack/models/compute/aggregate.rb +2 -8
- data/lib/fog/openstack/models/compute/aggregates.rb +3 -5
- data/lib/fog/openstack/models/compute/availability_zone.rb +14 -0
- data/lib/fog/openstack/models/compute/availability_zones.rb +22 -0
- data/lib/fog/openstack/models/compute/flavor.rb +2 -8
- data/lib/fog/openstack/models/compute/flavors.rb +6 -6
- data/lib/fog/openstack/models/compute/host.rb +1 -1
- data/lib/fog/openstack/models/compute/hosts.rb +4 -6
- data/lib/fog/openstack/models/compute/image.rb +2 -8
- data/lib/fog/openstack/models/compute/images.rb +4 -6
- data/lib/fog/openstack/models/compute/key_pair.rb +2 -2
- data/lib/fog/openstack/models/compute/key_pairs.rb +3 -4
- data/lib/fog/openstack/models/compute/metadata.rb +3 -2
- data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
- data/lib/fog/openstack/models/compute/network.rb +2 -2
- data/lib/fog/openstack/models/compute/networks.rb +3 -2
- data/lib/fog/openstack/models/compute/security_group.rb +2 -2
- data/lib/fog/openstack/models/compute/security_group_rule.rb +2 -2
- data/lib/fog/openstack/models/compute/security_group_rules.rb +2 -2
- data/lib/fog/openstack/models/compute/security_groups.rb +3 -5
- data/lib/fog/openstack/models/compute/server.rb +20 -1
- data/lib/fog/openstack/models/compute/servers.rb +9 -5
- data/lib/fog/openstack/models/compute/service.rb +2 -8
- data/lib/fog/openstack/models/compute/services.rb +4 -4
- data/lib/fog/openstack/models/compute/snapshot.rb +2 -8
- data/lib/fog/openstack/models/compute/snapshots.rb +5 -5
- data/lib/fog/openstack/models/compute/tenant.rb +2 -2
- data/lib/fog/openstack/models/compute/tenants.rb +3 -4
- data/lib/fog/openstack/models/compute/volume.rb +2 -8
- data/lib/fog/openstack/models/compute/volumes.rb +5 -5
- data/lib/fog/openstack/models/identity_v2/ec2_credential.rb +3 -9
- data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +3 -5
- data/lib/fog/openstack/models/identity_v2/role.rb +3 -3
- data/lib/fog/openstack/models/identity_v2/roles.rb +3 -5
- data/lib/fog/openstack/models/identity_v2/tenant.rb +5 -9
- data/lib/fog/openstack/models/identity_v2/tenants.rb +3 -5
- data/lib/fog/openstack/models/identity_v2/user.rb +2 -8
- data/lib/fog/openstack/models/identity_v2/users.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/domain.rb +5 -9
- data/lib/fog/openstack/models/identity_v3/domains.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/endpoint.rb +5 -9
- data/lib/fog/openstack/models/identity_v3/endpoints.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/group.rb +5 -9
- data/lib/fog/openstack/models/identity_v3/groups.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/os_credential.rb +3 -3
- data/lib/fog/openstack/models/identity_v3/os_credentials.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/policies.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/policy.rb +5 -9
- data/lib/fog/openstack/models/identity_v3/project.rb +5 -8
- data/lib/fog/openstack/models/identity_v3/projects.rb +21 -10
- data/lib/fog/openstack/models/identity_v3/role.rb +3 -8
- data/lib/fog/openstack/models/identity_v3/role_assignment.rb +3 -3
- data/lib/fog/openstack/models/identity_v3/role_assignments.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/roles.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/service.rb +3 -3
- data/lib/fog/openstack/models/identity_v3/services.rb +3 -5
- data/lib/fog/openstack/models/identity_v3/token.rb +3 -3
- data/lib/fog/openstack/models/identity_v3/tokens.rb +3 -3
- data/lib/fog/openstack/models/identity_v3/user.rb +3 -9
- data/lib/fog/openstack/models/identity_v3/users.rb +3 -5
- data/lib/fog/openstack/models/image/image.rb +2 -13
- data/lib/fog/openstack/models/image/images.rb +5 -5
- data/lib/fog/openstack/models/metering/resource.rb +2 -7
- data/lib/fog/openstack/models/metering/resources.rb +3 -3
- data/lib/fog/openstack/models/model.rb +44 -0
- data/lib/fog/openstack/models/network/floating_ip.rb +2 -7
- data/lib/fog/openstack/models/network/floating_ips.rb +3 -5
- data/lib/fog/openstack/models/network/lb_health_monitor.rb +2 -12
- data/lib/fog/openstack/models/network/lb_health_monitors.rb +3 -5
- data/lib/fog/openstack/models/network/lb_member.rb +2 -12
- data/lib/fog/openstack/models/network/lb_members.rb +3 -5
- data/lib/fog/openstack/models/network/lb_pool.rb +2 -12
- data/lib/fog/openstack/models/network/lb_pools.rb +3 -5
- data/lib/fog/openstack/models/network/lb_vip.rb +2 -12
- data/lib/fog/openstack/models/network/lb_vips.rb +3 -5
- data/lib/fog/openstack/models/network/network.rb +2 -12
- data/lib/fog/openstack/models/network/networks.rb +3 -5
- data/lib/fog/openstack/models/network/port.rb +2 -13
- data/lib/fog/openstack/models/network/ports.rb +3 -5
- data/lib/fog/openstack/models/network/router.rb +2 -13
- data/lib/fog/openstack/models/network/routers.rb +3 -5
- data/lib/fog/openstack/models/network/security_group.rb +2 -2
- data/lib/fog/openstack/models/network/security_group_rule.rb +2 -2
- data/lib/fog/openstack/models/network/security_group_rules.rb +3 -5
- data/lib/fog/openstack/models/network/security_groups.rb +3 -5
- data/lib/fog/openstack/models/network/subnet.rb +3 -14
- data/lib/fog/openstack/models/network/subnets.rb +3 -5
- data/lib/fog/openstack/models/orchestration/event.rb +2 -2
- data/lib/fog/openstack/models/orchestration/events.rb +5 -7
- data/lib/fog/openstack/models/orchestration/resource.rb +2 -2
- data/lib/fog/openstack/models/orchestration/resource_schemas.rb +2 -2
- data/lib/fog/openstack/models/orchestration/resources.rb +3 -5
- data/lib/fog/openstack/models/orchestration/stack.rb +3 -7
- data/lib/fog/openstack/models/orchestration/stacks.rb +5 -5
- data/lib/fog/openstack/models/orchestration/template.rb +2 -2
- data/lib/fog/openstack/models/orchestration/templates.rb +1 -1
- data/lib/fog/openstack/models/planning/plan.rb +2 -13
- data/lib/fog/openstack/models/planning/plans.rb +3 -5
- data/lib/fog/openstack/models/planning/role.rb +2 -8
- data/lib/fog/openstack/models/planning/roles.rb +3 -6
- data/lib/fog/openstack/models/storage/directories.rb +4 -6
- data/lib/fog/openstack/models/storage/directory.rb +2 -2
- data/lib/fog/openstack/models/storage/file.rb +15 -2
- data/lib/fog/openstack/models/storage/files.rb +7 -8
- data/lib/fog/openstack/models/volume/availability_zone.rb +13 -0
- data/lib/fog/openstack/models/volume/availability_zones.rb +17 -0
- data/lib/fog/openstack/models/volume/transfer.rb +36 -0
- data/lib/fog/openstack/models/volume/transfers.rb +38 -0
- data/lib/fog/openstack/models/volume/volume.rb +9 -8
- data/lib/fog/openstack/models/volume/volume_type.rb +2 -8
- data/lib/fog/openstack/models/volume/volume_types.rb +3 -6
- data/lib/fog/openstack/models/volume/volumes.rb +5 -6
- data/lib/fog/openstack/requests/compute/list_servers.rb +8 -5
- data/lib/fog/openstack/requests/compute/list_servers_detail.rb +9 -6
- data/lib/fog/openstack/requests/compute/list_zones.rb +6 -5
- data/lib/fog/openstack/requests/compute/list_zones_detailed.rb +55 -0
- data/lib/fog/openstack/requests/compute/shelve_offload_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/shelve_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/unshelve_server.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/get_project.rb +2 -2
- data/lib/fog/openstack/requests/network/create_subnet.rb +1 -1
- data/lib/fog/openstack/requests/network/update_subnet.rb +8 -7
- data/lib/fog/openstack/requests/volume/accept_transfer.rb +24 -0
- data/lib/fog/openstack/requests/volume/create_transfer.rb +27 -0
- data/lib/fog/openstack/requests/volume/delete_transfer.rb +17 -0
- data/lib/fog/openstack/requests/volume/extend_volume.rb +25 -0
- data/lib/fog/openstack/requests/volume/get_transfer_details.rb +17 -0
- data/lib/fog/openstack/requests/volume/list_transfers.rb +18 -0
- data/lib/fog/openstack/requests/volume/list_transfers_detailed.rb +18 -0
- data/lib/fog/openstack/requests/volume/list_zones.rb +32 -0
- data/lib/fog/openstack/storage.rb +3 -1
- data/lib/fog/openstack/volume.rb +16 -0
- data/lib/fog/rackspace/examples/compute_v2/create_network.rb +1 -1
- data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +31 -30
- data/lib/fog/vcloud_director/models/compute/task.rb +2 -2
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/compute.rb +1 -0
- data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +1 -1
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +4 -3
- data/lib/fog/vsphere/requests/compute/list_clusters.rb +1 -1
- data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +2 -2
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +101 -30
- data/lib/fog/vsphere/requests/compute/vm_execute.rb +47 -0
- data/lib/tasks/changelog_task.rb +1 -0
- data/spec/fog/openstack/identity_v3/{idv3.yml → common_setup.yml} +0 -0
- data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +1394 -0
- data/spec/fog/openstack/identity_v3_spec.rb +255 -196
- data/spec/fog/openstack/network/common_setup.yml +131 -0
- data/spec/fog/openstack/network/subnets_crud.yml +140 -0
- data/spec/fog/openstack/network_spec.rb +43 -0
- data/spec/fog/openstack/shared_context.rb +98 -0
- data/spec/fog/openstack/volume/{volume_common_setup.yml → common_setup.yml} +0 -0
- data/spec/fog/openstack/volume/volume_extend.yml +762 -0
- data/spec/fog/openstack/volume/volume_transfer_and_accept.yml +1078 -0
- data/spec/fog/openstack/volume/volume_transfer_and_delete.yml +695 -0
- data/spec/fog/openstack/volume_spec.rb +232 -67
- data/tests/openstack/models/storage/file_tests.rb +26 -0
- data/tests/openstack/requests/compute/availability_zone_tests.rb +18 -0
- data/tests/openstack/requests/compute/server_tests.rb +12 -0
- data/tests/openstack/requests/network/subnet_tests.rb +2 -2
- data/tests/openstack/requests/volume/availability_zone_tests.rb +13 -0
- data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +2 -2
- metadata +61 -26
- data/lib/fog/dynect.rb +0 -1
- data/lib/fog/dynect/core.rb +0 -26
- data/lib/fog/dynect/dns.rb +0 -157
- data/lib/fog/dynect/models/dns/record.rb +0 -67
- data/lib/fog/dynect/models/dns/records.rb +0 -48
- data/lib/fog/dynect/models/dns/zone.rb +0 -56
- data/lib/fog/dynect/models/dns/zones.rb +0 -25
- data/lib/fog/dynect/requests/dns/delete_record.rb +0 -55
- data/lib/fog/dynect/requests/dns/delete_zone.rb +0 -41
- data/lib/fog/dynect/requests/dns/get_all_records.rb +0 -56
- data/lib/fog/dynect/requests/dns/get_node_list.rb +0 -55
- data/lib/fog/dynect/requests/dns/get_record.rb +0 -83
- data/lib/fog/dynect/requests/dns/get_zone.rb +0 -57
- data/lib/fog/dynect/requests/dns/post_record.rb +0 -71
- data/lib/fog/dynect/requests/dns/post_session.rb +0 -43
- data/lib/fog/dynect/requests/dns/post_zone.rb +0 -70
- data/lib/fog/dynect/requests/dns/put_record.rb +0 -76
- data/lib/fog/dynect/requests/dns/put_zone.rb +0 -76
- data/tests/dynect/requests/dns/dns_tests.rb +0 -258
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/model'
|
|
2
2
|
|
|
3
3
|
module Fog
|
|
4
4
|
module Baremetal
|
|
5
5
|
class OpenStack
|
|
6
|
-
class Driver < Fog::Model
|
|
6
|
+
class Driver < Fog::OpenStack::Model
|
|
7
7
|
identity :name
|
|
8
8
|
|
|
9
9
|
attribute :name
|
|
10
10
|
attribute :hosts
|
|
11
11
|
|
|
12
|
-
def initialize(attributes)
|
|
13
|
-
# Old 'connection' is renamed as service and should be used instead
|
|
14
|
-
prepare_service_value(attributes)
|
|
15
|
-
super
|
|
16
|
-
end
|
|
17
|
-
|
|
18
12
|
def properties
|
|
19
13
|
requires :name
|
|
20
14
|
service.get_driver_properties(self.name).body
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/baremetal/driver'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Baremetal
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Drivers < Fog::Collection
|
|
7
|
+
class Drivers < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Baremetal::OpenStack::Driver
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
|
|
11
|
+
load_response(service.list_drivers(options), 'drivers')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
alias_method :summary, :all
|
|
15
|
-
|
|
16
14
|
def find_by_name(name)
|
|
17
15
|
new(service.get_driver(name).body)
|
|
18
16
|
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/model'
|
|
2
2
|
|
|
3
3
|
module Fog
|
|
4
4
|
module Baremetal
|
|
5
5
|
class OpenStack
|
|
6
|
-
class Node < Fog::Model
|
|
6
|
+
class Node < Fog::OpenStack::Model
|
|
7
7
|
identity :uuid
|
|
8
8
|
|
|
9
9
|
attribute :instance_uuid
|
|
@@ -29,17 +29,6 @@ module Fog
|
|
|
29
29
|
attribute :target_power_state
|
|
30
30
|
attribute :target_provision_state
|
|
31
31
|
|
|
32
|
-
def initialize(attributes)
|
|
33
|
-
# Old 'connection' is renamed as service and should be used instead
|
|
34
|
-
prepare_service_value(attributes)
|
|
35
|
-
super
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def save
|
|
39
|
-
requires :driver
|
|
40
|
-
identity ? update : create
|
|
41
|
-
end
|
|
42
|
-
|
|
43
32
|
def create
|
|
44
33
|
requires :driver
|
|
45
34
|
merge_attributes(service.create_node(self.attributes).body)
|
|
@@ -47,7 +36,7 @@ module Fog
|
|
|
47
36
|
end
|
|
48
37
|
|
|
49
38
|
def update(patch=nil)
|
|
50
|
-
requires :uuid
|
|
39
|
+
requires :uuid, :driver
|
|
51
40
|
if patch
|
|
52
41
|
merge_attributes(service.patch_node(uuid, patch).body)
|
|
53
42
|
else
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/baremetal/node'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Baremetal
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Nodes < Fog::Collection
|
|
7
|
+
class Nodes < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Baremetal::OpenStack::Node
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
|
|
11
|
+
load_response(service.list_nodes_detailed(options), 'nodes')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def summary(options = {})
|
|
15
|
-
|
|
15
|
+
load_response(service.list_nodes(options), 'nodes')
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def details(options = {})
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/model'
|
|
2
2
|
|
|
3
3
|
module Fog
|
|
4
4
|
module Baremetal
|
|
5
5
|
class OpenStack
|
|
6
|
-
class Port < Fog::Model
|
|
6
|
+
class Port < Fog::OpenStack::Model
|
|
7
7
|
identity :uuid
|
|
8
8
|
|
|
9
9
|
attribute :address
|
|
@@ -15,17 +15,6 @@ module Fog
|
|
|
15
15
|
attribute :extra
|
|
16
16
|
attribute :node_uuid
|
|
17
17
|
|
|
18
|
-
def initialize(attributes)
|
|
19
|
-
# Old 'connection' is renamed as service and should be used instead
|
|
20
|
-
prepare_service_value(attributes)
|
|
21
|
-
super
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def save
|
|
25
|
-
requires :address, :node_uuid
|
|
26
|
-
identity ? update : create
|
|
27
|
-
end
|
|
28
|
-
|
|
29
18
|
def create
|
|
30
19
|
requires :address, :node_uuid
|
|
31
20
|
merge_attributes(service.create_port(self.attributes).body)
|
|
@@ -33,7 +22,7 @@ module Fog
|
|
|
33
22
|
end
|
|
34
23
|
|
|
35
24
|
def update(patch=nil)
|
|
36
|
-
requires :uuid
|
|
25
|
+
requires :uuid, :address, :node_uuid
|
|
37
26
|
if patch
|
|
38
27
|
merge_attributes(service.patch_port(uuid, patch).body)
|
|
39
28
|
else
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/baremetal/port'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Baremetal
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Ports < Fog::Collection
|
|
7
|
+
class Ports < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Baremetal::OpenStack::Port
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
|
|
11
|
+
load_response(service.list_ports_detailed(options), 'ports')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def summary(options = {})
|
|
15
|
-
|
|
15
|
+
load_response(service.list_ports(options), 'ports')
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def details(options = {})
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require 'fog/core/collection'
|
|
2
|
+
|
|
3
|
+
module Fog
|
|
4
|
+
module OpenStack
|
|
5
|
+
class Collection < Fog::Collection
|
|
6
|
+
# It's important to store the whole response, it contains e.g. important info about whether there is another
|
|
7
|
+
# page of data.
|
|
8
|
+
attr_accessor :response
|
|
9
|
+
|
|
10
|
+
def load_response(response, index = nil)
|
|
11
|
+
# Delete it index if it's there, so we don't store response with data twice, but we store only metadata
|
|
12
|
+
objects = index ? response.body.delete(index) : response.body
|
|
13
|
+
|
|
14
|
+
clear && objects.each { |object| self << new(object) }
|
|
15
|
+
self.response = response
|
|
16
|
+
self
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
##################################################################################################################
|
|
20
|
+
# Abstract base class methods, please keep the consistent naming in all subclasses of the Collection class
|
|
21
|
+
|
|
22
|
+
# Returns detailed list of records
|
|
23
|
+
def all(options = {})
|
|
24
|
+
raise Fog::OpenStack::Errors::InterfaceNotImplemented.new('Method :all is not implemented')
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Returns non detailed list of records, usually just subset of attributes, which makes this call more effective.
|
|
28
|
+
# Not all openstack services support non detailed list, so it delegates to :all by default.
|
|
29
|
+
def summary(options = {})
|
|
30
|
+
all(options)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Gets record given record's UUID
|
|
34
|
+
def get(uuid)
|
|
35
|
+
raise Fog::OpenStack::Errors::InterfaceNotImplemented.new('Method :get is not implemented')
|
|
36
|
+
end
|
|
37
|
+
alias_method :find_by_id, :get
|
|
38
|
+
|
|
39
|
+
# Destroys record given record's UUID
|
|
40
|
+
def destroy(uuid)
|
|
41
|
+
raise Fog::OpenStack::Errors::InterfaceNotImplemented.new('Method :destroy is not implemented')
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/compute/address'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Compute
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Addresses < Fog::Collection
|
|
7
|
+
class Addresses < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Compute::OpenStack::Address
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
|
|
11
|
+
load_response(service.list_all_addresses(options), 'floating_ips')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
alias_method :summary, :all
|
|
15
|
-
|
|
16
14
|
def get(address_id)
|
|
17
15
|
if address = service.get_address(address_id).body['floating_ip']
|
|
18
16
|
new(address)
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/model'
|
|
2
2
|
|
|
3
3
|
module Fog
|
|
4
4
|
module Compute
|
|
5
5
|
class OpenStack
|
|
6
|
-
class Aggregate < Fog::Model
|
|
6
|
+
class Aggregate < Fog::OpenStack::Model
|
|
7
7
|
identity :id
|
|
8
8
|
|
|
9
9
|
attribute :availability_zone
|
|
@@ -17,12 +17,6 @@ module Fog
|
|
|
17
17
|
# Detailed
|
|
18
18
|
attribute :hosts
|
|
19
19
|
|
|
20
|
-
def initialize(attributes)
|
|
21
|
-
# Old 'connection' is renamed as service and should be used instead
|
|
22
|
-
prepare_service_value(attributes)
|
|
23
|
-
super
|
|
24
|
-
end
|
|
25
|
-
|
|
26
20
|
def save
|
|
27
21
|
requires :name
|
|
28
22
|
identity ? update : create
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/compute/aggregate'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Compute
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Aggregates < Fog::Collection
|
|
7
|
+
class Aggregates < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Compute::OpenStack::Aggregate
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
|
|
11
|
+
load_response(service.list_aggregates(options), 'aggregates')
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
alias_method :summary, :all
|
|
15
|
-
|
|
16
14
|
def find_by_id(id)
|
|
17
15
|
new(service.get_aggregate(id).body['aggregate'])
|
|
18
16
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
|
+
require 'fog/openstack/models/compute/availability_zone'
|
|
3
|
+
|
|
4
|
+
module Fog
|
|
5
|
+
module Compute
|
|
6
|
+
class OpenStack
|
|
7
|
+
class AvailabilityZones < Fog::OpenStack::Collection
|
|
8
|
+
model Fog::Compute::OpenStack::AvailabilityZone
|
|
9
|
+
|
|
10
|
+
def all(options = {})
|
|
11
|
+
data = service.list_zones_detailed(options)
|
|
12
|
+
load_response(data, 'availabilityZoneInfo')
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def summary(options = {})
|
|
16
|
+
data = service.list_zones(options)
|
|
17
|
+
load_response(data, 'availabilityZoneInfo')
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/model'
|
|
2
2
|
|
|
3
3
|
module Fog
|
|
4
4
|
module Compute
|
|
5
5
|
class OpenStack
|
|
6
|
-
class Flavor < Fog::Model
|
|
6
|
+
class Flavor < Fog::OpenStack::Model
|
|
7
7
|
identity :id
|
|
8
8
|
|
|
9
9
|
attribute :name
|
|
@@ -18,12 +18,6 @@ module Fog
|
|
|
18
18
|
attribute :is_public, :aliases => 'os-flavor-access:is_public'
|
|
19
19
|
attribute :disabled, :aliases => 'OS-FLV-DISABLED:disabled'
|
|
20
20
|
|
|
21
|
-
def initialize(attributes)
|
|
22
|
-
# Old 'connection' is renamed as service and should be used instead
|
|
23
|
-
prepare_service_value(attributes)
|
|
24
|
-
super
|
|
25
|
-
end
|
|
26
|
-
|
|
27
21
|
def save
|
|
28
22
|
requires :name, :ram, :vcpus, :disk
|
|
29
23
|
attributes[:ephemeral] = self.ephemeral || 0
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/compute/flavor'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Compute
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Flavors < Fog::Collection
|
|
7
|
+
class Flavors < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Compute::OpenStack::Flavor
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
data = service.list_flavors_detail(options)
|
|
12
|
-
|
|
11
|
+
data = service.list_flavors_detail(options)
|
|
12
|
+
load_response(data, 'flavors')
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
def summary(options = {})
|
|
16
|
-
data = service.list_flavors(options)
|
|
17
|
-
|
|
16
|
+
data = service.list_flavors(options)
|
|
17
|
+
load_response(data, 'flavors')
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def get(flavor_id)
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/collection'
|
|
2
2
|
require 'fog/openstack/models/compute/host'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Compute
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Hosts < Fog::Collection
|
|
7
|
+
class Hosts < Fog::OpenStack::Collection
|
|
8
8
|
model Fog::Compute::OpenStack::Host
|
|
9
9
|
|
|
10
10
|
def all(options = {})
|
|
11
|
-
data = service.list_hosts(options)
|
|
12
|
-
|
|
11
|
+
data = service.list_hosts(options)
|
|
12
|
+
load_response(data, 'hosts')
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
alias_method :summary, :all
|
|
16
|
-
|
|
17
15
|
def get(host_name)
|
|
18
16
|
if host = service.get_host_details(host_name).body['host']
|
|
19
17
|
new({
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
require 'fog/
|
|
1
|
+
require 'fog/openstack/models/model'
|
|
2
2
|
require 'fog/openstack/models/compute/metadata'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
5
5
|
module Compute
|
|
6
6
|
class OpenStack
|
|
7
|
-
class Image < Fog::Model
|
|
7
|
+
class Image < Fog::OpenStack::Model
|
|
8
8
|
identity :id
|
|
9
9
|
|
|
10
10
|
attribute :name
|
|
@@ -18,12 +18,6 @@ module Fog
|
|
|
18
18
|
attribute :metadata
|
|
19
19
|
attribute :links
|
|
20
20
|
|
|
21
|
-
def initialize(attributes)
|
|
22
|
-
# Old 'connection' is renamed as service and should be used instead
|
|
23
|
-
prepare_service_value(attributes)
|
|
24
|
-
super
|
|
25
|
-
end
|
|
26
|
-
|
|
27
21
|
def metadata
|
|
28
22
|
@metadata ||= begin
|
|
29
23
|
Fog::Compute::OpenStack::Metadata.new({
|