@@ -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,23 @@ 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+ 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 = ""
3149)
3250
3351func GetMacPoolCmd () * cobra.Command {
@@ -67,14 +85,13 @@ func create() *cobra.Command {
6785 DebugLevel : viper .GetUint (params .DebugLevel ),
6886 Tags : viper .GetStringMapString (params .Tags ),
6987 },
70- & macpool.MacPoolRequestArgs {
88+ & macpool.PoolRequestArgs {
7189 Prefix : "main" ,
72- PoolName : viper .GetString (paramName ),
90+ Name : viper .GetString (paramName ),
7391 Architecture : viper .GetString (awsParams .MACArch ),
7492 OSVersion : viper .GetString (awsParams .MACOSVersion ),
7593 OfferedCapacity : viper .GetInt (paramOfferedCapacity ),
76- MaxSize : viper .GetInt (paramMaxSize ),
77- FixedLocation : viper .IsSet (awsParams .MACFixedLocation )}); err != nil {
94+ MaxSize : viper .GetInt (paramMaxSize )}); err != nil {
7895 logging .Error (err )
7996 }
8097 return nil
@@ -89,7 +106,6 @@ func create() *cobra.Command {
89106 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
90107 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersionDefault , awsParams .MACOSVersionDesc )
91108 flagSet .StringToStringP (params .Tags , "" , nil , params .TagsDesc )
92- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
93109 c .PersistentFlags ().AddFlagSet (flagSet )
94110 return c
95111}
@@ -138,14 +154,21 @@ func houseKeep() *cobra.Command {
138154 DebugLevel : viper .GetUint (params .DebugLevel ),
139155 Tags : viper .GetStringMapString (params .Tags ),
140156 },
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 {
149172 logging .Error (err )
150173 }
151174 return nil
@@ -158,8 +181,11 @@ func houseKeep() *cobra.Command {
158181 flagSet .Int (paramMaxSize , paramMaxSizeDefault , paramMaxSizeDesc )
159182 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
160183 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
161- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
162184 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 )
163189 c .PersistentFlags ().AddFlagSet (flagSet )
164190 return c
165191}
@@ -209,7 +235,14 @@ func request() *cobra.Command {
209235 PoolName : viper .GetString (paramName ),
210236 Architecture : viper .GetString (awsParams .MACArch ),
211237 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 ),
213246 }); err != nil {
214247 logging .Error (err )
215248 }
@@ -223,6 +256,11 @@ func request() *cobra.Command {
223256 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
224257 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
225258 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 )
226264 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
227265 flagSet .Bool (params .Remote , false , params .RemoteDesc )
228266 flagSet .AddFlagSet (params .GetGHActionsFlagset ())
@@ -247,20 +285,26 @@ func release() *cobra.Command {
247285 Serverless : viper .IsSet (params .Serverless ),
248286 Remote : viper .IsSet (params .Remote ),
249287 },
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 {
251295 logging .Error (err )
252296 }
253297 return nil
254298 },
255299 }
256300 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 )
258306 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
259307 flagSet .Bool (params .Remote , false , params .RemoteDesc )
260308 c .PersistentFlags ().AddFlagSet (flagSet )
261- err := c .MarkPersistentFlagRequired (awsParams .MACDHID )
262- if err != nil {
263- logging .Error (err )
264- }
265309 return c
266310}
0 commit comments