loop MTD, checks before doing mtd to service

This commit is contained in:
schulze
2023-04-18 11:08:31 +02:00
parent e8962c3cba
commit 143e839e78
3 changed files with 33 additions and 4 deletions

View File

@ -7,6 +7,7 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/service/ec2"
"github.com/aws/aws-sdk-go-v2/service/ec2/types"
"github.com/google/uuid"
"github.com/thefeli73/polemos/state"
)
@ -37,6 +38,12 @@ func AWSUpdateService(config state.Config, region string, service state.CustomUU
return config
}
// isInstanceRunning returns if an instance is running (true=running)
func isInstanceRunning(instance *types.Instance) bool {
return instance.State.Name == types.InstanceStateNameRunning
}
// AWSMoveInstance moves a specified instance to a new availability region
func AWSMoveInstance(config state.Config) (state.Config) {
@ -61,6 +68,19 @@ func AWSMoveInstance(config state.Config) (state.Config) {
return config
}
if !isInstanceRunning(realInstance) {
fmt.Println("Error, Instance is not running!")
return config
}
if instance.AdminDisabled {
fmt.Println("Error, Service is Disabled!")
return config
}
if instance.Inactive {
fmt.Println("Error, Service is Inactive!")
return config
}
imageName, err := createImage(svc, instanceID)
if err != nil {
fmt.Println("Error creating image:\t", err)