Documentation
¶
Index ¶
- Variables
- type Destination
- type DeviceProfile
- type EventConfigDoc
- type ExportedServiceProfile
- type ExportedWirelessDevice
- type FuotaTask
- type GatewayTask
- type GatewayTaskDefinition
- type Handler
- func (h *Handler) ChaosOperations() []string
- func (h *Handler) ChaosRegions() []string
- func (h *Handler) ChaosServiceName() string
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(c *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) Reset()
- func (h *Handler) Restore(ctx context.Context, data []byte) error
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) Snapshot(ctx context.Context) []byte
- type InMemoryBackend
- func (b *InMemoryBackend) AddDestinationInternal(accountID, region string, dest *Destination)
- func (b *InMemoryBackend) AddDeviceProfileInternal(accountID, region string, dp *DeviceProfile)
- func (b *InMemoryBackend) AddFuotaTaskInternal(accountID, region string, ft *FuotaTask)
- func (b *InMemoryBackend) AddServiceProfileInternal(accountID, region string, sp *ServiceProfile)
- func (b *InMemoryBackend) AddWirelessDeviceInternal(accountID, region string, d *WirelessDevice)
- func (b *InMemoryBackend) AddWirelessGatewayInternal(accountID, region string, gw *WirelessGateway)
- func (b *InMemoryBackend) AssociateAwsAccountWithPartnerAccount(accountID, region, partnerAccountID string, tags map[string]string) (string, error)
- func (b *InMemoryBackend) AssociateMulticastGroupWithFuotaTask(fuotaTaskID, multicastGroupID string) error
- func (b *InMemoryBackend) AssociateWirelessDeviceWithFuotaTask(fuotaTaskID, wirelessDeviceID string) error
- func (b *InMemoryBackend) AssociateWirelessDeviceWithMulticastGroup(multicastGroupID, wirelessDeviceID string) error
- func (b *InMemoryBackend) AssociateWirelessDeviceWithThing(accountID, region, wirelessDeviceID, thingArn string) error
- func (b *InMemoryBackend) AssociateWirelessGatewayWithCertificate(accountID, region, gatewayID, iotCertificateID string) (string, error)
- func (b *InMemoryBackend) AssociateWirelessGatewayWithThing(accountID, region, gatewayID, thingArn string) error
- func (b *InMemoryBackend) CancelMulticastGroupSession(multicastGroupID string) error
- func (b *InMemoryBackend) CreateDestination(...) (*Destination, error)
- func (b *InMemoryBackend) CreateDeviceProfile(accountID, region, name string, tags map[string]string) (*DeviceProfile, error)
- func (b *InMemoryBackend) CreateFuotaTask(...) (*FuotaTask, error)
- func (b *InMemoryBackend) CreateMulticastGroup(accountID, region, name, description string, tags map[string]string) (*MulticastGroup, error)
- func (b *InMemoryBackend) CreateNetworkAnalyzerConfig(accountID, region, name, description string, ...) (*NetworkAnalyzerConfig, error)
- func (b *InMemoryBackend) CreateServiceProfile(accountID, region, name string, tags map[string]string) (*ServiceProfile, error)
- func (b *InMemoryBackend) CreateWirelessDevice(accountID, region, name, devType, destinationName, description string, ...) (*WirelessDevice, error)
- func (b *InMemoryBackend) CreateWirelessGateway(accountID, region, name, description string, tags map[string]string) (*WirelessGateway, error)
- func (b *InMemoryBackend) CreateWirelessGatewayTask(gatewayID, taskDefID string) (*GatewayTask, error)
- func (b *InMemoryBackend) CreateWirelessGatewayTaskDefinition(accountID, region, name string, autoCreateTasks bool) (*GatewayTaskDefinition, error)
- func (b *InMemoryBackend) DeleteDestination(accountID, region, name string) error
- func (b *InMemoryBackend) DeleteDeviceProfile(accountID, region, id string) error
- func (b *InMemoryBackend) DeleteFuotaTask(accountID, region, id string) error
- func (b *InMemoryBackend) DeleteMulticastGroup(accountID, region, id string) error
- func (b *InMemoryBackend) DeleteNetworkAnalyzerConfig(accountID, region, name string) error
- func (b *InMemoryBackend) DeleteQueuedMessages(wirelessDeviceID string) error
- func (b *InMemoryBackend) DeleteServiceProfile(accountID, region, id string) error
- func (b *InMemoryBackend) DeleteWirelessDevice(accountID, region, id string) error
- func (b *InMemoryBackend) DeleteWirelessDeviceImportTask(id string) error
- func (b *InMemoryBackend) DeleteWirelessGateway(accountID, region, id string) error
- func (b *InMemoryBackend) DeleteWirelessGatewayTask(gatewayID string) error
- func (b *InMemoryBackend) DeleteWirelessGatewayTaskDefinition(id string) error
- func (b *InMemoryBackend) DisassociateAwsAccountFromPartnerAccount(partnerAccountID string) error
- func (b *InMemoryBackend) DisassociateMulticastGroupFromFuotaTask(fuotaTaskID string) error
- func (b *InMemoryBackend) DisassociateWirelessDeviceFromFuotaTask(fuotaTaskID string) error
- func (b *InMemoryBackend) DisassociateWirelessDeviceFromMulticastGroup(multicastGroupID string) error
- func (b *InMemoryBackend) DisassociateWirelessDeviceFromThing(accountID, region, wirelessDeviceID string) error
- func (b *InMemoryBackend) DisassociateWirelessGatewayFromCertificate(accountID, region, gatewayID string) error
- func (b *InMemoryBackend) DisassociateWirelessGatewayFromThing(accountID, region, gatewayID string) error
- func (b *InMemoryBackend) EnqueueMessage(wirelessDeviceID string, msg QueuedMessage)
- func (b *InMemoryBackend) GetDestination(accountID, region, name string) (*Destination, error)
- func (b *InMemoryBackend) GetDeviceProfile(accountID, region, id string) (*DeviceProfile, error)
- func (b *InMemoryBackend) GetEventConfigurationByResourceTypes() *EventConfigDoc
- func (b *InMemoryBackend) GetFuotaTask(accountID, region, id string) (*FuotaTask, error)
- func (b *InMemoryBackend) GetLogLevelsByResourceTypes() string
- func (b *InMemoryBackend) GetMetricConfigurationStatus() string
- func (b *InMemoryBackend) GetMulticastGroup(accountID, region, id string) (*MulticastGroup, error)
- func (b *InMemoryBackend) GetMulticastGroupSession(multicastGroupID string) (time.Time, error)
- func (b *InMemoryBackend) GetNetworkAnalyzerConfig(accountID, region, name string) (*NetworkAnalyzerConfig, error)
- func (b *InMemoryBackend) GetPartnerAccount(partnerAccountID string) (string, error)
- func (b *InMemoryBackend) GetPosition(resourceID string) map[string]any
- func (b *InMemoryBackend) GetPositionConfiguration(resourceID string) (*PositionConfigEntry, bool)
- func (b *InMemoryBackend) GetResourceEventConfiguration(identifier string) (*ResourceEventConfigEntry, bool)
- func (b *InMemoryBackend) GetResourceLogLevel(resourceID string) string
- func (b *InMemoryBackend) GetServiceProfile(accountID, region, id string) (*ServiceProfile, error)
- func (b *InMemoryBackend) GetWirelessDevice(accountID, region, id string) (*WirelessDevice, error)
- func (b *InMemoryBackend) GetWirelessDeviceImportTask(id string) (*WirelessDeviceImportTask, error)
- func (b *InMemoryBackend) GetWirelessDeviceThingArn(wirelessDeviceID string) string
- func (b *InMemoryBackend) GetWirelessGateway(accountID, region, id string) (*WirelessGateway, error)
- func (b *InMemoryBackend) GetWirelessGatewayCertificate(accountID, region, gatewayID string) (string, error)
- func (b *InMemoryBackend) GetWirelessGatewayTask(gatewayID string) (*GatewayTask, error)
- func (b *InMemoryBackend) GetWirelessGatewayTaskDefinition(id string) (*GatewayTaskDefinition, error)
- func (b *InMemoryBackend) GetWirelessGatewayThingArn(gatewayID string) string
- func (b *InMemoryBackend) ListDestinations(accountID, region string) []*Destination
- func (b *InMemoryBackend) ListDeviceProfiles(accountID, region string) []*DeviceProfile
- func (b *InMemoryBackend) ListEventConfigurations(resourceType string) []*ResourceEventConfigEntry
- func (b *InMemoryBackend) ListFuotaTasks(accountID, region string) []*FuotaTask
- func (b *InMemoryBackend) ListMulticastGroups(accountID, region string) []*MulticastGroup
- func (b *InMemoryBackend) ListMulticastGroupsByFuotaTask(accountID, region, fuotaTaskID string) []*MulticastGroup
- func (b *InMemoryBackend) ListNetworkAnalyzerConfigs(accountID, region string) []*NetworkAnalyzerConfig
- func (b *InMemoryBackend) ListPartnerAccounts() map[string]string
- func (b *InMemoryBackend) ListPositionConfigurations(resourceType string) []*PositionConfigEntry
- func (b *InMemoryBackend) ListQueuedMessages(wirelessDeviceID string) []QueuedMessage
- func (b *InMemoryBackend) ListServiceProfiles(accountID, region string) []*ServiceProfile
- func (b *InMemoryBackend) ListTagsForResource(arn string) (map[string]string, error)
- func (b *InMemoryBackend) ListWirelessDeviceImportTasks() []*WirelessDeviceImportTask
- func (b *InMemoryBackend) ListWirelessDevices(accountID, region string) []*WirelessDevice
- func (b *InMemoryBackend) ListWirelessGatewayTaskDefinitions() []*GatewayTaskDefinition
- func (b *InMemoryBackend) ListWirelessGateways(accountID, region string) []*WirelessGateway
- func (b *InMemoryBackend) PutPositionConfiguration(resourceID, resourceType, destination string, solvers map[string]any) error
- func (b *InMemoryBackend) PutResourceLogLevel(resourceID, logLevel string) error
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) ResetAllResourceLogLevels() error
- func (b *InMemoryBackend) ResetResourceLogLevel(resourceID string) error
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) StartFuotaTask(accountID, region, id string) error
- func (b *InMemoryBackend) StartMulticastGroupSession(multicastGroupID string) error
- func (b *InMemoryBackend) StartSingleWirelessDeviceImportTask(accountID, region, destinationName string) (*SingleWirelessDeviceImportTask, error)
- func (b *InMemoryBackend) StartWirelessDeviceImportTask(accountID, region, destinationName string) (*WirelessDeviceImportTask, error)
- func (b *InMemoryBackend) TagResource(arn string, tags map[string]string) error
- func (b *InMemoryBackend) UntagResource(arn string, tagKeys []string) error
- func (b *InMemoryBackend) UpdateDestination(...) error
- func (b *InMemoryBackend) UpdateEventConfigurationByResourceTypes(doc *EventConfigDoc)
- func (b *InMemoryBackend) UpdateFuotaTask(accountID, region, id, name, description string) error
- func (b *InMemoryBackend) UpdateLogLevelsByResourceTypes(defaultLogLevel string) error
- func (b *InMemoryBackend) UpdateMetricConfigurationStatus(status string) error
- func (b *InMemoryBackend) UpdateMulticastGroup(accountID, region, id, name, description string) error
- func (b *InMemoryBackend) UpdateNetworkAnalyzerConfig(accountID, region, name, description string, ...) error
- func (b *InMemoryBackend) UpdatePosition(resourceID string, position map[string]any) error
- func (b *InMemoryBackend) UpdateResourceEventConfiguration(identifier, identifierType, partnerType string, doc *EventConfigDoc)
- func (b *InMemoryBackend) UpdateWirelessDevice(accountID, region, id, name, description, destinationName string) error
- func (b *InMemoryBackend) UpdateWirelessDeviceImportTask(id, destinationName string) error
- func (b *InMemoryBackend) UpdateWirelessGateway(accountID, region, id, name, description string) error
- type MulticastGroup
- type NetworkAnalyzerConfig
- type PositionConfigEntry
- type Provider
- type QueuedMessage
- type Resettable
- type ResourceEventConfigEntry
- type ServiceProfile
- type SingleWirelessDeviceImportTask
- type Snapshottable
- type StorageBackend
- type WirelessDevice
- type WirelessDeviceImportTask
- type WirelessGateway
Constants ¶
This section is empty.
Variables ¶
var ( // ErrDeviceNotFound is returned when a wireless device does not exist. ErrDeviceNotFound = errors.New("ResourceNotFoundException: Wireless device not found") // ErrGatewayNotFound is returned when a wireless gateway does not exist. ErrGatewayNotFound = errors.New("ResourceNotFoundException: Wireless gateway not found") // ErrServiceProfileNotFound is returned when a service profile does not exist. ErrServiceProfileNotFound = errors.New("ResourceNotFoundException: Service profile not found") // ErrDestinationNotFound is returned when a destination does not exist. ErrDestinationNotFound = errors.New("ResourceNotFoundException: Destination not found") // ErrDeviceProfileNotFound is returned when a device profile does not exist. ErrDeviceProfileNotFound = errors.New("ResourceNotFoundException: Device profile not found") // ErrFuotaTaskNotFound is returned when a FUOTA task does not exist. ErrFuotaTaskNotFound = errors.New("ResourceNotFoundException: FUOTA task not found") // ErrMulticastGroupNotFound is returned when a multicast group does not exist. ErrMulticastGroupNotFound = errors.New("ResourceNotFoundException: Multicast group not found") // ErrNetworkAnalyzerConfigNotFound is returned when a network analyzer configuration does not exist. ErrNetworkAnalyzerConfigNotFound = errors.New("ResourceNotFoundException: Network analyzer configuration not found") // ErrValidation is returned when a request contains invalid parameters. ErrValidation = errors.New("ValidationException: invalid request parameters") )
Sentinel errors for IoT Wireless backend operations.
var ( // ErrPartnerAccountNotFound is returned when a partner account does not exist. ErrPartnerAccountNotFound = errors.New("ResourceNotFoundException: Partner account not found") // ErrImportTaskNotFound is returned when a wireless device import task does not exist. ErrImportTaskNotFound = errors.New("ResourceNotFoundException: Wireless device import task not found") // ErrGatewayTaskNotFound is returned when a wireless gateway task does not exist. ErrGatewayTaskNotFound = errors.New( "ResourceNotFoundException: Wireless gateway task not found", ) // ErrGatewayTaskDefNotFound is returned when a wireless gateway task definition does not exist. ErrGatewayTaskDefNotFound = errors.New( "ResourceNotFoundException: Wireless gateway task definition not found", ) // ErrMulticastGroupSessionNotFound is returned when a multicast group has no active session. ErrMulticastGroupSessionNotFound = errors.New( "ResourceNotFoundException: Multicast group session not found", ) )
Sentinel errors for new backend operations.
var ErrNilAppContext = errors.New("iotwireless: nil AppContext")
ErrNilAppContext is returned by Init when a nil AppContext is provided.
Functions ¶
This section is empty.
Types ¶
type Destination ¶
type Destination struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ARN string `json:"arn"`
Expression string `json:"expression,omitempty"`
ExpressionType string `json:"expressionType,omitempty"`
RoleArn string `json:"roleArn,omitempty"`
Description string `json:"description,omitempty"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
}
Destination routes messages from a device to AWS services.
type DeviceProfile ¶
type DeviceProfile struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ID string `json:"id"`
ARN string `json:"arn"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
}
DeviceProfile contains LoRaWAN device profile settings.
type EventConfigDoc ¶
type EventConfigDoc struct {
ConnectionStatus map[string]any `json:"ConnectionStatus,omitempty"`
DeviceRegistrationState map[string]any `json:"DeviceRegistrationState,omitempty"`
Join map[string]any `json:"Join,omitempty"`
MessageDeliveryStatus map[string]any `json:"MessageDeliveryStatus,omitempty"`
Proximity map[string]any `json:"Proximity,omitempty"`
}
EventConfigDoc is an event-notification configuration document keyed by AWS's five event-type fields. Each value is stored and echoed back exactly as submitted by the client (real mutate/read state, not fabricated).
type ExportedServiceProfile ¶
type ExportedServiceProfile = ServiceProfile
ExportedServiceProfile is a compatibility alias used by the dashboard package.
type ExportedWirelessDevice ¶
type ExportedWirelessDevice = WirelessDevice
ExportedWirelessDevice is a compatibility alias used by the dashboard package.
type FuotaTask ¶
type FuotaTask struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ID string `json:"id"`
ARN string `json:"arn"`
Description string `json:"description,omitempty"`
FirmwareUpdateImage string `json:"firmwareUpdateImage,omitempty"`
FirmwareUpdateRole string `json:"firmwareUpdateRole,omitempty"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
}
FuotaTask represents a Firmware Update Over the Air (FUOTA) task.
type GatewayTask ¶
GatewayTask represents a wireless gateway task.
type GatewayTaskDefinition ¶
GatewayTaskDefinition represents a wireless gateway task definition.
type Handler ¶
type Handler struct {
Backend StorageBackend
AccountID string
DefaultRegion string
}
Handler is the HTTP handler for the IoT Wireless REST API.
func NewHandler ¶
func NewHandler(backend StorageBackend) *Handler
NewHandler creates a new IoT Wireless handler.
func (*Handler) ChaosOperations ¶
ChaosOperations returns all operations that can be fault-injected.
func (*Handler) ChaosRegions ¶
ChaosRegions returns all regions this IoT Wireless instance handles.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase AWS service name for fault rule matching.
func (*Handler) ExtractOperation ¶
ExtractOperation extracts the IoT Wireless operation name from the request.
func (*Handler) ExtractResource ¶
ExtractResource extracts the resource ID from the URL path. Tag operations are the one exception: their resource ARN travels as the "resourceArn" query parameter rather than a path segment (see parseIoTWirelessPath's "tags" case), so it's read from the query here for CloudTrail capture.
func (*Handler) GetSupportedOperations ¶
GetSupportedOperations returns the list of supported IoT Wireless operations.
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
Handler returns the Echo handler function for IoT Wireless requests.
func (*Handler) MatchPriority ¶
MatchPriority returns the routing priority.
func (*Handler) Reset ¶
func (h *Handler) Reset()
Reset clears the handler's backend state, returning it to a pristine condition.
func (*Handler) Restore ¶
Restore implements persistence.Persistable by delegating to the backend when it implements Snapshottable. Non-snapshottable backends are skipped.
func (*Handler) RouteMatcher ¶
RouteMatcher returns a function that matches IoT Wireless REST API requests. All paths are disambiguated via the SigV4 credential-scope service name to prevent mis-routing with other REST-JSON services that share similar paths.
type InMemoryBackend ¶
type InMemoryBackend struct {
// contains filtered or unexported fields
}
InMemoryBackend is the in-memory backend for IoT Wireless.
func NewInMemoryBackend ¶
func NewInMemoryBackend() *InMemoryBackend
NewInMemoryBackend creates a new in-memory IoT Wireless backend.
func (*InMemoryBackend) AddDestinationInternal ¶
func (b *InMemoryBackend) AddDestinationInternal(accountID, region string, dest *Destination)
AddDestinationInternal inserts a Destination directly into the backend, bypassing ID generation. Intended for test setup only.
func (*InMemoryBackend) AddDeviceProfileInternal ¶
func (b *InMemoryBackend) AddDeviceProfileInternal(accountID, region string, dp *DeviceProfile)
AddDeviceProfileInternal inserts a DeviceProfile directly into the backend, bypassing ID generation. Intended for test setup only.
func (*InMemoryBackend) AddFuotaTaskInternal ¶
func (b *InMemoryBackend) AddFuotaTaskInternal(accountID, region string, ft *FuotaTask)
AddFuotaTaskInternal inserts a FuotaTask directly into the backend, bypassing ID generation. Intended for test setup only.
func (*InMemoryBackend) AddServiceProfileInternal ¶
func (b *InMemoryBackend) AddServiceProfileInternal(accountID, region string, sp *ServiceProfile)
AddServiceProfileInternal inserts a ServiceProfile directly into the backend, bypassing ID generation. Intended for test setup only.
func (*InMemoryBackend) AddWirelessDeviceInternal ¶
func (b *InMemoryBackend) AddWirelessDeviceInternal(accountID, region string, d *WirelessDevice)
AddWirelessDeviceInternal inserts a WirelessDevice directly into the backend, bypassing ID generation. Intended for test setup only.
func (*InMemoryBackend) AddWirelessGatewayInternal ¶
func (b *InMemoryBackend) AddWirelessGatewayInternal(accountID, region string, gw *WirelessGateway)
AddWirelessGatewayInternal inserts a WirelessGateway directly into the backend, bypassing ID generation. Intended for test setup only.
func (*InMemoryBackend) AssociateAwsAccountWithPartnerAccount ¶
func (b *InMemoryBackend) AssociateAwsAccountWithPartnerAccount( accountID, region, partnerAccountID string, tags map[string]string, ) (string, error)
AssociateAwsAccountWithPartnerAccount stores a partner account association and returns its ARN.
func (*InMemoryBackend) AssociateMulticastGroupWithFuotaTask ¶
func (b *InMemoryBackend) AssociateMulticastGroupWithFuotaTask(fuotaTaskID, multicastGroupID string) error
AssociateMulticastGroupWithFuotaTask records the association of a multicast group with a FUOTA task.
func (*InMemoryBackend) AssociateWirelessDeviceWithFuotaTask ¶
func (b *InMemoryBackend) AssociateWirelessDeviceWithFuotaTask(fuotaTaskID, wirelessDeviceID string) error
AssociateWirelessDeviceWithFuotaTask records the association of a wireless device with a FUOTA task.
func (*InMemoryBackend) AssociateWirelessDeviceWithMulticastGroup ¶
func (b *InMemoryBackend) AssociateWirelessDeviceWithMulticastGroup(multicastGroupID, wirelessDeviceID string) error
AssociateWirelessDeviceWithMulticastGroup records the association of a wireless device with a multicast group.
func (*InMemoryBackend) AssociateWirelessDeviceWithThing ¶
func (b *InMemoryBackend) AssociateWirelessDeviceWithThing( accountID, region, wirelessDeviceID, thingArn string, ) error
AssociateWirelessDeviceWithThing associates a wireless device with an IoT Thing. Returns ErrDeviceNotFound when the device does not exist.
func (*InMemoryBackend) AssociateWirelessGatewayWithCertificate ¶
func (b *InMemoryBackend) AssociateWirelessGatewayWithCertificate( accountID, region, gatewayID, iotCertificateID string, ) (string, error)
AssociateWirelessGatewayWithCertificate associates a wireless gateway with an IoT certificate and returns the certificate ARN. Returns ErrGatewayNotFound when the gateway does not exist.
func (*InMemoryBackend) AssociateWirelessGatewayWithThing ¶
func (b *InMemoryBackend) AssociateWirelessGatewayWithThing( accountID, region, gatewayID, thingArn string, ) error
AssociateWirelessGatewayWithThing associates a wireless gateway with an IoT Thing. Returns ErrGatewayNotFound when the gateway does not exist.
func (*InMemoryBackend) CancelMulticastGroupSession ¶
func (b *InMemoryBackend) CancelMulticastGroupSession(multicastGroupID string) error
CancelMulticastGroupSession marks the multicast group session as cancelled. If no session is active, the call is a no-op (idempotent).
func (*InMemoryBackend) CreateDestination ¶
func (b *InMemoryBackend) CreateDestination( accountID, region, name, expression, expressionType, roleArn, description string, tags map[string]string, ) (*Destination, error)
CreateDestination creates a new destination.
func (*InMemoryBackend) CreateDeviceProfile ¶
func (b *InMemoryBackend) CreateDeviceProfile( accountID, region, name string, tags map[string]string, ) (*DeviceProfile, error)
CreateDeviceProfile creates a new device profile.
func (*InMemoryBackend) CreateFuotaTask ¶
func (b *InMemoryBackend) CreateFuotaTask( accountID, region, name, description, firmwareUpdateImage, firmwareUpdateRole string, tags map[string]string, ) (*FuotaTask, error)
CreateFuotaTask creates a new FUOTA task.
func (*InMemoryBackend) CreateMulticastGroup ¶
func (b *InMemoryBackend) CreateMulticastGroup( accountID, region, name, description string, tags map[string]string, ) (*MulticastGroup, error)
CreateMulticastGroup creates a new multicast group.
func (*InMemoryBackend) CreateNetworkAnalyzerConfig ¶
func (b *InMemoryBackend) CreateNetworkAnalyzerConfig( accountID, region, name, description string, wirelessDevices, wirelessGateways []string, tags map[string]string, ) (*NetworkAnalyzerConfig, error)
CreateNetworkAnalyzerConfig creates a new network analyzer configuration.
func (*InMemoryBackend) CreateServiceProfile ¶
func (b *InMemoryBackend) CreateServiceProfile( accountID, region, name string, tags map[string]string, ) (*ServiceProfile, error)
CreateServiceProfile creates a new service profile.
func (*InMemoryBackend) CreateWirelessDevice ¶
func (b *InMemoryBackend) CreateWirelessDevice( accountID, region, name, devType, destinationName, description string, tags map[string]string, ) (*WirelessDevice, error)
CreateWirelessDevice creates a new wireless device.
func (*InMemoryBackend) CreateWirelessGateway ¶
func (b *InMemoryBackend) CreateWirelessGateway( accountID, region, name, description string, tags map[string]string, ) (*WirelessGateway, error)
CreateWirelessGateway creates a new wireless gateway.
func (*InMemoryBackend) CreateWirelessGatewayTask ¶
func (b *InMemoryBackend) CreateWirelessGatewayTask( gatewayID, taskDefID string, ) (*GatewayTask, error)
CreateWirelessGatewayTask creates a task for a wireless gateway.
func (*InMemoryBackend) CreateWirelessGatewayTaskDefinition ¶
func (b *InMemoryBackend) CreateWirelessGatewayTaskDefinition( accountID, region, name string, autoCreateTasks bool, ) (*GatewayTaskDefinition, error)
CreateWirelessGatewayTaskDefinition creates a new gateway task definition.
func (*InMemoryBackend) DeleteDestination ¶
func (b *InMemoryBackend) DeleteDestination(accountID, region, name string) error
DeleteDestination deletes a destination by name.
func (*InMemoryBackend) DeleteDeviceProfile ¶
func (b *InMemoryBackend) DeleteDeviceProfile(accountID, region, id string) error
DeleteDeviceProfile deletes a device profile by ID.
func (*InMemoryBackend) DeleteFuotaTask ¶
func (b *InMemoryBackend) DeleteFuotaTask(accountID, region, id string) error
DeleteFuotaTask deletes a FUOTA task by ID.
func (*InMemoryBackend) DeleteMulticastGroup ¶
func (b *InMemoryBackend) DeleteMulticastGroup(accountID, region, id string) error
DeleteMulticastGroup deletes a multicast group by ID.
func (*InMemoryBackend) DeleteNetworkAnalyzerConfig ¶
func (b *InMemoryBackend) DeleteNetworkAnalyzerConfig(accountID, region, name string) error
DeleteNetworkAnalyzerConfig deletes a network analyzer configuration by name.
func (*InMemoryBackend) DeleteQueuedMessages ¶
func (b *InMemoryBackend) DeleteQueuedMessages(wirelessDeviceID string) error
DeleteQueuedMessages clears the message queue for a wireless device.
func (*InMemoryBackend) DeleteServiceProfile ¶
func (b *InMemoryBackend) DeleteServiceProfile(accountID, region, id string) error
DeleteServiceProfile deletes a service profile.
func (*InMemoryBackend) DeleteWirelessDevice ¶
func (b *InMemoryBackend) DeleteWirelessDevice(accountID, region, id string) error
DeleteWirelessDevice deletes a wireless device.
func (*InMemoryBackend) DeleteWirelessDeviceImportTask ¶
func (b *InMemoryBackend) DeleteWirelessDeviceImportTask(id string) error
DeleteWirelessDeviceImportTask removes a wireless device import task.
func (*InMemoryBackend) DeleteWirelessGateway ¶
func (b *InMemoryBackend) DeleteWirelessGateway(accountID, region, id string) error
DeleteWirelessGateway deletes a wireless gateway.
func (*InMemoryBackend) DeleteWirelessGatewayTask ¶
func (b *InMemoryBackend) DeleteWirelessGatewayTask(gatewayID string) error
DeleteWirelessGatewayTask removes the task for a wireless gateway.
func (*InMemoryBackend) DeleteWirelessGatewayTaskDefinition ¶
func (b *InMemoryBackend) DeleteWirelessGatewayTaskDefinition(id string) error
DeleteWirelessGatewayTaskDefinition removes a gateway task definition.
func (*InMemoryBackend) DisassociateAwsAccountFromPartnerAccount ¶
func (b *InMemoryBackend) DisassociateAwsAccountFromPartnerAccount(partnerAccountID string) error
DisassociateAwsAccountFromPartnerAccount removes a partner account association.
func (*InMemoryBackend) DisassociateMulticastGroupFromFuotaTask ¶
func (b *InMemoryBackend) DisassociateMulticastGroupFromFuotaTask(fuotaTaskID string) error
DisassociateMulticastGroupFromFuotaTask removes the association of a multicast group from a FUOTA task.
func (*InMemoryBackend) DisassociateWirelessDeviceFromFuotaTask ¶
func (b *InMemoryBackend) DisassociateWirelessDeviceFromFuotaTask(fuotaTaskID string) error
DisassociateWirelessDeviceFromFuotaTask removes the association of a wireless device from a FUOTA task.
func (*InMemoryBackend) DisassociateWirelessDeviceFromMulticastGroup ¶
func (b *InMemoryBackend) DisassociateWirelessDeviceFromMulticastGroup( multicastGroupID string, ) error
DisassociateWirelessDeviceFromMulticastGroup removes a device from a multicast group.
func (*InMemoryBackend) DisassociateWirelessDeviceFromThing ¶
func (b *InMemoryBackend) DisassociateWirelessDeviceFromThing( accountID, region, wirelessDeviceID string, ) error
DisassociateWirelessDeviceFromThing clears the thing association for a wireless device.
func (*InMemoryBackend) DisassociateWirelessGatewayFromCertificate ¶
func (b *InMemoryBackend) DisassociateWirelessGatewayFromCertificate( accountID, region, gatewayID string, ) error
DisassociateWirelessGatewayFromCertificate clears the certificate association for a gateway.
func (*InMemoryBackend) DisassociateWirelessGatewayFromThing ¶
func (b *InMemoryBackend) DisassociateWirelessGatewayFromThing( accountID, region, gatewayID string, ) error
DisassociateWirelessGatewayFromThing clears the thing association for a gateway.
func (*InMemoryBackend) EnqueueMessage ¶
func (b *InMemoryBackend) EnqueueMessage(wirelessDeviceID string, msg QueuedMessage)
EnqueueMessage appends a downlink message to a wireless device's message queue, so that a subsequent ListQueuedMessages reflects messages sent via SendDataToWirelessDevice.
func (*InMemoryBackend) GetDestination ¶
func (b *InMemoryBackend) GetDestination(accountID, region, name string) (*Destination, error)
GetDestination returns a destination by name.
func (*InMemoryBackend) GetDeviceProfile ¶
func (b *InMemoryBackend) GetDeviceProfile(accountID, region, id string) (*DeviceProfile, error)
GetDeviceProfile returns a device profile by ID.
func (*InMemoryBackend) GetEventConfigurationByResourceTypes ¶
func (b *InMemoryBackend) GetEventConfigurationByResourceTypes() *EventConfigDoc
GetEventConfigurationByResourceTypes returns the account-wide default event configuration. Returns an empty (zero-value) document if never configured.
func (*InMemoryBackend) GetFuotaTask ¶
func (b *InMemoryBackend) GetFuotaTask(accountID, region, id string) (*FuotaTask, error)
GetFuotaTask returns a FUOTA task by ID.
func (*InMemoryBackend) GetLogLevelsByResourceTypes ¶
func (b *InMemoryBackend) GetLogLevelsByResourceTypes() string
GetLogLevelsByResourceTypes returns the default log level settings.
func (*InMemoryBackend) GetMetricConfigurationStatus ¶
func (b *InMemoryBackend) GetMetricConfigurationStatus() string
GetMetricConfigurationStatus returns the account's summary metric aggregation status. Defaults to "Enabled" (AWS's documented default) when never explicitly configured.
func (*InMemoryBackend) GetMulticastGroup ¶
func (b *InMemoryBackend) GetMulticastGroup(accountID, region, id string) (*MulticastGroup, error)
GetMulticastGroup returns a multicast group by ID.
func (*InMemoryBackend) GetMulticastGroupSession ¶
func (b *InMemoryBackend) GetMulticastGroupSession(multicastGroupID string) (time.Time, error)
GetMulticastGroupSession returns the start time of a multicast group's active session. Returns ErrMulticastGroupSessionNotFound if no session has been started (or it has since been cancelled), matching real AWS's ResourceNotFoundException for a group with no active session.
func (*InMemoryBackend) GetNetworkAnalyzerConfig ¶
func (b *InMemoryBackend) GetNetworkAnalyzerConfig(accountID, region, name string) (*NetworkAnalyzerConfig, error)
GetNetworkAnalyzerConfig returns a network analyzer configuration by name.
func (*InMemoryBackend) GetPartnerAccount ¶
func (b *InMemoryBackend) GetPartnerAccount(partnerAccountID string) (string, error)
GetPartnerAccount returns the ARN for a partner account.
func (*InMemoryBackend) GetPosition ¶
func (b *InMemoryBackend) GetPosition(resourceID string) map[string]any
GetPosition returns the position data for a resource.
func (*InMemoryBackend) GetPositionConfiguration ¶
func (b *InMemoryBackend) GetPositionConfiguration(resourceID string) (*PositionConfigEntry, bool)
GetPositionConfiguration returns the stored position configuration for a resource, if any.
func (*InMemoryBackend) GetResourceEventConfiguration ¶
func (b *InMemoryBackend) GetResourceEventConfiguration(identifier string) (*ResourceEventConfigEntry, bool)
GetResourceEventConfiguration returns the stored event configuration for a specific resource identifier, if any.
func (*InMemoryBackend) GetResourceLogLevel ¶
func (b *InMemoryBackend) GetResourceLogLevel(resourceID string) string
GetResourceLogLevel returns the log level for a specific resource.
func (*InMemoryBackend) GetServiceProfile ¶
func (b *InMemoryBackend) GetServiceProfile(accountID, region, id string) (*ServiceProfile, error)
GetServiceProfile returns a service profile by ID.
func (*InMemoryBackend) GetWirelessDevice ¶
func (b *InMemoryBackend) GetWirelessDevice(accountID, region, id string) (*WirelessDevice, error)
GetWirelessDevice returns a wireless device by ID.
func (*InMemoryBackend) GetWirelessDeviceImportTask ¶
func (b *InMemoryBackend) GetWirelessDeviceImportTask(id string) (*WirelessDeviceImportTask, error)
GetWirelessDeviceImportTask returns a wireless device import task by ID.
func (*InMemoryBackend) GetWirelessDeviceThingArn ¶
func (b *InMemoryBackend) GetWirelessDeviceThingArn(wirelessDeviceID string) string
GetWirelessDeviceThingArn returns the ARN of the IoT Thing associated with a wireless device, or "" if AssociateWirelessDeviceWithThing was never called (or the association was since cleared).
func (*InMemoryBackend) GetWirelessGateway ¶
func (b *InMemoryBackend) GetWirelessGateway(accountID, region, id string) (*WirelessGateway, error)
GetWirelessGateway returns a wireless gateway by ID.
func (*InMemoryBackend) GetWirelessGatewayCertificate ¶
func (b *InMemoryBackend) GetWirelessGatewayCertificate( accountID, region, gatewayID string, ) (string, error)
GetWirelessGatewayCertificate returns the certificate ID associated with a gateway.
func (*InMemoryBackend) GetWirelessGatewayTask ¶
func (b *InMemoryBackend) GetWirelessGatewayTask(gatewayID string) (*GatewayTask, error)
GetWirelessGatewayTask returns the task for a wireless gateway.
func (*InMemoryBackend) GetWirelessGatewayTaskDefinition ¶
func (b *InMemoryBackend) GetWirelessGatewayTaskDefinition( id string, ) (*GatewayTaskDefinition, error)
GetWirelessGatewayTaskDefinition returns a gateway task definition by ID.
func (*InMemoryBackend) GetWirelessGatewayThingArn ¶
func (b *InMemoryBackend) GetWirelessGatewayThingArn(gatewayID string) string
GetWirelessGatewayThingArn returns the ARN of the IoT Thing associated with a wireless gateway, or "" if AssociateWirelessGatewayWithThing was never called (or the association was since cleared).
func (*InMemoryBackend) ListDestinations ¶
func (b *InMemoryBackend) ListDestinations(accountID, region string) []*Destination
ListDestinations returns all destinations for the given account and region. ListDestinations returns all destinations for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListDeviceProfiles ¶
func (b *InMemoryBackend) ListDeviceProfiles(accountID, region string) []*DeviceProfile
ListDeviceProfiles returns all device profiles for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListEventConfigurations ¶
func (b *InMemoryBackend) ListEventConfigurations(resourceType string) []*ResourceEventConfigEntry
ListEventConfigurations returns all stored per-resource event configurations, optionally filtered by resource type (matched as a prefix against the stored IdentifierType, e.g. "WirelessDevice" matches "WirelessDeviceId").
func (*InMemoryBackend) ListFuotaTasks ¶
func (b *InMemoryBackend) ListFuotaTasks(accountID, region string) []*FuotaTask
ListFuotaTasks returns all FUOTA tasks for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListMulticastGroups ¶
func (b *InMemoryBackend) ListMulticastGroups(accountID, region string) []*MulticastGroup
ListMulticastGroups returns all multicast groups for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListMulticastGroupsByFuotaTask ¶
func (b *InMemoryBackend) ListMulticastGroupsByFuotaTask( accountID, region, fuotaTaskID string, ) []*MulticastGroup
ListMulticastGroupsByFuotaTask returns multicast groups linked to a FUOTA task.
func (*InMemoryBackend) ListNetworkAnalyzerConfigs ¶
func (b *InMemoryBackend) ListNetworkAnalyzerConfigs(accountID, region string) []*NetworkAnalyzerConfig
ListNetworkAnalyzerConfigs returns all network analyzer configurations for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListPartnerAccounts ¶
func (b *InMemoryBackend) ListPartnerAccounts() map[string]string
ListPartnerAccounts returns all partner account ARNs.
func (*InMemoryBackend) ListPositionConfigurations ¶
func (b *InMemoryBackend) ListPositionConfigurations(resourceType string) []*PositionConfigEntry
ListPositionConfigurations returns all stored position configurations, optionally filtered by resource type.
func (*InMemoryBackend) ListQueuedMessages ¶
func (b *InMemoryBackend) ListQueuedMessages(wirelessDeviceID string) []QueuedMessage
ListQueuedMessages returns queued messages for a wireless device.
func (*InMemoryBackend) ListServiceProfiles ¶
func (b *InMemoryBackend) ListServiceProfiles(accountID, region string) []*ServiceProfile
ListServiceProfiles returns all service profiles for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListTagsForResource ¶
func (b *InMemoryBackend) ListTagsForResource(arn string) (map[string]string, error)
ListTagsForResource returns all tags for a resource identified by ARN.
func (*InMemoryBackend) ListWirelessDeviceImportTasks ¶
func (b *InMemoryBackend) ListWirelessDeviceImportTasks() []*WirelessDeviceImportTask
ListWirelessDeviceImportTasks returns all wireless device import tasks.
func (*InMemoryBackend) ListWirelessDevices ¶
func (b *InMemoryBackend) ListWirelessDevices(accountID, region string) []*WirelessDevice
ListWirelessDevices returns all wireless devices for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) ListWirelessGatewayTaskDefinitions ¶
func (b *InMemoryBackend) ListWirelessGatewayTaskDefinitions() []*GatewayTaskDefinition
ListWirelessGatewayTaskDefinitions returns all gateway task definitions.
func (*InMemoryBackend) ListWirelessGateways ¶
func (b *InMemoryBackend) ListWirelessGateways(accountID, region string) []*WirelessGateway
ListWirelessGateways returns all wireless gateways for the given account and region, sorted by name for deterministic output.
func (*InMemoryBackend) PutPositionConfiguration ¶
func (b *InMemoryBackend) PutPositionConfiguration( resourceID, resourceType, destination string, solvers map[string]any, ) error
PutPositionConfiguration stores the position solver configuration for a resource.
func (*InMemoryBackend) PutResourceLogLevel ¶
func (b *InMemoryBackend) PutResourceLogLevel(resourceID, logLevel string) error
PutResourceLogLevel sets the log level for a specific resource.
func (*InMemoryBackend) Reset ¶
func (b *InMemoryBackend) Reset()
Reset clears all in-memory state, returning the backend to a pristine condition.
func (*InMemoryBackend) ResetAllResourceLogLevels ¶
func (b *InMemoryBackend) ResetAllResourceLogLevels() error
ResetAllResourceLogLevels clears all resource-level log level overrides.
func (*InMemoryBackend) ResetResourceLogLevel ¶
func (b *InMemoryBackend) ResetResourceLogLevel(resourceID string) error
ResetResourceLogLevel clears the log level override for a specific resource.
func (*InMemoryBackend) Restore ¶
func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
Restore loads backend state from a JSON snapshot. It implements persistence.Persistable.
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state to JSON. It implements persistence.Persistable.
func (*InMemoryBackend) StartFuotaTask ¶
func (b *InMemoryBackend) StartFuotaTask(accountID, region, id string) error
StartFuotaTask sets the FUOTA task status to FUOTA_SESSION_STARTED.
func (*InMemoryBackend) StartMulticastGroupSession ¶
func (b *InMemoryBackend) StartMulticastGroupSession(multicastGroupID string) error
StartMulticastGroupSession marks a multicast group session as active, recording its start time so GetMulticastGroupSession can report it back.
func (*InMemoryBackend) StartSingleWirelessDeviceImportTask ¶
func (b *InMemoryBackend) StartSingleWirelessDeviceImportTask( accountID, region, destinationName string, ) (*SingleWirelessDeviceImportTask, error)
StartSingleWirelessDeviceImportTask creates a single wireless device import task.
func (*InMemoryBackend) StartWirelessDeviceImportTask ¶
func (b *InMemoryBackend) StartWirelessDeviceImportTask( accountID, region, destinationName string, ) (*WirelessDeviceImportTask, error)
StartWirelessDeviceImportTask creates a bulk wireless device import task.
func (*InMemoryBackend) TagResource ¶
func (b *InMemoryBackend) TagResource(arn string, tags map[string]string) error
TagResource adds or updates tags on a resource identified by ARN.
func (*InMemoryBackend) UntagResource ¶
func (b *InMemoryBackend) UntagResource(arn string, tagKeys []string) error
UntagResource removes tags from a resource identified by ARN. If all tags are removed the empty map entry is cleaned up to prevent memory leaks.
func (*InMemoryBackend) UpdateDestination ¶
func (b *InMemoryBackend) UpdateDestination( accountID, region, name, expression, expressionType, roleArn, description string, ) error
UpdateDestination updates mutable fields on an existing destination.
func (*InMemoryBackend) UpdateEventConfigurationByResourceTypes ¶
func (b *InMemoryBackend) UpdateEventConfigurationByResourceTypes(doc *EventConfigDoc)
UpdateEventConfigurationByResourceTypes replaces the account-wide default event configuration.
func (*InMemoryBackend) UpdateFuotaTask ¶
func (b *InMemoryBackend) UpdateFuotaTask(accountID, region, id, name, description string) error
UpdateFuotaTask updates mutable fields on an existing FUOTA task.
func (*InMemoryBackend) UpdateLogLevelsByResourceTypes ¶
func (b *InMemoryBackend) UpdateLogLevelsByResourceTypes(defaultLogLevel string) error
UpdateLogLevelsByResourceTypes updates the default log level.
func (*InMemoryBackend) UpdateMetricConfigurationStatus ¶
func (b *InMemoryBackend) UpdateMetricConfigurationStatus(status string) error
UpdateMetricConfigurationStatus sets the account's summary metric aggregation status.
func (*InMemoryBackend) UpdateMulticastGroup ¶
func (b *InMemoryBackend) UpdateMulticastGroup(accountID, region, id, name, description string) error
UpdateMulticastGroup updates mutable fields on an existing multicast group.
func (*InMemoryBackend) UpdateNetworkAnalyzerConfig ¶
func (b *InMemoryBackend) UpdateNetworkAnalyzerConfig( accountID, region, name, description string, wirelessDevices, wirelessGateways []string, ) error
UpdateNetworkAnalyzerConfig updates mutable fields on an existing network analyzer configuration.
func (*InMemoryBackend) UpdatePosition ¶
func (b *InMemoryBackend) UpdatePosition(resourceID string, position map[string]any) error
UpdatePosition updates the position data for a resource.
func (*InMemoryBackend) UpdateResourceEventConfiguration ¶
func (b *InMemoryBackend) UpdateResourceEventConfiguration( identifier, identifierType, partnerType string, doc *EventConfigDoc, )
UpdateResourceEventConfiguration stores the event configuration for a specific resource identifier.
func (*InMemoryBackend) UpdateWirelessDevice ¶
func (b *InMemoryBackend) UpdateWirelessDevice( accountID, region, id, name, description, destinationName string, ) error
UpdateWirelessDevice updates mutable fields on an existing wireless device.
func (*InMemoryBackend) UpdateWirelessDeviceImportTask ¶
func (b *InMemoryBackend) UpdateWirelessDeviceImportTask(id, destinationName string) error
UpdateWirelessDeviceImportTask updates the destination name of a wireless device import task.
func (*InMemoryBackend) UpdateWirelessGateway ¶
func (b *InMemoryBackend) UpdateWirelessGateway(accountID, region, id, name, description string) error
UpdateWirelessGateway updates mutable fields on an existing wireless gateway.
type MulticastGroup ¶
type MulticastGroup struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ID string `json:"id"`
ARN string `json:"arn"`
Description string `json:"description,omitempty"`
Status string `json:"status"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
}
MulticastGroup represents an IoT Wireless multicast group.
type NetworkAnalyzerConfig ¶
type NetworkAnalyzerConfig struct {
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ARN string `json:"arn"`
Description string `json:"description,omitempty"`
AccountID string `json:"-"`
Region string `json:"-"`
WirelessDevices []string `json:"wirelessDevices,omitempty"`
WirelessGateways []string `json:"wirelessGateways,omitempty"`
}
NetworkAnalyzerConfig represents an IoT Wireless network analyzer configuration.
type PositionConfigEntry ¶
type PositionConfigEntry struct {
Solvers map[string]any `json:"solvers,omitempty"`
ResourceIdentifier string `json:"resourceIdentifier"`
ResourceType string `json:"resourceType"`
Destination string `json:"destination,omitempty"`
}
PositionConfigEntry represents a stored position configuration for a wireless device or gateway resource, as set via PutPositionConfiguration.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for the IoT Wireless service.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initializes the IoT Wireless service backend and handler.
type QueuedMessage ¶
type QueuedMessage struct {
ReceivedAt time.Time
MessageID string
PayloadBase64 string
TransmitMode int32
}
QueuedMessage represents a downlink message queued for a wireless device.
type Resettable ¶
type Resettable interface {
Reset()
}
Resettable is an optional interface that a StorageBackend may implement to support clearing all state (e.g. for test teardown).
type ResourceEventConfigEntry ¶
type ResourceEventConfigEntry struct {
Config EventConfigDoc `json:"config"`
Identifier string `json:"identifier"`
IdentifierType string `json:"identifierType"`
PartnerType string `json:"partnerType,omitempty"`
}
ResourceEventConfigEntry represents a stored per-resource event configuration, as set via UpdateResourceEventConfiguration.
type ServiceProfile ¶
type ServiceProfile struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ID string `json:"id"`
ARN string `json:"arn"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
}
ServiceProfile contains settings for a LoRaWAN service profile.
type SingleWirelessDeviceImportTask ¶
type SingleWirelessDeviceImportTask struct {
CreatedAt time.Time `json:"createdAt"`
ARN string `json:"arn"`
WirelessDeviceID string `json:"wirelessDeviceId"`
DestinationName string `json:"destinationName"`
Status string `json:"status"`
}
SingleWirelessDeviceImportTask represents an IoT Wireless single-device import task.
type Snapshottable ¶
type Snapshottable interface {
Snapshot(ctx context.Context) []byte
Restore(ctx context.Context, data []byte) error
}
Snapshottable is an optional interface that a StorageBackend may implement to support state serialisation and restoration (e.g. for --persist mode). Backends that do not implement it are silently skipped during snapshot/restore.
type StorageBackend ¶
type StorageBackend interface {
Reset()
CreateWirelessDevice(
accountID, region, name, devType, destinationName, description string,
tags map[string]string,
) (*WirelessDevice, error)
GetWirelessDevice(accountID, region, id string) (*WirelessDevice, error)
ListWirelessDevices(accountID, region string) []*WirelessDevice
DeleteWirelessDevice(accountID, region, id string) error
CreateWirelessGateway(accountID, region, name, description string, tags map[string]string) (*WirelessGateway, error)
GetWirelessGateway(accountID, region, id string) (*WirelessGateway, error)
ListWirelessGateways(accountID, region string) []*WirelessGateway
DeleteWirelessGateway(accountID, region, id string) error
CreateServiceProfile(accountID, region, name string, tags map[string]string) (*ServiceProfile, error)
GetServiceProfile(accountID, region, id string) (*ServiceProfile, error)
ListServiceProfiles(accountID, region string) []*ServiceProfile
DeleteServiceProfile(accountID, region, id string) error
CreateDestination(
accountID, region, name, expression, expressionType, roleArn, description string,
tags map[string]string,
) (*Destination, error)
GetDestination(accountID, region, name string) (*Destination, error)
ListDestinations(accountID, region string) []*Destination
DeleteDestination(accountID, region, name string) error
CreateDeviceProfile(accountID, region, name string, tags map[string]string) (*DeviceProfile, error)
GetDeviceProfile(accountID, region, id string) (*DeviceProfile, error)
ListDeviceProfiles(accountID, region string) []*DeviceProfile
DeleteDeviceProfile(accountID, region, id string) error
CreateFuotaTask(
accountID, region, name, description, firmwareUpdateImage, firmwareUpdateRole string,
tags map[string]string,
) (*FuotaTask, error)
GetFuotaTask(accountID, region, id string) (*FuotaTask, error)
ListFuotaTasks(accountID, region string) []*FuotaTask
DeleteFuotaTask(accountID, region, id string) error
UpdateFuotaTask(accountID, region, id, name, description string) error
UpdateWirelessGateway(accountID, region, id, name, description string) error
UpdateDestination(accountID, region, name, expression, expressionType, roleArn, description string) error
CreateMulticastGroup(accountID, region, name, description string, tags map[string]string) (*MulticastGroup, error)
GetMulticastGroup(accountID, region, id string) (*MulticastGroup, error)
ListMulticastGroups(accountID, region string) []*MulticastGroup
DeleteMulticastGroup(accountID, region, id string) error
UpdateMulticastGroup(accountID, region, id, name, description string) error
CreateNetworkAnalyzerConfig(
accountID, region, name, description string,
wirelessDevices, wirelessGateways []string,
tags map[string]string,
) (*NetworkAnalyzerConfig, error)
GetNetworkAnalyzerConfig(accountID, region, name string) (*NetworkAnalyzerConfig, error)
ListNetworkAnalyzerConfigs(accountID, region string) []*NetworkAnalyzerConfig
DeleteNetworkAnalyzerConfig(accountID, region, name string) error
UpdateNetworkAnalyzerConfig(
accountID, region, name, description string,
wirelessDevices, wirelessGateways []string,
) error
AssociateAwsAccountWithPartnerAccount(
accountID, region, partnerAccountID string,
tags map[string]string,
) (string, error)
AssociateMulticastGroupWithFuotaTask(fuotaTaskID, multicastGroupID string) error
AssociateWirelessDeviceWithFuotaTask(fuotaTaskID, wirelessDeviceID string) error
AssociateWirelessDeviceWithMulticastGroup(multicastGroupID, wirelessDeviceID string) error
AssociateWirelessDeviceWithThing(accountID, region, wirelessDeviceID, thingArn string) error
AssociateWirelessGatewayWithCertificate(accountID, region, gatewayID, iotCertificateID string) (string, error)
AssociateWirelessGatewayWithThing(accountID, region, gatewayID, thingArn string) error
CancelMulticastGroupSession(multicastGroupID string) error
// GetWirelessDeviceThingArn returns the ARN of the IoT Thing associated
// with a wireless device via AssociateWirelessDeviceWithThing, or "" if
// none is associated. Used by GetWirelessDevice to surface ThingArn/
// ThingName, matching real AWS's response shape.
GetWirelessDeviceThingArn(wirelessDeviceID string) string
// GetWirelessGatewayThingArn returns the ARN of the IoT Thing associated
// with a wireless gateway via AssociateWirelessGatewayWithThing, or "" if
// none is associated. Used by GetWirelessGateway to surface ThingArn/
// ThingName, matching real AWS's response shape.
GetWirelessGatewayThingArn(gatewayID string) string
// Extended operations implemented across the various <family>.go files.
StartFuotaTask(accountID, region, id string) error
DisassociateWirelessDeviceFromFuotaTask(fuotaTaskID string) error
ListMulticastGroupsByFuotaTask(accountID, region, fuotaTaskID string) []*MulticastGroup
DisassociateMulticastGroupFromFuotaTask(fuotaTaskID string) error
DisassociateWirelessDeviceFromMulticastGroup(multicastGroupID string) error
StartMulticastGroupSession(multicastGroupID string) error
GetMulticastGroupSession(multicastGroupID string) (time.Time, error)
DisassociateWirelessGatewayFromCertificate(accountID, region, gatewayID string) error
DisassociateWirelessGatewayFromThing(accountID, region, gatewayID string) error
GetWirelessGatewayCertificate(accountID, region, gatewayID string) (string, error)
UpdateWirelessDevice(accountID, region, id, name, description, destinationName string) error
DisassociateWirelessDeviceFromThing(accountID, region, wirelessDeviceID string) error
GetPartnerAccount(partnerAccountID string) (string, error)
ListPartnerAccounts() map[string]string
DisassociateAwsAccountFromPartnerAccount(partnerAccountID string) error
GetLogLevelsByResourceTypes() string
UpdateLogLevelsByResourceTypes(defaultLogLevel string) error
ResetAllResourceLogLevels() error
GetResourceLogLevel(resourceID string) string
PutResourceLogLevel(resourceID, logLevel string) error
ResetResourceLogLevel(resourceID string) error
CreateWirelessGatewayTask(gatewayID, taskDefID string) (*GatewayTask, error)
GetWirelessGatewayTask(gatewayID string) (*GatewayTask, error)
DeleteWirelessGatewayTask(gatewayID string) error
CreateWirelessGatewayTaskDefinition(
accountID, region, name string,
autoCreateTasks bool,
) (*GatewayTaskDefinition, error)
GetWirelessGatewayTaskDefinition(id string) (*GatewayTaskDefinition, error)
ListWirelessGatewayTaskDefinitions() []*GatewayTaskDefinition
DeleteWirelessGatewayTaskDefinition(id string) error
GetPosition(resourceID string) map[string]any
UpdatePosition(resourceID string, position map[string]any) error
PutPositionConfiguration(resourceID, resourceType, destination string, solvers map[string]any) error
GetPositionConfiguration(resourceID string) (*PositionConfigEntry, bool)
ListPositionConfigurations(resourceType string) []*PositionConfigEntry
GetEventConfigurationByResourceTypes() *EventConfigDoc
UpdateEventConfigurationByResourceTypes(doc *EventConfigDoc)
ListEventConfigurations(resourceType string) []*ResourceEventConfigEntry
GetResourceEventConfiguration(identifier string) (*ResourceEventConfigEntry, bool)
UpdateResourceEventConfiguration(identifier, identifierType, partnerType string, doc *EventConfigDoc)
GetMetricConfigurationStatus() string
UpdateMetricConfigurationStatus(status string) error
ListQueuedMessages(wirelessDeviceID string) []QueuedMessage
DeleteQueuedMessages(wirelessDeviceID string) error
EnqueueMessage(wirelessDeviceID string, msg QueuedMessage)
StartWirelessDeviceImportTask(accountID, region, destinationName string) (*WirelessDeviceImportTask, error)
StartSingleWirelessDeviceImportTask(
accountID, region, destinationName string,
) (*SingleWirelessDeviceImportTask, error)
GetWirelessDeviceImportTask(id string) (*WirelessDeviceImportTask, error)
DeleteWirelessDeviceImportTask(id string) error
UpdateWirelessDeviceImportTask(id, destinationName string) error
ListWirelessDeviceImportTasks() []*WirelessDeviceImportTask
TagResource(arn string, tags map[string]string) error
UntagResource(arn string, tagKeys []string) error
ListTagsForResource(arn string) (map[string]string, error)
}
StorageBackend is the interface for the IoT Wireless backend.
type WirelessDevice ¶
type WirelessDevice struct {
CreatedAt time.Time `json:"createdAt"`
LastUplinkReceivedAt *time.Time `json:"lastUplinkReceivedAt,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ID string `json:"id"`
ARN string `json:"arn"`
Description string `json:"description,omitempty"`
Type string `json:"type"`
DestinationName string `json:"destinationName,omitempty"`
// AccountID and Region are not part of the AWS wire shape for this
// resource; they exist purely so store.Table's keyFn (store_setup.go) can
// derive the account+region-scoped composite key this backend requires.
// Tagged json:"-" so they never leak into an API response; Snapshot/
// Restore round-trips them via the deviceSnapshot DTO instead (see
// persistence.go).
AccountID string `json:"-"`
Region string `json:"-"`
}
WirelessDevice represents a LoRaWAN or Sidewalk wireless device.
type WirelessDeviceImportTask ¶
type WirelessDeviceImportTask struct {
CreatedAt time.Time `json:"createdAt"`
ID string `json:"id"`
ARN string `json:"arn"`
DestinationName string `json:"destinationName"`
Status string `json:"status"`
StatusReason string `json:"statusReason,omitempty"`
InitializedImportedDeviceCount int64 `json:"initializedImportedDeviceCount"`
PendingImportedDeviceCount int64 `json:"pendingImportedDeviceCount"`
OnboardedImportedDeviceCount int64 `json:"onboardedImportedDeviceCount"`
FailedImportedDeviceCount int64 `json:"failedImportedDeviceCount"`
}
WirelessDeviceImportTask represents an IoT Wireless device bulk-import task.
type WirelessGateway ¶
type WirelessGateway struct {
CreatedAt time.Time `json:"createdAt"`
LastUplinkReceivedAt *time.Time `json:"lastUplinkReceivedAt,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
Name string `json:"name"`
ID string `json:"id"`
ARN string `json:"arn"`
Description string `json:"description,omitempty"`
ConnectionStatus string `json:"connectionStatus,omitempty"`
FirmwareVersion string `json:"firmwareVersion,omitempty"`
FirmwareModel string `json:"firmwareModel,omitempty"`
FirmwareStation string `json:"firmwareStation,omitempty"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
}
WirelessGateway represents a LoRaWAN gateway.
Source Files
¶
- certificates.go
- destinations.go
- errors.go
- event_configurations.go
- exports.go
- fuota_tasks.go
- handler.go
- handler_certificates.go
- handler_destinations.go
- handler_event_configurations.go
- handler_fuota_tasks.go
- handler_log_levels.go
- handler_metrics.go
- handler_multicast_groups.go
- handler_network_analyzer.go
- handler_partner_accounts.go
- handler_positioning.go
- handler_profiles.go
- handler_tags.go
- handler_wireless_devices.go
- handler_wireless_gateway_tasks.go
- handler_wireless_gateways.go
- interfaces.go
- log_levels.go
- metrics.go
- models.go
- multicast_groups.go
- network_analyzer.go
- partner_accounts.go
- persistence.go
- positioning.go
- profiles.go
- provider.go
- routing.go
- store.go
- tags.go
- tags_wire.go
- wireless_devices.go
- wireless_gateway_tasks.go
- wireless_gateways.go