=begin #Linstor REST API #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 The version of the OpenAPI document: 1.5.0 Contact: rene.peinthor@linbit.com Generated by: https://openapi-generator.tech OpenAPI Generator version: 5.3.1 =end # Common files require 'ruby-linstor-client/api_client' require 'ruby-linstor-client/api_error' require 'ruby-linstor-client/version' require 'ruby-linstor-client/configuration' # Models require 'ruby-linstor-client/models/api_call_rc' require 'ruby-linstor-client/models/auto_place_request' require 'ruby-linstor-client/models/auto_select_filter' require 'ruby-linstor-client/models/cache_resource' require 'ruby-linstor-client/models/cache_volume' require 'ruby-linstor-client/models/candidate' require 'ruby-linstor-client/models/controller_config' require 'ruby-linstor-client/models/controller_config_config' require 'ruby-linstor-client/models/controller_config_db' require 'ruby-linstor-client/models/controller_config_db_etcd' require 'ruby-linstor-client/models/controller_config_debug' require 'ruby-linstor-client/models/controller_config_http' require 'ruby-linstor-client/models/controller_config_https' require 'ruby-linstor-client/models/controller_config_ldap' require 'ruby-linstor-client/models/controller_config_log' require 'ruby-linstor-client/models/controller_props_modify' require 'ruby-linstor-client/models/controller_version' require 'ruby-linstor-client/models/drbd_connection' require 'ruby-linstor-client/models/drbd_proxy_enable' require 'ruby-linstor-client/models/drbd_proxy_modify' require 'ruby-linstor-client/models/drbd_resource' require 'ruby-linstor-client/models/drbd_resource_definition_layer' require 'ruby-linstor-client/models/drbd_volume' require 'ruby-linstor-client/models/drbd_volume_definition' require 'ruby-linstor-client/models/error_report' require 'ruby-linstor-client/models/error_report_delete' require 'ruby-linstor-client/models/event_may_promote_change' require 'ruby-linstor-client/models/key_value_store' require 'ruby-linstor-client/models/key_value_store_modify' require 'ruby-linstor-client/models/luks_resource' require 'ruby-linstor-client/models/luks_volume' require 'ruby-linstor-client/models/layer_type' require 'ruby-linstor-client/models/log_level' require 'ruby-linstor-client/models/max_volume_sizes' require 'ruby-linstor-client/models/nvme_resource' require 'ruby-linstor-client/models/nvme_volume' require 'ruby-linstor-client/models/net_interface' require 'ruby-linstor-client/models/node' require 'ruby-linstor-client/models/node_modify' require 'ruby-linstor-client/models/openflex_resource' require 'ruby-linstor-client/models/openflex_resource_definition_layer' require 'ruby-linstor-client/models/openflex_volume' require 'ruby-linstor-client/models/pass_phrase_create' require 'ruby-linstor-client/models/physical_storage' require 'ruby-linstor-client/models/physical_storage_create' require 'ruby-linstor-client/models/physical_storage_device' require 'ruby-linstor-client/models/physical_storage_storage_pool_create' require 'ruby-linstor-client/models/provider_kind' require 'ruby-linstor-client/models/resource' require 'ruby-linstor-client/models/resource_connection' require 'ruby-linstor-client/models/resource_connection_modify' require 'ruby-linstor-client/models/resource_create' require 'ruby-linstor-client/models/resource_definition' require 'ruby-linstor-client/models/resource_definition_create' require 'ruby-linstor-client/models/resource_definition_layer' require 'ruby-linstor-client/models/resource_definition_modify' require 'ruby-linstor-client/models/resource_group' require 'ruby-linstor-client/models/resource_group_modify' require 'ruby-linstor-client/models/resource_group_spawn' require 'ruby-linstor-client/models/resource_layer' require 'ruby-linstor-client/models/resource_modify' require 'ruby-linstor-client/models/resource_state' require 'ruby-linstor-client/models/resource_with_volumes' require 'ruby-linstor-client/models/resource_with_volumes_all_of' require 'ruby-linstor-client/models/satellite_config' require 'ruby-linstor-client/models/satellite_config_log' require 'ruby-linstor-client/models/satellite_config_net' require 'ruby-linstor-client/models/snapshot' require 'ruby-linstor-client/models/snapshot_node' require 'ruby-linstor-client/models/snapshot_restore' require 'ruby-linstor-client/models/snapshot_shipping' require 'ruby-linstor-client/models/snapshot_shipping_status' require 'ruby-linstor-client/models/snapshot_volume_definition' require 'ruby-linstor-client/models/storage_pool' require 'ruby-linstor-client/models/storage_pool_definition' require 'ruby-linstor-client/models/storage_pool_definition_modify' require 'ruby-linstor-client/models/storage_resource' require 'ruby-linstor-client/models/storage_volume' require 'ruby-linstor-client/models/volume' require 'ruby-linstor-client/models/volume_definition' require 'ruby-linstor-client/models/volume_definition_create' require 'ruby-linstor-client/models/volume_definition_layer' require 'ruby-linstor-client/models/volume_definition_modify' require 'ruby-linstor-client/models/volume_group' require 'ruby-linstor-client/models/volume_group_modify' require 'ruby-linstor-client/models/volume_layer' require 'ruby-linstor-client/models/volume_modify' require 'ruby-linstor-client/models/volume_state' require 'ruby-linstor-client/models/writecache_resource' require 'ruby-linstor-client/models/writecache_volume' require 'ruby-linstor-client/models/one_of_drbd_resource_definition_layer' require 'ruby-linstor-client/models/one_of_drbd_volume_definition' require 'ruby-linstor-client/models/one_of_drbd_volume_luks_volume_storage_nvme_volme_writecache_volume' # APIs require 'ruby-linstor-client/api/developers_api' module LinstorClient class << self # Customize default settings for the SDK using block. # LinstorClient.configure do |config| # config.username = "xxx" # config.password = "xxx" # end # If no block given, return the default Configuration object. def configure if block_given? yield(Configuration.default) else Configuration.default end end end end