Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAuthContext ¶
func NewAuthContext() *authContext
func NewDeviceContext ¶
func NewDeviceContext() *deviceContext
in: cookbook - the cookbook in context
Types ¶
type AuthContext ¶
type AuthContext interface {
Reset() error
Load(input io.Reader) error
Save(output io.Writer) error
SetToken(token *oauth2.Token)
GetToken() *oauth2.Token
SetPublicKey(keyID, keyData string)
GetPublicKey() (string, string)
IsLoggedIn() bool
}
provides an interface for saving and retrieving an oauth token
type Config ¶
type Config interface {
Reset() error
Load() error
Save() error
GetConfigAsOf() int64
SetConfigAsOf(asOf int64)
EULAAccepted() bool
SetEULAAccepted()
Initialized() bool
SetInitialized()
HasPassphrase() bool
SetPassphrase(passphrase string)
SetKeyTimeout(timeout time.Duration)
AuthContext() AuthContext
DeviceContext() DeviceContext
TargetContext() TargetContext
SetLoggedInUser(userID, userName string) error
ContextVars() map[string]string
}
provides an interface for managing application configuration
func InitFileConfig ¶
func InitFileConfig( path string, cookbook *cookbook.Cookbook, getPassphrase GetPassphrase, uploadConfig UploadConfig, ) (Config, error)
initializes file based configuration
in: path - the path of the config file in: cookbook - the embedded cookbook the config should be
associated with
in: getPassphrase - callback to get the passphrase that will be
used for encrytion of sensitive information
in: uploadConfig - config upload function
out: a Config instance containing the global
configuration for CloudBuilder
type DeviceContext ¶
type DeviceContext interface {
Reset() error
Load(input io.Reader) error
Save(output io.Writer) error
NewDevice() (*userspace.Device, error)
SetDeviceID(deviceIDKey, deviceID, name string) *userspace.Device
GetDevice() *userspace.Device
GetDeviceIDKey() string
GetDeviceID() (string, bool)
GetDeviceName() (string, bool)
NewManagedDevice() (*userspace.Device, error)
GetManagedDevice(deviceName string) *userspace.Device
GetManagedDevices() []*userspace.Device
DeleteManageDevice(deviceID string)
NewOwnerUser(userID, name string) (*userspace.User, error)
GetOwner() *userspace.User
GetOwnerUserID() (string, bool)
GetOwnerUserName() (string, bool)
IsAuthorizedUser(name string) bool
NewGuestUser(userID, name string) (*userspace.User, error)
AddGuestUser(user *userspace.User)
GetGuestUsers() []*userspace.User
GetGuestUser(name string) (*userspace.User, bool)
ResetGuestUsers() map[string]*userspace.User
SetLoggedInUser(userID, userName string)
GetLoggedInUserID() string
GetLoggedInUserName() string
GetLoggedInUser() (*userspace.User, error)
}
provides an interface for saving and retrieving an oauth token
type GetPassphrase ¶
type GetPassphrase func() string
type GetSystemPassphrase ¶
type GetSystemPassphrase func() string
var SystemPassphrase GetSystemPassphrase
Function to retrieve a passphrase to encrypt temporarily saved keys. By default this will be the timestamp of the executable for this program.
type TargetContext ¶
type TargetContext interface {
Reset() error
Load(input io.Reader) error
Save(output io.Writer) error
Cookbook() *cookbook.Cookbook
GetCookbookRecipe(recipe, iaas string) (cookbook.Recipe, error)
SaveCookbookRecipe(recipe cookbook.Recipe)
CloudProviderTemplates() []provider.CloudProvider
GetCloudProvider(iaas string) (provider.CloudProvider, error)
SaveCloudProvider(provider provider.CloudProvider)
NewTarget(recipeKey, recipeIaas string) (*target.Target, error)
TargetSet() *target.TargetSet
HasTarget(name string) bool
GetTarget(name string) (*target.Target, error)
SaveTarget(key string, target *target.Target)
DeleteTarget(key string)
IsDirty() bool
}
provides an interface for managing the configuration context
func NewConfigContext ¶
func NewConfigContext(cookbook *cookbook.Cookbook) (TargetContext, error)
in: cookbook - the cookbook in context