Skip to main content

ossify/ops/service/resource_pool/
mod.rs

1//! Account-level Resource Pool QoS operations.
2//!
3//! All APIs in this module are account-level (USE_BUCKET=false). The module
4//! covers three sub-groups:
5//!
6//! - Resource-pool basics: ListResourcePools, GetResourcePoolInfo,
7//!   ListResourcePoolBuckets.
8//! - Resource-pool per-requester QoS: Put/Get/List/Delete.
9//! - Resource-pool bucket-group QoS: ListResourcePoolBucketGroups and
10//!   Put/Get/List/Delete ResourcePoolBucketGroupQoSInfo.
11//!
12//! The bucket-to-group assignment itself is a bucket-level API and lives in
13//! `ops::bucket::resource_pool_bucket_group::PutBucketResourcePoolBucketGroup`.
14
15mod delete_resource_pool_bucket_group_qos_info;
16mod delete_resource_pool_requester_qos_info;
17mod get_resource_pool_bucket_group_qos_info;
18mod get_resource_pool_info;
19mod get_resource_pool_requester_qos_info;
20mod list_resource_pool_bucket_group_qos_infos;
21mod list_resource_pool_bucket_groups;
22mod list_resource_pool_buckets;
23mod list_resource_pool_requester_qos_infos;
24mod list_resource_pools;
25mod put_resource_pool_bucket_group_qos_info;
26mod put_resource_pool_requester_qos_info;
27
28pub use delete_resource_pool_bucket_group_qos_info::*;
29pub use delete_resource_pool_requester_qos_info::*;
30pub use get_resource_pool_bucket_group_qos_info::*;
31pub use get_resource_pool_info::*;
32pub use get_resource_pool_requester_qos_info::*;
33pub use list_resource_pool_bucket_group_qos_infos::*;
34pub use list_resource_pool_bucket_groups::*;
35pub use list_resource_pool_buckets::*;
36pub use list_resource_pool_requester_qos_infos::*;
37pub use list_resource_pools::*;
38pub use put_resource_pool_bucket_group_qos_info::*;
39pub use put_resource_pool_requester_qos_info::*;
40
41pub trait ResourcePoolOperations:
42    ListResourcePoolsOps
43    + GetResourcePoolInfoOps
44    + ListResourcePoolBucketsOps
45    + PutResourcePoolRequesterQoSInfoOps
46    + GetResourcePoolRequesterQoSInfoOps
47    + ListResourcePoolRequesterQoSInfosOps
48    + DeleteResourcePoolRequesterQoSInfoOps
49    + ListResourcePoolBucketGroupsOps
50    + PutResourcePoolBucketGroupQoSInfoOps
51    + GetResourcePoolBucketGroupQoSInfoOps
52    + ListResourcePoolBucketGroupQoSInfosOps
53    + DeleteResourcePoolBucketGroupQoSInfoOps
54{
55}
56impl<T> ResourcePoolOperations for T where
57    T: ListResourcePoolsOps
58        + GetResourcePoolInfoOps
59        + ListResourcePoolBucketsOps
60        + PutResourcePoolRequesterQoSInfoOps
61        + GetResourcePoolRequesterQoSInfoOps
62        + ListResourcePoolRequesterQoSInfosOps
63        + DeleteResourcePoolRequesterQoSInfoOps
64        + ListResourcePoolBucketGroupsOps
65        + PutResourcePoolBucketGroupQoSInfoOps
66        + GetResourcePoolBucketGroupQoSInfoOps
67        + ListResourcePoolBucketGroupQoSInfosOps
68        + DeleteResourcePoolBucketGroupQoSInfoOps
69{
70}