in pkg/providers/instance/instance.go [263:290]
func (p *Provider) fromKaitoAgentPoolToInstance(ctx context.Context, apObj *armcontainerservice.AgentPool) (*Instance, error) {
if apObj == nil {
return nil, fmt.Errorf("agent pool is nil")
}
instanceLabels := lo.MapValues(apObj.Properties.NodeLabels, func(k *string, _ string) string {
return lo.FromPtr(k)
})
ins := &Instance{
Name: apObj.Name,
Type: apObj.Properties.VMSize,
SubnetID: apObj.Properties.VnetSubnetID,
Tags: apObj.Properties.Tags,
State: apObj.Properties.ProvisioningState,
Labels: instanceLabels,
}
nodes, err := p.getNodesByName(ctx, lo.FromPtr(apObj.Name))
if err != nil {
return nil, err
}
if len(nodes) == 1 && len(nodes[0].Spec.ProviderID) != 0 {
ins.ID = to.Ptr(nodes[0].Spec.ProviderID)
}
return ins, nil
}