Documentation
¶
Overview ¶
The description package defines the structure and representation and serialisation of models to facilitate the import and export of models from different controllers.
Index ¶
- func Serialize(model Model) ([]byte, error)
- type Action
- type ActionArgs
- type Address
- type AddressArgs
- type AgentTools
- type AgentToolsArgs
- type Annotations_
- type Application
- type ApplicationArgs
- type BlockDevice
- type BlockDeviceArgs
- type ByName
- type CloudCredential
- type CloudCredentialArgs
- type CloudImageMetadata
- type CloudImageMetadataArgs
- type CloudInstance
- type CloudInstanceArgs
- type Constraints
- type ConstraintsArgs
- type Endpoint
- type EndpointArgs
- type Filesystem
- type FilesystemArgs
- type FilesystemAttachment
- type FilesystemAttachmentArgs
- type HasAnnotations
- type HasConstraints
- type HasStatus
- type HasStatusHistory
- type IPAddress
- type IPAddressArgs
- type LinkLayerDevice
- type LinkLayerDeviceArgs
- type Machine
- type MachineArgs
- type Model
- type ModelArgs
- type OpenedPorts
- type OpenedPortsArgs
- type Payload
- type PayloadArgs
- type PortRange
- type PortRangeArgs
- type Relation
- type RelationArgs
- type RemoteApplication
- type RemoteApplicationArgs
- type RemoteEndpoint
- type RemoteEndpointArgs
- type Resource
- type ResourceArgs
- type ResourceRevision
- type ResourceRevisionArgs
- type SSHHostKey
- type SSHHostKeyArgs
- type Space
- type SpaceArgs
- type Status
- type StatusArgs
- type StatusHistory_
- type StatusPoint_
- type Storage
- type StorageArgs
- type StorageConstraint
- type StorageConstraintArgs
- type StoragePool
- type StoragePoolArgs
- type Subnet
- type SubnetArgs
- type Unit
- type UnitArgs
- type UnitResource
- type UnitResourceArgs
- type User
- type UserArgs
- type Volume
- type VolumeArgs
- type VolumeAttachment
- type VolumeAttachmentArgs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Action ¶
type Action interface {
Id() string
Receiver() string
Name() string
Parameters() map[string]interface{}
Enqueued() time.Time
Started() time.Time
Completed() time.Time
Results() map[string]interface{}
Status() string
Message() string
}
Action represents an IP action.
type ActionArgs ¶
type ActionArgs struct {
Id string
Receiver string
Name string
Parameters map[string]interface{}
Enqueued time.Time
Started time.Time
Completed time.Time
Status string
Message string
Results map[string]interface{}
}
ActionArgs is an argument struct used to create a new internal action type that supports the Action interface.
type AddressArgs ¶
AddressArgs is an argument struct used to create a new internal address type that supports the Address interface.
type AgentTools ¶
AgentTools represent the version and related binary file that the machine and unit agents are using.
type AgentToolsArgs ¶
AgentToolsArgs is an argument struct used to add information about the tools the agent is using to a Machine.
type Annotations_ ¶
Instead of copy / pasting the Annotations, SetAnnotations, and the import three lines into every entity that has annotations, the Annotations_ helper type is provided for use in composition. This type is composed without a name so the methods get promoted so they satisfy the HasAnnotations interface.
NOTE(mjs) - The type is exported due to a limitation with go-yaml under 1.6. Once that's fixed it should be possible to make it private again.
NOTE(mjs) - The trailing underscore on the type name is to avoid collisions between the type name and the Annotations method. The underscore can go once the type becomes private again (revert to "annotations").
func (*Annotations_) Annotations ¶
func (a *Annotations_) Annotations() map[string]string
Annotations implements HasAnnotations.
func (*Annotations_) SetAnnotations ¶
func (a *Annotations_) SetAnnotations(annotations map[string]string)
SetAnnotations implements HasAnnotations.
type Application ¶
type Application interface {
HasAnnotations
HasConstraints
HasStatus
HasStatusHistory
Tag() names.ApplicationTag
Name() string
Series() string
Subordinate() bool
CharmURL() string
Channel() string
CharmModifiedVersion() int
ForceCharm() bool
Exposed() bool
MinUnits() int
EndpointBindings() map[string]string
Settings() map[string]interface{}
Leader() string
LeadershipSettings() map[string]interface{}
MetricsCredentials() []byte
StorageConstraints() map[string]StorageConstraint
Resources() []Resource
AddResource(ResourceArgs) Resource
Units() []Unit
AddUnit(UnitArgs) Unit
Validate() error
}
Application represents a deployed charm in a model.
type ApplicationArgs ¶
type ApplicationArgs struct {
Tag names.ApplicationTag
Series string
Subordinate bool
CharmURL string
Channel string
CharmModifiedVersion int
ForceCharm bool
Exposed bool
MinUnits int
EndpointBindings map[string]string
Settings map[string]interface{}
Leader string
LeadershipSettings map[string]interface{}
StorageConstraints map[string]StorageConstraintArgs
MetricsCredentials []byte
}
ApplicationArgs is an argument struct used to add an application to the Model.
type BlockDevice ¶
type BlockDevice interface {
Name() string
Links() []string
Label() string
UUID() string
HardwareID() string
BusAddress() string
Size() uint64
FilesystemType() string
InUse() bool
MountPoint() string
}
BlockDevice represents a block device on a machine.
type BlockDeviceArgs ¶
type BlockDeviceArgs struct {
Name string
Links []string
Label string
UUID string
HardwareID string
BusAddress string
Size uint64
FilesystemType string
InUse bool
MountPoint string
}
BlockDeviceArgs is an argument struct used to add a block device to a Machine.
type CloudCredential ¶
type CloudCredential interface {
Owner() string
Cloud() string
Name() string
AuthType() string
Attributes() map[string]string
}
CloudCredential represents the current cloud credential for the model.
type CloudCredentialArgs ¶
type CloudCredentialArgs struct {
Owner names.UserTag
Cloud names.CloudTag
Name string
AuthType string
Attributes map[string]string
}
CloudCredentialArgs is an argument struct used to create a new internal cloudCredential type that supports the CloudCredential interface.
type CloudImageMetadata ¶
type CloudImageMetadata interface {
Stream() string
Region() string
Version() string
Series() string
Arch() string
VirtType() string
RootStorageType() string
RootStorageSize() (uint64, bool)
DateCreated() int64
Source() string
Priority() int
ImageId() string
}
CloudImageMetadata represents an IP cloudimagemetadata.
type CloudImageMetadataArgs ¶
type CloudImageMetadataArgs struct {
Stream string
Region string
Version string
Series string
Arch string
VirtType string
RootStorageType string
RootStorageSize *uint64
DateCreated int64
Source string
Priority int
ImageId string
}
CloudImageMetadataArgs is an argument struct used to create a new internal cloudimagemetadata type that supports the CloudImageMetadata interface.
type CloudInstance ¶
type CloudInstance interface {
InstanceId() string
Status() string
Architecture() string
Memory() uint64
RootDisk() uint64
CpuCores() uint64
CpuPower() uint64
Tags() []string
AvailabilityZone() string
}
CloudInstance holds information particular to a machine instance in a cloud.
type CloudInstanceArgs ¶
type CloudInstanceArgs struct {
InstanceId string
Status string
Architecture string
Memory uint64
RootDisk uint64
CpuCores uint64
CpuPower uint64
Tags []string
AvailabilityZone string
}
CloudInstanceArgs is an argument struct used to add information about the cloud instance to a Machine.
type Constraints ¶
type Constraints interface {
Architecture() string
Container() string
CpuCores() uint64
CpuPower() uint64
InstanceType() string
Memory() uint64
RootDisk() uint64
Spaces() []string
Tags() []string
VirtType() string
}
Constraints holds information about particular deployment constraints for entities.
type ConstraintsArgs ¶
type ConstraintsArgs struct {
Architecture string
Container string
CpuCores uint64
CpuPower uint64
InstanceType string
Memory uint64
RootDisk uint64
Spaces []string
Tags []string
VirtType string
}
ConstraintsArgs is an argument struct to construct Constraints.
type Endpoint ¶
type Endpoint interface {
ApplicationName() string
Name() string
// Role, Interface, Optional, Limit, and Scope should all be available
// through the Charm associated with the Application. There is no real need
// for this information to be denormalised like this. However, for now,
// since the import may well take place before the charms have been loaded
// into the model, we'll send this information over.
Role() string
Interface() string
Optional() bool
Limit() int
Scope() string
// UnitCount returns the number of units the endpoint has settings for.
UnitCount() int
Settings(unitName string) map[string]interface{}
SetUnitSettings(unitName string, settings map[string]interface{})
}
Endpoint represents one end of a relation. A named endpoint provided by the charm that is deployed for the application.
type EndpointArgs ¶
type EndpointArgs struct {
ApplicationName string
Name string
Role string
Interface string
Optional bool
Limit int
Scope string
}
EndpointArgs is an argument struct used to specify a relation.
type Filesystem ¶
type Filesystem interface {
HasStatus
HasStatusHistory
Tag() names.FilesystemTag
Volume() names.VolumeTag
Storage() names.StorageTag
Provisioned() bool
Size() uint64
Pool() string
FilesystemID() string
Attachments() []FilesystemAttachment
AddAttachment(FilesystemAttachmentArgs) FilesystemAttachment
}
Filesystem represents a filesystem in the model.
type FilesystemArgs ¶
type FilesystemArgs struct {
Tag names.FilesystemTag
Storage names.StorageTag
Volume names.VolumeTag
Provisioned bool
Size uint64
Pool string
FilesystemID string
}
FilesystemArgs is an argument struct used to add a filesystem to the Model.
type FilesystemAttachment ¶
type FilesystemAttachment interface {
Machine() names.MachineTag
Provisioned() bool
MountPoint() string
ReadOnly() bool
}
FilesystemAttachment represents a filesystem attached to a machine.
type FilesystemAttachmentArgs ¶
type FilesystemAttachmentArgs struct {
Machine names.MachineTag
Provisioned bool
ReadOnly bool
MountPoint string
}
FilesystemAttachmentArgs is an argument struct used to add information about the cloud instance to a Filesystem.
type HasAnnotations ¶
HasAnnotations defines the common methods for setting and getting annotations for the various entities.
type HasConstraints ¶
type HasConstraints interface {
Constraints() Constraints
SetConstraints(ConstraintsArgs)
}
HasConstraints defines the common methods for setting and getting constraints for the various entities.
type HasStatus ¶
type HasStatus interface {
Status() Status
SetStatus(StatusArgs)
}
HasStatus defines the common methods for setting and getting status entries for the various entities.
type HasStatusHistory ¶
type HasStatusHistory interface {
StatusHistory() []Status
SetStatusHistory([]StatusArgs)
}
HasStatusHistory defines the common methods for setting and getting historical status entries for the various entities.
type IPAddress ¶
type IPAddress interface {
ProviderID() string
DeviceName() string
MachineID() string
SubnetCIDR() string
ConfigMethod() string
Value() string
DNSServers() []string
DNSSearchDomains() []string
GatewayAddress() string
}
IPAddress represents an IP address.
type IPAddressArgs ¶
type IPAddressArgs struct {
ProviderID string
DeviceName string
MachineID string
SubnetCIDR string
ConfigMethod string
Value string
DNSServers []string
DNSSearchDomains []string
GatewayAddress string
}
IPAddressArgs is an argument struct used to create a new internal ipaddress type that supports the IPAddress interface.
type LinkLayerDevice ¶
type LinkLayerDevice interface {
Name() string
MTU() uint
ProviderID() string
MachineID() string
Type() string
MACAddress() string
IsAutoStart() bool
IsUp() bool
ParentName() string
}
LinkLayerDevice represents a link layer device.
type LinkLayerDeviceArgs ¶
type LinkLayerDeviceArgs struct {
Name string
MTU uint
ProviderID string
MachineID string
Type string
MACAddress string
IsAutoStart bool
IsUp bool
ParentName string
}
LinkLayerDeviceArgs is an argument struct used to create a new internal linklayerdevice type that supports the LinkLayerDevice interface.
type Machine ¶
type Machine interface {
HasAnnotations
HasConstraints
HasStatus
HasStatusHistory
Id() string
Tag() names.MachineTag
Nonce() string
PasswordHash() string
Placement() string
Series() string
ContainerType() string
Jobs() []string
SupportedContainers() ([]string, bool)
Instance() CloudInstance
SetInstance(CloudInstanceArgs)
// Life() string -- only transmit alive things?
ProviderAddresses() []Address
MachineAddresses() []Address
SetAddresses(machine []AddressArgs, provider []AddressArgs)
PreferredPublicAddress() Address
PreferredPrivateAddress() Address
SetPreferredAddresses(public AddressArgs, private AddressArgs)
Tools() AgentTools
SetTools(AgentToolsArgs)
Containers() []Machine
AddContainer(MachineArgs) Machine
BlockDevices() []BlockDevice
AddBlockDevice(BlockDeviceArgs) BlockDevice
OpenedPorts() []OpenedPorts
AddOpenedPorts(OpenedPortsArgs) OpenedPorts
// THINKING: Validate() error to make sure the machine has
// enough stuff set, like tools, and addresses etc.
Validate() error
}
Machine represents an existing live machine or container running in the model.
type MachineArgs ¶
type MachineArgs struct {
Id names.MachineTag
Nonce string
PasswordHash string
Placement string
Series string
ContainerType string
Jobs []string
// A null value means that we don't yet know which containers
// are supported. An empty slice means 'no containers are supported'.
SupportedContainers *[]string
}
MachineArgs is an argument struct used to add a machine to the Model.
type Model ¶
type Model interface {
HasAnnotations
HasConstraints
Cloud() string
CloudRegion() string
CloudCredential() CloudCredential
SetCloudCredential(CloudCredentialArgs)
Tag() names.ModelTag
Owner() names.UserTag
Config() map[string]interface{}
LatestToolsVersion() version.Number
// UpdateConfig overwrites existing config values with those specified.
UpdateConfig(map[string]interface{})
// Blocks returns a map of block type to the message associated with that
// block.
Blocks() map[string]string
Users() []User
AddUser(UserArgs)
Machines() []Machine
AddMachine(MachineArgs) Machine
Applications() []Application
AddApplication(ApplicationArgs) Application
Relations() []Relation
AddRelation(RelationArgs) Relation
Spaces() []Space
AddSpace(SpaceArgs) Space
LinkLayerDevices() []LinkLayerDevice
AddLinkLayerDevice(LinkLayerDeviceArgs) LinkLayerDevice
Subnets() []Subnet
AddSubnet(SubnetArgs) Subnet
IPAddresses() []IPAddress
AddIPAddress(IPAddressArgs) IPAddress
SSHHostKeys() []SSHHostKey
AddSSHHostKey(SSHHostKeyArgs) SSHHostKey
CloudImageMetadata() []CloudImageMetadata
AddCloudImageMetadata(CloudImageMetadataArgs) CloudImageMetadata
Actions() []Action
AddAction(ActionArgs) Action
Sequences() map[string]int
SetSequence(name string, value int)
Volumes() []Volume
AddVolume(VolumeArgs) Volume
Filesystems() []Filesystem
AddFilesystem(FilesystemArgs) Filesystem
Storages() []Storage
AddStorage(StorageArgs) Storage
StoragePools() []StoragePool
AddStoragePool(StoragePoolArgs) StoragePool
RemoteApplications() []RemoteApplication
AddRemoteApplication(RemoteApplicationArgs) RemoteApplication
Validate() error
}
Model is a database agnostic representation of an existing model.
func Deserialize ¶
Deserialize constructs a Model from a serialized YAML byte stream. The normal use for this is to construct the Model representation after getting the byte stream from an API connection or read from a file.
type ModelArgs ¶
type ModelArgs struct {
Owner names.UserTag
Config map[string]interface{}
LatestToolsVersion version.Number
Blocks map[string]string
Cloud string
CloudRegion string
}
ModelArgs represent the bare minimum information that is needed to represent a model.
type OpenedPorts ¶
OpenedPorts represents a collection of port ranges that are open on a particular subnet. OpenedPorts are always associated with a Machine.
type OpenedPortsArgs ¶
type OpenedPortsArgs struct {
SubnetID string
OpenedPorts []PortRangeArgs
}
OpenedPortsArgs is an argument struct used to add a set of opened port ranges to a machine.
type Payload ¶
type Payload interface {
Name() string
Type() string
RawID() string
State() string
Labels() []string
}
Payload represents a charm payload for a unit.
type PayloadArgs ¶
PayloadArgs is an argument struct used to create a new internal payload type that supports the Payload interface.
type PortRangeArgs ¶
PortRangeArgs is an argument struct used to create a PortRange. This is only done as part of creating OpenedPorts for a Machine.
type Relation ¶
type Relation interface {
Id() int
Key() string
Endpoints() []Endpoint
AddEndpoint(EndpointArgs) Endpoint
}
Relation represents a relationship between two applications, or a peer relation between different instances of an application.
type RelationArgs ¶
RelationArgs is an argument struct used to specify a relation.
type RemoteApplication ¶
type RemoteApplication interface {
Tag() names.ApplicationTag
Name() string
OfferName() string
URL() string
SourceModelTag() names.ModelTag
IsConsumerProxy() bool
Endpoints() []RemoteEndpoint
AddEndpoint(RemoteEndpointArgs) RemoteEndpoint
}
RemoteApplication represents an application in another model that can participate in a relation in this model.
type RemoteApplicationArgs ¶
type RemoteApplicationArgs struct {
Tag names.ApplicationTag
OfferName string
URL string
SourceModel names.ModelTag
IsConsumerProxy bool
}
RemoteApplicationArgs is an argument struct used to add a remote application to the Model.
type RemoteEndpoint ¶
type RemoteEndpoint interface {
Name() string
Role() string
Interface() string
Limit() int
Scope() string
}
RemoteEndpoint represents a connection point that can be related to another application.
type RemoteEndpointArgs ¶
RemoteEndpointArgs is an argument struct used to add a remote endpoint to a remote application.
type Resource ¶
type Resource interface {
// Name returns the name of the resource.
Name() string
// SetApplicationRevision sets the application revision of the
// resource.
SetApplicationRevision(ResourceRevisionArgs) ResourceRevision
// ApplicationRevision returns the revision of the resource as set
// on the application. May return nil if SetApplicationRevision
// hasn't been called yet.
ApplicationRevision() ResourceRevision
// SetCharmStoreRevision sets the application revision of the
// resource.
SetCharmStoreRevision(ResourceRevisionArgs) ResourceRevision
// CharmStoreRevision returns the revision the charmstore has, as
// seen at the last poll. May return nil if SetCharmStoreRevision
// hasn't been called yet.
CharmStoreRevision() ResourceRevision
// Validate checks the consistency of the resource and its
// revisions.
Validate() error
}
Resource represents an application resource.
type ResourceArgs ¶
type ResourceArgs struct {
Name string
}
ResourceArgs is an argument struct used to create a new internal resource type that supports the Resource interface.
type ResourceRevision ¶
type ResourceRevision interface {
Revision() int
Type() string
Path() string
Description() string
Origin() string
FingerprintHex() string
Size() int64
Timestamp() time.Time
Username() string
}
ResourceRevision represents a revision of an application resource.
type ResourceRevisionArgs ¶
type ResourceRevisionArgs struct {
Revision int
Type string
Path string
Description string
Origin string
FingerprintHex string
Size int64
Timestamp time.Time
Username string
}
ResourceRevisionArgs is an argument struct used to add a new internal resource revision to a Resource.
type SSHHostKey ¶
SSHHostKey represents an ssh host key.
type SSHHostKeyArgs ¶
SSHHostKeyArgs is an argument struct used to create a new internal sshHostKey type that supports the SSHHostKey interface.
type SpaceArgs ¶
SpaceArgs is an argument struct used to create a new internal space type that supports the Space interface.
type Status ¶
type Status interface {
Value() string
Message() string
Data() map[string]interface{}
Updated() time.Time
}
Status represents an agent, application, or workload status.
type StatusArgs ¶
type StatusArgs struct {
Value string
Message string
Data map[string]interface{}
Updated time.Time
}
StatusArgs is an argument struct used to set the agent, application, or workload status.
type StatusHistory_ ¶
type StatusHistory_ struct {
Version int `yaml:"version"`
History []*StatusPoint_ `yaml:"history"`
}
func (*StatusHistory_) SetStatusHistory ¶
func (s *StatusHistory_) SetStatusHistory(args []StatusArgs)
SetStatusHistory implements HasStatusHistory.
func (*StatusHistory_) StatusHistory ¶
func (s *StatusHistory_) StatusHistory() []Status
StatusHistory implements HasStatusHistory.
type StatusPoint_ ¶
type StatusPoint_ struct {
Value_ string `yaml:"value"`
Message_ string `yaml:"message,omitempty"`
Data_ map[string]interface{} `yaml:"data,omitempty"`
Updated_ time.Time `yaml:"updated"`
}
StatusPoint_ implements Status, and represents the status of an entity at a point in time. Used in the serialization of both status and StatusHistory_.
func (*StatusPoint_) Data ¶
func (a *StatusPoint_) Data() map[string]interface{}
Data implements Status.
func (*StatusPoint_) Updated ¶
func (a *StatusPoint_) Updated() time.Time
Updated implements Status.
type Storage ¶
type Storage interface {
Tag() names.StorageTag
Kind() string
// Owner returns the tag of the application or unit that owns this storage
// instance.
Owner() (names.Tag, error)
Name() string
Attachments() []names.UnitTag
Validate() error
}
Storage represents the state of a unit or application-wide storage instance in the model.
type StorageArgs ¶
type StorageArgs struct {
Tag names.StorageTag
Kind string
Owner names.Tag
Name string
Attachments []names.UnitTag
}
StorageArgs is an argument struct used to add a storage to the Model.
type StorageConstraint ¶
type StorageConstraint interface {
// Pool is the name of the storage pool from which to provision the
// storage instances.
Pool() string
// Size is the required size of the storage instances, in MiB.
Size() uint64
// Count is the required number of storage instances.
Count() uint64
}
StorageConstraint repressents the user-specified constraints for provisioning storage instances for an application unit.
type StorageConstraintArgs ¶
StorageConstraintArgs is an argument struct used to create a new internal storageconstraint type that supports the StorageConstraint interface.
type StoragePool ¶
StoragePool represents a named storage pool and its settings.
type StoragePoolArgs ¶
StoragePoolArgs is an argument struct used to add a storage pool to the Model.
type Subnet ¶
type Subnet interface {
ProviderId() string
CIDR() string
VLANTag() int
AvailabilityZone() string
SpaceName() string
AllocatableIPHigh() string
AllocatableIPLow() string
}
Subnet represents a network subnet.
type SubnetArgs ¶
type SubnetArgs struct {
ProviderId string
CIDR string
VLANTag int
AvailabilityZone string
SpaceName string
// These will be deprecated once the address allocation strategy for
// EC2 is changed. They are unused already on MAAS.
AllocatableIPHigh string
AllocatableIPLow string
}
SubnetArgs is an argument struct used to create a new internal subnet type that supports the Subnet interface.
type Unit ¶
type Unit interface {
HasAnnotations
HasConstraints
Tag() names.UnitTag
Name() string
Machine() names.MachineTag
PasswordHash() string
Principal() names.UnitTag
Subordinates() []names.UnitTag
MeterStatusCode() string
MeterStatusInfo() string
Tools() AgentTools
SetTools(AgentToolsArgs)
WorkloadStatus() Status
SetWorkloadStatus(StatusArgs)
WorkloadStatusHistory() []Status
SetWorkloadStatusHistory([]StatusArgs)
WorkloadVersion() string
WorkloadVersionHistory() []Status
SetWorkloadVersionHistory([]StatusArgs)
AgentStatus() Status
SetAgentStatus(StatusArgs)
AgentStatusHistory() []Status
SetAgentStatusHistory([]StatusArgs)
AddResource(UnitResourceArgs) UnitResource
Resources() []UnitResource
AddPayload(PayloadArgs) Payload
Payloads() []Payload
Validate() error
}
Unit represents an instance of an application in a model.
type UnitArgs ¶
type UnitArgs struct {
Tag names.UnitTag
Machine names.MachineTag
PasswordHash string
Principal names.UnitTag
Subordinates []names.UnitTag
WorkloadVersion string
MeterStatusCode string
MeterStatusInfo string
}
UnitArgs is an argument struct used to add a Unit to a Application in the Model.
type UnitResource ¶
type UnitResource interface {
// Name returns the name of the resource.
Name() string
// Revision returns the revision of the resource as used by a
// particular unit.
Revision() ResourceRevision
}
UnitResource represents the revision of a resource used by a unit.
type UnitResourceArgs ¶
type UnitResourceArgs struct {
Name string
RevisionArgs ResourceRevisionArgs
}
UnitResourceArgs is an argument struct used to specify the revision of a resource used by a unit.
type User ¶
type User interface {
Name() names.UserTag
DisplayName() string
CreatedBy() names.UserTag
DateCreated() time.Time
LastConnection() time.Time
Access() string
}
User represents a user of the model. Users are able to connect to, and depending on the read only flag, modify the model.
type Volume ¶
type Volume interface {
HasStatus
HasStatusHistory
Tag() names.VolumeTag
Storage() names.StorageTag
Provisioned() bool
Size() uint64
Pool() string
HardwareID() string
VolumeID() string
Persistent() bool
Attachments() []VolumeAttachment
AddAttachment(VolumeAttachmentArgs) VolumeAttachment
}
Volume represents a volume (disk, logical volume, etc.) in the model.
type VolumeArgs ¶
type VolumeArgs struct {
Tag names.VolumeTag
Storage names.StorageTag
Provisioned bool
Size uint64
Pool string
HardwareID string
VolumeID string
Persistent bool
}
VolumeArgs is an argument struct used to add a volume to the Model.
type VolumeAttachment ¶
type VolumeAttachment interface {
Machine() names.MachineTag
Provisioned() bool
ReadOnly() bool
DeviceName() string
DeviceLink() string
BusAddress() string
}
VolumeAttachment represents a volume attached to a machine.
type VolumeAttachmentArgs ¶
type VolumeAttachmentArgs struct {
Machine names.MachineTag
Provisioned bool
ReadOnly bool
DeviceName string
DeviceLink string
BusAddress string
}
VolumeAttachmentArgs is an argument struct used to add information about the cloud instance to a Volume.
Source Files
¶
- action.go
- address.go
- annotations.go
- application.go
- blockdevice.go
- cloudcredential.go
- cloudimagemetadata.go
- constraints.go
- doc.go
- filesystem.go
- interfaces.go
- ipaddress.go
- linklayerdevice.go
- machine.go
- model.go
- payload.go
- ports.go
- relation.go
- remoteapplication.go
- remoteendpoint.go
- resource.go
- serialization.go
- space.go
- sshhostkey.go
- status.go
- storage.go
- storageconstraint.go
- storagepool.go
- subnet.go
- unit.go
- unitresources.go
- user.go
- volume.go