func updateCluster()

in cmd/resource/eks_handlers.go [40:92]


func updateCluster(svc eksiface.EKSAPI, desiredModel *Model) (OperationComplete, error) {
	currentModel, complete, _, err := stabilize(svc, desiredModel, "ACTIVE")
	if err != nil {
		return Complete, err
	}
	if !complete {
		return InProgress, err
	}
	if vpcChanged(*currentModel, *desiredModel) {
		log.Println("Updating VPC config...")
		err := updateVpcConfig(svc, desiredModel)
		if err != nil {
			if updateInProgress(err) {
				return InProgress, nil
			}
			return Complete, err
		}
		return InProgress, nil
	}
	if loggingChanged(*currentModel, *desiredModel) {
		log.Println("Updating logging config...")
		err := updateLoggingConfig(svc, desiredModel)
		if err != nil {
			if updateInProgress(err) {
				return InProgress, nil
			}
			return Complete, err
		}
		return InProgress, nil
	}
	if versionChanged(*currentModel, *desiredModel) {
		log.Println("Updating kubernetes version...")
		err := updateVersionConfig(svc, desiredModel)
		if err != nil {
			if updateInProgress(err) {
				return InProgress, nil
			}
			return Complete, err
		}
		return InProgress, nil
	}
	if tagsChanged(*currentModel, *desiredModel) {
		log.Println("Updating kubernetes tags...")
		err = updateTags(svc, currentModel, desiredModel)
		if err != nil {
			if updateInProgress(err) {
				return InProgress, nil
			}
			return Complete, err
		}
	}
	return Complete, nil
}