~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/juju/container/kvm/instance.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2013 Canonical Ltd.
 
2
// Licensed under the AGPLv3, see LICENCE file for details.
 
3
 
 
4
package kvm
 
5
 
 
6
import (
 
7
        "fmt"
 
8
 
 
9
        "github.com/juju/juju/instance"
 
10
        "github.com/juju/juju/network"
 
11
        "github.com/juju/juju/status"
 
12
)
 
13
 
 
14
type kvmInstance struct {
 
15
        container Container
 
16
        id        string
 
17
}
 
18
 
 
19
var _ instance.Instance = (*kvmInstance)(nil)
 
20
 
 
21
// Id implements instance.Instance.Id.
 
22
func (kvm *kvmInstance) Id() instance.Id {
 
23
        return instance.Id(kvm.id)
 
24
}
 
25
 
 
26
// Status implements instance.Instance.Status.
 
27
func (kvm *kvmInstance) Status() instance.InstanceStatus {
 
28
        if kvm.container.IsRunning() {
 
29
                return instance.InstanceStatus{
 
30
                        Status:  status.StatusRunning,
 
31
                        Message: "running",
 
32
                }
 
33
        }
 
34
        return instance.InstanceStatus{
 
35
                Status:  status.StatusStopped,
 
36
                Message: "stopped",
 
37
        }
 
38
}
 
39
 
 
40
func (*kvmInstance) Refresh() error {
 
41
        return nil
 
42
}
 
43
 
 
44
func (kvm *kvmInstance) Addresses() ([]network.Address, error) {
 
45
        logger.Errorf("kvmInstance.Addresses not implemented")
 
46
        return nil, nil
 
47
}
 
48
 
 
49
// OpenPorts implements instance.Instance.OpenPorts.
 
50
func (kvm *kvmInstance) OpenPorts(machineId string, ports []network.PortRange) error {
 
51
        return fmt.Errorf("not implemented")
 
52
}
 
53
 
 
54
// ClosePorts implements instance.Instance.ClosePorts.
 
55
func (kvm *kvmInstance) ClosePorts(machineId string, ports []network.PortRange) error {
 
56
        return fmt.Errorf("not implemented")
 
57
}
 
58
 
 
59
// Ports implements instance.Instance.Ports.
 
60
func (kvm *kvmInstance) Ports(machineId string) ([]network.PortRange, error) {
 
61
        return nil, fmt.Errorf("not implemented")
 
62
}
 
63
 
 
64
// Add a string representation of the id.
 
65
func (kvm *kvmInstance) String() string {
 
66
        return fmt.Sprintf("kvm:%s", kvm.id)
 
67
}