50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using FrostFS.SDK.ClientV2.Parameters;
|
|
using FrostFS.SDK.ModelsV2;
|
|
using FrostFS.SDK.ModelsV2.Netmap;
|
|
namespace FrostFS.SDK.ClientV2.Interfaces;
|
|
|
|
public interface IFrostFSClient : IDisposable
|
|
{
|
|
#region Network
|
|
Task<NetmapSnapshot> GetNetmapSnapshotAsync(PrmNetmapSnapshot? args = null);
|
|
|
|
Task<NodeInfo> GetNodeInfoAsync(PrmNodeInfo? args = null);
|
|
|
|
Task<NetworkSettings> GetNetworkSettingsAsync(PrmNetworkSettings? args = null);
|
|
#endregion
|
|
|
|
#region Session
|
|
Task<SessionToken> CreateSessionAsync(PrmSessionCreate args);
|
|
#endregion
|
|
|
|
#region Container
|
|
Task<ModelsV2.Container> GetContainerAsync(PrmContainerGet args);
|
|
|
|
IAsyncEnumerable<ContainerId> ListContainersAsync(PrmContainerGetAll? args = null);
|
|
|
|
Task<ContainerId> CreateContainerAsync(PrmContainerCreate args);
|
|
|
|
Task DeleteContainerAsync(PrmContainerDelete args);
|
|
#endregion
|
|
|
|
#region Object
|
|
Task<ObjectHeader> GetObjectHeadAsync(PrmObjectHeadGet args);
|
|
|
|
Task<FrostFsObject> GetObjectAsync(PrmObjectGet args);
|
|
|
|
Task<ObjectId> PutObjectAsync(PrmObjectPut putObjectParameters);
|
|
|
|
Task<ObjectId> PutSingleObjectAsync(PrmSingleObjectPut args);
|
|
|
|
Task DeleteObjectAsync(PrmObjectDelete args);
|
|
|
|
IAsyncEnumerable<ObjectId> SearchObjectsAsync(PrmObjectSearch args);
|
|
#endregion
|
|
|
|
#region Tools
|
|
ObjectId CalculateObjectId(ObjectHeader header);
|
|
#endregion
|
|
}
|