@@ -20,6 +20,7 @@ const (
2020 cmdHousekeep = "house-keep"
2121 cmdHousekeepDesc = "house keeping for mac pool. Detroy old machines on over capacity and create new ones if capacity not meet"
2222
23+ // Pool params
2324 paramName = "name"
2425 paramNameDesc = "pool name it is a unique identifier for the pool. The name should be unique for the whole AWS account"
2526 paramOfferedCapacity = "offered-capacity"
@@ -28,6 +29,17 @@ const (
2829 paramMaxSize = "max-size"
2930 paramMaxSizeDesc = "max number of machines in the pool"
3031 paramMaxSizeDefault = 2
32+ // Machines in the pool params
33+ paramVPCID = "vpcid"
34+ paramVPCIDDesc = "VPC Id to setup mac machines"
35+ paramVPCIDDefault = ""
36+ paramSSHSGID = "ssh-sgid"
37+ paramSSHSGIDDesc = "Security group Id to securize ssh access to machines. SSH can only be used from instances with this SG."
38+ paramSSHSGIDDefault = ""
39+ // Request / Release
40+ paramTicket = "ticket"
41+ 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"
42+ paramTicketDefault = ""
3143)
3244
3345func GetMacPoolCmd () * cobra.Command {
@@ -67,14 +79,13 @@ func createMP() *cobra.Command {
6779 DebugLevel : viper .GetUint (params .DebugLevel ),
6880 Tags : viper .GetStringMapString (params .Tags ),
6981 },
70- & macpool.MacPoolRequestArgs {
82+ & macpool.PoolRequestArgs {
7183 Prefix : "main" ,
72- PoolName : viper .GetString (paramName ),
84+ Name : viper .GetString (paramName ),
7385 Architecture : viper .GetString (awsParams .MACArch ),
7486 OSVersion : viper .GetString (awsParams .MACOSVersion ),
7587 OfferedCapacity : viper .GetInt (paramOfferedCapacity ),
76- MaxSize : viper .GetInt (paramMaxSize ),
77- FixedLocation : viper .IsSet (awsParams .MACFixedLocation )}); err != nil {
88+ MaxSize : viper .GetInt (paramMaxSize )}); err != nil {
7889 logging .Error (err )
7990 }
8091 return nil
@@ -89,7 +100,6 @@ func createMP() *cobra.Command {
89100 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
90101 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersionDefault , awsParams .MACOSVersionDesc )
91102 flagSet .StringToStringP (params .Tags , "" , nil , params .TagsDesc )
92- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
93103 c .PersistentFlags ().AddFlagSet (flagSet )
94104 return c
95105}
@@ -138,28 +148,35 @@ func houseKeep() *cobra.Command {
138148 DebugLevel : viper .GetUint (params .DebugLevel ),
139149 Tags : viper .GetStringMapString (params .Tags ),
140150 },
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 {
151+ & macpool.HouseKeepRequestArgs {
152+ Pool : & macpool.PoolRequestArgs {
153+ Prefix : "main" ,
154+ Name : viper .GetString (paramName ),
155+ Architecture : viper .GetString (awsParams .MACArch ),
156+ OSVersion : viper .GetString (awsParams .MACOSVersion ),
157+ OfferedCapacity : viper .GetInt (paramOfferedCapacity ),
158+ MaxSize : viper .GetInt (paramMaxSize ),
159+ },
160+ Machine : & macpool.MachineRequestArgs {
161+ VPCID : viper .GetString (paramVPCID ),
162+ SSHSGID : viper .GetString (paramSSHSGID )},
163+ }); err != nil {
149164 logging .Error (err )
150165 }
151166 return nil
152167 },
153168 }
154169 flagSet := pflag .NewFlagSet (params .CreateCmdName , pflag .ExitOnError )
170+ params .AddCommonFlags (flagSet )
155171 flagSet .StringToStringP (params .Tags , "" , nil , params .TagsDesc )
156172 flagSet .StringP (paramName , "" , "" , paramNameDesc )
157173 flagSet .Int (paramOfferedCapacity , paramOfferedCapacityDefault , paramOfferedCapacityDesc )
158174 flagSet .Int (paramMaxSize , paramMaxSizeDefault , paramMaxSizeDesc )
159175 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
160176 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
161- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
162177 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
178+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
179+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
163180 c .PersistentFlags ().AddFlagSet (flagSet )
164181 return c
165182}
@@ -209,7 +226,12 @@ func request() *cobra.Command {
209226 PoolName : viper .GetString (paramName ),
210227 Architecture : viper .GetString (awsParams .MACArch ),
211228 OSVersion : viper .GetString (awsParams .MACOSVersion ),
212- Timeout : viper .GetString (params .Timeout ),
229+ Machine : & macpool.MachineRequestArgs {
230+ VPCID : viper .GetString (paramVPCID ),
231+ SSHSGID : viper .GetString (paramSSHSGID ),
232+ },
233+ Ticket : viper .GetString (paramTicket ),
234+ Timeout : viper .GetString (params .Timeout ),
213235 }); err != nil {
214236 logging .Error (err )
215237 }
@@ -223,6 +245,9 @@ func request() *cobra.Command {
223245 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
224246 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
225247 flagSet .StringP (params .Timeout , "" , "" , params .TimeoutDesc )
248+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
249+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
250+ flagSet .StringP (paramTicket , "" , paramTicketDefault , paramTicketDesc )
226251 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
227252 flagSet .Bool (params .Remote , false , params .RemoteDesc )
228253 flagSet .AddFlagSet (params .GetGHActionsFlagset ())
@@ -247,20 +272,22 @@ func release() *cobra.Command {
247272 Serverless : viper .IsSet (params .Serverless ),
248273 Remote : viper .IsSet (params .Remote ),
249274 },
250- viper .GetString (awsParams .MACDHID )); err != nil {
275+ & macpool.MachineRequestArgs {
276+ VPCID : viper .GetString (paramVPCID ),
277+ SSHSGID : viper .GetString (paramSSHSGID ),
278+ },
279+ viper .GetString (paramTicket )); err != nil {
251280 logging .Error (err )
252281 }
253282 return nil
254283 },
255284 }
256285 flagSet := pflag .NewFlagSet (awsParams .MACReleaseCmd , pflag .ExitOnError )
257- flagSet .StringP (awsParams .MACDHID , "" , "" , awsParams .MACDHIDDesc )
286+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
287+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
288+ flagSet .StringP (paramTicket , "" , paramTicketDefault , paramTicketDesc )
258289 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
259290 flagSet .Bool (params .Remote , false , params .RemoteDesc )
260291 c .PersistentFlags ().AddFlagSet (flagSet )
261- err := c .MarkPersistentFlagRequired (awsParams .MACDHID )
262- if err != nil {
263- logging .Error (err )
264- }
265292 return c
266293}
0 commit comments