github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/storage/provider/dummy/common.go (about) 1 // Copyright 2017 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package dummy 5 6 import "github.com/juju/juju/storage" 7 8 // StorageProviders returns a provider registry with some 9 // well-defined dummy storage providers. 10 func StorageProviders() storage.ProviderRegistry { 11 return storage.StaticProviderRegistry{ 12 map[storage.ProviderType]storage.Provider{ 13 "static": &StorageProvider{IsDynamic: false}, 14 "modelscoped": &StorageProvider{ 15 StorageScope: storage.ScopeEnviron, 16 IsDynamic: true, 17 IsReleasable: true, 18 }, 19 "modelscoped-unreleasable": &StorageProvider{ 20 StorageScope: storage.ScopeEnviron, 21 IsDynamic: true, 22 IsReleasable: false, 23 }, 24 "modelscoped-block": &StorageProvider{ 25 StorageScope: storage.ScopeEnviron, 26 IsDynamic: true, 27 IsReleasable: true, 28 SupportsFunc: func(k storage.StorageKind) bool { 29 return k == storage.StorageKindBlock 30 }, 31 }, 32 "machinescoped": &StorageProvider{ 33 StorageScope: storage.ScopeMachine, 34 IsDynamic: true, 35 }, 36 }, 37 } 38 }