github.com/cloud-green/juju@v0.0.0-20151002100041-a00291338d3d/apiserver/imagemetadata/state.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package imagemetadata 5 6 import ( 7 "github.com/juju/juju/environs/config" 8 "github.com/juju/juju/state" 9 "github.com/juju/juju/state/cloudimagemetadata" 10 ) 11 12 type metadataAcess interface { 13 FindMetadata(cloudimagemetadata.MetadataFilter) (map[cloudimagemetadata.SourceType][]cloudimagemetadata.Metadata, error) 14 SaveMetadata(cloudimagemetadata.Metadata) error 15 EnvironConfig() (*config.Config, error) 16 } 17 18 var getState = func(st *state.State) metadataAcess { 19 return stateShim{st} 20 } 21 22 type stateShim struct { 23 *state.State 24 } 25 26 func (s stateShim) FindMetadata(f cloudimagemetadata.MetadataFilter) (map[cloudimagemetadata.SourceType][]cloudimagemetadata.Metadata, error) { 27 return s.State.CloudImageMetadataStorage.FindMetadata(f) 28 } 29 30 func (s stateShim) SaveMetadata(m cloudimagemetadata.Metadata) error { 31 return s.State.CloudImageMetadataStorage.SaveMetadata(m) 32 }