package metadata

import "github.com/edgexfoundry/go-mod-core-contracts/clients/metadata"

metadata provides clients used for integration with the core-metadata service.

Index

Types

type AddressableClient

type AddressableClient interface {
	// Add creates a new Addressable and returns the ID of the new item if successful.
	Add(ctx context.Context, addr *models.Addressable) (string, error)
	// Addressable returns an Addressable for the specified ID
	Addressable(ctx context.Context, id string) (models.Addressable, error)
	// Addressable returns an Addressable for the specified name
	AddressableForName(ctx context.Context, name string) (models.Addressable, error)
	// Update will update the Addressable data
	Update(ctx context.Context, addr models.Addressable) error
	// Delete will eliminate the Addressable for the specified ID
	Delete(ctx context.Context, id string) error
}

AddressableClient defines the interface for interactions with the Addressable endpoint on core-metadata.

func NewAddressableClient

func NewAddressableClient(urlClient interfaces.URLClient) AddressableClient

NewAddressableClient creates an instance of AddressableClient

type CommandClient

type CommandClient interface {
	// Add a new command
	Add(ctx context.Context, com *models.Command) (string, error)
	// Command obtains the command for the specified ID
	Command(ctx context.Context, id string) (models.Command, error)
	// Commands lists all the commands
	Commands(ctx context.Context) ([]models.Command, error)
	// CommandsForName lists all the commands for the specified name
	CommandsForName(ctx context.Context, name string) ([]models.Command, error)
	// CommandsForDeviceId list all commands for device with specified ID
	CommandsForDeviceId(ctx context.Context, id string) ([]models.Command, error)
	// Delete a command for the specified ID
	Delete(ctx context.Context, id string) error
	// Update a command
	Update(ctx context.Context, com models.Command) error
}

CommandClient defines the interface for interactions with the Command endpoint on core-metadata.

func NewCommandClient

func NewCommandClient(urlClient interfaces.URLClient) CommandClient

NewCommandClient creates an instance of CommandClient

type DeviceClient

type DeviceClient interface {
	// Add creates a new device
	Add(ctx context.Context, dev *models.Device) (string, error)
	// Delete eliminates a device for the specified ID
	Delete(ctx context.Context, id string) error
	// DeleteByName eliminates a device for the specified name
	DeleteByName(ctx context.Context, name string) error
	// CheckForDevice will return a Device if one already exists for the specified device name
	CheckForDevice(ctx context.Context, token string) (models.Device, error)
	// Device loads the device for the specified ID
	Device(ctx context.Context, id string) (models.Device, error)
	// DeviceForName loads the device for the specified name
	DeviceForName(ctx context.Context, name string) (models.Device, error)
	// Devices lists all devices
	Devices(ctx context.Context) ([]models.Device, error)
	// DevicesByLabel lists all devices for the specified label
	DevicesByLabel(ctx context.Context, label string) ([]models.Device, error)
	// DevicesForProfile lists all devices for the specified profile ID
	DevicesForProfile(ctx context.Context, profileid string) ([]models.Device, error)
	// DevicesForProfileByName lists all devices for the specified profile name
	DevicesForProfileByName(ctx context.Context, profileName string) ([]models.Device, error)
	// DevicesForService lists all devices for the specified device service ID
	DevicesForService(ctx context.Context, serviceid string) ([]models.Device, error)
	// DevicesForServiceByName lists all devices for the specified device service name
	DevicesForServiceByName(ctx context.Context, serviceName string) ([]models.Device, error)
	// Update the specified device
	Update(ctx context.Context, dev models.Device) error
	// UpdateAdminState modifies a device's AdminState for the specified device ID
	UpdateAdminState(ctx context.Context, id string, req admin.UpdateRequest) error
	// UpdateAdminStateByName modifies a device's AdminState according to the specified device name
	UpdateAdminStateByName(ctx context.Context, name string, req admin.UpdateRequest) error
	// UpdateLastConnected updates a device's last connected timestamp according to the specified device ID
	UpdateLastConnected(ctx context.Context, id string, time int64) error
	// UpdateLastConnectedByName updates a device's last connected timestamp according to the specified device name
	UpdateLastConnectedByName(ctx context.Context, name string, time int64) error
	// UpdateLastReported updates a device's last reported timestamp according to the specified device ID
	UpdateLastReported(ctx context.Context, id string, time int64) error
	// UpdateLastReportedByName updates a device's last reported timestamp according to the specified device name
	UpdateLastReportedByName(ctx context.Context, name string, time int64) error
	// UpdateOpState updates a device's last OperatingState according to the specified device ID
	UpdateOpState(ctx context.Context, id string, req operating.UpdateRequest) error
	// UpdateOpStateByName updates a device's last OperatingState according to the specified device name
	UpdateOpStateByName(ctx context.Context, name string, req operating.UpdateRequest) error
}

DeviceClient defines the interface for interactions with the Device endpoint on core-metadata.

func NewDeviceClient

func NewDeviceClient(urlClient interfaces.URLClient) DeviceClient

NewDeviceClient creates an instance of DeviceClient

type DeviceProfileClient

type DeviceProfileClient interface {
	// Add a new device profile
	Add(ctx context.Context, dp *models.DeviceProfile) (string, error)
	// Delete eliminates a device profile for the specified ID
	Delete(ctx context.Context, id string) error
	// DeleteByName eliminates a device profile for the specified name
	DeleteByName(ctx context.Context, name string) error
	// DeviceProfile loads the device profile for the specified ID
	DeviceProfile(ctx context.Context, id string) (models.DeviceProfile, error)
	// DeviceProfiles lists all device profiles
	DeviceProfiles(ctx context.Context) ([]models.DeviceProfile, error)
	// DeviceProfileForName loads the device profile for the specified name
	DeviceProfileForName(ctx context.Context, name string) (models.DeviceProfile, error)
	// Update a device profile
	Update(ctx context.Context, dp models.DeviceProfile) error
	// Upload a new device profile using raw YAML content
	Upload(ctx context.Context, yamlString string) (string, error)
	// Upload a new device profile using a file in YAML format
	UploadFile(ctx context.Context, yamlFilePath string) (string, error)
}

DeviceProfileClient defines the interface for interactions with the DeviceProfile endpoint on metadata.

func NewDeviceProfileClient

func NewDeviceProfileClient(urlClient interfaces.URLClient) DeviceProfileClient

Return an instance of DeviceProfileClient

type DeviceServiceClient

type DeviceServiceClient interface {
	// Add a new device service
	Add(ctx context.Context, ds *models.DeviceService) (string, error)
	// DeviceServiceForName loads a device service for the specified name
	DeviceServiceForName(ctx context.Context, name string) (models.DeviceService, error)
	// UpdateLastConnected updates a device service's last connected timestamp for the specified service ID
	UpdateLastConnected(ctx context.Context, id string, time int64) error
	// UpdateLastReported updates a device service's last reported timestamp for the specified service ID
	UpdateLastReported(ctx context.Context, id string, time int64) error
	// Update the specified device service
	Update(ctx context.Context, ds models.DeviceService) error
}

DeviceServiceClient defines the interface for interactions with the DeviceService endpoint on metadata.

func NewDeviceServiceClient

func NewDeviceServiceClient(urlClient interfaces.URLClient) DeviceServiceClient

NewDeviceServiceClient creates an instance of DeviceServiceClient

type ProvisionWatcherClient

type ProvisionWatcherClient interface {
	// Add a new provision watcher
	Add(ctx context.Context, dev *models.ProvisionWatcher) (string, error)
	// Delete a provision watcher for the specified ID
	Delete(ctx context.Context, id string) error
	// ProvisionWatcher loads an instance of a provision watcher for the specified ID
	ProvisionWatcher(ctx context.Context, id string) (models.ProvisionWatcher, error)
	// ProvisionWatcherForName loads an instance of a provision watcher for the specified name
	ProvisionWatcherForName(ctx context.Context, name string) (models.ProvisionWatcher, error)
	// ProvisionWatchers lists all provision watchers.
	ProvisionWatchers(ctx context.Context) ([]models.ProvisionWatcher, error)
	// ProvisionWatchersForService lists all provision watchers associated with the specified device service id
	ProvisionWatchersForService(ctx context.Context, serviceId string) ([]models.ProvisionWatcher, error)
	// ProvisionWatchersForServiceByName lists all provision watchers associated with the specified device service name
	ProvisionWatchersForServiceByName(ctx context.Context, serviceName string) ([]models.ProvisionWatcher, error)
	// ProvisionWatchersForProfile lists all provision watchers associated with the specified device profile ID
	ProvisionWatchersForProfile(ctx context.Context, profileID string) ([]models.ProvisionWatcher, error)
	// ProvisionWatchersForProfileByName lists all provision watchers associated with the specified device profile name
	ProvisionWatchersForProfileByName(ctx context.Context, profileName string) ([]models.ProvisionWatcher, error)
	// Update the provision watcher
	Update(ctx context.Context, dev models.ProvisionWatcher) error
}

ProvisionWatcherClient defines the interface for interactions with the ProvisionWatcher endpoint on metadata.

func NewProvisionWatcherClient

func NewProvisionWatcherClient(urlClient interfaces.URLClient) ProvisionWatcherClient

NewProvisionWatcherClient creates an instance of ProvisionWatcherClient

Source Files

addressable.go command.go device.go device_profile.go device_service.go provision_watcher.go

Version
v0.1.149 (latest)
Published
Jan 19, 2021
Platform
linux/amd64
Imports
9 packages
Last checked
5 days ago

Tools for package owners.