func()

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
}