Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cmd/mapt/cmd/aws/hosts/fedora.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ func getFedoraCreate() *cobra.Command {
Prefix: "main",
Version: viper.GetString(fedoraVersion),
Arch: viper.GetString(params.LinuxArch),
AMIID: viper.GetString(params.AMIIDName),
ComputeRequest: params.ComputeRequestArgs(),
Spot: params.SpotArgs(),
Timeout: viper.GetString(params.Timeout),
Expand All @@ -76,6 +77,7 @@ func getFedoraCreate() *cobra.Command {
flagSet.StringToStringP(params.Tags, "", nil, params.TagsDesc)
flagSet.StringP(fedoraVersion, "", fedoraVersionDefault, fedoraVersionDesc)
flagSet.StringP(params.LinuxArch, "", params.LinuxArchDefault, params.LinuxArchDesc)
flagSet.StringP(params.AMIIDName, "", "", params.AMIIDDesc)
flagSet.Bool(airgap, false, airgapDesc)
flagSet.StringP(params.Timeout, "", "", params.TimeoutDesc)
params.AddComputeRequestFlags(flagSet)
Expand Down
2 changes: 2 additions & 0 deletions cmd/mapt/cmd/aws/hosts/rhel.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ func getRHELCreate() *cobra.Command {
Prefix: "main",
Version: viper.GetString(params.RhelVersion),
Arch: viper.GetString(params.LinuxArch),
AMIID: viper.GetString(params.AMIIDName),
ComputeRequest: params.ComputeRequestArgs(),
SubsUsername: viper.GetString(params.SubsUsername),
SubsUserpass: viper.GetString(params.SubsUserpass),
Expand All @@ -76,6 +77,7 @@ func getRHELCreate() *cobra.Command {
flagSet.StringToStringP(params.Tags, "", nil, params.TagsDesc)
flagSet.StringP(params.RhelVersion, "", params.RhelVersionDefault, params.RhelVersionDesc)
flagSet.StringP(params.LinuxArch, "", params.LinuxArchDefault, params.LinuxArchDesc)
flagSet.StringP(params.AMIIDName, "", "", params.AMIIDDesc)
flagSet.StringP(params.SubsUsername, "", "", params.SubsUsernameDesc)
flagSet.StringP(params.SubsUserpass, "", "", params.SubsUserpassDesc)
flagSet.Bool(airgap, false, airgapDesc)
Expand Down
2 changes: 2 additions & 0 deletions cmd/mapt/cmd/aws/hosts/rhelai.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ func getRHELAICreate() *cobra.Command {
Version: viper.GetString(params.RhelAIVersion),
Accelerator: viper.GetString(params.RhelAIAccelerator),
CustomImage: viper.GetString(params.RhelAICustomImage),
AMIID: viper.GetString(params.AMIIDName),
ComputeRequest: params.ComputeRequestArgs(),
Spot: params.SpotArgs(),
Timeout: viper.GetString(params.Timeout),
Expand All @@ -83,6 +84,7 @@ func getRHELAICreate() *cobra.Command {
flagSet.StringP(params.RhelAIVersion, "", params.RhelAIVersionDefault, params.RhelAIVersionDesc)
flagSet.StringP(params.RhelAIAccelerator, "", params.RhelAIAccelearatorDefault, params.RhelAIAccelearatorDesc)
flagSet.StringP(params.RhelAICustomImage, "", "", params.RhelAICustomImageDesc)
flagSet.StringP(params.AMIIDName, "", "", params.AMIIDDesc)
flagSet.StringP(params.RhelAIModel, "", "", params.RhelAIModelDesc)
flagSet.StringP(params.RhelAIHFToken, "", "", params.RhelAIHFTokenDesc)
flagSet.StringP(params.RhelAIAPIKey, "", "", params.RhelAIAPIKeyDesc)
Expand Down
2 changes: 2 additions & 0 deletions cmd/mapt/cmd/aws/hosts/windows.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ func getWindowsCreate() *cobra.Command {
AMIOwner: viper.GetString(amiOwner),
AMILang: viper.GetString(amiLang),
AMIKeepCopy: viper.IsSet(amiKeepCopy),
AMIID: viper.GetString(params.AMIIDName),
ComputeRequest: params.ComputeRequestArgs(),
Spot: params.SpotArgs(),
Airgap: viper.IsSet(airgap),
Expand All @@ -91,6 +92,7 @@ func getWindowsCreate() *cobra.Command {
flagSet.StringP(amiUsername, "", amiUsernameDefault, amiUsernameDesc)
flagSet.StringP(amiOwner, "", amiOwnerDefault, amiOwnerDesc)
flagSet.StringP(amiLang, "", amiLangDefault, amiLangDesc)
flagSet.StringP(params.AMIIDName, "", "", params.AMIIDDesc)
flagSet.Bool(airgap, false, airgapDesc)
flagSet.StringP(params.Timeout, "", "", params.TimeoutDesc)
flagSet.Bool(amiKeepCopy, false, amiKeepCopyDesc)
Expand Down
2 changes: 2 additions & 0 deletions cmd/mapt/cmd/aws/services/kind.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ func createKind() *cobra.Command {
Spot: params.SpotArgs(),
Version: viper.GetString(params.KindK8SVersion),
Arch: viper.GetString(params.LinuxArch),
AMIID: viper.GetString(params.AMIIDName),
Timeout: viper.GetString(params.Timeout),
ServiceEndpoints: params.NetworkServiceEndpoints(),
ExtraPortMappings: extraPortMappings}); err != nil {
Expand All @@ -79,6 +80,7 @@ func createKind() *cobra.Command {
flagSet.StringP(params.ConnectionDetailsOutput, "", "", params.ConnectionDetailsOutputDesc)
flagSet.StringP(params.KindK8SVersion, "", params.KindK8SVersionDefault, params.KindK8SVersionDesc)
flagSet.StringP(params.LinuxArch, "", params.LinuxArchDefault, params.LinuxArchDesc)
flagSet.StringP(params.AMIIDName, "", "", params.AMIIDDesc)
flagSet.StringP(params.KindExtraPortMappings, "", "", params.KindExtraPortMappingsDesc)
flagSet.StringP(params.Timeout, "", "", params.TimeoutDesc)
flagSet.StringToStringP(params.Tags, "", nil, params.TagsDesc)
Expand Down
2 changes: 2 additions & 0 deletions cmd/mapt/cmd/aws/services/snc.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ func createSNC() *cobra.Command {
Version: viper.GetString(ocpVersion),
DisableClusterReadiness: viper.IsSet(disableClusterReadiness),
Arch: viper.GetString(params.LinuxArch),
AMIID: viper.GetString(params.AMIIDName),
PullSecretFile: viper.GetString(pullSecretFile),
Timeout: viper.GetString(params.Timeout),
ServiceEndpoints: params.NetworkServiceEndpoints(),
Expand All @@ -110,6 +111,7 @@ func createSNC() *cobra.Command {
flagSet.StringP(ocpVersion, "", ocpDefaultVersion, ocpVersionDesc)
flagSet.Bool(disableClusterReadiness, false, disableClusterReadinessDesc)
flagSet.StringP(params.LinuxArch, "", params.LinuxArchDefault, params.LinuxArchDesc)
flagSet.StringP(params.AMIIDName, "", "", params.AMIIDDesc)
flagSet.StringP(pullSecretFile, "", "", pullSecretFileDesc)
flagSet.StringP(params.Timeout, "", "", params.TimeoutDesc)
flagSet.StringToStringP(params.Tags, "", nil, params.TagsDesc)
Expand Down
19 changes: 14 additions & 5 deletions pkg/provider/aws/action/fedora/fedora.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ type FedoraArgs struct {
Prefix string
Version string
Arch string
AMIID string
ComputeRequest *cr.ComputeRequestArgs
Spot *spotTypes.SpotArgs
Airgap bool
Expand All @@ -49,6 +50,7 @@ type fedoraRequest struct {
prefix *string
version *string
arch *string
amiID *string
spot bool
timeout *string
serviceEndpoints []string
Expand Down Expand Up @@ -87,6 +89,7 @@ func Create(mCtxArgs *mc.ContextArgs, args *FedoraArgs) (err error) {
prefix: &prefix,
version: &args.Version,
arch: &args.Arch,
amiID: &args.AMIID,
timeout: &args.Timeout,
serviceEndpoints: args.ServiceEndpoints,
airgap: &args.Airgap,
Expand Down Expand Up @@ -184,11 +187,17 @@ func (r *fedoraRequest) deploy(ctx *pulumi.Context) error {
return err
}
// Get AMI
ami, err := amiSVC.GetAMIByName(ctx,
fmt.Sprintf(amiRegex[*r.arch], *r.version),
[]string{amiOwner},
map[string]string{
"architecture": *r.arch})
var ami *ec2.LookupAmiResult
var err error
if len(*r.amiID) > 0 {
ami, err = amiSVC.GetAMIByID(ctx, *r.amiID)
} else {
ami, err = amiSVC.GetAMIByName(ctx,
fmt.Sprintf(amiRegex[*r.arch], *r.version),
[]string{amiOwner},
map[string]string{
"architecture": *r.arch})
}
if err != nil {
return err
}
Expand Down
16 changes: 12 additions & 4 deletions pkg/provider/aws/action/kind/kind.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ type kindRequest struct {
prefix *string
version *string
arch *string
amiID *string
spot bool
timeout *string
serviceEndpoints []string
Expand Down Expand Up @@ -64,6 +65,7 @@ func Create(mCtxArgs *mc.ContextArgs, args *utilKind.KindArgs) (kr *utilKind.Kin
prefix: &prefix,
version: &args.Version,
arch: &args.Arch,
amiID: &args.AMIID,
timeout: &args.Timeout,
serviceEndpoints: args.ServiceEndpoints,
extraPortMappings: args.ExtraPortMappings,
Expand Down Expand Up @@ -138,10 +140,16 @@ func (r *kindRequest) deploy(ctx *pulumi.Context) error {
pulumi.Float64(*r.allocationData.SpotPrice))
}
// Get AMI
ami, err := amiSVC.GetAMIByName(ctx,
amiName(r.arch),
[]string{amiOwner},
map[string]string{"architecture": *r.arch})
var ami *ec2.LookupAmiResult
var err error
if len(*r.amiID) > 0 {
ami, err = amiSVC.GetAMIByID(ctx, *r.amiID)
} else {
ami, err = amiSVC.GetAMIByName(ctx,
amiName(r.arch),
[]string{amiOwner},
map[string]string{"architecture": *r.arch})
}
if err != nil {
return err
}
Expand Down
24 changes: 17 additions & 7 deletions pkg/provider/aws/action/rhel-ai/rhelai.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ type rhelAIRequest struct {
prefix *string
amiName *string
arch *string
amiID *string
spot bool
timeout *string
serviceEndpoints []string
Expand Down Expand Up @@ -79,6 +80,7 @@ func Create(mCtxArgs *mc.ContextArgs, args *apiRHELAI.RHELAIArgs) (err error) {
prefix: &prefix,
amiName: &amiName,
arch: &args.Arch,
amiID: &args.AMIID,
timeout: &args.Timeout,
serviceEndpoints: args.ServiceEndpoints,
diskSize: args.ComputeRequest.DiskSize,
Expand All @@ -101,8 +103,10 @@ func Create(mCtxArgs *mc.ContextArgs, args *apiRHELAI.RHELAIArgs) (err error) {
if err != nil {
return err
}
if err = checkAMIExists(mCtx.Context(), &amiName, r.allocationData.Region, &amiArch); err != nil {
return err
if len(args.AMIID) == 0 {
if err = checkAMIExists(mCtx.Context(), &amiName, r.allocationData.Region, &amiArch); err != nil {
return err
}
}
return r.createMachine()
}
Expand Down Expand Up @@ -211,11 +215,17 @@ func (r *rhelAIRequest) deploy(ctx *pulumi.Context) error {
return err
}
// Get AMI
ami, err := amiSVC.GetAMIByName(ctx,
*r.amiName,
[]string{amiOwner},
map[string]string{
"architecture": amiArch})
var ami *ec2.LookupAmiResult
var err error
if len(*r.amiID) > 0 {
ami, err = amiSVC.GetAMIByID(ctx, *r.amiID)
} else {
ami, err = amiSVC.GetAMIByName(ctx,
*r.amiName,
[]string{amiOwner},
map[string]string{
"architecture": amiArch})
}
if err != nil {
return err
}
Expand Down
19 changes: 14 additions & 5 deletions pkg/provider/aws/action/rhel/rhel.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ type RHELArgs struct {
Prefix string
Version string
Arch string
AMIID string
ComputeRequest *cr.ComputeRequestArgs
SubsUsername string
SubsUserpass string
Expand All @@ -51,6 +52,7 @@ type rhelRequest struct {
prefix *string
version *string
arch *string
amiID *string
spot bool
subsUsername *string
subsUserpass *string
Expand Down Expand Up @@ -92,6 +94,7 @@ func Create(mCtxArgs *mc.ContextArgs, args *RHELArgs) (err error) {
prefix: &prefix,
version: &args.Version,
arch: &args.Arch,
amiID: &args.AMIID,
timeout: &args.Timeout,
subsUsername: &args.SubsUsername,
subsUserpass: &args.SubsUserpass,
Expand Down Expand Up @@ -188,11 +191,17 @@ func (r *rhelRequest) deploy(ctx *pulumi.Context) error {
return err
}
// Get AMI
ami, err := amiSVC.GetAMIByName(ctx,
fmt.Sprintf(amiRegex, *r.version, *r.arch),
nil,
map[string]string{
"architecture": *r.arch})
var ami *ec2.LookupAmiResult
var err error
if len(*r.amiID) > 0 {
ami, err = amiSVC.GetAMIByID(ctx, *r.amiID)
} else {
ami, err = amiSVC.GetAMIByName(ctx,
fmt.Sprintf(amiRegex, *r.version, *r.arch),
nil,
map[string]string{
"architecture": *r.arch})
}
if err != nil {
return err
}
Expand Down
26 changes: 18 additions & 8 deletions pkg/provider/aws/action/snc/snc.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ type openshiftSNCRequest struct {
version *string
disableClusterReadiness bool
arch *string
amiID *string
spot bool
timeout *string
pullSecretFile *string
Expand Down Expand Up @@ -84,6 +85,7 @@ func Create(mCtxArgs *mc.ContextArgs, args *apiSNC.SNCArgs) (_ *apiSNC.SNCResult
version: &args.Version,
disableClusterReadiness: args.DisableClusterReadiness,
arch: &args.Arch,
amiID: &args.AMIID,
pullSecretFile: &args.PullSecretFile,
timeout: &args.Timeout,
serviceEndpoints: args.ServiceEndpoints,
Expand All @@ -105,9 +107,11 @@ func Create(mCtxArgs *mc.ContextArgs, args *apiSNC.SNCArgs) (_ *apiSNC.SNCResult
return nil, err
}
// check if AMI exists
amiName := amiName(&args.Version, &args.Arch)
if err = checkAMIExists(mCtx.Context(), &amiName, r.allocationData.Region, &args.Arch); err != nil {
return nil, err
if len(args.AMIID) == 0 {
amiName := amiName(&args.Version, &args.Arch)
if err = checkAMIExists(mCtx.Context(), &amiName, r.allocationData.Region, &args.Arch); err != nil {
return nil, err
}
}
return r.createCluster()
}
Expand Down Expand Up @@ -169,11 +173,17 @@ func (r *openshiftSNCRequest) deploy(ctx *pulumi.Context) error {
return err
}
// Get AMI
ami, err := amiSVC.GetAMIByName(ctx,
fmt.Sprintf("%s*", amiName(r.version, r.arch)),
[]string{"self", amiOwner},
map[string]string{
"architecture": *r.arch})
var ami *ec2.LookupAmiResult
var err error
if len(*r.amiID) > 0 {
ami, err = amiSVC.GetAMIByID(ctx, *r.amiID)
} else {
ami, err = amiSVC.GetAMIByName(ctx,
fmt.Sprintf("%s*", amiName(r.version, r.arch)),
[]string{"self", amiOwner},
map[string]string{
"architecture": *r.arch})
}
if err != nil {
return err
}
Expand Down
Loading