cloud/shepherd/equinix: update provider extra data

This adds a new sub-component to the Equinix Shepherd, the Updater.

The Updater periodically scans all machines backed by the Equinix
provider in the BMDB and queries the Equinix API for their status. The
status then populates the new 'Provided' row data.

Change-Id: I99657545aabfb13d71e165d36ce549c852feaf49
Reviewed-on: https://review.monogon.dev/c/monogon/+/1578
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/cloud/shepherd/equinix/manager/fakequinix_test.go b/cloud/shepherd/equinix/manager/fakequinix_test.go
index 1abe869..f18b435 100644
--- a/cloud/shepherd/equinix/manager/fakequinix_test.go
+++ b/cloud/shepherd/equinix/manager/fakequinix_test.go
@@ -57,9 +57,6 @@
 	f.mu.Lock()
 	defer f.mu.Unlock()
 
-	if pid != f.pid {
-		return nil, f.notFound()
-	}
 	val := f.devices[did]
 	if val == nil {
 		return nil, f.notFound()
@@ -95,8 +92,22 @@
 	}
 
 	dev := &packngo.Device{
-		ID:       uuid.New().String(),
-		State:    "very fake",
+		ID:    uuid.New().String(),
+		State: "active",
+		HardwareReservation: &packngo.HardwareReservation{
+			ID: rid,
+		},
+		Network: []*packngo.IPAddressAssignment{
+			{
+				IpAddressCommon: packngo.IpAddressCommon{
+					Public:  true,
+					Address: "1.2.3.4",
+				},
+			},
+		},
+		Facility: &packngo.Facility{
+			Code: "wad",
+		},
 		Hostname: request.Hostname,
 		OS: &packngo.OS{
 			Name: request.OS,