forked from juju/juju
/
common.go
38 lines (35 loc) · 1.04 KB
/
common.go
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
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright 2017 Canonical Ltd.
// Licensed under the AGPLv3, see LICENCE file for details.
package dummy
import "github.com/juju/juju/storage"
// StorageProviders returns a provider registry with some
// well-defined dummy storage providers.
func StorageProviders() storage.ProviderRegistry {
return storage.StaticProviderRegistry{
map[storage.ProviderType]storage.Provider{
"static": &StorageProvider{IsDynamic: false},
"modelscoped": &StorageProvider{
StorageScope: storage.ScopeEnviron,
IsDynamic: true,
IsReleasable: true,
},
"modelscoped-unreleasable": &StorageProvider{
StorageScope: storage.ScopeEnviron,
IsDynamic: true,
IsReleasable: false,
},
"modelscoped-block": &StorageProvider{
StorageScope: storage.ScopeEnviron,
IsDynamic: true,
IsReleasable: true,
SupportsFunc: func(k storage.StorageKind) bool {
return k == storage.StorageKindBlock
},
},
"machinescoped": &StorageProvider{
StorageScope: storage.ScopeMachine,
IsDynamic: true,
},
},
}
}