37
37
var (
38
38
app = kingpin .New ("ecs-gen" , "docker-gen for AWS ECS." )
39
39
40
- region = app .Flag ("region" , "AWS region." ).Short ('r' ).Default ( "ap-northeast-1" ). String ()
40
+ region = app .Flag ("region" , "AWS region." ).Short ('r' ).String ()
41
41
cluster = app .Flag ("cluster" , "ECS cluster name." ).Short ('c' ).String ()
42
42
templateFile = app .Flag ("template" , "Path to template file." ).Short ('t' ).Required ().ExistingFile ()
43
43
outputFile = app .Flag ("output" , "Path to output file." ).Short ('o' ).Required ().String ()
@@ -56,21 +56,14 @@ func main() {
56
56
app .Version (version )
57
57
app .DefaultEnvars ()
58
58
kingpin .MustParse (app .Parse (os .Args [1 :]))
59
- if * hostVar == "" {
60
- log .Fatalf ("host-var must not be empty" )
61
- }
62
- if * cluster == "" {
63
- var err error
64
- cluster , err = findClusterName ()
65
- if err != nil || * cluster == "" {
66
- log .Fatalf ("could not determine cluster name. please define using --cluster / -c" )
67
- }
68
- log .Println ("found cluster name to be:" , * cluster )
69
- }
70
59
sess , err := session .NewSession ()
71
60
if err != nil {
72
- panic (err )
61
+ log . Fatal (err )
73
62
}
63
+ meta := NewEC2Metadata (sess )
64
+ checkRegionFlag (meta )
65
+ checkHostVarFlag ()
66
+ checkClusterFlag ()
74
67
ec2 := newEC2 (* region , sess )
75
68
ecs := newECS (* region , sess )
76
69
if * once {
@@ -83,6 +76,34 @@ func main() {
83
76
}
84
77
}
85
78
79
+ func checkHostVarFlag () {
80
+ if * hostVar == "" {
81
+ log .Fatalf ("host-var must not be empty" )
82
+ }
83
+ }
84
+
85
+ func checkClusterFlag () {
86
+ if * cluster == "" {
87
+ var err error
88
+ cluster , err = findClusterName ()
89
+ if err != nil || * cluster == "" {
90
+ log .Fatalf ("could not determine cluster name. please define using --cluster / -c" )
91
+ }
92
+ log .Println ("found cluster name to be:" , * cluster )
93
+ }
94
+ }
95
+
96
+ func checkRegionFlag (meta * ec2Meta ) {
97
+ if * region == "" {
98
+ r , err := meta .region ()
99
+ if err != nil {
100
+ log .Fatalf ("could not determine cluster region. please define using --region / -r" )
101
+ }
102
+ * region = r
103
+ log .Println ("found cluster region to be:" , * region )
104
+ }
105
+ }
106
+
86
107
func execute (ec2 * ec2Client , ecs * ecsClient ) {
87
108
updateAndWrite (ec2 , ecs )
88
109
var err error
0 commit comments