@@ -20,6 +20,7 @@ const (
20
20
cmdHousekeep = "house-keep"
21
21
cmdHousekeepDesc = "house keeping for mac pool. Detroy old machines on over capacity and create new ones if capacity not meet"
22
22
23
+ // Pool params
23
24
paramName = "name"
24
25
paramNameDesc = "pool name it is a unique identifier for the pool. The name should be unique for the whole AWS account"
25
26
paramOfferedCapacity = "offered-capacity"
@@ -28,6 +29,23 @@ const (
28
29
paramMaxSize = "max-size"
29
30
paramMaxSizeDesc = "max number of machines in the pool"
30
31
paramMaxSizeDefault = 2
32
+ // Machines in the pool params
33
+ paramVPCID = "vpcid"
34
+ paramVPCIDDesc = "VPC Id to setup mac machines"
35
+ paramVPCIDDefault = ""
36
+ paramAZID = "azid"
37
+ paramAZIDDesc = "AZ Id to setup mac machines"
38
+ paramAZIDDefault = ""
39
+ paramSubnetID = "subnetid"
40
+ paramSubnetIDDesc = "Subnet Id to setup mac machines"
41
+ paramSubnetIDDefault = ""
42
+ paramSSHSGID = "ssh-sgid"
43
+ paramSSHSGIDDesc = "Security group Id to securize ssh access to machines. SSH can only be used from instances with this SG."
44
+ paramSSHSGIDDefault = ""
45
+ // Request / Release
46
+ paramTicket = "ticket"
47
+ paramTicketDesc = "this is a unique identifier to tag the dedicated host meanwhile it is being locked to identify the request which locked it. It will be used on release to identify the machine being released"
48
+ paramTicketDefault = ""
31
49
)
32
50
33
51
func GetMacPoolCmd () * cobra.Command {
@@ -67,14 +85,13 @@ func create() *cobra.Command {
67
85
DebugLevel : viper .GetUint (params .DebugLevel ),
68
86
Tags : viper .GetStringMapString (params .Tags ),
69
87
},
70
- & macpool.MacPoolRequestArgs {
88
+ & macpool.PoolRequestArgs {
71
89
Prefix : "main" ,
72
- PoolName : viper .GetString (paramName ),
90
+ Name : viper .GetString (paramName ),
73
91
Architecture : viper .GetString (awsParams .MACArch ),
74
92
OSVersion : viper .GetString (awsParams .MACOSVersion ),
75
93
OfferedCapacity : viper .GetInt (paramOfferedCapacity ),
76
- MaxSize : viper .GetInt (paramMaxSize ),
77
- FixedLocation : viper .IsSet (awsParams .MACFixedLocation )}); err != nil {
94
+ MaxSize : viper .GetInt (paramMaxSize )}); err != nil {
78
95
logging .Error (err )
79
96
}
80
97
return nil
@@ -89,7 +106,6 @@ func create() *cobra.Command {
89
106
flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
90
107
flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersionDefault , awsParams .MACOSVersionDesc )
91
108
flagSet .StringToStringP (params .Tags , "" , nil , params .TagsDesc )
92
- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
93
109
c .PersistentFlags ().AddFlagSet (flagSet )
94
110
return c
95
111
}
@@ -138,14 +154,21 @@ func houseKeep() *cobra.Command {
138
154
DebugLevel : viper .GetUint (params .DebugLevel ),
139
155
Tags : viper .GetStringMapString (params .Tags ),
140
156
},
141
- & macpool.MacPoolRequestArgs {
142
- Prefix : "main" ,
143
- PoolName : viper .GetString (paramName ),
144
- Architecture : viper .GetString (awsParams .MACArch ),
145
- OSVersion : viper .GetString (awsParams .MACOSVersion ),
146
- OfferedCapacity : viper .GetInt (paramOfferedCapacity ),
147
- MaxSize : viper .GetInt (paramMaxSize ),
148
- FixedLocation : viper .IsSet (awsParams .MACFixedLocation )}); err != nil {
157
+ & macpool.HouseKeepRequestArgs {
158
+ Pool : & macpool.PoolRequestArgs {
159
+ Prefix : "main" ,
160
+ Name : viper .GetString (paramName ),
161
+ Architecture : viper .GetString (awsParams .MACArch ),
162
+ OSVersion : viper .GetString (awsParams .MACOSVersion ),
163
+ OfferedCapacity : viper .GetInt (paramOfferedCapacity ),
164
+ MaxSize : viper .GetInt (paramMaxSize ),
165
+ },
166
+ Machine : & macpool.MachineRequestArgs {
167
+ VPCID : viper .GetString (paramVPCID ),
168
+ AZID : viper .GetString (paramAZID ),
169
+ SubnetID : viper .GetString (paramSubnetID ),
170
+ SSHSGID : viper .GetString (paramSSHSGID )},
171
+ }); err != nil {
149
172
logging .Error (err )
150
173
}
151
174
return nil
@@ -158,8 +181,11 @@ func houseKeep() *cobra.Command {
158
181
flagSet .Int (paramMaxSize , paramMaxSizeDefault , paramMaxSizeDesc )
159
182
flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
160
183
flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
161
- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
162
184
flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
185
+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
186
+ flagSet .StringP (paramAZID , "" , paramAZIDDefault , paramAZIDDesc )
187
+ flagSet .StringP (paramSubnetID , "" , paramSubnetIDDefault , paramSubnetIDDesc )
188
+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
163
189
c .PersistentFlags ().AddFlagSet (flagSet )
164
190
return c
165
191
}
@@ -209,7 +235,14 @@ func request() *cobra.Command {
209
235
PoolName : viper .GetString (paramName ),
210
236
Architecture : viper .GetString (awsParams .MACArch ),
211
237
OSVersion : viper .GetString (awsParams .MACOSVersion ),
212
- Timeout : viper .GetString (params .Timeout ),
238
+ Machine : & macpool.MachineRequestArgs {
239
+ VPCID : viper .GetString (paramVPCID ),
240
+ AZID : viper .GetString (paramAZID ),
241
+ SubnetID : viper .GetString (paramSubnetID ),
242
+ SSHSGID : viper .GetString (paramSSHSGID ),
243
+ },
244
+ Ticket : viper .GetString (paramTicket ),
245
+ Timeout : viper .GetString (params .Timeout ),
213
246
}); err != nil {
214
247
logging .Error (err )
215
248
}
@@ -223,6 +256,11 @@ func request() *cobra.Command {
223
256
flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
224
257
flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
225
258
flagSet .StringP (params .Timeout , "" , "" , params .TimeoutDesc )
259
+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
260
+ flagSet .StringP (paramAZID , "" , paramAZIDDefault , paramAZIDDesc )
261
+ flagSet .StringP (paramSubnetID , "" , paramSubnetIDDefault , paramSubnetIDDesc )
262
+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
263
+ flagSet .StringP (paramTicket , "" , paramTicketDefault , paramTicketDesc )
226
264
flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
227
265
flagSet .Bool (params .Remote , false , params .RemoteDesc )
228
266
flagSet .AddFlagSet (params .GetGHActionsFlagset ())
@@ -247,20 +285,26 @@ func release() *cobra.Command {
247
285
Serverless : viper .IsSet (params .Serverless ),
248
286
Remote : viper .IsSet (params .Remote ),
249
287
},
250
- viper .GetString (awsParams .MACDHID )); err != nil {
288
+ & macpool.MachineRequestArgs {
289
+ VPCID : viper .GetString (paramVPCID ),
290
+ AZID : viper .GetString (paramAZID ),
291
+ SubnetID : viper .GetString (paramSubnetID ),
292
+ SSHSGID : viper .GetString (paramSSHSGID ),
293
+ },
294
+ viper .GetString (paramTicket )); err != nil {
251
295
logging .Error (err )
252
296
}
253
297
return nil
254
298
},
255
299
}
256
300
flagSet := pflag .NewFlagSet (awsParams .MACReleaseCmd , pflag .ExitOnError )
257
- flagSet .StringP (awsParams .MACDHID , "" , "" , awsParams .MACDHIDDesc )
301
+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
302
+ flagSet .StringP (paramAZID , "" , paramAZIDDefault , paramAZIDDesc )
303
+ flagSet .StringP (paramSubnetID , "" , paramSubnetIDDefault , paramSubnetIDDesc )
304
+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
305
+ flagSet .StringP (paramTicket , "" , paramTicketDefault , paramTicketDesc )
258
306
flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
259
307
flagSet .Bool (params .Remote , false , params .RemoteDesc )
260
308
c .PersistentFlags ().AddFlagSet (flagSet )
261
- err := c .MarkPersistentFlagRequired (awsParams .MACDHID )
262
- if err != nil {
263
- logging .Error (err )
264
- }
265
309
return c
266
310
}
0 commit comments