ruby-linstor-client 1.0.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 +7 -0
- data/Gemfile +9 -0
- data/Gemfile.lock +86 -0
- data/LICENSE +21 -0
- data/README.md +21 -0
- data/Rakefile +10 -0
- data/codegen.sh +22 -0
- data/generator/custom/one_of_drbd_resource_definition_layer.rb +7 -0
- data/generator/custom/one_of_drbd_volume_definition.rb +7 -0
- data/generator/custom/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume.rb +11 -0
- data/generator/openapi-generator.yaml +11 -0
- data/generator/template/Gemfile.mustache +9 -0
- data/generator/template/README.mustache +148 -0
- data/generator/template/Rakefile.mustache +10 -0
- data/generator/template/api.mustache +209 -0
- data/generator/template/api_client.mustache +264 -0
- data/generator/template/api_client_faraday_partial.mustache +136 -0
- data/generator/template/api_client_spec.mustache +220 -0
- data/generator/template/api_client_typhoeus_partial.mustache +153 -0
- data/generator/template/api_doc.mustache +118 -0
- data/generator/template/api_error.mustache +49 -0
- data/generator/template/api_info.mustache +12 -0
- data/generator/template/api_test.mustache +47 -0
- data/generator/template/base_object.mustache +120 -0
- data/generator/template/configuration.mustache +385 -0
- data/generator/template/configuration_spec.mustache +34 -0
- data/generator/template/configuration_tls_faraday_partial.mustache +29 -0
- data/generator/template/configuration_tls_typhoeus_partial.mustache +34 -0
- data/generator/template/gem.mustache +53 -0
- data/generator/template/gemspec.mustache +35 -0
- data/generator/template/git_push.sh.mustache +57 -0
- data/generator/template/gitignore.mustache +39 -0
- data/generator/template/model.mustache +26 -0
- data/generator/template/model_doc.mustache +12 -0
- data/generator/template/model_test.mustache +77 -0
- data/generator/template/partial_model_enum_class.mustache +20 -0
- data/generator/template/partial_model_generic.mustache +371 -0
- data/generator/template/partial_model_generic_doc.mustache +28 -0
- data/generator/template/partial_oneof_module.mustache +137 -0
- data/generator/template/partial_oneof_module_doc.mustache +92 -0
- data/generator/template/rspec.mustache +2 -0
- data/generator/template/rubocop.mustache +148 -0
- data/generator/template/spec_helper.mustache +103 -0
- data/generator/template/travis.mustache +14 -0
- data/generator/template/version.mustache +7 -0
- data/lib/ruby-linstor-client/api/developers_api.rb +5856 -0
- data/lib/ruby-linstor-client/api_client.rb +393 -0
- data/lib/ruby-linstor-client/api_error.rb +57 -0
- data/lib/ruby-linstor-client/configuration.rb +298 -0
- data/lib/ruby-linstor-client/models/api_call_rc.rb +293 -0
- data/lib/ruby-linstor-client/models/auto_place_request.rb +245 -0
- data/lib/ruby-linstor-client/models/auto_select_filter.rb +305 -0
- data/lib/ruby-linstor-client/models/candidate.rb +248 -0
- data/lib/ruby-linstor-client/models/controller_props_modify.rb +243 -0
- data/lib/ruby-linstor-client/models/controller_version.rb +245 -0
- data/lib/ruby-linstor-client/models/drbd_proxy_enable.rb +219 -0
- data/lib/ruby-linstor-client/models/drbd_proxy_modify.rb +288 -0
- data/lib/ruby-linstor-client/models/drbd_resource.rb +276 -0
- data/lib/ruby-linstor-client/models/drbd_resource_definition_layer.rb +283 -0
- data/lib/ruby-linstor-client/models/drbd_volume.rb +285 -0
- data/lib/ruby-linstor-client/models/drbd_volume_definition.rb +236 -0
- data/lib/ruby-linstor-client/models/error_report.rb +252 -0
- data/lib/ruby-linstor-client/models/key_value_store.rb +231 -0
- data/lib/ruby-linstor-client/models/key_value_store_modify.rb +243 -0
- data/lib/ruby-linstor-client/models/layer_type.rb +40 -0
- data/lib/ruby-linstor-client/models/luks_resource.rb +220 -0
- data/lib/ruby-linstor-client/models/luks_volume.rb +275 -0
- data/lib/ruby-linstor-client/models/max_volume_sizes.rb +229 -0
- data/lib/ruby-linstor-client/models/net_interface.rb +309 -0
- data/lib/ruby-linstor-client/models/node.rb +381 -0
- data/lib/ruby-linstor-client/models/node_modify.rb +252 -0
- data/lib/ruby-linstor-client/models/nvme_resource.rb +220 -0
- data/lib/ruby-linstor-client/models/nvme_volume.rb +266 -0
- data/lib/ruby-linstor-client/models/one_of_drbd_resource_definition_layer.rb +7 -0
- data/lib/ruby-linstor-client/models/one_of_drbd_volume_definition.rb +7 -0
- data/lib/ruby-linstor-client/models/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume.rb +11 -0
- data/lib/ruby-linstor-client/models/pass_phrase_create.rb +227 -0
- data/lib/ruby-linstor-client/models/physical_storage.rb +238 -0
- data/lib/ruby-linstor-client/models/physical_storage_create.rb +337 -0
- data/lib/ruby-linstor-client/models/physical_storage_device.rb +245 -0
- data/lib/ruby-linstor-client/models/physical_storage_storage_pool_create.rb +232 -0
- data/lib/ruby-linstor-client/models/provider_kind.rb +43 -0
- data/lib/ruby-linstor-client/models/resource.rb +278 -0
- data/lib/ruby-linstor-client/models/resource_connection.rb +261 -0
- data/lib/ruby-linstor-client/models/resource_connection_modify.rb +243 -0
- data/lib/ruby-linstor-client/models/resource_create.rb +238 -0
- data/lib/ruby-linstor-client/models/resource_definition.rb +295 -0
- data/lib/ruby-linstor-client/models/resource_definition_create.rb +262 -0
- data/lib/ruby-linstor-client/models/resource_definition_layer.rb +228 -0
- data/lib/ruby-linstor-client/models/resource_definition_modify.rb +274 -0
- data/lib/ruby-linstor-client/models/resource_group.rb +262 -0
- data/lib/ruby-linstor-client/models/resource_group_modify.rb +261 -0
- data/lib/ruby-linstor-client/models/resource_group_spawn.rb +255 -0
- data/lib/ruby-linstor-client/models/resource_layer.rb +283 -0
- data/lib/ruby-linstor-client/models/resource_modify.rb +243 -0
- data/lib/ruby-linstor-client/models/resource_state.rb +218 -0
- data/lib/ruby-linstor-client/models/resource_with_volumes.rb +297 -0
- data/lib/ruby-linstor-client/models/resource_with_volumes_all_of.rb +220 -0
- data/lib/ruby-linstor-client/models/snapshot.rb +282 -0
- data/lib/ruby-linstor-client/models/snapshot_restore.rb +236 -0
- data/lib/ruby-linstor-client/models/snapshot_volume_definition.rb +228 -0
- data/lib/ruby-linstor-client/models/storage_pool.rb +333 -0
- data/lib/ruby-linstor-client/models/storage_pool_definition.rb +230 -0
- data/lib/ruby-linstor-client/models/storage_pool_definition_modify.rb +243 -0
- data/lib/ruby-linstor-client/models/storage_resource.rb +220 -0
- data/lib/ruby-linstor-client/models/storage_volume.rb +256 -0
- data/lib/ruby-linstor-client/models/volume.rb +327 -0
- data/lib/ruby-linstor-client/models/volume_definition.rb +277 -0
- data/lib/ruby-linstor-client/models/volume_definition_create.rb +232 -0
- data/lib/ruby-linstor-client/models/volume_definition_layer.rb +233 -0
- data/lib/ruby-linstor-client/models/volume_definition_modify.rb +264 -0
- data/lib/ruby-linstor-client/models/volume_group.rb +251 -0
- data/lib/ruby-linstor-client/models/volume_group_modify.rb +255 -0
- data/lib/ruby-linstor-client/models/volume_layer.rb +228 -0
- data/lib/ruby-linstor-client/models/volume_modify.rb +243 -0
- data/lib/ruby-linstor-client/models/volume_state.rb +218 -0
- data/lib/ruby-linstor-client/models/writecache_resource.rb +220 -0
- data/lib/ruby-linstor-client/models/writecache_volume.rb +266 -0
- data/lib/ruby-linstor-client/version.rb +15 -0
- data/lib/ruby-linstor-client.rb +109 -0
- data/pkg/ruby-linstor-client-1.0.0.gem +0 -0
- data/ruby-linstor-client.gemspec +39 -0
- data/spec/api/developers_api_spec.rb +1116 -0
- data/spec/api_client_spec.rb +188 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/models/api_call_rc_spec.rb +70 -0
- data/spec/models/auto_place_request_spec.rb +46 -0
- data/spec/models/auto_select_filter_spec.rb +82 -0
- data/spec/models/candidate_spec.rb +52 -0
- data/spec/models/controller_props_modify_spec.rb +46 -0
- data/spec/models/controller_version_spec.rb +52 -0
- data/spec/models/drbd_proxy_enable_spec.rb +34 -0
- data/spec/models/drbd_proxy_modify_spec.rb +56 -0
- data/spec/models/drbd_resource_definition_layer_spec.rb +76 -0
- data/spec/models/drbd_resource_spec.rb +70 -0
- data/spec/models/drbd_volume_definition_spec.rb +46 -0
- data/spec/models/drbd_volume_spec.rb +76 -0
- data/spec/models/error_report_spec.rb +52 -0
- data/spec/models/key_value_store_modify_spec.rb +46 -0
- data/spec/models/key_value_store_spec.rb +40 -0
- data/spec/models/layer_type_spec.rb +28 -0
- data/spec/models/luks_resource_spec.rb +34 -0
- data/spec/models/luks_volume_spec.rb +70 -0
- data/spec/models/max_volume_sizes_spec.rb +40 -0
- data/spec/models/net_interface_spec.rb +68 -0
- data/spec/models/node_modify_spec.rb +52 -0
- data/spec/models/node_spec.rb +102 -0
- data/spec/models/nvme_resource_spec.rb +34 -0
- data/spec/models/nvme_volume_spec.rb +64 -0
- data/spec/models/pass_phrase_create_spec.rb +40 -0
- data/spec/models/physical_storage_create_spec.rb +80 -0
- data/spec/models/physical_storage_device_spec.rb +52 -0
- data/spec/models/physical_storage_spec.rb +46 -0
- data/spec/models/physical_storage_storage_pool_create_spec.rb +40 -0
- data/spec/models/provider_kind_spec.rb +28 -0
- data/spec/models/resource_connection_modify_spec.rb +46 -0
- data/spec/models/resource_connection_spec.rb +58 -0
- data/spec/models/resource_create_spec.rb +46 -0
- data/spec/models/resource_definition_create_spec.rb +58 -0
- data/spec/models/resource_definition_layer_spec.rb +40 -0
- data/spec/models/resource_definition_modify_spec.rb +64 -0
- data/spec/models/resource_definition_spec.rb +76 -0
- data/spec/models/resource_group_modify_spec.rb +58 -0
- data/spec/models/resource_group_spawn_spec.rb +52 -0
- data/spec/models/resource_group_spec.rb +58 -0
- data/spec/models/resource_layer_spec.rb +76 -0
- data/spec/models/resource_modify_spec.rb +46 -0
- data/spec/models/resource_spec.rb +70 -0
- data/spec/models/resource_state_spec.rb +34 -0
- data/spec/models/resource_with_volumes_all_of_spec.rb +34 -0
- data/spec/models/resource_with_volumes_spec.rb +76 -0
- data/spec/models/snapshot_restore_spec.rb +40 -0
- data/spec/models/snapshot_spec.rb +70 -0
- data/spec/models/snapshot_volume_definition_spec.rb +40 -0
- data/spec/models/storage_pool_definition_modify_spec.rb +46 -0
- data/spec/models/storage_pool_definition_spec.rb +40 -0
- data/spec/models/storage_pool_spec.rb +94 -0
- data/spec/models/storage_resource_spec.rb +34 -0
- data/spec/models/storage_volume_spec.rb +58 -0
- data/spec/models/volume_definition_create_spec.rb +40 -0
- data/spec/models/volume_definition_layer_spec.rb +40 -0
- data/spec/models/volume_definition_modify_spec.rb +58 -0
- data/spec/models/volume_definition_spec.rb +64 -0
- data/spec/models/volume_group_modify_spec.rb +52 -0
- data/spec/models/volume_group_spec.rb +52 -0
- data/spec/models/volume_layer_spec.rb +40 -0
- data/spec/models/volume_modify_spec.rb +46 -0
- data/spec/models/volume_spec.rb +100 -0
- data/spec/models/volume_state_spec.rb +34 -0
- data/spec/models/writecache_resource_spec.rb +34 -0
- data/spec/models/writecache_volume_spec.rb +64 -0
- data/spec/spec_helper.rb +111 -0
- metadata +344 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
|
|
15
|
+
describe LinstorClient::ApiClient do
|
|
16
|
+
context 'initialization' do
|
|
17
|
+
context 'URL stuff' do
|
|
18
|
+
context 'host' do
|
|
19
|
+
it 'removes http from host' do
|
|
20
|
+
LinstorClient.configure { |c| c.host = 'http://example.com' }
|
|
21
|
+
expect(LinstorClient::Configuration.default.host).to eq('example.com')
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
it 'removes https from host' do
|
|
25
|
+
LinstorClient.configure { |c| c.host = 'https://wookiee.com' }
|
|
26
|
+
expect(LinstorClient::ApiClient.default.config.host).to eq('wookiee.com')
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
it 'removes trailing path from host' do
|
|
30
|
+
LinstorClient.configure { |c| c.host = 'hobo.com/v4' }
|
|
31
|
+
expect(LinstorClient::Configuration.default.host).to eq('hobo.com')
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
context 'base_path' do
|
|
36
|
+
it "prepends a slash to base_path" do
|
|
37
|
+
LinstorClient.configure { |c| c.base_path = 'v4/dog' }
|
|
38
|
+
expect(LinstorClient::Configuration.default.base_path).to eq('/v4/dog')
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it "doesn't prepend a slash if one is already there" do
|
|
42
|
+
LinstorClient.configure { |c| c.base_path = '/v4/dog' }
|
|
43
|
+
expect(LinstorClient::Configuration.default.base_path).to eq('/v4/dog')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "ends up as a blank string if nil" do
|
|
47
|
+
LinstorClient.configure { |c| c.base_path = nil }
|
|
48
|
+
expect(LinstorClient::Configuration.default.base_path).to eq('')
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
describe '#deserialize' do
|
|
55
|
+
it "handles Array<Integer>" do
|
|
56
|
+
api_client = LinstorClient::ApiClient.new
|
|
57
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
58
|
+
response = double('response', headers: headers, body: '[12, 34]')
|
|
59
|
+
data = api_client.deserialize(response, 'Array<Integer>')
|
|
60
|
+
expect(data).to be_instance_of(Array)
|
|
61
|
+
expect(data).to eq([12, 34])
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
it 'handles Array<Array<Integer>>' do
|
|
65
|
+
api_client = LinstorClient::ApiClient.new
|
|
66
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
67
|
+
response = double('response', headers: headers, body: '[[12, 34], [56]]')
|
|
68
|
+
data = api_client.deserialize(response, 'Array<Array<Integer>>')
|
|
69
|
+
expect(data).to be_instance_of(Array)
|
|
70
|
+
expect(data).to eq([[12, 34], [56]])
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it 'handles Hash<String, String>' do
|
|
74
|
+
api_client = LinstorClient::ApiClient.new
|
|
75
|
+
headers = { 'Content-Type' => 'application/json' }
|
|
76
|
+
response = double('response', headers: headers, body: '{"message": "Hello"}')
|
|
77
|
+
data = api_client.deserialize(response, 'Hash<String, String>')
|
|
78
|
+
expect(data).to be_instance_of(Hash)
|
|
79
|
+
expect(data).to eq(:message => 'Hello')
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
describe "#object_to_hash" do
|
|
84
|
+
it 'ignores nils and includes empty arrays' do
|
|
85
|
+
# uncomment below to test object_to_hash for model
|
|
86
|
+
# api_client = LinstorClient::ApiClient.new
|
|
87
|
+
# _model = LinstorClient::ModelName.new
|
|
88
|
+
# update the model attribute below
|
|
89
|
+
# _model.id = 1
|
|
90
|
+
# update the expected value (hash) below
|
|
91
|
+
# expected = {id: 1, name: '', tags: []}
|
|
92
|
+
# expect(api_client.object_to_hash(_model)).to eq(expected)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
describe '#build_collection_param' do
|
|
97
|
+
let(:param) { ['aa', 'bb', 'cc'] }
|
|
98
|
+
let(:api_client) { LinstorClient::ApiClient.new }
|
|
99
|
+
|
|
100
|
+
it 'works for csv' do
|
|
101
|
+
expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc')
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
it 'works for ssv' do
|
|
105
|
+
expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc')
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
it 'works for tsv' do
|
|
109
|
+
expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc")
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
it 'works for pipes' do
|
|
113
|
+
expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc')
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
it 'works for multi' do
|
|
117
|
+
expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc'])
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
it 'fails for invalid collection format' do
|
|
121
|
+
expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID')
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
describe '#json_mime?' do
|
|
126
|
+
let(:api_client) { LinstorClient::ApiClient.new }
|
|
127
|
+
|
|
128
|
+
it 'works' do
|
|
129
|
+
expect(api_client.json_mime?(nil)).to eq false
|
|
130
|
+
expect(api_client.json_mime?('')).to eq false
|
|
131
|
+
|
|
132
|
+
expect(api_client.json_mime?('application/json')).to eq true
|
|
133
|
+
expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true
|
|
134
|
+
expect(api_client.json_mime?('APPLICATION/JSON')).to eq true
|
|
135
|
+
|
|
136
|
+
expect(api_client.json_mime?('application/xml')).to eq false
|
|
137
|
+
expect(api_client.json_mime?('text/plain')).to eq false
|
|
138
|
+
expect(api_client.json_mime?('application/jsonp')).to eq false
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
describe '#select_header_accept' do
|
|
143
|
+
let(:api_client) { LinstorClient::ApiClient.new }
|
|
144
|
+
|
|
145
|
+
it 'works' do
|
|
146
|
+
expect(api_client.select_header_accept(nil)).to be_nil
|
|
147
|
+
expect(api_client.select_header_accept([])).to be_nil
|
|
148
|
+
|
|
149
|
+
expect(api_client.select_header_accept(['application/json'])).to eq('application/json')
|
|
150
|
+
expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
|
151
|
+
expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
|
152
|
+
|
|
153
|
+
expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml')
|
|
154
|
+
expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml')
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
describe '#select_header_content_type' do
|
|
159
|
+
let(:api_client) { LinstorClient::ApiClient.new }
|
|
160
|
+
|
|
161
|
+
it 'works' do
|
|
162
|
+
expect(api_client.select_header_content_type(nil)).to be_nil
|
|
163
|
+
expect(api_client.select_header_content_type([])).to be_nil
|
|
164
|
+
|
|
165
|
+
expect(api_client.select_header_content_type(['application/json'])).to eq('application/json')
|
|
166
|
+
expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8')
|
|
167
|
+
expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON')
|
|
168
|
+
expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml')
|
|
169
|
+
expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain')
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
describe '#sanitize_filename' do
|
|
174
|
+
let(:api_client) { LinstorClient::ApiClient.new }
|
|
175
|
+
|
|
176
|
+
it 'works' do
|
|
177
|
+
expect(api_client.sanitize_filename('sun')).to eq('sun')
|
|
178
|
+
expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif')
|
|
179
|
+
expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif')
|
|
180
|
+
expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif')
|
|
181
|
+
expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif')
|
|
182
|
+
expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif')
|
|
183
|
+
expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif')
|
|
184
|
+
expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif')
|
|
185
|
+
expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif')
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
|
|
15
|
+
describe LinstorClient::Configuration do
|
|
16
|
+
let(:config) { LinstorClient::Configuration.default }
|
|
17
|
+
|
|
18
|
+
before(:each) do
|
|
19
|
+
# uncomment below to setup host and base_path
|
|
20
|
+
# require 'URI'
|
|
21
|
+
# uri = URI.parse("http://localhost:3370")
|
|
22
|
+
# LinstorClient.configure do |c|
|
|
23
|
+
# c.host = uri.host
|
|
24
|
+
# c.base_path = uri.path
|
|
25
|
+
# end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe '#base_url' do
|
|
29
|
+
it 'should have the default value' do
|
|
30
|
+
# uncomment below to test default value of the base path
|
|
31
|
+
# expect(config.base_url).to eq("http://localhost:3370")
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'should remove trailing slashes' do
|
|
35
|
+
[nil, '', '/', '//'].each do |base_path|
|
|
36
|
+
config.base_path = base_path
|
|
37
|
+
# uncomment below to test trailing slashes
|
|
38
|
+
# expect(config.base_url).to eq("http://localhost:3370")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::ApiCallRc
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::ApiCallRc do
|
|
21
|
+
let(:instance) { LinstorClient::ApiCallRc.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ApiCallRc' do
|
|
24
|
+
it 'should create an instance of ApiCallRc' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::ApiCallRc)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "ret_code"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'test attribute "message"' do
|
|
35
|
+
it 'should work' do
|
|
36
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "cause"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'test attribute "details"' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe 'test attribute "correction"' do
|
|
53
|
+
it 'should work' do
|
|
54
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
describe 'test attribute "error_report_ids"' do
|
|
59
|
+
it 'should work' do
|
|
60
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
describe 'test attribute "obj_refs"' do
|
|
65
|
+
it 'should work' do
|
|
66
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::AutoPlaceRequest
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::AutoPlaceRequest do
|
|
21
|
+
let(:instance) { LinstorClient::AutoPlaceRequest.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AutoPlaceRequest' do
|
|
24
|
+
it 'should create an instance of AutoPlaceRequest' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::AutoPlaceRequest)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "diskless_on_remaining"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'test attribute "select_filter"' do
|
|
35
|
+
it 'should work' do
|
|
36
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "layer_list"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::AutoSelectFilter
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::AutoSelectFilter do
|
|
21
|
+
let(:instance) { LinstorClient::AutoSelectFilter.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of AutoSelectFilter' do
|
|
24
|
+
it 'should create an instance of AutoSelectFilter' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::AutoSelectFilter)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "place_count"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'test attribute "storage_pool"' do
|
|
35
|
+
it 'should work' do
|
|
36
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "not_place_with_rsc"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'test attribute "not_place_with_rsc_regex"' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe 'test attribute "replicas_on_same"' do
|
|
53
|
+
it 'should work' do
|
|
54
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
describe 'test attribute "replicas_on_different"' do
|
|
59
|
+
it 'should work' do
|
|
60
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
describe 'test attribute "layer_stack"' do
|
|
65
|
+
it 'should work' do
|
|
66
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
describe 'test attribute "provider_list"' do
|
|
71
|
+
it 'should work' do
|
|
72
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
describe 'test attribute "diskless_on_remaining"' do
|
|
77
|
+
it 'should work' do
|
|
78
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::Candidate
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::Candidate do
|
|
21
|
+
let(:instance) { LinstorClient::Candidate.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of Candidate' do
|
|
24
|
+
it 'should create an instance of Candidate' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::Candidate)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "storage_pool"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'test attribute "max_volume_size_kib"' do
|
|
35
|
+
it 'should work' do
|
|
36
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "node_names"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'test attribute "all_thin"' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::ControllerPropsModify
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::ControllerPropsModify do
|
|
21
|
+
let(:instance) { LinstorClient::ControllerPropsModify.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ControllerPropsModify' do
|
|
24
|
+
it 'should create an instance of ControllerPropsModify' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::ControllerPropsModify)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "override_props"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'test attribute "delete_props"' do
|
|
35
|
+
it 'should work' do
|
|
36
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "delete_namespaces"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::ControllerVersion
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::ControllerVersion do
|
|
21
|
+
let(:instance) { LinstorClient::ControllerVersion.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of ControllerVersion' do
|
|
24
|
+
it 'should create an instance of ControllerVersion' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::ControllerVersion)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "version"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe 'test attribute "git_hash"' do
|
|
35
|
+
it 'should work' do
|
|
36
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
describe 'test attribute "build_time"' do
|
|
41
|
+
it 'should work' do
|
|
42
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe 'test attribute "rest_api_version"' do
|
|
47
|
+
it 'should work' do
|
|
48
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Linstor REST API
|
|
3
|
+
|
|
4
|
+
#Linstor REST API V1 The V1 rest api of Linstor should stay compatible and only additions are made to the API, If there are breaking changes or redesigned a new major REST API version will be issued. Server runs per default on port `3370` on `::` ipv6 and ipv4. To change the bind address or port you can use the following linstor client commands: ``` linstor controller set-property REST/bindAddress 127.0.0.1 linstor controller set-property REST/port 8080 ``` After setting this properties restart the controller and the new values should be used. Changelog: * 1.0.13 - Fixed broken volume definition modify `flags` handling - Added flags to volume groups (create/modify) * 1.0.12 - Added WritecacheResource and WritecacheVolume schemas. - Removed support for swordfish - Added `with_storage_pool` to PhysicalStorageCreate post request, allowing to create linstor storage pools too - Added `gross` flag for volume-definition size - Added flags to VolumeDefinitionModify (so that `gross` flag can be changed) - Added query-max-volume-size to resource-groups * 1.0.11 - Added /v1/physical-storage endpoint, that lets you query and create lvm/zfs pools - Extended Node with list of supported providers and layers as well as lists of reasons for unsupported providers and layers * 1.0.10 - Added `reports` array field to Volume object, contains ApiCallRcs for problems - Changed `ResourceDefinitions` can now include `VolumeDefinitions` in `volume_definitions` field - Added various filter query parameters * 1.0.9 - Added supports_snapshots to StoragePool * 1.0.8 - Added /v1/resource-groups - Added /v1/resource-groups/{rscgrp}/volume-groups - Moved AutoSelectFilter::place_count default indirectly to create resource implementation - Added diskless_on_remaining to AutoSelectFilter - Changed /v1/view/resources return type to ResourceWithVolumes ResourceWithVolumes is now a child type of Resource (removed volumes from Resource) * 1.0.7 - Added ext_meta_stor_pool to DrbdVolume - Added is_active field to the NetInterface type * 1.0.6 - Added /v1/resource-definitions/{rscName}/resources/{nodeName}/volumes/{vlmnr} PUT * 1.0.5 - Added `reports` field to StoragePool object * 1.0.4 - Added /v1/view/storage-pools overview path - Added uuid fields for objects * 1.0.3 - Added /v1/view/resources overview path - documentation schema extraction * 1.0.2 - Added /v1/storage-pool-definitions object path - added NVME layer object type * 1.0.1 - Documentation review and updates - no functional changes * 1.0.0 - Initial REST API v1
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 1.0.13
|
|
7
|
+
Contact: rene.peinthor@linbit.com
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
OpenAPI Generator version: 5.3.1
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'json'
|
|
15
|
+
require 'date'
|
|
16
|
+
|
|
17
|
+
# Unit tests for LinstorClient::DrbdProxyEnable
|
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
|
19
|
+
# Please update as you see appropriate
|
|
20
|
+
describe LinstorClient::DrbdProxyEnable do
|
|
21
|
+
let(:instance) { LinstorClient::DrbdProxyEnable.new }
|
|
22
|
+
|
|
23
|
+
describe 'test an instance of DrbdProxyEnable' do
|
|
24
|
+
it 'should create an instance of DrbdProxyEnable' do
|
|
25
|
+
expect(instance).to be_instance_of(LinstorClient::DrbdProxyEnable)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
describe 'test attribute "port"' do
|
|
29
|
+
it 'should work' do
|
|
30
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|