# Connectors ## List Connectors `client.MagicTransit.Connectors.List(ctx, query) (*SinglePage[ConnectorListResponse], error)` **get** `/accounts/{account_id}/magic/connectors` List Connectors ### Parameters - `query ConnectorListParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorListResponse struct{…}` - `ID string` - `Activated bool` - `InterruptWindowDaysOfWeek []ConnectorListResponseInterruptWindowDaysOfWeek` Allowed days of the week for upgrades. Default is all days. - `const ConnectorListResponseInterruptWindowDaysOfWeekSunday ConnectorListResponseInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorListResponseInterruptWindowDaysOfWeekMonday ConnectorListResponseInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorListResponseInterruptWindowDaysOfWeekTuesday ConnectorListResponseInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorListResponseInterruptWindowDaysOfWeekWednesday ConnectorListResponseInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorListResponseInterruptWindowDaysOfWeekThursday ConnectorListResponseInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorListResponseInterruptWindowDaysOfWeekFriday ConnectorListResponseInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorListResponseInterruptWindowDaysOfWeekSaturday ConnectorListResponseInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours float64` - `InterruptWindowEmbargoDates []string` List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay float64` - `LastUpdated string` - `Notes string` - `Timezone string` - `Device ConnectorListResponseDevice` - `ID string` - `SerialNumber string` - `LastHeartbeat string` - `LastSeenVersion string` - `LicenseKey string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.MagicTransit.Connectors.List(context.TODO(), magic_transit.ConnectorListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": [ { "id": "id", "activated": true, "interrupt_window_days_of_week": [ "Sunday" ], "interrupt_window_duration_hours": 1, "interrupt_window_embargo_dates": [ "string" ], "interrupt_window_hour_of_day": 0, "last_updated": "last_updated", "notes": "notes", "timezone": "timezone", "device": { "id": "id", "serial_number": "serial_number" }, "last_heartbeat": "last_heartbeat", "last_seen_version": "last_seen_version", "license_key": "license_key" } ], "success": true } ``` ## Fetch Connector `client.MagicTransit.Connectors.Get(ctx, connectorID, query) (*ConnectorGetResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}` Fetch Connector ### Parameters - `connectorID string` - `query ConnectorGetParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorGetResponse struct{…}` - `ID string` - `Activated bool` - `InterruptWindowDaysOfWeek []ConnectorGetResponseInterruptWindowDaysOfWeek` Allowed days of the week for upgrades. Default is all days. - `const ConnectorGetResponseInterruptWindowDaysOfWeekSunday ConnectorGetResponseInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorGetResponseInterruptWindowDaysOfWeekMonday ConnectorGetResponseInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorGetResponseInterruptWindowDaysOfWeekTuesday ConnectorGetResponseInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorGetResponseInterruptWindowDaysOfWeekWednesday ConnectorGetResponseInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorGetResponseInterruptWindowDaysOfWeekThursday ConnectorGetResponseInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorGetResponseInterruptWindowDaysOfWeekFriday ConnectorGetResponseInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorGetResponseInterruptWindowDaysOfWeekSaturday ConnectorGetResponseInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours float64` - `InterruptWindowEmbargoDates []string` List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay float64` - `LastUpdated string` - `Notes string` - `Timezone string` - `Device ConnectorGetResponseDevice` - `ID string` - `SerialNumber string` - `LastHeartbeat string` - `LastSeenVersion string` - `LicenseKey string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) connector, err := client.MagicTransit.Connectors.Get( context.TODO(), "connector_id", magic_transit.ConnectorGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", connector.ID) } ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": { "id": "id", "activated": true, "interrupt_window_days_of_week": [ "Sunday" ], "interrupt_window_duration_hours": 1, "interrupt_window_embargo_dates": [ "string" ], "interrupt_window_hour_of_day": 0, "last_updated": "last_updated", "notes": "notes", "timezone": "timezone", "device": { "id": "id", "serial_number": "serial_number" }, "last_heartbeat": "last_heartbeat", "last_seen_version": "last_seen_version", "license_key": "license_key" }, "success": true } ``` ## Add a connector to your account `client.MagicTransit.Connectors.New(ctx, params) (*ConnectorNewResponse, error)` **post** `/accounts/{account_id}/magic/connectors` Add a connector to your account ### Parameters - `params ConnectorNewParams` - `AccountID param.Field[string]` Path param: Account identifier - `Device param.Field[ConnectorNewParamsDevice]` Body param: Exactly one of id, serial_number, or provision_license must be provided. - `ID string` - `ProvisionLicense bool` When true, create and provision a new licence key for the connector. - `SerialNumber string` - `Activated param.Field[bool]` Body param - `InterruptWindowDaysOfWeek param.Field[[]ConnectorNewParamsInterruptWindowDaysOfWeek]` Body param: Allowed days of the week for upgrades. Default is all days. - `const ConnectorNewParamsInterruptWindowDaysOfWeekSunday ConnectorNewParamsInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorNewParamsInterruptWindowDaysOfWeekMonday ConnectorNewParamsInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorNewParamsInterruptWindowDaysOfWeekTuesday ConnectorNewParamsInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorNewParamsInterruptWindowDaysOfWeekWednesday ConnectorNewParamsInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorNewParamsInterruptWindowDaysOfWeekThursday ConnectorNewParamsInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorNewParamsInterruptWindowDaysOfWeekFriday ConnectorNewParamsInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorNewParamsInterruptWindowDaysOfWeekSaturday ConnectorNewParamsInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours param.Field[float64]` Body param - `InterruptWindowEmbargoDates param.Field[[]string]` Body param: List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay param.Field[float64]` Body param - `Notes param.Field[string]` Body param - `Timezone param.Field[string]` Body param ### Returns - `type ConnectorNewResponse struct{…}` - `ID string` - `Activated bool` - `InterruptWindowDaysOfWeek []ConnectorNewResponseInterruptWindowDaysOfWeek` Allowed days of the week for upgrades. Default is all days. - `const ConnectorNewResponseInterruptWindowDaysOfWeekSunday ConnectorNewResponseInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorNewResponseInterruptWindowDaysOfWeekMonday ConnectorNewResponseInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorNewResponseInterruptWindowDaysOfWeekTuesday ConnectorNewResponseInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorNewResponseInterruptWindowDaysOfWeekWednesday ConnectorNewResponseInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorNewResponseInterruptWindowDaysOfWeekThursday ConnectorNewResponseInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorNewResponseInterruptWindowDaysOfWeekFriday ConnectorNewResponseInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorNewResponseInterruptWindowDaysOfWeekSaturday ConnectorNewResponseInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours float64` - `InterruptWindowEmbargoDates []string` List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay float64` - `LastUpdated string` - `Notes string` - `Timezone string` - `Device ConnectorNewResponseDevice` - `ID string` - `SerialNumber string` - `LastHeartbeat string` - `LastSeenVersion string` - `LicenseKey string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) connector, err := client.MagicTransit.Connectors.New(context.TODO(), magic_transit.ConnectorNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Device: cloudflare.F(magic_transit.ConnectorNewParamsDevice{ }), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", connector.ID) } ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": { "id": "id", "activated": true, "interrupt_window_days_of_week": [ "Sunday" ], "interrupt_window_duration_hours": 1, "interrupt_window_embargo_dates": [ "string" ], "interrupt_window_hour_of_day": 0, "last_updated": "last_updated", "notes": "notes", "timezone": "timezone", "device": { "id": "id", "serial_number": "serial_number" }, "last_heartbeat": "last_heartbeat", "last_seen_version": "last_seen_version", "license_key": "license_key" }, "success": true } ``` ## Replace Connector or Re-provision License Key `client.MagicTransit.Connectors.Update(ctx, connectorID, params) (*ConnectorUpdateResponse, error)` **put** `/accounts/{account_id}/magic/connectors/{connector_id}` Replace Connector or Re-provision License Key ### Parameters - `connectorID string` - `params ConnectorUpdateParams` - `AccountID param.Field[string]` Path param: Account identifier - `Activated param.Field[bool]` Body param - `InterruptWindowDaysOfWeek param.Field[[]ConnectorUpdateParamsInterruptWindowDaysOfWeek]` Body param: Allowed days of the week for upgrades. Default is all days. - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekSunday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekMonday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekTuesday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekWednesday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekThursday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekFriday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorUpdateParamsInterruptWindowDaysOfWeekSaturday ConnectorUpdateParamsInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours param.Field[float64]` Body param - `InterruptWindowEmbargoDates param.Field[[]string]` Body param: List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay param.Field[float64]` Body param - `Notes param.Field[string]` Body param - `ProvisionLicense param.Field[bool]` Body param: When true, regenerate license key for the connector. - `Timezone param.Field[string]` Body param ### Returns - `type ConnectorUpdateResponse struct{…}` - `ID string` - `Activated bool` - `InterruptWindowDaysOfWeek []ConnectorUpdateResponseInterruptWindowDaysOfWeek` Allowed days of the week for upgrades. Default is all days. - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekSunday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekMonday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekTuesday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekWednesday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekThursday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekFriday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorUpdateResponseInterruptWindowDaysOfWeekSaturday ConnectorUpdateResponseInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours float64` - `InterruptWindowEmbargoDates []string` List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay float64` - `LastUpdated string` - `Notes string` - `Timezone string` - `Device ConnectorUpdateResponseDevice` - `ID string` - `SerialNumber string` - `LastHeartbeat string` - `LastSeenVersion string` - `LicenseKey string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) connector, err := client.MagicTransit.Connectors.Update( context.TODO(), "connector_id", magic_transit.ConnectorUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", connector.ID) } ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": { "id": "id", "activated": true, "interrupt_window_days_of_week": [ "Sunday" ], "interrupt_window_duration_hours": 1, "interrupt_window_embargo_dates": [ "string" ], "interrupt_window_hour_of_day": 0, "last_updated": "last_updated", "notes": "notes", "timezone": "timezone", "device": { "id": "id", "serial_number": "serial_number" }, "last_heartbeat": "last_heartbeat", "last_seen_version": "last_seen_version", "license_key": "license_key" }, "success": true } ``` ## Edit Connector to update specific properties or Re-provision License Key `client.MagicTransit.Connectors.Edit(ctx, connectorID, params) (*ConnectorEditResponse, error)` **patch** `/accounts/{account_id}/magic/connectors/{connector_id}` Edit Connector to update specific properties or Re-provision License Key ### Parameters - `connectorID string` - `params ConnectorEditParams` - `AccountID param.Field[string]` Path param: Account identifier - `Activated param.Field[bool]` Body param - `InterruptWindowDaysOfWeek param.Field[[]ConnectorEditParamsInterruptWindowDaysOfWeek]` Body param: Allowed days of the week for upgrades. Default is all days. - `const ConnectorEditParamsInterruptWindowDaysOfWeekSunday ConnectorEditParamsInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorEditParamsInterruptWindowDaysOfWeekMonday ConnectorEditParamsInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorEditParamsInterruptWindowDaysOfWeekTuesday ConnectorEditParamsInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorEditParamsInterruptWindowDaysOfWeekWednesday ConnectorEditParamsInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorEditParamsInterruptWindowDaysOfWeekThursday ConnectorEditParamsInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorEditParamsInterruptWindowDaysOfWeekFriday ConnectorEditParamsInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorEditParamsInterruptWindowDaysOfWeekSaturday ConnectorEditParamsInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours param.Field[float64]` Body param - `InterruptWindowEmbargoDates param.Field[[]string]` Body param: List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay param.Field[float64]` Body param - `Notes param.Field[string]` Body param - `ProvisionLicense param.Field[bool]` Body param: When true, regenerate license key for the connector. - `Timezone param.Field[string]` Body param ### Returns - `type ConnectorEditResponse struct{…}` - `ID string` - `Activated bool` - `InterruptWindowDaysOfWeek []ConnectorEditResponseInterruptWindowDaysOfWeek` Allowed days of the week for upgrades. Default is all days. - `const ConnectorEditResponseInterruptWindowDaysOfWeekSunday ConnectorEditResponseInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorEditResponseInterruptWindowDaysOfWeekMonday ConnectorEditResponseInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorEditResponseInterruptWindowDaysOfWeekTuesday ConnectorEditResponseInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorEditResponseInterruptWindowDaysOfWeekWednesday ConnectorEditResponseInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorEditResponseInterruptWindowDaysOfWeekThursday ConnectorEditResponseInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorEditResponseInterruptWindowDaysOfWeekFriday ConnectorEditResponseInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorEditResponseInterruptWindowDaysOfWeekSaturday ConnectorEditResponseInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours float64` - `InterruptWindowEmbargoDates []string` List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay float64` - `LastUpdated string` - `Notes string` - `Timezone string` - `Device ConnectorEditResponseDevice` - `ID string` - `SerialNumber string` - `LastHeartbeat string` - `LastSeenVersion string` - `LicenseKey string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.MagicTransit.Connectors.Edit( context.TODO(), "connector_id", magic_transit.ConnectorEditParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.ID) } ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": { "id": "id", "activated": true, "interrupt_window_days_of_week": [ "Sunday" ], "interrupt_window_duration_hours": 1, "interrupt_window_embargo_dates": [ "string" ], "interrupt_window_hour_of_day": 0, "last_updated": "last_updated", "notes": "notes", "timezone": "timezone", "device": { "id": "id", "serial_number": "serial_number" }, "last_heartbeat": "last_heartbeat", "last_seen_version": "last_seen_version", "license_key": "license_key" }, "success": true } ``` ## Remove a connector from your account `client.MagicTransit.Connectors.Delete(ctx, connectorID, body) (*ConnectorDeleteResponse, error)` **delete** `/accounts/{account_id}/magic/connectors/{connector_id}` Remove a connector from your account ### Parameters - `connectorID string` - `body ConnectorDeleteParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorDeleteResponse struct{…}` - `ID string` - `Activated bool` - `InterruptWindowDaysOfWeek []ConnectorDeleteResponseInterruptWindowDaysOfWeek` Allowed days of the week for upgrades. Default is all days. - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekSunday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Sunday"` - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekMonday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Monday"` - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekTuesday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Tuesday"` - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekWednesday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Wednesday"` - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekThursday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Thursday"` - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekFriday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Friday"` - `const ConnectorDeleteResponseInterruptWindowDaysOfWeekSaturday ConnectorDeleteResponseInterruptWindowDaysOfWeek = "Saturday"` - `InterruptWindowDurationHours float64` - `InterruptWindowEmbargoDates []string` List of dates (YYYY-MM-DD) when upgrades are blocked. - `InterruptWindowHourOfDay float64` - `LastUpdated string` - `Notes string` - `Timezone string` - `Device ConnectorDeleteResponseDevice` - `ID string` - `SerialNumber string` - `LastHeartbeat string` - `LastSeenVersion string` - `LicenseKey string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) connector, err := client.MagicTransit.Connectors.Delete( context.TODO(), "connector_id", magic_transit.ConnectorDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", connector.ID) } ``` #### Response ```json { "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ], "result": { "id": "id", "activated": true, "interrupt_window_days_of_week": [ "Sunday" ], "interrupt_window_duration_hours": 1, "interrupt_window_embargo_dates": [ "string" ], "interrupt_window_hour_of_day": 0, "last_updated": "last_updated", "notes": "notes", "timezone": "timezone", "device": { "id": "id", "serial_number": "serial_number" }, "last_heartbeat": "last_heartbeat", "last_seen_version": "last_seen_version", "license_key": "license_key" }, "success": true } ``` # Events ## List Events `client.MagicTransit.Connectors.Events.List(ctx, connectorID, params) (*ConnectorEventListResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events` List Events ### Parameters - `connectorID string` - `params ConnectorEventListParams` - `AccountID param.Field[string]` Path param: Account identifier - `From param.Field[float64]` Query param - `To param.Field[float64]` Query param - `Cursor param.Field[string]` Query param - `K param.Field[string]` Query param: Filter by event kind - `Limit param.Field[float64]` Query param ### Returns - `type ConnectorEventListResponse struct{…}` - `Count float64` - `Items []ConnectorEventListResponseItem` - `A float64` Time the Event was collected (seconds since the Unix epoch) - `K string` Kind - `N float64` Sequence number, used to order events with the same timestamp - `T float64` Time the Event was recorded (seconds since the Unix epoch) - `Cursor string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) events, err := client.MagicTransit.Connectors.Events.List( context.TODO(), "connector_id", magic_transit.ConnectorEventListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), From: cloudflare.F(0.000000), To: cloudflare.F(0.000000), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", events.Count) } ``` #### Response ```json { "result": { "count": 0, "items": [ { "a": 0, "k": "k", "n": 0, "t": 0 } ], "cursor": "cursor" }, "success": true, "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ] } ``` ## Get Event `client.MagicTransit.Connectors.Events.Get(ctx, connectorID, eventT, eventN, query) (*ConnectorEventGetResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/{event_t}.{event_n}` Get Event ### Parameters - `connectorID string` - `eventT float64` - `eventN float64` - `query ConnectorEventGetParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorEventGetResponse struct{…}` Recorded Event - `E ConnectorEventGetResponseE` - `type ConnectorEventGetResponseEInit struct{…}` - `K ConnectorEventGetResponseEInitK` Initialized process - `const ConnectorEventGetResponseEInitKInit ConnectorEventGetResponseEInitK = "Init"` - `type ConnectorEventGetResponseELeave struct{…}` - `K ConnectorEventGetResponseELeaveK` Stopped process - `const ConnectorEventGetResponseELeaveKLeave ConnectorEventGetResponseELeaveK = "Leave"` - `type ConnectorEventGetResponseEStartAttestation struct{…}` - `K ConnectorEventGetResponseEStartAttestationK` Started attestation - `const ConnectorEventGetResponseEStartAttestationKStartAttestation ConnectorEventGetResponseEStartAttestationK = "StartAttestation"` - `type ConnectorEventGetResponseEFinishAttestationSuccess struct{…}` - `K ConnectorEventGetResponseEFinishAttestationSuccessK` Finished attestation - `const ConnectorEventGetResponseEFinishAttestationSuccessKFinishAttestationSuccess ConnectorEventGetResponseEFinishAttestationSuccessK = "FinishAttestationSuccess"` - `type ConnectorEventGetResponseEFinishAttestationFailure struct{…}` - `K ConnectorEventGetResponseEFinishAttestationFailureK` Failed attestation - `const ConnectorEventGetResponseEFinishAttestationFailureKFinishAttestationFailure ConnectorEventGetResponseEFinishAttestationFailureK = "FinishAttestationFailure"` - `type ConnectorEventGetResponseEStartRotateCryptKey struct{…}` - `K ConnectorEventGetResponseEStartRotateCryptKeyK` Started crypt key rotation - `const ConnectorEventGetResponseEStartRotateCryptKeyKStartRotateCryptKey ConnectorEventGetResponseEStartRotateCryptKeyK = "StartRotateCryptKey"` - `type ConnectorEventGetResponseEFinishRotateCryptKeySuccess struct{…}` - `K ConnectorEventGetResponseEFinishRotateCryptKeySuccessK` Finished crypt key rotation - `const ConnectorEventGetResponseEFinishRotateCryptKeySuccessKFinishRotateCryptKeySuccess ConnectorEventGetResponseEFinishRotateCryptKeySuccessK = "FinishRotateCryptKeySuccess"` - `type ConnectorEventGetResponseEFinishRotateCryptKeyFailure struct{…}` - `K ConnectorEventGetResponseEFinishRotateCryptKeyFailureK` Failed crypt key rotation - `const ConnectorEventGetResponseEFinishRotateCryptKeyFailureKFinishRotateCryptKeyFailure ConnectorEventGetResponseEFinishRotateCryptKeyFailureK = "FinishRotateCryptKeyFailure"` - `type ConnectorEventGetResponseEStartRotatePki struct{…}` - `K ConnectorEventGetResponseEStartRotatePkiK` Started PKI rotation - `const ConnectorEventGetResponseEStartRotatePkiKStartRotatePki ConnectorEventGetResponseEStartRotatePkiK = "StartRotatePki"` - `type ConnectorEventGetResponseEFinishRotatePkiSuccess struct{…}` - `K ConnectorEventGetResponseEFinishRotatePkiSuccessK` Finished PKI rotation - `const ConnectorEventGetResponseEFinishRotatePkiSuccessKFinishRotatePkiSuccess ConnectorEventGetResponseEFinishRotatePkiSuccessK = "FinishRotatePkiSuccess"` - `type ConnectorEventGetResponseEFinishRotatePkiFailure struct{…}` - `K ConnectorEventGetResponseEFinishRotatePkiFailureK` Failed PKI rotation - `const ConnectorEventGetResponseEFinishRotatePkiFailureKFinishRotatePkiFailure ConnectorEventGetResponseEFinishRotatePkiFailureK = "FinishRotatePkiFailure"` - `type ConnectorEventGetResponseEStartUpgrade struct{…}` - `K ConnectorEventGetResponseEStartUpgradeK` Started upgrade - `const ConnectorEventGetResponseEStartUpgradeKStartUpgrade ConnectorEventGetResponseEStartUpgradeK = "StartUpgrade"` - `URL string` Location of upgrade bundle - `type ConnectorEventGetResponseEFinishUpgradeSuccess struct{…}` - `K ConnectorEventGetResponseEFinishUpgradeSuccessK` Finished upgrade - `const ConnectorEventGetResponseEFinishUpgradeSuccessKFinishUpgradeSuccess ConnectorEventGetResponseEFinishUpgradeSuccessK = "FinishUpgradeSuccess"` - `type ConnectorEventGetResponseEFinishUpgradeFailure struct{…}` - `K ConnectorEventGetResponseEFinishUpgradeFailureK` Failed upgrade - `const ConnectorEventGetResponseEFinishUpgradeFailureKFinishUpgradeFailure ConnectorEventGetResponseEFinishUpgradeFailureK = "FinishUpgradeFailure"` - `type ConnectorEventGetResponseEReconcile struct{…}` - `K ConnectorEventGetResponseEReconcileK` Reconciled - `const ConnectorEventGetResponseEReconcileKReconcile ConnectorEventGetResponseEReconcileK = "Reconcile"` - `type ConnectorEventGetResponseEConfigureCloudflaredTunnel struct{…}` - `K ConnectorEventGetResponseEConfigureCloudflaredTunnelK` Configured Cloudflared tunnel - `const ConnectorEventGetResponseEConfigureCloudflaredTunnelKConfigureCloudflaredTunnel ConnectorEventGetResponseEConfigureCloudflaredTunnelK = "ConfigureCloudflaredTunnel"` - `N float64` Sequence number, used to order events with the same timestamp - `T float64` Time the Event was recorded (seconds since the Unix epoch) - `V string` Version ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) event, err := client.MagicTransit.Connectors.Events.Get( context.TODO(), "connector_id", 0.000000, 0.000000, magic_transit.ConnectorEventGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", event.E) } ``` #### Response ```json { "result": { "e": { "k": "Init" }, "n": 0, "t": 0, "v": "v" }, "success": true, "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ] } ``` # Latest ## Get latest Events `client.MagicTransit.Connectors.Events.Latest.List(ctx, connectorID, query) (*ConnectorEventLatestListResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/latest` Get latest Events ### Parameters - `connectorID string` - `query ConnectorEventLatestListParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorEventLatestListResponse struct{…}` - `Count float64` - `Items []ConnectorEventLatestListResponseItem` - `E ConnectorEventLatestListResponseItemsE` - `type ConnectorEventLatestListResponseItemsEInit struct{…}` - `K ConnectorEventLatestListResponseItemsEInitK` Initialized process - `const ConnectorEventLatestListResponseItemsEInitKInit ConnectorEventLatestListResponseItemsEInitK = "Init"` - `type ConnectorEventLatestListResponseItemsELeave struct{…}` - `K ConnectorEventLatestListResponseItemsELeaveK` Stopped process - `const ConnectorEventLatestListResponseItemsELeaveKLeave ConnectorEventLatestListResponseItemsELeaveK = "Leave"` - `type ConnectorEventLatestListResponseItemsEStartAttestation struct{…}` - `K ConnectorEventLatestListResponseItemsEStartAttestationK` Started attestation - `const ConnectorEventLatestListResponseItemsEStartAttestationKStartAttestation ConnectorEventLatestListResponseItemsEStartAttestationK = "StartAttestation"` - `type ConnectorEventLatestListResponseItemsEFinishAttestationSuccess struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishAttestationSuccessK` Finished attestation - `const ConnectorEventLatestListResponseItemsEFinishAttestationSuccessKFinishAttestationSuccess ConnectorEventLatestListResponseItemsEFinishAttestationSuccessK = "FinishAttestationSuccess"` - `type ConnectorEventLatestListResponseItemsEFinishAttestationFailure struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishAttestationFailureK` Failed attestation - `const ConnectorEventLatestListResponseItemsEFinishAttestationFailureKFinishAttestationFailure ConnectorEventLatestListResponseItemsEFinishAttestationFailureK = "FinishAttestationFailure"` - `type ConnectorEventLatestListResponseItemsEStartRotateCryptKey struct{…}` - `K ConnectorEventLatestListResponseItemsEStartRotateCryptKeyK` Started crypt key rotation - `const ConnectorEventLatestListResponseItemsEStartRotateCryptKeyKStartRotateCryptKey ConnectorEventLatestListResponseItemsEStartRotateCryptKeyK = "StartRotateCryptKey"` - `type ConnectorEventLatestListResponseItemsEFinishRotateCryptKeySuccess struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishRotateCryptKeySuccessK` Finished crypt key rotation - `const ConnectorEventLatestListResponseItemsEFinishRotateCryptKeySuccessKFinishRotateCryptKeySuccess ConnectorEventLatestListResponseItemsEFinishRotateCryptKeySuccessK = "FinishRotateCryptKeySuccess"` - `type ConnectorEventLatestListResponseItemsEFinishRotateCryptKeyFailure struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishRotateCryptKeyFailureK` Failed crypt key rotation - `const ConnectorEventLatestListResponseItemsEFinishRotateCryptKeyFailureKFinishRotateCryptKeyFailure ConnectorEventLatestListResponseItemsEFinishRotateCryptKeyFailureK = "FinishRotateCryptKeyFailure"` - `type ConnectorEventLatestListResponseItemsEStartRotatePki struct{…}` - `K ConnectorEventLatestListResponseItemsEStartRotatePkiK` Started PKI rotation - `const ConnectorEventLatestListResponseItemsEStartRotatePkiKStartRotatePki ConnectorEventLatestListResponseItemsEStartRotatePkiK = "StartRotatePki"` - `type ConnectorEventLatestListResponseItemsEFinishRotatePkiSuccess struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishRotatePkiSuccessK` Finished PKI rotation - `const ConnectorEventLatestListResponseItemsEFinishRotatePkiSuccessKFinishRotatePkiSuccess ConnectorEventLatestListResponseItemsEFinishRotatePkiSuccessK = "FinishRotatePkiSuccess"` - `type ConnectorEventLatestListResponseItemsEFinishRotatePkiFailure struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishRotatePkiFailureK` Failed PKI rotation - `const ConnectorEventLatestListResponseItemsEFinishRotatePkiFailureKFinishRotatePkiFailure ConnectorEventLatestListResponseItemsEFinishRotatePkiFailureK = "FinishRotatePkiFailure"` - `type ConnectorEventLatestListResponseItemsEStartUpgrade struct{…}` - `K ConnectorEventLatestListResponseItemsEStartUpgradeK` Started upgrade - `const ConnectorEventLatestListResponseItemsEStartUpgradeKStartUpgrade ConnectorEventLatestListResponseItemsEStartUpgradeK = "StartUpgrade"` - `URL string` Location of upgrade bundle - `type ConnectorEventLatestListResponseItemsEFinishUpgradeSuccess struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishUpgradeSuccessK` Finished upgrade - `const ConnectorEventLatestListResponseItemsEFinishUpgradeSuccessKFinishUpgradeSuccess ConnectorEventLatestListResponseItemsEFinishUpgradeSuccessK = "FinishUpgradeSuccess"` - `type ConnectorEventLatestListResponseItemsEFinishUpgradeFailure struct{…}` - `K ConnectorEventLatestListResponseItemsEFinishUpgradeFailureK` Failed upgrade - `const ConnectorEventLatestListResponseItemsEFinishUpgradeFailureKFinishUpgradeFailure ConnectorEventLatestListResponseItemsEFinishUpgradeFailureK = "FinishUpgradeFailure"` - `type ConnectorEventLatestListResponseItemsEReconcile struct{…}` - `K ConnectorEventLatestListResponseItemsEReconcileK` Reconciled - `const ConnectorEventLatestListResponseItemsEReconcileKReconcile ConnectorEventLatestListResponseItemsEReconcileK = "Reconcile"` - `type ConnectorEventLatestListResponseItemsEConfigureCloudflaredTunnel struct{…}` - `K ConnectorEventLatestListResponseItemsEConfigureCloudflaredTunnelK` Configured Cloudflared tunnel - `const ConnectorEventLatestListResponseItemsEConfigureCloudflaredTunnelKConfigureCloudflaredTunnel ConnectorEventLatestListResponseItemsEConfigureCloudflaredTunnelK = "ConfigureCloudflaredTunnel"` - `N float64` Sequence number, used to order events with the same timestamp - `T float64` Time the Event was recorded (seconds since the Unix epoch) - `V string` Version ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) latests, err := client.MagicTransit.Connectors.Events.Latest.List( context.TODO(), "connector_id", magic_transit.ConnectorEventLatestListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", latests.Count) } ``` #### Response ```json { "result": { "count": 0, "items": [ { "e": { "k": "Init" }, "n": 0, "t": 0, "v": "v" } ] }, "success": true, "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ] } ``` # Snapshots ## List Snapshots `client.MagicTransit.Connectors.Snapshots.List(ctx, connectorID, params) (*ConnectorSnapshotListResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots` List Snapshots ### Parameters - `connectorID string` - `params ConnectorSnapshotListParams` - `AccountID param.Field[string]` Path param: Account identifier - `From param.Field[float64]` Query param - `To param.Field[float64]` Query param - `Cursor param.Field[string]` Query param - `Limit param.Field[float64]` Query param ### Returns - `type ConnectorSnapshotListResponse struct{…}` - `Count float64` - `Items []ConnectorSnapshotListResponseItem` - `A float64` Time the Snapshot was collected (seconds since the Unix epoch) - `T float64` Time the Snapshot was recorded (seconds since the Unix epoch) - `Cursor string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) snapshots, err := client.MagicTransit.Connectors.Snapshots.List( context.TODO(), "connector_id", magic_transit.ConnectorSnapshotListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), From: cloudflare.F(0.000000), To: cloudflare.F(0.000000), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", snapshots.Count) } ``` #### Response ```json { "result": { "count": 0, "items": [ { "a": 0, "t": 0 } ], "cursor": "cursor" }, "success": true, "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ] } ``` ## Get Snapshot `client.MagicTransit.Connectors.Snapshots.Get(ctx, connectorID, snapshotT, query) (*ConnectorSnapshotGetResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/{snapshot_t}` Get Snapshot ### Parameters - `connectorID string` - `snapshotT float64` - `query ConnectorSnapshotGetParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorSnapshotGetResponse struct{…}` Snapshot - `CountReclaimFailures float64` Count of failures to reclaim space - `CountReclaimedPaths float64` Count of reclaimed paths - `CountRecordFailed float64` Count of failed snapshot recordings - `CountTransmitFailures float64` Count of failed snapshot transmissions - `T float64` Time the Snapshot was recorded (seconds since the Unix epoch) - `V string` Version - `Bonds []ConnectorSnapshotGetResponseBond` - `Name string` Name of the network interface - `Status string` Current status of the network interface - `CPUCount float64` Count of processors/cores - `CPUPressure10s float64` Percentage of time over a 10 second window that tasks were stalled - `CPUPressure300s float64` Percentage of time over a 5 minute window that tasks were stalled - `CPUPressure60s float64` Percentage of time over a 1 minute window that tasks were stalled - `CPUPressureTotalUs float64` Total stall time (microseconds) - `CPUTimeGuestMs float64` Time spent running a virtual CPU or guest OS (milliseconds) - `CPUTimeGuestNiceMs float64` Time spent running a niced guest (milliseconds) - `CPUTimeIdleMs float64` Time spent in idle state (milliseconds) - `CPUTimeIowaitMs float64` Time spent wait for I/O to complete (milliseconds) - `CPUTimeIrqMs float64` Time spent servicing interrupts (milliseconds) - `CPUTimeNiceMs float64` Time spent in low-priority user mode (milliseconds) - `CPUTimeSoftirqMs float64` Time spent servicing softirqs (milliseconds) - `CPUTimeStealMs float64` Time stolen (milliseconds) - `CPUTimeSystemMs float64` Time spent in system mode (milliseconds) - `CPUTimeUserMs float64` Time spent in user mode (milliseconds) - `Delta float64` Number of network operations applied during state transition - `DHCPLeases []ConnectorSnapshotGetResponseDHCPLease` - `ClientID string` Client ID of the device the IP Address was leased to - `ExpiryTime float64` Expiry time of the DHCP lease (seconds since the Unix epoch) - `Hostname string` Hostname of the device the IP Address was leased to - `InterfaceName string` Name of the network interface - `IPAddress string` IP Address that was leased - `MacAddress string` MAC Address of the device the IP Address was leased to - `Disks []ConnectorSnapshotGetResponseDisk` - `InProgress float64` I/Os currently in progress - `Major float64` Device major number - `Merged float64` Reads merged - `Minor float64` Device minor number - `Name string` Device name - `Reads float64` Reads completed successfully - `SectorsRead float64` Sectors read successfully - `SectorsWritten float64` Sectors written successfully - `TimeInProgressMs float64` Time spent doing I/Os (milliseconds) - `TimeReadingMs float64` Time spent reading (milliseconds) - `TimeWritingMs float64` Time spent writing (milliseconds) - `WeightedTimeInProgressMs float64` Weighted time spent doing I/Os (milliseconds) - `Writes float64` Writes completed - `WritesMerged float64` Writes merged - `Discards float64` Discards completed successfully - `DiscardsMerged float64` Discards merged - `Flushes float64` Flushes completed successfully - `SectorsDiscarded float64` Sectors discarded - `TimeDiscardingMs float64` Time spent discarding (milliseconds) - `TimeFlushingMs float64` Time spent flushing (milliseconds) - `Epsilon float64` Simulated number of network operations applied during state transition - `HaState string` Name of high availability state - `HaValue float64` Numeric value associated with high availability state (0 = disabled, 1 = active, 2 = standby, 3 = stopped, 4 = fault) - `Interfaces []ConnectorSnapshotGetResponseInterface` - `Name string` Name of the network interface - `Operstate string` UP/DOWN state of the network interface - `IPAddresses []ConnectorSnapshotGetResponseInterfacesIPAddress` - `InterfaceName string` Name of the network interface - `IPAddress string` IP address of the network interface - `Speed float64` Speed of the network interface (bits per second) - `IoPressureFull10s float64` Percentage of time over a 10 second window that all tasks were stalled - `IoPressureFull300s float64` Percentage of time over a 5 minute window that all tasks were stalled - `IoPressureFull60s float64` Percentage of time over a 1 minute window that all tasks were stalled - `IoPressureFullTotalUs float64` Total stall time (microseconds) - `IoPressureSome10s float64` Percentage of time over a 10 second window that some tasks were stalled - `IoPressureSome300s float64` Percentage of time over a 3 minute window that some tasks were stalled - `IoPressureSome60s float64` Percentage of time over a 1 minute window that some tasks were stalled - `IoPressureSomeTotalUs float64` Total stall time (microseconds) - `KernelBtime float64` Boot time (seconds since Unix epoch) - `KernelCtxt float64` Number of context switches that the system underwent - `KernelProcesses float64` Number of forks since boot - `KernelProcessesBlocked float64` Number of processes blocked waiting for I/O - `KernelProcessesRunning float64` Number of processes in runnable state - `LoadAverage15m float64` The fifteen-minute load average - `LoadAverage1m float64` The one-minute load average - `LoadAverage5m float64` The five-minute load average - `LoadAverageCur float64` Number of currently runnable kernel scheduling entities - `LoadAverageMax float64` Number of kernel scheduling entities that currently exist on the system - `MemoryActiveBytes float64` Memory that has been used more recently - `MemoryAnonHugepagesBytes float64` Non-file backed huge pages mapped into user-space page tables - `MemoryAnonPagesBytes float64` Non-file backed pages mapped into user-space page tables - `MemoryAvailableBytes float64` Estimate of how much memory is available for starting new applications - `MemoryBounceBytes float64` Memory used for block device bounce buffers - `MemoryBuffersBytes float64` Relatively temporary storage for raw disk blocks - `MemoryCachedBytes float64` In-memory cache for files read from the disk - `MemoryCmaFreeBytes float64` Free CMA (Contiguous Memory Allocator) pages - `MemoryCmaTotalBytes float64` Total CMA (Contiguous Memory Allocator) pages - `MemoryCommitLimitBytes float64` Total amount of memory currently available to be allocated on the system - `MemoryCommittedAsBytes float64` Amount of memory presently allocated on the system - `MemoryDirtyBytes float64` Memory which is waiting to get written back to the disk - `MemoryFreeBytes float64` The sum of LowFree and HighFree - `MemoryHighFreeBytes float64` Amount of free highmem - `MemoryHighTotalBytes float64` Total amount of highmem - `MemoryHugepagesFree float64` The number of huge pages in the pool that are not yet allocated - `MemoryHugepagesRsvd float64` Number of huge pages for which a commitment has been made, but no allocation has yet been made - `MemoryHugepagesSurp float64` Number of huge pages in the pool above the threshold - `MemoryHugepagesTotal float64` The size of the pool of huge pages - `MemoryHugepagesizeBytes float64` The size of huge pages - `MemoryInactiveBytes float64` Memory which has been less recently used - `MemoryKReclaimableBytes float64` Kernel allocations that the kernel will attempt to reclaim under memory pressure - `MemoryKernelStackBytes float64` Amount of memory allocated to kernel stacks - `MemoryLowFreeBytes float64` Amount of free lowmem - `MemoryLowTotalBytes float64` Total amount of lowmem - `MemoryMappedBytes float64` Files which have been mapped into memory - `MemoryPageTablesBytes float64` Amount of memory dedicated to the lowest level of page tables - `MemoryPerCPUBytes float64` Memory allocated to the per-cpu alloctor used to back per-cpu allocations - `MemoryPressureFull10s float64` Percentage of time over a 10 second window that all tasks were stalled - `MemoryPressureFull300s float64` Percentage of time over a 5 minute window that all tasks were stalled - `MemoryPressureFull60s float64` Percentage of time over a 1 minute window that all tasks were stalled - `MemoryPressureFullTotalUs float64` Total stall time (microseconds) - `MemoryPressureSome10s float64` Percentage of time over a 10 second window that some tasks were stalled - `MemoryPressureSome300s float64` Percentage of time over a 5 minute window that some tasks were stalled - `MemoryPressureSome60s float64` Percentage of time over a 1 minute window that some tasks were stalled - `MemoryPressureSomeTotalUs float64` Total stall time (microseconds) - `MemorySReclaimableBytes float64` Part of slab that can be reclaimed on memory pressure - `MemorySUnreclaimBytes float64` Part of slab that cannot be reclaimed on memory pressure - `MemorySecondaryPageTablesBytes float64` Amount of memory dedicated to the lowest level of page tables - `MemoryShmemBytes float64` Amount of memory consumed by tmpfs - `MemoryShmemHugepagesBytes float64` Memory used by shmem and tmpfs, allocated with huge pages - `MemoryShmemPmdMappedBytes float64` Shared memory mapped into user space with huge pages - `MemorySlabBytes float64` In-kernel data structures cache - `MemorySwapCachedBytes float64` Memory swapped out and back in while still in swap file - `MemorySwapFreeBytes float64` Amount of swap space that is currently unused - `MemorySwapTotalBytes float64` Total amount of swap space available - `MemoryTotalBytes float64` Total usable RAM - `MemoryVmallocChunkBytes float64` Largest contiguous block of vmalloc area which is free - `MemoryVmallocTotalBytes float64` Total size of vmalloc memory area - `MemoryVmallocUsedBytes float64` Amount of vmalloc area which is used - `MemoryWritebackBytes float64` Memory which is actively being written back to the disk - `MemoryWritebackTmpBytes float64` Memory used by FUSE for temporary writeback buffers - `MemoryZSwapBytes float64` Memory consumed by the zswap backend, compressed - `MemoryZSwappedBytes float64` Amount of anonymous memory stored in zswap, uncompressed - `Mounts []ConnectorSnapshotGetResponseMount` - `FileSystem string` File system on disk (EXT4, NTFS, etc.) - `Kind string` Kind of disk (HDD, SSD, etc.) - `MountPoint string` Path where disk is mounted - `Name string` Name of the disk mount - `AvailableBytes float64` Available disk size (bytes) - `IsReadOnly bool` Determines whether the disk is read-only - `IsRemovable bool` Determines whether the disk is removable - `TotalBytes float64` Total disk size (bytes) - `Netdevs []ConnectorSnapshotGetResponseNetdev` - `Name string` Name of the network device - `RecvBytes float64` Total bytes received - `RecvCompressed float64` Compressed packets received - `RecvDrop float64` Packets dropped - `RecvErrs float64` Bad packets received - `RecvFifo float64` FIFO overruns - `RecvFrame float64` Frame alignment errors - `RecvMulticast float64` Multicast packets received - `RecvPackets float64` Total packets received - `SentBytes float64` Total bytes transmitted - `SentCarrier float64` Number of packets not sent due to carrier errors - `SentColls float64` Number of collisions - `SentCompressed float64` Number of compressed packets transmitted - `SentDrop float64` Number of packets dropped during transmission - `SentErrs float64` Number of transmission errors - `SentFifo float64` FIFO overruns - `SentPackets float64` Total packets transmitted - `SnmpIcmpInAddrMaskReps float64` Number of ICMP Address Mask Reply messages received - `SnmpIcmpInAddrMasks float64` Number of ICMP Address Mask Request messages received - `SnmpIcmpInCsumErrors float64` Number of ICMP messages received with bad checksums - `SnmpIcmpInDestUnreachs float64` Number of ICMP Destination Unreachable messages received - `SnmpIcmpInEchoReps float64` Number of ICMP Echo Reply messages received - `SnmpIcmpInEchos float64` Number of ICMP Echo (request) messages received - `SnmpIcmpInErrors float64` Number of ICMP messages received with ICMP-specific errors - `SnmpIcmpInMsgs float64` Number of ICMP messages received - `SnmpIcmpInParmProbs float64` Number of ICMP Parameter Problem messages received - `SnmpIcmpInRedirects float64` Number of ICMP Redirect messages received - `SnmpIcmpInSrcQuenchs float64` Number of ICMP Source Quench messages received - `SnmpIcmpInTimeExcds float64` Number of ICMP Time Exceeded messages received - `SnmpIcmpInTimestampReps float64` Number of ICMP Address Mask Request messages received - `SnmpIcmpInTimestamps float64` Number of ICMP Timestamp (request) messages received - `SnmpIcmpOutAddrMaskReps float64` Number of ICMP Address Mask Reply messages sent - `SnmpIcmpOutAddrMasks float64` Number of ICMP Address Mask Request messages sent - `SnmpIcmpOutDestUnreachs float64` Number of ICMP Destination Unreachable messages sent - `SnmpIcmpOutEchoReps float64` Number of ICMP Echo Reply messages sent - `SnmpIcmpOutEchos float64` Number of ICMP Echo (request) messages sent - `SnmpIcmpOutErrors float64` Number of ICMP messages which this entity did not send due to ICMP-specific errors - `SnmpIcmpOutMsgs float64` Number of ICMP messages attempted to send - `SnmpIcmpOutParmProbs float64` Number of ICMP Parameter Problem messages sent - `SnmpIcmpOutRedirects float64` Number of ICMP Redirect messages sent - `SnmpIcmpOutSrcQuenchs float64` Number of ICMP Source Quench messages sent - `SnmpIcmpOutTimeExcds float64` Number of ICMP Time Exceeded messages sent - `SnmpIcmpOutTimestampReps float64` Number of ICMP Timestamp Reply messages sent - `SnmpIcmpOutTimestamps float64` Number of ICMP Timestamp (request) messages sent - `SnmpIPDefaultTTL float64` Default value of the Time-To-Live field of the IP header - `SnmpIPForwDatagrams float64` Number of datagrams forwarded to their final destination - `SnmpIPForwardingEnabled bool` Set when acting as an IP gateway - `SnmpIPFragCreates float64` Number of datagrams generated by fragmentation - `SnmpIPFragFails float64` Number of datagrams discarded because fragmentation failed - `SnmpIPFragOks float64` Number of datagrams successfully fragmented - `SnmpIPInAddrErrors float64` Number of input datagrams discarded due to errors in the IP address - `SnmpIPInDelivers float64` Number of input datagrams successfully delivered to IP user-protocols - `SnmpIPInDiscards float64` Number of input datagrams otherwise discarded - `SnmpIPInHdrErrors float64` Number of input datagrams discarded due to errors in the IP header - `SnmpIPInReceives float64` Number of input datagrams received from interfaces - `SnmpIPInUnknownProtos float64` Number of input datagrams discarded due unknown or unsupported protocol - `SnmpIPOutDiscards float64` Number of output datagrams otherwise discarded - `SnmpIPOutNoRoutes float64` Number of output datagrams discarded because no route matched - `SnmpIPOutRequests float64` Number of datagrams supplied for transmission - `SnmpIPReasmFails float64` Number of failures detected by the reassembly algorithm - `SnmpIPReasmOks float64` Number of datagrams successfully reassembled - `SnmpIPReasmReqds float64` Number of fragments received which needed to be reassembled - `SnmpIPReasmTimeout float64` Number of seconds fragments are held while awaiting reassembly - `SnmpTCPActiveOpens float64` Number of times TCP transitions to SYN-SENT from CLOSED - `SnmpTCPAttemptFails float64` Number of times TCP transitions to CLOSED from SYN-SENT or SYN-RCVD, plus transitions to LISTEN from SYN-RCVD - `SnmpTCPCurrEstab float64` Number of TCP connections in ESTABLISHED or CLOSE-WAIT - `SnmpTCPEstabResets float64` Number of times TCP transitions to CLOSED from ESTABLISHED or CLOSE-WAIT - `SnmpTCPInCsumErrors float64` Number of TCP segments received with checksum errors - `SnmpTCPInErrs float64` Number of TCP segments received in error - `SnmpTCPInSegs float64` Number of TCP segments received - `SnmpTCPMaxConn float64` Limit on the total number of TCP connections - `SnmpTCPOutRsts float64` Number of TCP segments sent with RST flag - `SnmpTCPOutSegs float64` Number of TCP segments sent - `SnmpTCPPassiveOpens float64` Number of times TCP transitions to SYN-RCVD from LISTEN - `SnmpTCPRetransSegs float64` Number of TCP segments retransmitted - `SnmpTCPRtoMax float64` Maximum value permitted by a TCP implementation for the retransmission timeout (milliseconds) - `SnmpTCPRtoMin float64` Minimum value permitted by a TCP implementation for the retransmission timeout (milliseconds) - `SnmpUdpInDatagrams float64` Number of UDP datagrams delivered to UDP applications - `SnmpUdpInErrors float64` Number of UDP datagrams failed to be delivered for reasons other than lack of application at the destination port - `SnmpUdpNoPorts float64` Number of UDP datagrams received for which there was not application at the destination port - `SnmpUdpOutDatagrams float64` Number of UDP datagrams sent - `SystemBootTimeS float64` Boottime of the system (seconds since the Unix epoch) - `Thermals []ConnectorSnapshotGetResponseThermal` - `Label string` Sensor identifier for the component - `CriticalCelcius float64` Critical failure temperature of the component (degrees Celsius) - `CurrentCelcius float64` Current temperature of the component (degrees Celsius) - `MaxCelcius float64` Maximum temperature of the component (degrees Celsius) - `Tunnels []ConnectorSnapshotGetResponseTunnel` - `HealthState string` Name of tunnel health state (unknown, healthy, degraded, down) - `HealthValue float64` Numeric value associated with tunnel state (0 = unknown, 1 = healthy, 2 = degraded, 3 = down) - `InterfaceName string` The tunnel interface name (i.e. xfrm1, xfrm3.99, etc.) - `TunnelID string` Tunnel identifier - `ProbedMtu float64` MTU as measured between the two ends of the tunnel - `RecentHealthyPings float64` Number of recent healthy pings for this tunnel - `RecentUnhealthyPings float64` Number of recent unhealthy pings for this tunnel - `UptimeIdleMs float64` Sum of how much time each core has spent idle - `UptimeTotalMs float64` Uptime of the system, including time spent in suspend ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) snapshot, err := client.MagicTransit.Connectors.Snapshots.Get( context.TODO(), "connector_id", 0.000000, magic_transit.ConnectorSnapshotGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", snapshot.CPUTimeIdleMs) } ``` #### Response ```json { "result": { "count_reclaim_failures": 0, "count_reclaimed_paths": 0, "count_record_failed": 0, "count_transmit_failures": 0, "t": 0, "v": "v", "bonds": [ { "name": "name", "status": "status" } ], "cpu_count": 0, "cpu_pressure_10s": 0, "cpu_pressure_300s": 0, "cpu_pressure_60s": 0, "cpu_pressure_total_us": 0, "cpu_time_guest_ms": 0, "cpu_time_guest_nice_ms": 0, "cpu_time_idle_ms": 0, "cpu_time_iowait_ms": 0, "cpu_time_irq_ms": 0, "cpu_time_nice_ms": 0, "cpu_time_softirq_ms": 0, "cpu_time_steal_ms": 0, "cpu_time_system_ms": 0, "cpu_time_user_ms": 0, "delta": 0, "dhcp_leases": [ { "client_id": "client_id", "expiry_time": 0, "hostname": "hostname", "interface_name": "interface_name", "ip_address": "ip_address", "mac_address": "mac_address" } ], "disks": [ { "in_progress": 0, "major": 0, "merged": 0, "minor": 0, "name": "name", "reads": 0, "sectors_read": 0, "sectors_written": 0, "time_in_progress_ms": 0, "time_reading_ms": 0, "time_writing_ms": 0, "weighted_time_in_progress_ms": 0, "writes": 0, "writes_merged": 0, "discards": 0, "discards_merged": 0, "flushes": 0, "sectors_discarded": 0, "time_discarding_ms": 0, "time_flushing_ms": 0 } ], "epsilon": 0, "ha_state": "ha_state", "ha_value": 0, "interfaces": [ { "name": "name", "operstate": "operstate", "ip_addresses": [ { "interface_name": "interface_name", "ip_address": "ip_address" } ], "speed": 0 } ], "io_pressure_full_10s": 0, "io_pressure_full_300s": 0, "io_pressure_full_60s": 0, "io_pressure_full_total_us": 0, "io_pressure_some_10s": 0, "io_pressure_some_300s": 0, "io_pressure_some_60s": 0, "io_pressure_some_total_us": 0, "kernel_btime": 0, "kernel_ctxt": 0, "kernel_processes": 0, "kernel_processes_blocked": 0, "kernel_processes_running": 0, "load_average_15m": 0, "load_average_1m": 0, "load_average_5m": 0, "load_average_cur": 0, "load_average_max": 0, "memory_active_bytes": 0, "memory_anon_hugepages_bytes": 0, "memory_anon_pages_bytes": 0, "memory_available_bytes": 0, "memory_bounce_bytes": 0, "memory_buffers_bytes": 0, "memory_cached_bytes": 0, "memory_cma_free_bytes": 0, "memory_cma_total_bytes": 0, "memory_commit_limit_bytes": 0, "memory_committed_as_bytes": 0, "memory_dirty_bytes": 0, "memory_free_bytes": 0, "memory_high_free_bytes": 0, "memory_high_total_bytes": 0, "memory_hugepages_free": 0, "memory_hugepages_rsvd": 0, "memory_hugepages_surp": 0, "memory_hugepages_total": 0, "memory_hugepagesize_bytes": 0, "memory_inactive_bytes": 0, "memory_k_reclaimable_bytes": 0, "memory_kernel_stack_bytes": 0, "memory_low_free_bytes": 0, "memory_low_total_bytes": 0, "memory_mapped_bytes": 0, "memory_page_tables_bytes": 0, "memory_per_cpu_bytes": 0, "memory_pressure_full_10s": 0, "memory_pressure_full_300s": 0, "memory_pressure_full_60s": 0, "memory_pressure_full_total_us": 0, "memory_pressure_some_10s": 0, "memory_pressure_some_300s": 0, "memory_pressure_some_60s": 0, "memory_pressure_some_total_us": 0, "memory_s_reclaimable_bytes": 0, "memory_s_unreclaim_bytes": 0, "memory_secondary_page_tables_bytes": 0, "memory_shmem_bytes": 0, "memory_shmem_hugepages_bytes": 0, "memory_shmem_pmd_mapped_bytes": 0, "memory_slab_bytes": 0, "memory_swap_cached_bytes": 0, "memory_swap_free_bytes": 0, "memory_swap_total_bytes": 0, "memory_total_bytes": 0, "memory_vmalloc_chunk_bytes": 0, "memory_vmalloc_total_bytes": 0, "memory_vmalloc_used_bytes": 0, "memory_writeback_bytes": 0, "memory_writeback_tmp_bytes": 0, "memory_z_swap_bytes": 0, "memory_z_swapped_bytes": 0, "mounts": [ { "file_system": "file_system", "kind": "kind", "mount_point": "mount_point", "name": "name", "available_bytes": 0, "is_read_only": true, "is_removable": true, "total_bytes": 0 } ], "netdevs": [ { "name": "name", "recv_bytes": 0, "recv_compressed": 0, "recv_drop": 0, "recv_errs": 0, "recv_fifo": 0, "recv_frame": 0, "recv_multicast": 0, "recv_packets": 0, "sent_bytes": 0, "sent_carrier": 0, "sent_colls": 0, "sent_compressed": 0, "sent_drop": 0, "sent_errs": 0, "sent_fifo": 0, "sent_packets": 0 } ], "snmp_icmp_in_addr_mask_reps": 0, "snmp_icmp_in_addr_masks": 0, "snmp_icmp_in_csum_errors": 0, "snmp_icmp_in_dest_unreachs": 0, "snmp_icmp_in_echo_reps": 0, "snmp_icmp_in_echos": 0, "snmp_icmp_in_errors": 0, "snmp_icmp_in_msgs": 0, "snmp_icmp_in_parm_probs": 0, "snmp_icmp_in_redirects": 0, "snmp_icmp_in_src_quenchs": 0, "snmp_icmp_in_time_excds": 0, "snmp_icmp_in_timestamp_reps": 0, "snmp_icmp_in_timestamps": 0, "snmp_icmp_out_addr_mask_reps": 0, "snmp_icmp_out_addr_masks": 0, "snmp_icmp_out_dest_unreachs": 0, "snmp_icmp_out_echo_reps": 0, "snmp_icmp_out_echos": 0, "snmp_icmp_out_errors": 0, "snmp_icmp_out_msgs": 0, "snmp_icmp_out_parm_probs": 0, "snmp_icmp_out_redirects": 0, "snmp_icmp_out_src_quenchs": 0, "snmp_icmp_out_time_excds": 0, "snmp_icmp_out_timestamp_reps": 0, "snmp_icmp_out_timestamps": 0, "snmp_ip_default_ttl": 0, "snmp_ip_forw_datagrams": 0, "snmp_ip_forwarding_enabled": true, "snmp_ip_frag_creates": 0, "snmp_ip_frag_fails": 0, "snmp_ip_frag_oks": 0, "snmp_ip_in_addr_errors": 0, "snmp_ip_in_delivers": 0, "snmp_ip_in_discards": 0, "snmp_ip_in_hdr_errors": 0, "snmp_ip_in_receives": 0, "snmp_ip_in_unknown_protos": 0, "snmp_ip_out_discards": 0, "snmp_ip_out_no_routes": 0, "snmp_ip_out_requests": 0, "snmp_ip_reasm_fails": 0, "snmp_ip_reasm_oks": 0, "snmp_ip_reasm_reqds": 0, "snmp_ip_reasm_timeout": 0, "snmp_tcp_active_opens": 0, "snmp_tcp_attempt_fails": 0, "snmp_tcp_curr_estab": 0, "snmp_tcp_estab_resets": 0, "snmp_tcp_in_csum_errors": 0, "snmp_tcp_in_errs": 0, "snmp_tcp_in_segs": 0, "snmp_tcp_max_conn": 0, "snmp_tcp_out_rsts": 0, "snmp_tcp_out_segs": 0, "snmp_tcp_passive_opens": 0, "snmp_tcp_retrans_segs": 0, "snmp_tcp_rto_max": 0, "snmp_tcp_rto_min": 0, "snmp_udp_in_datagrams": 0, "snmp_udp_in_errors": 0, "snmp_udp_no_ports": 0, "snmp_udp_out_datagrams": 0, "system_boot_time_s": 0, "thermals": [ { "label": "label", "critical_celcius": 0, "current_celcius": 0, "max_celcius": 0 } ], "tunnels": [ { "health_state": "health_state", "health_value": 0, "interface_name": "interface_name", "tunnel_id": "tunnel_id", "probed_mtu": 0, "recent_healthy_pings": 0, "recent_unhealthy_pings": 0 } ], "uptime_idle_ms": 0, "uptime_total_ms": 0 }, "success": true, "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ] } ``` # Latest ## Get latest Snapshots `client.MagicTransit.Connectors.Snapshots.Latest.List(ctx, connectorID, query) (*ConnectorSnapshotLatestListResponse, error)` **get** `/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/latest` Get latest Snapshots ### Parameters - `connectorID string` - `query ConnectorSnapshotLatestListParams` - `AccountID param.Field[string]` Account identifier ### Returns - `type ConnectorSnapshotLatestListResponse struct{…}` - `Count float64` - `Items []ConnectorSnapshotLatestListResponseItem` - `CountReclaimFailures float64` Count of failures to reclaim space - `CountReclaimedPaths float64` Count of reclaimed paths - `CountRecordFailed float64` Count of failed snapshot recordings - `CountTransmitFailures float64` Count of failed snapshot transmissions - `T float64` Time the Snapshot was recorded (seconds since the Unix epoch) - `V string` Version - `Bonds []ConnectorSnapshotLatestListResponseItemsBond` - `Name string` Name of the network interface - `Status string` Current status of the network interface - `CPUCount float64` Count of processors/cores - `CPUPressure10s float64` Percentage of time over a 10 second window that tasks were stalled - `CPUPressure300s float64` Percentage of time over a 5 minute window that tasks were stalled - `CPUPressure60s float64` Percentage of time over a 1 minute window that tasks were stalled - `CPUPressureTotalUs float64` Total stall time (microseconds) - `CPUTimeGuestMs float64` Time spent running a virtual CPU or guest OS (milliseconds) - `CPUTimeGuestNiceMs float64` Time spent running a niced guest (milliseconds) - `CPUTimeIdleMs float64` Time spent in idle state (milliseconds) - `CPUTimeIowaitMs float64` Time spent wait for I/O to complete (milliseconds) - `CPUTimeIrqMs float64` Time spent servicing interrupts (milliseconds) - `CPUTimeNiceMs float64` Time spent in low-priority user mode (milliseconds) - `CPUTimeSoftirqMs float64` Time spent servicing softirqs (milliseconds) - `CPUTimeStealMs float64` Time stolen (milliseconds) - `CPUTimeSystemMs float64` Time spent in system mode (milliseconds) - `CPUTimeUserMs float64` Time spent in user mode (milliseconds) - `Delta float64` Number of network operations applied during state transition - `DHCPLeases []ConnectorSnapshotLatestListResponseItemsDHCPLease` - `ClientID string` Client ID of the device the IP Address was leased to - `ExpiryTime float64` Expiry time of the DHCP lease (seconds since the Unix epoch) - `Hostname string` Hostname of the device the IP Address was leased to - `InterfaceName string` Name of the network interface - `IPAddress string` IP Address that was leased - `MacAddress string` MAC Address of the device the IP Address was leased to - `Disks []ConnectorSnapshotLatestListResponseItemsDisk` - `InProgress float64` I/Os currently in progress - `Major float64` Device major number - `Merged float64` Reads merged - `Minor float64` Device minor number - `Name string` Device name - `Reads float64` Reads completed successfully - `SectorsRead float64` Sectors read successfully - `SectorsWritten float64` Sectors written successfully - `TimeInProgressMs float64` Time spent doing I/Os (milliseconds) - `TimeReadingMs float64` Time spent reading (milliseconds) - `TimeWritingMs float64` Time spent writing (milliseconds) - `WeightedTimeInProgressMs float64` Weighted time spent doing I/Os (milliseconds) - `Writes float64` Writes completed - `WritesMerged float64` Writes merged - `Discards float64` Discards completed successfully - `DiscardsMerged float64` Discards merged - `Flushes float64` Flushes completed successfully - `SectorsDiscarded float64` Sectors discarded - `TimeDiscardingMs float64` Time spent discarding (milliseconds) - `TimeFlushingMs float64` Time spent flushing (milliseconds) - `Epsilon float64` Simulated number of network operations applied during state transition - `HaState string` Name of high availability state - `HaValue float64` Numeric value associated with high availability state (0 = disabled, 1 = active, 2 = standby, 3 = stopped, 4 = fault) - `Interfaces []ConnectorSnapshotLatestListResponseItemsInterface` - `Name string` Name of the network interface - `Operstate string` UP/DOWN state of the network interface - `IPAddresses []ConnectorSnapshotLatestListResponseItemsInterfacesIPAddress` - `InterfaceName string` Name of the network interface - `IPAddress string` IP address of the network interface - `Speed float64` Speed of the network interface (bits per second) - `IoPressureFull10s float64` Percentage of time over a 10 second window that all tasks were stalled - `IoPressureFull300s float64` Percentage of time over a 5 minute window that all tasks were stalled - `IoPressureFull60s float64` Percentage of time over a 1 minute window that all tasks were stalled - `IoPressureFullTotalUs float64` Total stall time (microseconds) - `IoPressureSome10s float64` Percentage of time over a 10 second window that some tasks were stalled - `IoPressureSome300s float64` Percentage of time over a 3 minute window that some tasks were stalled - `IoPressureSome60s float64` Percentage of time over a 1 minute window that some tasks were stalled - `IoPressureSomeTotalUs float64` Total stall time (microseconds) - `KernelBtime float64` Boot time (seconds since Unix epoch) - `KernelCtxt float64` Number of context switches that the system underwent - `KernelProcesses float64` Number of forks since boot - `KernelProcessesBlocked float64` Number of processes blocked waiting for I/O - `KernelProcessesRunning float64` Number of processes in runnable state - `LoadAverage15m float64` The fifteen-minute load average - `LoadAverage1m float64` The one-minute load average - `LoadAverage5m float64` The five-minute load average - `LoadAverageCur float64` Number of currently runnable kernel scheduling entities - `LoadAverageMax float64` Number of kernel scheduling entities that currently exist on the system - `MemoryActiveBytes float64` Memory that has been used more recently - `MemoryAnonHugepagesBytes float64` Non-file backed huge pages mapped into user-space page tables - `MemoryAnonPagesBytes float64` Non-file backed pages mapped into user-space page tables - `MemoryAvailableBytes float64` Estimate of how much memory is available for starting new applications - `MemoryBounceBytes float64` Memory used for block device bounce buffers - `MemoryBuffersBytes float64` Relatively temporary storage for raw disk blocks - `MemoryCachedBytes float64` In-memory cache for files read from the disk - `MemoryCmaFreeBytes float64` Free CMA (Contiguous Memory Allocator) pages - `MemoryCmaTotalBytes float64` Total CMA (Contiguous Memory Allocator) pages - `MemoryCommitLimitBytes float64` Total amount of memory currently available to be allocated on the system - `MemoryCommittedAsBytes float64` Amount of memory presently allocated on the system - `MemoryDirtyBytes float64` Memory which is waiting to get written back to the disk - `MemoryFreeBytes float64` The sum of LowFree and HighFree - `MemoryHighFreeBytes float64` Amount of free highmem - `MemoryHighTotalBytes float64` Total amount of highmem - `MemoryHugepagesFree float64` The number of huge pages in the pool that are not yet allocated - `MemoryHugepagesRsvd float64` Number of huge pages for which a commitment has been made, but no allocation has yet been made - `MemoryHugepagesSurp float64` Number of huge pages in the pool above the threshold - `MemoryHugepagesTotal float64` The size of the pool of huge pages - `MemoryHugepagesizeBytes float64` The size of huge pages - `MemoryInactiveBytes float64` Memory which has been less recently used - `MemoryKReclaimableBytes float64` Kernel allocations that the kernel will attempt to reclaim under memory pressure - `MemoryKernelStackBytes float64` Amount of memory allocated to kernel stacks - `MemoryLowFreeBytes float64` Amount of free lowmem - `MemoryLowTotalBytes float64` Total amount of lowmem - `MemoryMappedBytes float64` Files which have been mapped into memory - `MemoryPageTablesBytes float64` Amount of memory dedicated to the lowest level of page tables - `MemoryPerCPUBytes float64` Memory allocated to the per-cpu alloctor used to back per-cpu allocations - `MemoryPressureFull10s float64` Percentage of time over a 10 second window that all tasks were stalled - `MemoryPressureFull300s float64` Percentage of time over a 5 minute window that all tasks were stalled - `MemoryPressureFull60s float64` Percentage of time over a 1 minute window that all tasks were stalled - `MemoryPressureFullTotalUs float64` Total stall time (microseconds) - `MemoryPressureSome10s float64` Percentage of time over a 10 second window that some tasks were stalled - `MemoryPressureSome300s float64` Percentage of time over a 5 minute window that some tasks were stalled - `MemoryPressureSome60s float64` Percentage of time over a 1 minute window that some tasks were stalled - `MemoryPressureSomeTotalUs float64` Total stall time (microseconds) - `MemorySReclaimableBytes float64` Part of slab that can be reclaimed on memory pressure - `MemorySUnreclaimBytes float64` Part of slab that cannot be reclaimed on memory pressure - `MemorySecondaryPageTablesBytes float64` Amount of memory dedicated to the lowest level of page tables - `MemoryShmemBytes float64` Amount of memory consumed by tmpfs - `MemoryShmemHugepagesBytes float64` Memory used by shmem and tmpfs, allocated with huge pages - `MemoryShmemPmdMappedBytes float64` Shared memory mapped into user space with huge pages - `MemorySlabBytes float64` In-kernel data structures cache - `MemorySwapCachedBytes float64` Memory swapped out and back in while still in swap file - `MemorySwapFreeBytes float64` Amount of swap space that is currently unused - `MemorySwapTotalBytes float64` Total amount of swap space available - `MemoryTotalBytes float64` Total usable RAM - `MemoryVmallocChunkBytes float64` Largest contiguous block of vmalloc area which is free - `MemoryVmallocTotalBytes float64` Total size of vmalloc memory area - `MemoryVmallocUsedBytes float64` Amount of vmalloc area which is used - `MemoryWritebackBytes float64` Memory which is actively being written back to the disk - `MemoryWritebackTmpBytes float64` Memory used by FUSE for temporary writeback buffers - `MemoryZSwapBytes float64` Memory consumed by the zswap backend, compressed - `MemoryZSwappedBytes float64` Amount of anonymous memory stored in zswap, uncompressed - `Mounts []ConnectorSnapshotLatestListResponseItemsMount` - `FileSystem string` File system on disk (EXT4, NTFS, etc.) - `Kind string` Kind of disk (HDD, SSD, etc.) - `MountPoint string` Path where disk is mounted - `Name string` Name of the disk mount - `AvailableBytes float64` Available disk size (bytes) - `IsReadOnly bool` Determines whether the disk is read-only - `IsRemovable bool` Determines whether the disk is removable - `TotalBytes float64` Total disk size (bytes) - `Netdevs []ConnectorSnapshotLatestListResponseItemsNetdev` - `Name string` Name of the network device - `RecvBytes float64` Total bytes received - `RecvCompressed float64` Compressed packets received - `RecvDrop float64` Packets dropped - `RecvErrs float64` Bad packets received - `RecvFifo float64` FIFO overruns - `RecvFrame float64` Frame alignment errors - `RecvMulticast float64` Multicast packets received - `RecvPackets float64` Total packets received - `SentBytes float64` Total bytes transmitted - `SentCarrier float64` Number of packets not sent due to carrier errors - `SentColls float64` Number of collisions - `SentCompressed float64` Number of compressed packets transmitted - `SentDrop float64` Number of packets dropped during transmission - `SentErrs float64` Number of transmission errors - `SentFifo float64` FIFO overruns - `SentPackets float64` Total packets transmitted - `SnmpIcmpInAddrMaskReps float64` Number of ICMP Address Mask Reply messages received - `SnmpIcmpInAddrMasks float64` Number of ICMP Address Mask Request messages received - `SnmpIcmpInCsumErrors float64` Number of ICMP messages received with bad checksums - `SnmpIcmpInDestUnreachs float64` Number of ICMP Destination Unreachable messages received - `SnmpIcmpInEchoReps float64` Number of ICMP Echo Reply messages received - `SnmpIcmpInEchos float64` Number of ICMP Echo (request) messages received - `SnmpIcmpInErrors float64` Number of ICMP messages received with ICMP-specific errors - `SnmpIcmpInMsgs float64` Number of ICMP messages received - `SnmpIcmpInParmProbs float64` Number of ICMP Parameter Problem messages received - `SnmpIcmpInRedirects float64` Number of ICMP Redirect messages received - `SnmpIcmpInSrcQuenchs float64` Number of ICMP Source Quench messages received - `SnmpIcmpInTimeExcds float64` Number of ICMP Time Exceeded messages received - `SnmpIcmpInTimestampReps float64` Number of ICMP Address Mask Request messages received - `SnmpIcmpInTimestamps float64` Number of ICMP Timestamp (request) messages received - `SnmpIcmpOutAddrMaskReps float64` Number of ICMP Address Mask Reply messages sent - `SnmpIcmpOutAddrMasks float64` Number of ICMP Address Mask Request messages sent - `SnmpIcmpOutDestUnreachs float64` Number of ICMP Destination Unreachable messages sent - `SnmpIcmpOutEchoReps float64` Number of ICMP Echo Reply messages sent - `SnmpIcmpOutEchos float64` Number of ICMP Echo (request) messages sent - `SnmpIcmpOutErrors float64` Number of ICMP messages which this entity did not send due to ICMP-specific errors - `SnmpIcmpOutMsgs float64` Number of ICMP messages attempted to send - `SnmpIcmpOutParmProbs float64` Number of ICMP Parameter Problem messages sent - `SnmpIcmpOutRedirects float64` Number of ICMP Redirect messages sent - `SnmpIcmpOutSrcQuenchs float64` Number of ICMP Source Quench messages sent - `SnmpIcmpOutTimeExcds float64` Number of ICMP Time Exceeded messages sent - `SnmpIcmpOutTimestampReps float64` Number of ICMP Timestamp Reply messages sent - `SnmpIcmpOutTimestamps float64` Number of ICMP Timestamp (request) messages sent - `SnmpIPDefaultTTL float64` Default value of the Time-To-Live field of the IP header - `SnmpIPForwDatagrams float64` Number of datagrams forwarded to their final destination - `SnmpIPForwardingEnabled bool` Set when acting as an IP gateway - `SnmpIPFragCreates float64` Number of datagrams generated by fragmentation - `SnmpIPFragFails float64` Number of datagrams discarded because fragmentation failed - `SnmpIPFragOks float64` Number of datagrams successfully fragmented - `SnmpIPInAddrErrors float64` Number of input datagrams discarded due to errors in the IP address - `SnmpIPInDelivers float64` Number of input datagrams successfully delivered to IP user-protocols - `SnmpIPInDiscards float64` Number of input datagrams otherwise discarded - `SnmpIPInHdrErrors float64` Number of input datagrams discarded due to errors in the IP header - `SnmpIPInReceives float64` Number of input datagrams received from interfaces - `SnmpIPInUnknownProtos float64` Number of input datagrams discarded due unknown or unsupported protocol - `SnmpIPOutDiscards float64` Number of output datagrams otherwise discarded - `SnmpIPOutNoRoutes float64` Number of output datagrams discarded because no route matched - `SnmpIPOutRequests float64` Number of datagrams supplied for transmission - `SnmpIPReasmFails float64` Number of failures detected by the reassembly algorithm - `SnmpIPReasmOks float64` Number of datagrams successfully reassembled - `SnmpIPReasmReqds float64` Number of fragments received which needed to be reassembled - `SnmpIPReasmTimeout float64` Number of seconds fragments are held while awaiting reassembly - `SnmpTCPActiveOpens float64` Number of times TCP transitions to SYN-SENT from CLOSED - `SnmpTCPAttemptFails float64` Number of times TCP transitions to CLOSED from SYN-SENT or SYN-RCVD, plus transitions to LISTEN from SYN-RCVD - `SnmpTCPCurrEstab float64` Number of TCP connections in ESTABLISHED or CLOSE-WAIT - `SnmpTCPEstabResets float64` Number of times TCP transitions to CLOSED from ESTABLISHED or CLOSE-WAIT - `SnmpTCPInCsumErrors float64` Number of TCP segments received with checksum errors - `SnmpTCPInErrs float64` Number of TCP segments received in error - `SnmpTCPInSegs float64` Number of TCP segments received - `SnmpTCPMaxConn float64` Limit on the total number of TCP connections - `SnmpTCPOutRsts float64` Number of TCP segments sent with RST flag - `SnmpTCPOutSegs float64` Number of TCP segments sent - `SnmpTCPPassiveOpens float64` Number of times TCP transitions to SYN-RCVD from LISTEN - `SnmpTCPRetransSegs float64` Number of TCP segments retransmitted - `SnmpTCPRtoMax float64` Maximum value permitted by a TCP implementation for the retransmission timeout (milliseconds) - `SnmpTCPRtoMin float64` Minimum value permitted by a TCP implementation for the retransmission timeout (milliseconds) - `SnmpUdpInDatagrams float64` Number of UDP datagrams delivered to UDP applications - `SnmpUdpInErrors float64` Number of UDP datagrams failed to be delivered for reasons other than lack of application at the destination port - `SnmpUdpNoPorts float64` Number of UDP datagrams received for which there was not application at the destination port - `SnmpUdpOutDatagrams float64` Number of UDP datagrams sent - `SystemBootTimeS float64` Boottime of the system (seconds since the Unix epoch) - `Thermals []ConnectorSnapshotLatestListResponseItemsThermal` - `Label string` Sensor identifier for the component - `CriticalCelcius float64` Critical failure temperature of the component (degrees Celsius) - `CurrentCelcius float64` Current temperature of the component (degrees Celsius) - `MaxCelcius float64` Maximum temperature of the component (degrees Celsius) - `Tunnels []ConnectorSnapshotLatestListResponseItemsTunnel` - `HealthState string` Name of tunnel health state (unknown, healthy, degraded, down) - `HealthValue float64` Numeric value associated with tunnel state (0 = unknown, 1 = healthy, 2 = degraded, 3 = down) - `InterfaceName string` The tunnel interface name (i.e. xfrm1, xfrm3.99, etc.) - `TunnelID string` Tunnel identifier - `ProbedMtu float64` MTU as measured between the two ends of the tunnel - `RecentHealthyPings float64` Number of recent healthy pings for this tunnel - `RecentUnhealthyPings float64` Number of recent unhealthy pings for this tunnel - `UptimeIdleMs float64` Sum of how much time each core has spent idle - `UptimeTotalMs float64` Uptime of the system, including time spent in suspend ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/magic_transit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) latests, err := client.MagicTransit.Connectors.Snapshots.Latest.List( context.TODO(), "connector_id", magic_transit.ConnectorSnapshotLatestListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", latests.Count) } ``` #### Response ```json { "result": { "count": 0, "items": [ { "count_reclaim_failures": 0, "count_reclaimed_paths": 0, "count_record_failed": 0, "count_transmit_failures": 0, "t": 0, "v": "v", "bonds": [ { "name": "name", "status": "status" } ], "cpu_count": 0, "cpu_pressure_10s": 0, "cpu_pressure_300s": 0, "cpu_pressure_60s": 0, "cpu_pressure_total_us": 0, "cpu_time_guest_ms": 0, "cpu_time_guest_nice_ms": 0, "cpu_time_idle_ms": 0, "cpu_time_iowait_ms": 0, "cpu_time_irq_ms": 0, "cpu_time_nice_ms": 0, "cpu_time_softirq_ms": 0, "cpu_time_steal_ms": 0, "cpu_time_system_ms": 0, "cpu_time_user_ms": 0, "delta": 0, "dhcp_leases": [ { "client_id": "client_id", "expiry_time": 0, "hostname": "hostname", "interface_name": "interface_name", "ip_address": "ip_address", "mac_address": "mac_address" } ], "disks": [ { "in_progress": 0, "major": 0, "merged": 0, "minor": 0, "name": "name", "reads": 0, "sectors_read": 0, "sectors_written": 0, "time_in_progress_ms": 0, "time_reading_ms": 0, "time_writing_ms": 0, "weighted_time_in_progress_ms": 0, "writes": 0, "writes_merged": 0, "discards": 0, "discards_merged": 0, "flushes": 0, "sectors_discarded": 0, "time_discarding_ms": 0, "time_flushing_ms": 0 } ], "epsilon": 0, "ha_state": "ha_state", "ha_value": 0, "interfaces": [ { "name": "name", "operstate": "operstate", "ip_addresses": [ { "interface_name": "interface_name", "ip_address": "ip_address" } ], "speed": 0 } ], "io_pressure_full_10s": 0, "io_pressure_full_300s": 0, "io_pressure_full_60s": 0, "io_pressure_full_total_us": 0, "io_pressure_some_10s": 0, "io_pressure_some_300s": 0, "io_pressure_some_60s": 0, "io_pressure_some_total_us": 0, "kernel_btime": 0, "kernel_ctxt": 0, "kernel_processes": 0, "kernel_processes_blocked": 0, "kernel_processes_running": 0, "load_average_15m": 0, "load_average_1m": 0, "load_average_5m": 0, "load_average_cur": 0, "load_average_max": 0, "memory_active_bytes": 0, "memory_anon_hugepages_bytes": 0, "memory_anon_pages_bytes": 0, "memory_available_bytes": 0, "memory_bounce_bytes": 0, "memory_buffers_bytes": 0, "memory_cached_bytes": 0, "memory_cma_free_bytes": 0, "memory_cma_total_bytes": 0, "memory_commit_limit_bytes": 0, "memory_committed_as_bytes": 0, "memory_dirty_bytes": 0, "memory_free_bytes": 0, "memory_high_free_bytes": 0, "memory_high_total_bytes": 0, "memory_hugepages_free": 0, "memory_hugepages_rsvd": 0, "memory_hugepages_surp": 0, "memory_hugepages_total": 0, "memory_hugepagesize_bytes": 0, "memory_inactive_bytes": 0, "memory_k_reclaimable_bytes": 0, "memory_kernel_stack_bytes": 0, "memory_low_free_bytes": 0, "memory_low_total_bytes": 0, "memory_mapped_bytes": 0, "memory_page_tables_bytes": 0, "memory_per_cpu_bytes": 0, "memory_pressure_full_10s": 0, "memory_pressure_full_300s": 0, "memory_pressure_full_60s": 0, "memory_pressure_full_total_us": 0, "memory_pressure_some_10s": 0, "memory_pressure_some_300s": 0, "memory_pressure_some_60s": 0, "memory_pressure_some_total_us": 0, "memory_s_reclaimable_bytes": 0, "memory_s_unreclaim_bytes": 0, "memory_secondary_page_tables_bytes": 0, "memory_shmem_bytes": 0, "memory_shmem_hugepages_bytes": 0, "memory_shmem_pmd_mapped_bytes": 0, "memory_slab_bytes": 0, "memory_swap_cached_bytes": 0, "memory_swap_free_bytes": 0, "memory_swap_total_bytes": 0, "memory_total_bytes": 0, "memory_vmalloc_chunk_bytes": 0, "memory_vmalloc_total_bytes": 0, "memory_vmalloc_used_bytes": 0, "memory_writeback_bytes": 0, "memory_writeback_tmp_bytes": 0, "memory_z_swap_bytes": 0, "memory_z_swapped_bytes": 0, "mounts": [ { "file_system": "file_system", "kind": "kind", "mount_point": "mount_point", "name": "name", "available_bytes": 0, "is_read_only": true, "is_removable": true, "total_bytes": 0 } ], "netdevs": [ { "name": "name", "recv_bytes": 0, "recv_compressed": 0, "recv_drop": 0, "recv_errs": 0, "recv_fifo": 0, "recv_frame": 0, "recv_multicast": 0, "recv_packets": 0, "sent_bytes": 0, "sent_carrier": 0, "sent_colls": 0, "sent_compressed": 0, "sent_drop": 0, "sent_errs": 0, "sent_fifo": 0, "sent_packets": 0 } ], "snmp_icmp_in_addr_mask_reps": 0, "snmp_icmp_in_addr_masks": 0, "snmp_icmp_in_csum_errors": 0, "snmp_icmp_in_dest_unreachs": 0, "snmp_icmp_in_echo_reps": 0, "snmp_icmp_in_echos": 0, "snmp_icmp_in_errors": 0, "snmp_icmp_in_msgs": 0, "snmp_icmp_in_parm_probs": 0, "snmp_icmp_in_redirects": 0, "snmp_icmp_in_src_quenchs": 0, "snmp_icmp_in_time_excds": 0, "snmp_icmp_in_timestamp_reps": 0, "snmp_icmp_in_timestamps": 0, "snmp_icmp_out_addr_mask_reps": 0, "snmp_icmp_out_addr_masks": 0, "snmp_icmp_out_dest_unreachs": 0, "snmp_icmp_out_echo_reps": 0, "snmp_icmp_out_echos": 0, "snmp_icmp_out_errors": 0, "snmp_icmp_out_msgs": 0, "snmp_icmp_out_parm_probs": 0, "snmp_icmp_out_redirects": 0, "snmp_icmp_out_src_quenchs": 0, "snmp_icmp_out_time_excds": 0, "snmp_icmp_out_timestamp_reps": 0, "snmp_icmp_out_timestamps": 0, "snmp_ip_default_ttl": 0, "snmp_ip_forw_datagrams": 0, "snmp_ip_forwarding_enabled": true, "snmp_ip_frag_creates": 0, "snmp_ip_frag_fails": 0, "snmp_ip_frag_oks": 0, "snmp_ip_in_addr_errors": 0, "snmp_ip_in_delivers": 0, "snmp_ip_in_discards": 0, "snmp_ip_in_hdr_errors": 0, "snmp_ip_in_receives": 0, "snmp_ip_in_unknown_protos": 0, "snmp_ip_out_discards": 0, "snmp_ip_out_no_routes": 0, "snmp_ip_out_requests": 0, "snmp_ip_reasm_fails": 0, "snmp_ip_reasm_oks": 0, "snmp_ip_reasm_reqds": 0, "snmp_ip_reasm_timeout": 0, "snmp_tcp_active_opens": 0, "snmp_tcp_attempt_fails": 0, "snmp_tcp_curr_estab": 0, "snmp_tcp_estab_resets": 0, "snmp_tcp_in_csum_errors": 0, "snmp_tcp_in_errs": 0, "snmp_tcp_in_segs": 0, "snmp_tcp_max_conn": 0, "snmp_tcp_out_rsts": 0, "snmp_tcp_out_segs": 0, "snmp_tcp_passive_opens": 0, "snmp_tcp_retrans_segs": 0, "snmp_tcp_rto_max": 0, "snmp_tcp_rto_min": 0, "snmp_udp_in_datagrams": 0, "snmp_udp_in_errors": 0, "snmp_udp_no_ports": 0, "snmp_udp_out_datagrams": 0, "system_boot_time_s": 0, "thermals": [ { "label": "label", "critical_celcius": 0, "current_celcius": 0, "max_celcius": 0 } ], "tunnels": [ { "health_state": "health_state", "health_value": 0, "interface_name": "interface_name", "tunnel_id": "tunnel_id", "probed_mtu": 0, "recent_healthy_pings": 0, "recent_unhealthy_pings": 0 } ], "uptime_idle_ms": 0, "uptime_total_ms": 0 } ] }, "success": true, "errors": [ { "code": 0, "message": "message" } ], "messages": [ { "code": 0, "message": "message" } ] } ```