in cloudstack_instances.go [186:210]
func (cs *CSCloud) InstanceMetadata(ctx context.Context, node *corev1.Node) (*cloudprovider.InstanceMetadata, error) {
instanceType, err := cs.InstanceType(ctx, types.NodeName(node.Name))
if err != nil {
return nil, err
}
addresses, err := cs.NodeAddresses(ctx, types.NodeName(node.Name))
if err != nil {
return nil, err
}
zone, err := cs.GetZone(ctx)
if err != nil {
return nil, err
}
return &cloudprovider.InstanceMetadata{
ProviderID: cs.ProviderName(),
InstanceType: instanceType,
NodeAddresses: addresses,
Zone: cs.zone,
Region: zone.Region,
}, nil
}