ruby-linstor-client 1.0.0 → 1.1.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/README.md +4 -4
- data/codegen.sh +1 -1
- data/generator/custom/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume.rb +1 -1
- data/generator/custom/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume_cache_volume.rb +11 -0
- data/lib/ruby-linstor-client/api/developers_api.rb +923 -103
- data/lib/ruby-linstor-client/api_client.rb +2 -2
- data/lib/ruby-linstor-client/api_error.rb +2 -2
- data/lib/ruby-linstor-client/configuration.rb +2 -2
- data/lib/ruby-linstor-client/models/api_call_rc.rb +2 -2
- data/lib/ruby-linstor-client/models/auto_place_request.rb +2 -2
- data/lib/ruby-linstor-client/models/auto_select_filter.rb +25 -3
- data/lib/ruby-linstor-client/models/cache_resource.rb +220 -0
- data/lib/ruby-linstor-client/models/cache_volume.rb +276 -0
- data/lib/ruby-linstor-client/models/candidate.rb +2 -2
- data/lib/ruby-linstor-client/models/controller_config.rb +272 -0
- data/lib/ruby-linstor-client/models/controller_config_config.rb +218 -0
- data/lib/ruby-linstor-client/models/controller_config_db.rb +263 -0
- data/lib/ruby-linstor-client/models/controller_config_db_etcd.rb +227 -0
- data/lib/ruby-linstor-client/models/controller_config_debug.rb +218 -0
- data/lib/ruby-linstor-client/models/controller_config_http.rb +236 -0
- data/lib/ruby-linstor-client/models/controller_config_https.rb +236 -0
- data/lib/ruby-linstor-client/models/controller_config_ldap.rb +263 -0
- data/lib/ruby-linstor-client/models/controller_config_log.rb +315 -0
- data/lib/ruby-linstor-client/models/controller_props_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/controller_version.rb +2 -2
- data/lib/ruby-linstor-client/models/drbd_connection.rb +262 -0
- data/lib/ruby-linstor-client/models/drbd_proxy_enable.rb +2 -2
- data/lib/ruby-linstor-client/models/drbd_proxy_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/drbd_resource.rb +35 -6
- data/lib/ruby-linstor-client/models/drbd_resource_definition_layer.rb +2 -2
- data/lib/ruby-linstor-client/models/drbd_volume.rb +2 -2
- data/lib/ruby-linstor-client/models/drbd_volume_definition.rb +2 -2
- data/lib/ruby-linstor-client/models/error_report.rb +87 -7
- data/lib/ruby-linstor-client/models/error_report_delete.rb +273 -0
- data/lib/ruby-linstor-client/models/event_may_promote_change.rb +237 -0
- data/lib/ruby-linstor-client/models/key_value_store.rb +2 -2
- data/lib/ruby-linstor-client/models/key_value_store_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/layer_type.rb +4 -2
- data/lib/ruby-linstor-client/models/log_level.rb +40 -0
- data/lib/ruby-linstor-client/models/luks_resource.rb +2 -2
- data/lib/ruby-linstor-client/models/luks_volume.rb +2 -2
- data/lib/ruby-linstor-client/models/max_volume_sizes.rb +2 -2
- data/lib/ruby-linstor-client/models/net_interface.rb +2 -2
- data/lib/ruby-linstor-client/models/node.rb +4 -4
- data/lib/ruby-linstor-client/models/node_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/nvme_resource.rb +2 -2
- data/lib/ruby-linstor-client/models/nvme_volume.rb +2 -2
- data/lib/ruby-linstor-client/models/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume.rb +1 -1
- data/lib/ruby-linstor-client/models/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume_cache_volume.rb +11 -0
- data/lib/ruby-linstor-client/models/openflex_resource.rb +229 -0
- data/lib/ruby-linstor-client/models/openflex_resource_definition_layer.rb +227 -0
- data/lib/ruby-linstor-client/models/openflex_volume.rb +256 -0
- data/lib/ruby-linstor-client/models/pass_phrase_create.rb +2 -2
- data/lib/ruby-linstor-client/models/physical_storage.rb +2 -2
- data/lib/ruby-linstor-client/models/physical_storage_create.rb +2 -2
- data/lib/ruby-linstor-client/models/physical_storage_device.rb +2 -2
- data/lib/ruby-linstor-client/models/physical_storage_storage_pool_create.rb +2 -2
- data/lib/ruby-linstor-client/models/provider_kind.rb +3 -2
- data/lib/ruby-linstor-client/models/resource.rb +16 -6
- data/lib/ruby-linstor-client/models/resource_connection.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_connection_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_create.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_definition.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_definition_create.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_definition_layer.rb +3 -3
- data/lib/ruby-linstor-client/models/resource_definition_modify.rb +16 -6
- data/lib/ruby-linstor-client/models/resource_group.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_group_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_group_spawn.rb +22 -3
- data/lib/ruby-linstor-client/models/resource_layer.rb +24 -6
- data/lib/ruby-linstor-client/models/resource_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_state.rb +2 -2
- data/lib/ruby-linstor-client/models/resource_with_volumes.rb +13 -3
- data/lib/ruby-linstor-client/models/resource_with_volumes_all_of.rb +2 -2
- data/lib/ruby-linstor-client/models/satellite_config.rb +272 -0
- data/lib/ruby-linstor-client/models/satellite_config_log.rb +245 -0
- data/lib/ruby-linstor-client/models/satellite_config_net.rb +236 -0
- data/lib/ruby-linstor-client/models/snapshot.rb +17 -6
- data/lib/ruby-linstor-client/models/snapshot_node.rb +261 -0
- data/lib/ruby-linstor-client/models/snapshot_restore.rb +2 -2
- data/lib/ruby-linstor-client/models/snapshot_shipping.rb +259 -0
- data/lib/ruby-linstor-client/models/snapshot_shipping_status.rb +279 -0
- data/lib/ruby-linstor-client/models/snapshot_volume_definition.rb +2 -2
- data/lib/ruby-linstor-client/models/storage_pool.rb +2 -2
- data/lib/ruby-linstor-client/models/storage_pool_definition.rb +2 -2
- data/lib/ruby-linstor-client/models/storage_pool_definition_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/storage_resource.rb +2 -2
- data/lib/ruby-linstor-client/models/storage_volume.rb +2 -2
- data/lib/ruby-linstor-client/models/volume.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_definition.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_definition_create.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_definition_layer.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_definition_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_group.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_group_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_layer.rb +3 -3
- data/lib/ruby-linstor-client/models/volume_modify.rb +2 -2
- data/lib/ruby-linstor-client/models/volume_state.rb +2 -2
- data/lib/ruby-linstor-client/models/writecache_resource.rb +2 -2
- data/lib/ruby-linstor-client/models/writecache_volume.rb +2 -2
- data/lib/ruby-linstor-client/version.rb +3 -3
- data/lib/ruby-linstor-client.rb +26 -2
- data/pkg/ruby-linstor-client-1.0.0.gem +0 -0
- data/spec/api_client_spec.rb +2 -2
- data/spec/configuration_spec.rb +2 -2
- data/spec/models/cache_resource_spec.rb +34 -0
- data/spec/models/cache_volume_spec.rb +70 -0
- data/spec/models/controller_config_config_spec.rb +34 -0
- data/spec/models/controller_config_db_etcd_spec.rb +40 -0
- data/spec/models/controller_config_db_spec.rb +64 -0
- data/spec/models/controller_config_debug_spec.rb +34 -0
- data/spec/models/controller_config_http_spec.rb +46 -0
- data/spec/models/controller_config_https_spec.rb +46 -0
- data/spec/models/controller_config_ldap_spec.rb +64 -0
- data/spec/models/controller_config_log_spec.rb +80 -0
- data/spec/models/controller_config_spec.rb +70 -0
- data/spec/models/drbd_connection_spec.rb +44 -0
- data/spec/models/error_report_delete_spec.rb +64 -0
- data/spec/models/event_may_promote_change_spec.rb +46 -0
- data/spec/models/log_level_spec.rb +28 -0
- data/spec/models/openflex_resource_definition_layer_spec.rb +40 -0
- data/spec/models/openflex_resource_spec.rb +40 -0
- data/spec/models/openflex_volume_spec.rb +58 -0
- data/spec/models/satellite_config_log_spec.rb +52 -0
- data/spec/models/satellite_config_net_spec.rb +46 -0
- data/spec/models/satellite_config_spec.rb +70 -0
- data/spec/models/snapshot_node_spec.rb +58 -0
- data/spec/models/snapshot_shipping_spec.rb +52 -0
- data/spec/models/snapshot_shipping_status_spec.rb +56 -0
- data/spec/spec_helper.rb +2 -2
- metadata +77 -3
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Linstor REST API
|
|
3
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
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.0
|
|
6
|
+
The version of the OpenAPI document: 1.5.0
|
|
7
7
|
Contact: rene.peinthor@linbit.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 5.3.1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Linstor REST API
|
|
3
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
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.0
|
|
6
|
+
The version of the OpenAPI document: 1.5.0
|
|
7
7
|
Contact: rene.peinthor@linbit.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 5.3.1
|
|
@@ -29,6 +29,12 @@ module LinstorClient
|
|
|
29
29
|
|
|
30
30
|
attr_accessor :drbd_volumes
|
|
31
31
|
|
|
32
|
+
attr_accessor :connections
|
|
33
|
+
|
|
34
|
+
attr_accessor :promotion_score
|
|
35
|
+
|
|
36
|
+
attr_accessor :may_promote
|
|
37
|
+
|
|
32
38
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
33
39
|
def self.attribute_map
|
|
34
40
|
{
|
|
@@ -38,7 +44,10 @@ module LinstorClient
|
|
|
38
44
|
:'al_stripes' => :'al_stripes',
|
|
39
45
|
:'al_size' => :'al_size',
|
|
40
46
|
:'flags' => :'flags',
|
|
41
|
-
:'drbd_volumes' => :'drbd_volumes'
|
|
47
|
+
:'drbd_volumes' => :'drbd_volumes',
|
|
48
|
+
:'connections' => :'connections',
|
|
49
|
+
:'promotion_score' => :'promotion_score',
|
|
50
|
+
:'may_promote' => :'may_promote'
|
|
42
51
|
}
|
|
43
52
|
end
|
|
44
53
|
|
|
@@ -56,7 +65,10 @@ module LinstorClient
|
|
|
56
65
|
:'al_stripes' => :'Integer',
|
|
57
66
|
:'al_size' => :'Integer',
|
|
58
67
|
:'flags' => :'Array<String>',
|
|
59
|
-
:'drbd_volumes' => :'Array<DrbdVolume>'
|
|
68
|
+
:'drbd_volumes' => :'Array<DrbdVolume>',
|
|
69
|
+
:'connections' => :'Hash<String, DrbdConnection>',
|
|
70
|
+
:'promotion_score' => :'Integer',
|
|
71
|
+
:'may_promote' => :'Boolean'
|
|
60
72
|
}
|
|
61
73
|
end
|
|
62
74
|
|
|
@@ -112,6 +124,20 @@ module LinstorClient
|
|
|
112
124
|
self.drbd_volumes = value
|
|
113
125
|
end
|
|
114
126
|
end
|
|
127
|
+
|
|
128
|
+
if attributes.key?(:'connections')
|
|
129
|
+
if (value = attributes[:'connections']).is_a?(Hash)
|
|
130
|
+
self.connections = value
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
if attributes.key?(:'promotion_score')
|
|
135
|
+
self.promotion_score = attributes[:'promotion_score']
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
if attributes.key?(:'may_promote')
|
|
139
|
+
self.may_promote = attributes[:'may_promote']
|
|
140
|
+
end
|
|
115
141
|
end
|
|
116
142
|
|
|
117
143
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -138,7 +164,10 @@ module LinstorClient
|
|
|
138
164
|
al_stripes == o.al_stripes &&
|
|
139
165
|
al_size == o.al_size &&
|
|
140
166
|
flags == o.flags &&
|
|
141
|
-
drbd_volumes == o.drbd_volumes
|
|
167
|
+
drbd_volumes == o.drbd_volumes &&
|
|
168
|
+
connections == o.connections &&
|
|
169
|
+
promotion_score == o.promotion_score &&
|
|
170
|
+
may_promote == o.may_promote
|
|
142
171
|
end
|
|
143
172
|
|
|
144
173
|
# @see the `==` method
|
|
@@ -150,7 +179,7 @@ module LinstorClient
|
|
|
150
179
|
# Calculates hash code according to all attributes.
|
|
151
180
|
# @return [Integer] Hash code
|
|
152
181
|
def hash
|
|
153
|
-
[drbd_resource_definition, node_id, peer_slots, al_stripes, al_size, flags, drbd_volumes].hash
|
|
182
|
+
[drbd_resource_definition, node_id, peer_slots, al_stripes, al_size, flags, drbd_volumes, connections, promotion_score, may_promote].hash
|
|
154
183
|
end
|
|
155
184
|
|
|
156
185
|
# Builds the object from hash
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Linstor REST API
|
|
3
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
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.0
|
|
6
|
+
The version of the OpenAPI document: 1.5.0
|
|
7
7
|
Contact: rene.peinthor@linbit.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 5.3.1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Linstor REST API
|
|
3
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
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.0
|
|
6
|
+
The version of the OpenAPI document: 1.5.0
|
|
7
7
|
Contact: rene.peinthor@linbit.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 5.3.1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Linstor REST API
|
|
3
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
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.0
|
|
6
|
+
The version of the OpenAPI document: 1.5.0
|
|
7
7
|
Contact: rene.peinthor@linbit.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 5.3.1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Linstor REST API
|
|
3
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
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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
5
|
|
|
6
|
-
The version of the OpenAPI document: 1.0
|
|
6
|
+
The version of the OpenAPI document: 1.5.0
|
|
7
7
|
Contact: rene.peinthor@linbit.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
OpenAPI Generator version: 5.3.1
|
|
@@ -19,19 +19,51 @@ module LinstorClient
|
|
|
19
19
|
|
|
20
20
|
attr_accessor :error_time
|
|
21
21
|
|
|
22
|
-
# Filename of the error report on the server. Format is: ```ErrorReport-{instanceid}-{nodeid}-{
|
|
22
|
+
# Filename of the error report on the server. Format is: ```ErrorReport-{instanceid}-{nodeid}-{sequencenumber}.log```
|
|
23
23
|
attr_accessor :filename
|
|
24
24
|
|
|
25
25
|
# Contains the full text of the error report file.
|
|
26
26
|
attr_accessor :text
|
|
27
27
|
|
|
28
|
+
# Which module this error occurred.
|
|
29
|
+
attr_accessor :_module
|
|
30
|
+
|
|
31
|
+
# Linstor version this error report was created.
|
|
32
|
+
attr_accessor :version
|
|
33
|
+
|
|
34
|
+
# Peer client that was involved.
|
|
35
|
+
attr_accessor :peer
|
|
36
|
+
|
|
37
|
+
# Exception that occurred
|
|
38
|
+
attr_accessor :exception
|
|
39
|
+
|
|
40
|
+
# Exception message
|
|
41
|
+
attr_accessor :exception_message
|
|
42
|
+
|
|
43
|
+
# Origin file of the exception
|
|
44
|
+
attr_accessor :origin_file
|
|
45
|
+
|
|
46
|
+
# Origin method where the exception occurred
|
|
47
|
+
attr_accessor :origin_method
|
|
48
|
+
|
|
49
|
+
# Origin line number
|
|
50
|
+
attr_accessor :origin_line
|
|
51
|
+
|
|
28
52
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
29
53
|
def self.attribute_map
|
|
30
54
|
{
|
|
31
55
|
:'node_name' => :'node_name',
|
|
32
56
|
:'error_time' => :'error_time',
|
|
33
57
|
:'filename' => :'filename',
|
|
34
|
-
:'text' => :'text'
|
|
58
|
+
:'text' => :'text',
|
|
59
|
+
:'_module' => :'module',
|
|
60
|
+
:'version' => :'version',
|
|
61
|
+
:'peer' => :'peer',
|
|
62
|
+
:'exception' => :'exception',
|
|
63
|
+
:'exception_message' => :'exception_message',
|
|
64
|
+
:'origin_file' => :'origin_file',
|
|
65
|
+
:'origin_method' => :'origin_method',
|
|
66
|
+
:'origin_line' => :'origin_line'
|
|
35
67
|
}
|
|
36
68
|
end
|
|
37
69
|
|
|
@@ -46,7 +78,15 @@ module LinstorClient
|
|
|
46
78
|
:'node_name' => :'String',
|
|
47
79
|
:'error_time' => :'Integer',
|
|
48
80
|
:'filename' => :'String',
|
|
49
|
-
:'text' => :'String'
|
|
81
|
+
:'text' => :'String',
|
|
82
|
+
:'_module' => :'String',
|
|
83
|
+
:'version' => :'String',
|
|
84
|
+
:'peer' => :'String',
|
|
85
|
+
:'exception' => :'String',
|
|
86
|
+
:'exception_message' => :'String',
|
|
87
|
+
:'origin_file' => :'String',
|
|
88
|
+
:'origin_method' => :'String',
|
|
89
|
+
:'origin_line' => :'Integer'
|
|
50
90
|
}
|
|
51
91
|
end
|
|
52
92
|
|
|
@@ -86,6 +126,38 @@ module LinstorClient
|
|
|
86
126
|
if attributes.key?(:'text')
|
|
87
127
|
self.text = attributes[:'text']
|
|
88
128
|
end
|
|
129
|
+
|
|
130
|
+
if attributes.key?(:'_module')
|
|
131
|
+
self._module = attributes[:'_module']
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
if attributes.key?(:'version')
|
|
135
|
+
self.version = attributes[:'version']
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
if attributes.key?(:'peer')
|
|
139
|
+
self.peer = attributes[:'peer']
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
if attributes.key?(:'exception')
|
|
143
|
+
self.exception = attributes[:'exception']
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
if attributes.key?(:'exception_message')
|
|
147
|
+
self.exception_message = attributes[:'exception_message']
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
if attributes.key?(:'origin_file')
|
|
151
|
+
self.origin_file = attributes[:'origin_file']
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
if attributes.key?(:'origin_method')
|
|
155
|
+
self.origin_method = attributes[:'origin_method']
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
if attributes.key?(:'origin_line')
|
|
159
|
+
self.origin_line = attributes[:'origin_line']
|
|
160
|
+
end
|
|
89
161
|
end
|
|
90
162
|
|
|
91
163
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -114,7 +186,15 @@ module LinstorClient
|
|
|
114
186
|
node_name == o.node_name &&
|
|
115
187
|
error_time == o.error_time &&
|
|
116
188
|
filename == o.filename &&
|
|
117
|
-
text == o.text
|
|
189
|
+
text == o.text &&
|
|
190
|
+
_module == o._module &&
|
|
191
|
+
version == o.version &&
|
|
192
|
+
peer == o.peer &&
|
|
193
|
+
exception == o.exception &&
|
|
194
|
+
exception_message == o.exception_message &&
|
|
195
|
+
origin_file == o.origin_file &&
|
|
196
|
+
origin_method == o.origin_method &&
|
|
197
|
+
origin_line == o.origin_line
|
|
118
198
|
end
|
|
119
199
|
|
|
120
200
|
# @see the `==` method
|
|
@@ -126,7 +206,7 @@ module LinstorClient
|
|
|
126
206
|
# Calculates hash code according to all attributes.
|
|
127
207
|
# @return [Integer] Hash code
|
|
128
208
|
def hash
|
|
129
|
-
[node_name, error_time, filename, text].hash
|
|
209
|
+
[node_name, error_time, filename, text, _module, version, peer, exception, exception_message, origin_file, origin_method, origin_line].hash
|
|
130
210
|
end
|
|
131
211
|
|
|
132
212
|
# Builds the object from hash
|
|
@@ -0,0 +1,273 @@
|
|
|
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.5.0 - Added etcd.prefix to ControllerConfigDbEtcd parameters * 1.4.0 - Added promotion_score and may_promote to DrbdResource object - Added /v1/error-reports DELETE method, to delete a range of error reports or single ones - Added SSE (Server Sent Events) url /v1/events/drbd/promotion * 1.3.0 - Added /v1/view/snapshot-shippings * 1.2.0 - Added optional AutoSelectFilter to resource-group/spawn - Added /v1/nodes/{node}/config, that allows you to get and set the satellite config - Added /v1/sos-report to create bug reports you can send to linbit - Added new fields to the ErrorReport object - Added /v1/resource-definitions/{resource}/snapshot-shipping - Allow to modify the resource group in Resource definitions - Added createTimestamp to Resource and Snapshot - Added default value (null) for AutoPlaceRequest's layer_list * 1.1.0 - Added /v1/view/snapshots for a faster all in one snapshot list - Filter lists by properties: - /v1/nodes - /v1/resource-definitions - /v1/resource-groups - /v1/view/storage-pools - /v1/view/resources * 1.0.16 - Added CacheResource and CacheVolume schemas - AutSelectFilter arrays are now null per default * 1.0.15 - Added connections map to the DRBD resource layer data - Added support for Openflex * 1.0.14 - Added /v1/controller/config, that gives you the controller config information * 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.5.0
|
|
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 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module LinstorClient
|
|
17
|
+
class ErrorReportDelete
|
|
18
|
+
# timestamp in millis start date to delete
|
|
19
|
+
attr_accessor :since
|
|
20
|
+
|
|
21
|
+
# timestamp in millis for the end date to delete
|
|
22
|
+
attr_accessor :to
|
|
23
|
+
|
|
24
|
+
# on which nodes to delete error-reports, if empty/null all nodes
|
|
25
|
+
attr_accessor :nodes
|
|
26
|
+
|
|
27
|
+
# delete all error reports with the given exception
|
|
28
|
+
attr_accessor :exception
|
|
29
|
+
|
|
30
|
+
# delete all error reports from the given version
|
|
31
|
+
attr_accessor :version
|
|
32
|
+
|
|
33
|
+
# error report ids to delete
|
|
34
|
+
attr_accessor :ids
|
|
35
|
+
|
|
36
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
37
|
+
def self.attribute_map
|
|
38
|
+
{
|
|
39
|
+
:'since' => :'since',
|
|
40
|
+
:'to' => :'to',
|
|
41
|
+
:'nodes' => :'nodes',
|
|
42
|
+
:'exception' => :'exception',
|
|
43
|
+
:'version' => :'version',
|
|
44
|
+
:'ids' => :'ids'
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Returns all the JSON keys this model knows about
|
|
49
|
+
def self.acceptable_attributes
|
|
50
|
+
attribute_map.values
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Attribute type mapping.
|
|
54
|
+
def self.openapi_types
|
|
55
|
+
{
|
|
56
|
+
:'since' => :'Integer',
|
|
57
|
+
:'to' => :'Integer',
|
|
58
|
+
:'nodes' => :'Array<String>',
|
|
59
|
+
:'exception' => :'String',
|
|
60
|
+
:'version' => :'String',
|
|
61
|
+
:'ids' => :'Array<String>'
|
|
62
|
+
}
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# List of attributes with nullable: true
|
|
66
|
+
def self.openapi_nullable
|
|
67
|
+
Set.new([
|
|
68
|
+
])
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Initializes the object
|
|
72
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
73
|
+
def initialize(attributes = {})
|
|
74
|
+
if (!attributes.is_a?(Hash))
|
|
75
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `LinstorClient::ErrorReportDelete` initialize method"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
79
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
80
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
81
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `LinstorClient::ErrorReportDelete`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
82
|
+
end
|
|
83
|
+
h[k.to_sym] = v
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if attributes.key?(:'since')
|
|
87
|
+
self.since = attributes[:'since']
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
if attributes.key?(:'to')
|
|
91
|
+
self.to = attributes[:'to']
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
if attributes.key?(:'nodes')
|
|
95
|
+
if (value = attributes[:'nodes']).is_a?(Array)
|
|
96
|
+
self.nodes = value
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
if attributes.key?(:'exception')
|
|
101
|
+
self.exception = attributes[:'exception']
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
if attributes.key?(:'version')
|
|
105
|
+
self.version = attributes[:'version']
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
if attributes.key?(:'ids')
|
|
109
|
+
if (value = attributes[:'ids']).is_a?(Array)
|
|
110
|
+
self.ids = value
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
116
|
+
# @return Array for valid properties with the reasons
|
|
117
|
+
def list_invalid_properties
|
|
118
|
+
invalid_properties = Array.new
|
|
119
|
+
invalid_properties
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Check to see if the all the properties in the model are valid
|
|
123
|
+
# @return true if the model is valid
|
|
124
|
+
def valid?
|
|
125
|
+
true
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Checks equality by comparing each attribute.
|
|
129
|
+
# @param [Object] Object to be compared
|
|
130
|
+
def ==(o)
|
|
131
|
+
return true if self.equal?(o)
|
|
132
|
+
self.class == o.class &&
|
|
133
|
+
since == o.since &&
|
|
134
|
+
to == o.to &&
|
|
135
|
+
nodes == o.nodes &&
|
|
136
|
+
exception == o.exception &&
|
|
137
|
+
version == o.version &&
|
|
138
|
+
ids == o.ids
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# @see the `==` method
|
|
142
|
+
# @param [Object] Object to be compared
|
|
143
|
+
def eql?(o)
|
|
144
|
+
self == o
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
# Calculates hash code according to all attributes.
|
|
148
|
+
# @return [Integer] Hash code
|
|
149
|
+
def hash
|
|
150
|
+
[since, to, nodes, exception, version, ids].hash
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Builds the object from hash
|
|
154
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
155
|
+
# @return [Object] Returns the model itself
|
|
156
|
+
def self.build_from_hash(attributes)
|
|
157
|
+
new.build_from_hash(attributes)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Builds the object from hash
|
|
161
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
162
|
+
# @return [Object] Returns the model itself
|
|
163
|
+
def build_from_hash(attributes)
|
|
164
|
+
return nil unless attributes.is_a?(Hash)
|
|
165
|
+
self.class.openapi_types.each_pair do |key, type|
|
|
166
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
167
|
+
self.send("#{key}=", nil)
|
|
168
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
169
|
+
# check to ensure the input is an array given that the attribute
|
|
170
|
+
# is documented as an array but the input is not
|
|
171
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
172
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
|
173
|
+
end
|
|
174
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
175
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
self
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Deserializes the data based on type
|
|
183
|
+
# @param string type Data type
|
|
184
|
+
# @param string value Value to be deserialized
|
|
185
|
+
# @return [Object] Deserialized data
|
|
186
|
+
def _deserialize(type, value)
|
|
187
|
+
case type.to_sym
|
|
188
|
+
when :Time
|
|
189
|
+
Time.parse(value)
|
|
190
|
+
when :Date
|
|
191
|
+
Date.parse(value)
|
|
192
|
+
when :String
|
|
193
|
+
value.to_s
|
|
194
|
+
when :Integer
|
|
195
|
+
value.to_i
|
|
196
|
+
when :Float
|
|
197
|
+
value.to_f
|
|
198
|
+
when :Boolean
|
|
199
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
200
|
+
true
|
|
201
|
+
else
|
|
202
|
+
false
|
|
203
|
+
end
|
|
204
|
+
when :Object
|
|
205
|
+
# generic object (usually a Hash), return directly
|
|
206
|
+
value
|
|
207
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
208
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
209
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
210
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
211
|
+
k_type = Regexp.last_match[:k_type]
|
|
212
|
+
v_type = Regexp.last_match[:v_type]
|
|
213
|
+
{}.tap do |hash|
|
|
214
|
+
value.each do |k, v|
|
|
215
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
else # model
|
|
219
|
+
# models (e.g. Pet) or oneOf
|
|
220
|
+
klass = LinstorClient.const_get(type)
|
|
221
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
# Returns the string representation of the object
|
|
226
|
+
# @return [String] String presentation of the object
|
|
227
|
+
def to_s
|
|
228
|
+
to_hash.to_s
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
232
|
+
# @return [Hash] Returns the object in the form of hash
|
|
233
|
+
def to_body
|
|
234
|
+
to_hash
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
# Returns the object in the form of hash
|
|
238
|
+
# @return [Hash] Returns the object in the form of hash
|
|
239
|
+
def to_hash
|
|
240
|
+
hash = {}
|
|
241
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
242
|
+
value = self.send(attr)
|
|
243
|
+
if value.nil?
|
|
244
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
245
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
hash[param] = _to_hash(value)
|
|
249
|
+
end
|
|
250
|
+
hash
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# Outputs non-array value in the form of hash
|
|
254
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
255
|
+
# @param [Object] value Any valid value
|
|
256
|
+
# @return [Hash] Returns the value in the form of hash
|
|
257
|
+
def _to_hash(value)
|
|
258
|
+
if value.is_a?(Array)
|
|
259
|
+
value.compact.map { |v| _to_hash(v) }
|
|
260
|
+
elsif value.is_a?(Hash)
|
|
261
|
+
{}.tap do |hash|
|
|
262
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
263
|
+
end
|
|
264
|
+
elsif value.respond_to? :to_hash
|
|
265
|
+
value.to_hash
|
|
266
|
+
else
|
|
267
|
+
value
|
|
268
|
+
end
|
|
269
|
+
end
|
|
270
|
+
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
end
|