Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DataStore ¶
type DataStore interface { // RunTransaction runs desired transactions against this data source.. RunTransaction(jujutxn.TransactionSource) error // GetCollection retrieves desired collection from this data source. GetCollection(name string) (collection mongo.Collection, closer func()) }
DataStore exposes data store operations for use by the cloud image metadata package.
type Metadata ¶
type Metadata struct { MetadataAttributes // ImageId contains image identifier. ImageId string }
Metadata describes a cloud image metadata.
type MetadataAttributes ¶
type MetadataAttributes struct { // Stream contains reference to a particular stream, // for e.g. "daily" or "released" Stream string // Region is the name of cloud region associated with the image. Region string // Series is Os version, for e.g. "quantal". Series string // Arch is the architecture for this cloud image, for e.g. "amd64" Arch string // VirtType contains virtualisation type of the cloud image, for e.g. "pv", "hvm". "kvm". VirtType string // RootStorageType contains type of root storage, for e.g. "ebs", "instance". RootStorageType string // RootStorageSize contains size of root storage in gigabytes (GB). RootStorageSize *uint64 // Source describes where this image is coming from: is it public? custom? Source SourceType }
MetadataAttributes contains cloud image metadata attributes.
type MetadataFilter ¶
type MetadataFilter struct { // Region stores metadata region. Region string `json:"region,omitempty"` // Series stores all desired series. Series []string `json:"series,omitempty"` // Arches stores all desired architectures. Arches []string `json:"arches,omitempty"` // Stream can be "" or "released" for the default "released" stream, // or "daily" for daily images, or any other stream that the available // simplestreams metadata supports. Stream string `json:"stream,omitempty"` // VirtType stores virtualisation type. VirtType string `json:"virt_type,omitempty"` // RootStorageType stores storage type. RootStorageType string `json:"root-storage-type,omitempty"` }
MetadataFilter contains all metadata attributes that alow to find a particular cloud image metadata. Since size and source are not discriminating attributes for cloud image metadata, they are not included in search criteria.
type SourceType ¶
type SourceType string
SourceType values define source type.
const ( // Public type identifies image as public. Public SourceType = "public" // Custom type identifies image as custom. Custom SourceType = "custom" )
type Storage ¶
type Storage interface { // SaveMetadata adds cloud images metadata into state if it's new or // updates metadata if it already exists, SaveMetadata(Metadata) error // FindMetadata returns all Metadata that match specified // criteria or a "not found" error if none match. // Empty criteria will return all cloud image metadata. // Returned result is grouped by source type and ordered by date created. FindMetadata(criteria MetadataFilter) (map[SourceType][]Metadata, error) }
Storage provides methods for storing and retrieving cloud image metadata.
func NewStorage ¶
NewStorage constructs a new Storage that stores image metadata in the provided data store.
Click to show internal directories.
Click to hide internal directories.