@@ -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 createMP() *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 createMP() *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,28 +154,39 @@ 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
152175 },
153176 }
154177 flagSet := pflag .NewFlagSet (params .CreateCmdName , pflag .ExitOnError )
178+ params .AddCommonFlags (flagSet )
155179 flagSet .StringToStringP (params .Tags , "" , nil , params .TagsDesc )
156180 flagSet .StringP (paramName , "" , "" , paramNameDesc )
157181 flagSet .Int (paramOfferedCapacity , paramOfferedCapacityDefault , paramOfferedCapacityDesc )
158182 flagSet .Int (paramMaxSize , paramMaxSizeDefault , paramMaxSizeDesc )
159183 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
160184 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
161- flagSet .Bool (awsParams .MACFixedLocation , false , awsParams .MACFixedLocationDesc )
162185 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
186+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
187+ flagSet .StringP (paramAZID , "" , paramAZIDDefault , paramAZIDDesc )
188+ flagSet .StringP (paramSubnetID , "" , paramSubnetIDDefault , paramSubnetIDDesc )
189+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
163190 c .PersistentFlags ().AddFlagSet (flagSet )
164191 return c
165192}
@@ -209,7 +236,14 @@ func request() *cobra.Command {
209236 PoolName : viper .GetString (paramName ),
210237 Architecture : viper .GetString (awsParams .MACArch ),
211238 OSVersion : viper .GetString (awsParams .MACOSVersion ),
212- Timeout : viper .GetString (params .Timeout ),
239+ Machine : & macpool.MachineRequestArgs {
240+ VPCID : viper .GetString (paramVPCID ),
241+ AZID : viper .GetString (paramAZID ),
242+ SubnetID : viper .GetString (paramSubnetID ),
243+ SSHSGID : viper .GetString (paramSSHSGID ),
244+ },
245+ Ticket : viper .GetString (paramTicket ),
246+ Timeout : viper .GetString (params .Timeout ),
213247 }); err != nil {
214248 logging .Error (err )
215249 }
@@ -223,6 +257,11 @@ func request() *cobra.Command {
223257 flagSet .StringP (awsParams .MACArch , "" , awsParams .MACArchDefault , awsParams .MACArchDesc )
224258 flagSet .StringP (awsParams .MACOSVersion , "" , awsParams .MACOSVersion , awsParams .MACOSVersionDefault )
225259 flagSet .StringP (params .Timeout , "" , "" , params .TimeoutDesc )
260+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
261+ flagSet .StringP (paramAZID , "" , paramAZIDDefault , paramAZIDDesc )
262+ flagSet .StringP (paramSubnetID , "" , paramSubnetIDDefault , paramSubnetIDDesc )
263+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
264+ flagSet .StringP (paramTicket , "" , paramTicketDefault , paramTicketDesc )
226265 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
227266 flagSet .Bool (params .Remote , false , params .RemoteDesc )
228267 flagSet .AddFlagSet (params .GetGHActionsFlagset ())
@@ -247,20 +286,26 @@ func release() *cobra.Command {
247286 Serverless : viper .IsSet (params .Serverless ),
248287 Remote : viper .IsSet (params .Remote ),
249288 },
250- viper .GetString (awsParams .MACDHID )); err != nil {
289+ & macpool.MachineRequestArgs {
290+ VPCID : viper .GetString (paramVPCID ),
291+ AZID : viper .GetString (paramAZID ),
292+ SubnetID : viper .GetString (paramSubnetID ),
293+ SSHSGID : viper .GetString (paramSSHSGID ),
294+ },
295+ viper .GetString (paramTicket )); err != nil {
251296 logging .Error (err )
252297 }
253298 return nil
254299 },
255300 }
256301 flagSet := pflag .NewFlagSet (awsParams .MACReleaseCmd , pflag .ExitOnError )
257- flagSet .StringP (awsParams .MACDHID , "" , "" , awsParams .MACDHIDDesc )
302+ flagSet .StringP (paramVPCID , "" , paramVPCIDDefault , paramVPCIDDesc )
303+ flagSet .StringP (paramAZID , "" , paramAZIDDefault , paramAZIDDesc )
304+ flagSet .StringP (paramSubnetID , "" , paramSubnetIDDefault , paramSubnetIDDesc )
305+ flagSet .StringP (paramSSHSGID , "" , paramSSHSGIDDefault , paramSSHSGIDDesc )
306+ flagSet .StringP (paramTicket , "" , paramTicketDefault , paramTicketDesc )
258307 flagSet .Bool (params .Serverless , false , params .ServerlessDesc )
259308 flagSet .Bool (params .Remote , false , params .RemoteDesc )
260309 c .PersistentFlags ().AddFlagSet (flagSet )
261- err := c .MarkPersistentFlagRequired (awsParams .MACDHID )
262- if err != nil {
263- logging .Error (err )
264- }
265310 return c
266311}
0 commit comments