Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 30, 2024. It is now read-only.
/coder-v1-cliPublic archive

Commite130f8b

Browse files
authored
Merge pull request#108 from cdr/envs-status
Add environment status to "envs ls"
2 parents11d24a7 +648f647 commite130f8b

File tree

2 files changed

+52
-14
lines changed

2 files changed

+52
-14
lines changed

‎coder-sdk/env.go

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@ import (
1111

1212
// Environment describes a Coder environment
1313
typeEnvironmentstruct {
14-
IDstring`json:"id" tab:"-"`
15-
Namestring`json:"name"`
16-
ImageIDstring`json:"image_id" tab:"-"`
17-
ImageTagstring`json:"image_tag"`
18-
OrganizationIDstring`json:"organization_id" tab:"-"`
19-
UserIDstring`json:"user_id" tab:"-"`
20-
LastBuiltAt time.Time`json:"last_built_at" tab:"-"`
21-
CPUCoresfloat32`json:"cpu_cores"`
22-
MemoryGBint`json:"memory_gb"`
23-
DiskGBint`json:"disk_gb"`
24-
GPUsint`json:"gpus"`
25-
Updatingbool`json:"updating"`
14+
IDstring`json:"id" tab:"-"`
15+
Namestring`json:"name"`
16+
ImageIDstring`json:"image_id" tab:"-"`
17+
ImageTagstring`json:"image_tag"`
18+
OrganizationIDstring`json:"organization_id" tab:"-"`
19+
UserIDstring`json:"user_id" tab:"-"`
20+
LastBuiltAt time.Time`json:"last_built_at" tab:"-"`
21+
CPUCoresfloat32`json:"cpu_cores"`
22+
MemoryGBint`json:"memory_gb"`
23+
DiskGBint`json:"disk_gb"`
24+
GPUsint`json:"gpus"`
25+
Updatingbool`json:"updating"`
26+
LatestStatEnvironmentStat`json:"latest_stat" tab:"Status"`
2627
RebuildMessages []struct {
2728
Textstring`json:"text"`
2829
Requiredbool`json:"required"`
@@ -34,6 +35,35 @@ type Environment struct {
3435
AutoOffThreshold xjson.Duration`json:"auto_off_threshold" tab:"-"`
3536
}
3637

38+
// EnvironmentStat represents the state of an environment
39+
typeEnvironmentStatstruct {
40+
Time time.Time`json:"time"`
41+
LastOnline time.Time`json:"last_online"`
42+
ContainerStatusEnvironmentStatus`json:"container_status"`
43+
StatErrorstring`json:"stat_error"`
44+
CPUUsagefloat32`json:"cpu_usage"`
45+
MemoryTotalint64`json:"memory_total"`
46+
MemoryUsagefloat32`json:"memory_usage"`
47+
DiskTotalint64`json:"disk_total"`
48+
DiskUsedint64`json:"disk_used"`
49+
}
50+
51+
func (eEnvironmentStat)String()string {
52+
returnstring(e.ContainerStatus)
53+
}
54+
55+
// EnvironmentStatus refers to the states of an environment.
56+
typeEnvironmentStatusstring
57+
58+
// The following represent the possible environment container states
59+
const (
60+
EnvironmentCreatingEnvironmentStatus="CREATING"
61+
EnvironmentOffEnvironmentStatus="OFF"
62+
EnvironmentOnEnvironmentStatus="ON"
63+
EnvironmentFailedEnvironmentStatus="FAILED"
64+
EnvironmentUnknownEnvironmentStatus="UNKNOWN"
65+
)
66+
3767
// CreateEnvironmentRequest is used to configure a new environment
3868
typeCreateEnvironmentRequeststruct {
3969
Namestring`json:"name"`

‎internal/x/xtabwriter/tabwriter.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func StructValues(data interface{}) string {
2525
ifshouldHideField(v.Type().Field(i)) {
2626
continue
2727
}
28-
s.WriteString(fmt.Sprintf("%v\t",v.Field(i).Interface()))
28+
fmt.Fprintf(s,"%v\t",v.Field(i).Interface())
2929
}
3030
returns.String()
3131
}
@@ -41,7 +41,7 @@ func StructFieldNames(data interface{}) string {
4141
ifshouldHideField(field) {
4242
continue
4343
}
44-
s.WriteString(fmt.Sprintf("%s\t",field.Name))
44+
fmt.Fprintf(s,"%s\t",fieldName(field))
4545
}
4646
returns.String()
4747
}
@@ -72,6 +72,14 @@ func WriteTable(length int, each func(i int) interface{}) error {
7272
returnnil
7373
}
7474

75+
funcfieldName(f reflect.StructField)string {
76+
custom,ok:=f.Tag.Lookup(structFieldTagKey)
77+
ifok {
78+
returncustom
79+
}
80+
returnf.Name
81+
}
82+
7583
funcshouldHideField(f reflect.StructField)bool {
7684
returnf.Tag.Get(structFieldTagKey)=="-"
7785
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp