...

Source file src/edge-infra.dev/pkg/edge/api/graph/mapper/mapper_gcp_services.go

Documentation: edge-infra.dev/pkg/edge/api/graph/mapper

     1  package mapper
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"edge-infra.dev/pkg/edge/api/graph/model"
     7  
     8  	"google.golang.org/api/compute/v1"
     9  	corev1 "k8s.io/api/core/v1"
    10  )
    11  
    12  func ToServiceAccount(secret *corev1.Secret) (*model.ServiceAccount, error) {
    13  	var serviceObj model.ServiceAccount
    14  	err := json.Unmarshal(secret.Data["key.json"], &serviceObj)
    15  	if err != nil {
    16  		return nil, err
    17  	}
    18  	return &serviceObj, nil
    19  }
    20  
    21  func ToZones(zoneList *compute.ZoneList) []*string {
    22  	zones := []*string{}
    23  	for _, zone := range zoneList.Items {
    24  		zones = append(zones, &zone.Name)
    25  	}
    26  	return zones
    27  }
    28  
    29  func ToMachineTypes(machineList *compute.MachineTypeList) []*model.MachineTypeInfo {
    30  	machineTypes := []*model.MachineTypeInfo{}
    31  	for _, machineType := range machineList.Items {
    32  		machineTypes = append(machineTypes, ToMachineType(machineType))
    33  	}
    34  	return machineTypes
    35  }
    36  
    37  func ToMachineType(machineType *compute.MachineType) *model.MachineTypeInfo {
    38  	guestCPUs := int(machineType.GuestCpus)
    39  	memoryGB := int(machineType.MemoryMb / 1024)
    40  	return &model.MachineTypeInfo{
    41  		Name:      machineType.Name,
    42  		GuestCPUs: guestCPUs,
    43  		MemoryGb:  memoryGB,
    44  	}
    45  }
    46  
    47  func ToGkeVersions(gkeMasterVersions []string) []*string {
    48  	gkeVersions := []*string{}
    49  	for i := range gkeMasterVersions {
    50  		gkeVersions = append(gkeVersions, &gkeMasterVersions[i])
    51  	}
    52  	return gkeVersions
    53  }
    54  

View as plain text