sharedStorage.ts 868 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.

'use strict';

import { StorageService } from './storageService'

export type SharedStorageType = 'NFS' | 'AzureBlob'
export type LocalMountedType = 'usermount' | 'nnimount' | 'nomount'

export interface SharedStorageConfig {
    readonly storageType: SharedStorageType;
    readonly localMountPoint?: string;
    readonly remoteMountPoint: string;
}

export abstract class SharedStorageService {
    public abstract config(key: string, value: string): Promise<void>;
    public abstract get canLocalMounted(): boolean;
    public abstract get storageService(): StorageService;
    public abstract get localMountCommand(): string;
    public abstract get remoteMountCommand(): string;
    public abstract get localWorkingRoot(): string;
    public abstract get remoteWorkingRoot(): string;
}