Documentation
¶
Index ¶
- Variables
- type AbpV1_0X
- type AbpV1_1
- type ApplicationConfig
- type Beaconing
- type CertificateList
- type DakCertificateMetadata
- type DefaultSessionParametersMulticast
- type Destination
- type DeviceProfile
- type EventConfigDoc
- type ExportedServiceProfile
- type ExportedWirelessDevice
- type FPorts
- 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, loRaWAN *LoRaWANDeviceProfile, ...) (*DeviceProfile, error)
- func (b *InMemoryBackend) CreateFuotaTask(...) (*FuotaTask, error)
- func (b *InMemoryBackend) CreateMulticastGroup(accountID, region, name, description string, loRaWAN *LoRaWANMulticast, ...) (*MulticastGroup, error)
- func (b *InMemoryBackend) CreateNetworkAnalyzerConfig(accountID, region, name, description string, ...) (*NetworkAnalyzerConfig, error)
- func (b *InMemoryBackend) CreateServiceProfile(accountID, region, name string, loRaWAN *LoRaWANServiceProfile, ...) (*ServiceProfile, error)
- func (b *InMemoryBackend) CreateWirelessDevice(...) (*WirelessDevice, error)
- func (b *InMemoryBackend) CreateWirelessGateway(accountID, region, name, description string, loRaWAN *LoRaWANGateway, ...) (*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, multicastGroupID string) error
- func (b *InMemoryBackend) DisassociateWirelessDeviceFromFuotaTask(fuotaTaskID, wirelessDeviceID string) error
- func (b *InMemoryBackend) DisassociateWirelessDeviceFromMulticastGroup(multicastGroupID, wirelessDeviceID 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() LogLevelsConfig
- 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) ListFuotaTaskDeviceIDs(fuotaTaskID string) []string
- func (b *InMemoryBackend) ListFuotaTasks(accountID, region string) []*FuotaTask
- func (b *InMemoryBackend) ListMulticastGroupDeviceIDs(multicastGroupID string) []string
- 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, filter ListWirelessDevicesFilter) []*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) StartBulkAssociateWirelessDeviceWithMulticastGroup(accountID, region, multicastGroupID string) error
- func (b *InMemoryBackend) StartBulkDisassociateWirelessDeviceFromMulticastGroup(multicastGroupID string) error
- func (b *InMemoryBackend) StartFuotaTask(accountID, region, id string, startTime *time.Time) 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(...) error
- func (b *InMemoryBackend) UpdateLogLevelsByResourceTypes(cfg LogLevelsConfig) error
- func (b *InMemoryBackend) UpdateMetricConfigurationStatus(status string) error
- func (b *InMemoryBackend) UpdateMulticastGroup(accountID, region, id, name, description string, loRaWAN *LoRaWANMulticast) 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, positioning string, ...) error
- func (b *InMemoryBackend) UpdateWirelessDeviceImportTask(id, destinationName string) error
- func (b *InMemoryBackend) UpdateWirelessGateway(accountID, region, id, name, description string, joinEuiFilters [][]string, ...) error
- type ListWirelessDevicesFilter
- type LoRaWANDevice
- type LoRaWANDeviceProfile
- type LoRaWANFuotaTask
- type LoRaWANFuotaTaskGetInfo
- type LoRaWANGateway
- type LoRaWANGatewayVersion
- type LoRaWANGetServiceProfileInfo
- type LoRaWANListDevice
- type LoRaWANMulticast
- type LoRaWANMulticastGet
- type LoRaWANServiceProfile
- type LoRaWANStartFuotaTask
- type LoRaWANUpdateDevice
- type LoRaWANUpdateGatewayTaskCreate
- type LoRaWANUpdateGatewayTaskEntry
- type LogLevelsConfig
- type MulticastGroup
- type NetworkAnalyzerConfig
- type OtaaV1_0X
- type OtaaV1_1
- type ParticipatingGatewaysMulticast
- type PositionConfigEntry
- type Positioning
- type Provider
- type QueuedMessage
- type Resettable
- type ResourceEventConfigEntry
- type ServiceProfile
- type SessionKeysAbpV1_0X
- type SessionKeysAbpV1_1
- type SidewalkCreateDeviceProfile
- type SidewalkCreateWirelessDevice
- type SidewalkDevice
- type SidewalkGetDeviceProfile
- type SidewalkListDevice
- type SidewalkPositioning
- type SidewalkUpdateWirelessDevice
- type SingleWirelessDeviceImportTask
- type Snapshottable
- type StorageBackend
- type TraceContent
- type UpdateAbpV1_0X
- type UpdateAbpV1_1
- type UpdateFPorts
- type UpdateWirelessGatewayTaskCreate
- 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 AbpV1_0X ¶ added in v1.3.1
type AbpV1_0X struct {
SessionKeys *SessionKeysAbpV1_0X `json:"SessionKeys,omitempty"`
DevAddr *string `json:"DevAddr,omitempty"`
FCntStart *int32 `json:"FCntStart,omitempty"`
}
AbpV1_0X mirrors types.AbpV1_0X (types.go:11).
type AbpV1_1 ¶ added in v1.3.1
type AbpV1_1 struct {
SessionKeys *SessionKeysAbpV1_1 `json:"SessionKeys,omitempty"`
DevAddr *string `json:"DevAddr,omitempty"`
FCntStart *int32 `json:"FCntStart,omitempty"`
}
AbpV1_1 mirrors types.AbpV1_1 (types.go:26).
type ApplicationConfig ¶ added in v1.3.1
type ApplicationConfig struct {
DestinationName *string `json:"DestinationName,omitempty"`
FPort *int32 `json:"FPort,omitempty"`
Type string `json:"Type,omitempty"`
}
ApplicationConfig mirrors types.ApplicationConfig (types.go:67).
type Beaconing ¶ added in v1.3.1
type Beaconing struct {
DataRate *int32 `json:"DataRate,omitempty"`
Frequencies []int32 `json:"Frequencies,omitempty"`
}
Beaconing mirrors types.Beaconing (types.go:84).
type CertificateList ¶ added in v1.3.1
type CertificateList struct {
Value *string `json:"Value,omitempty"`
SigningAlg string `json:"SigningAlg,omitempty"`
}
CertificateList mirrors types.CertificateList (types.go:197).
type DakCertificateMetadata ¶ added in v1.3.1
type DakCertificateMetadata struct {
CertificateID *string `json:"CertificateId,omitempty"`
ApID *string `json:"ApId,omitempty"`
DeviceTypeID *string `json:"DeviceTypeId,omitempty"`
MaxAllowedSignature *int32 `json:"MaxAllowedSignature,omitempty"`
FactorySupport *bool `json:"FactorySupport,omitempty"`
}
DakCertificateMetadata mirrors types.DakCertificateMetadata (types.go:238).
type DefaultSessionParametersMulticast ¶ added in v1.3.1
type DefaultSessionParametersMulticast struct {
DlDr *int32 `json:"DlDr,omitempty"`
DlFreq *int32 `json:"DlFreq,omitempty"`
}
DefaultSessionParametersMulticast mirrors types.DefaultSessionParametersMulticast (types.go:263).
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"`
// LoRaWAN uses the types.LoRaWANDeviceProfile shape shared verbatim by
// Create and Get. Sidewalk is stored as the richer SidewalkGetDeviceProfile
// (get) shape; CreateDeviceProfile's SidewalkCreateDeviceProfile request
// (no fields of its own) is converted via sidewalkGetDeviceProfileFromCreate.
LoRaWAN *LoRaWANDeviceProfile `json:"loRaWAN,omitempty"`
Sidewalk *SidewalkGetDeviceProfile `json:"sidewalk,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 FPorts ¶ added in v1.3.1
type FPorts struct {
Positioning *Positioning `json:"Positioning,omitempty"`
ClockSync *int32 `json:"ClockSync,omitempty"`
Fuota *int32 `json:"Fuota,omitempty"`
Multicast *int32 `json:"Multicast,omitempty"`
Applications []ApplicationConfig `json:"Applications,omitempty"`
}
FPorts mirrors types.FPorts (types.go:411).
type FuotaTask ¶
type FuotaTask struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
// LoRaWAN holds the create/update-shape LoRaWANFuotaTask; GetFuotaTask
// converts it to LoRaWANFuotaTaskGetInfo via loRaWANFuotaTaskGetInfoFrom
// (lorawan_types.go).
LoRaWAN *LoRaWANFuotaTask `json:"loRaWAN,omitempty"`
// StartTime is set by StartFuotaTask from StartFuotaTaskInput.LoRaWAN.StartTime
// (types.LoRaWANStartFuotaTask, types.go:1202); nil until then.
StartTime *time.Time `json:"startTime,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"`
// Descriptor is the base64-encoded firmware metadata blob.
Descriptor string `json:"descriptor,omitempty"`
// Status tracks the FUOTA task lifecycle (Pending, FuotaSession_Waiting,
// In_FuotaSession, FuotaDone, Delete_Waiting), matching
// types.FuotaTaskStatus. Set to "Pending" at creation and advanced by
// StartFuotaTask; previously this was fabricated by overwriting
// FirmwareUpdateRole, corrupting that field -- see StartFuotaTask.
Status string `json:"status,omitempty"`
// AccountID and Region exist purely for store.Table's keyFn; see the
// identical comment on WirelessDevice above.
AccountID string `json:"-"`
Region string `json:"-"`
FragmentIntervalMS int32 `json:"fragmentIntervalMs,omitempty"`
FragmentSizeBytes int32 `json:"fragmentSizeBytes,omitempty"`
RedundancyPercent int32 `json:"redundancyPercent,omitempty"`
}
FuotaTask represents a Firmware Update Over the Air (FUOTA) task.
type GatewayTask ¶
type GatewayTask struct {
CreatedAt time.Time
WirelessGatewayID string
TaskDefID string
Status string
}
GatewayTask represents a wireless gateway task.
type GatewayTaskDefinition ¶
type GatewayTaskDefinition struct {
Update *UpdateWirelessGatewayTaskCreate
ID string
ARN string
Name string
AutoCreateTasks bool
}
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. A FUOTA task can have several associated multicast groups (ListMulticastGroupsByFuotaTask returns a list), so this adds to a per-task set rather than overwriting a single slot.
func (*InMemoryBackend) AssociateWirelessDeviceWithFuotaTask ¶
func (b *InMemoryBackend) AssociateWirelessDeviceWithFuotaTask(fuotaTaskID, wirelessDeviceID string) error
AssociateWirelessDeviceWithFuotaTask records the association of a wireless device with a FUOTA task. A FUOTA task can have several associated devices (ListWirelessDevices' FuotaTaskId filter implies more than one), so this adds to a per-task set rather than overwriting a single slot.
func (*InMemoryBackend) AssociateWirelessDeviceWithMulticastGroup ¶
func (b *InMemoryBackend) AssociateWirelessDeviceWithMulticastGroup(multicastGroupID, wirelessDeviceID string) error
AssociateWirelessDeviceWithMulticastGroup records the association of a wireless device with a multicast group. A multicast group can have many associated devices, so this adds to a per-group set rather than overwriting a single slot.
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, loRaWAN *LoRaWANDeviceProfile, sidewalk *SidewalkCreateDeviceProfile, tags map[string]string, ) (*DeviceProfile, error)
CreateDeviceProfile creates a new device profile. sidewalk being non-nil (even if empty -- SidewalkCreateDeviceProfile has no fields of its own) distinguishes a request that asked for a Sidewalk profile from one that didn't -- see sidewalkGetDeviceProfileFromCreate.
func (*InMemoryBackend) CreateFuotaTask ¶
func (b *InMemoryBackend) CreateFuotaTask( accountID, region, name, description, firmwareUpdateImage, firmwareUpdateRole, descriptor string, fragmentIntervalMS, fragmentSizeBytes, redundancyPercent int32, loRaWAN *LoRaWANFuotaTask, tags map[string]string, ) (*FuotaTask, error)
CreateFuotaTask creates a new FUOTA task.
func (*InMemoryBackend) CreateMulticastGroup ¶
func (b *InMemoryBackend) CreateMulticastGroup( accountID, region, name, description string, loRaWAN *LoRaWANMulticast, 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, multicastGroups []string, traceContent *TraceContent, tags map[string]string, ) (*NetworkAnalyzerConfig, error)
CreateNetworkAnalyzerConfig creates a new network analyzer configuration.
func (*InMemoryBackend) CreateServiceProfile ¶
func (b *InMemoryBackend) CreateServiceProfile( accountID, region, name string, loRaWAN *LoRaWANServiceProfile, 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, positioning string, loRaWAN *LoRaWANDevice, sidewalk *SidewalkCreateWirelessDevice, tags map[string]string, ) (*WirelessDevice, error)
CreateWirelessDevice creates a new wireless device.
func (*InMemoryBackend) CreateWirelessGateway ¶
func (b *InMemoryBackend) CreateWirelessGateway( accountID, region, name, description string, loRaWAN *LoRaWANGateway, 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, update *UpdateWirelessGatewayTaskCreate, ) (*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, cascading the cleanup to its wireless-device association set so no ghost entry survives the group's deletion.
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, multicastGroupID string) error
DisassociateMulticastGroupFromFuotaTask removes a single multicast group from a FUOTA task's association set. multicastGroupID is the {MulticastGroupId} path segment of DELETE /fuota-tasks/{Id}/multicast-groups/{MulticastGroupId}; an empty value falls back to clearing every group associated with the task, preserving the prior behavior.
func (*InMemoryBackend) DisassociateWirelessDeviceFromFuotaTask ¶
func (b *InMemoryBackend) DisassociateWirelessDeviceFromFuotaTask(fuotaTaskID, wirelessDeviceID string) error
DisassociateWirelessDeviceFromFuotaTask removes a single device from a FUOTA task's association set. wirelessDeviceID is the {WirelessDeviceId} path segment of DELETE /fuota-tasks/{Id}/wireless-devices/{WirelessDeviceId}; an empty value falls back to clearing every device associated with the task, preserving the prior behavior.
func (*InMemoryBackend) DisassociateWirelessDeviceFromMulticastGroup ¶
func (b *InMemoryBackend) DisassociateWirelessDeviceFromMulticastGroup( multicastGroupID, wirelessDeviceID string, ) error
DisassociateWirelessDeviceFromMulticastGroup removes a single device from a multicast group's association set. wirelessDeviceID is the {WirelessDeviceId} path segment of DELETE /multicast-groups/{Id}/wireless-devices/{WirelessDeviceId}; an empty value (e.g. from a caller that can't recover it) falls back to clearing every device associated with the group, preserving the prior behavior.
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() LogLevelsConfig
GetLogLevelsByResourceTypes returns the account-wide default log-level configuration. Defaults to DefaultLogLevel "INFO" with empty option lists when never explicitly configured.
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) ListFuotaTaskDeviceIDs ¶ added in v1.2.0
func (b *InMemoryBackend) ListFuotaTaskDeviceIDs(fuotaTaskID string) []string
ListFuotaTaskDeviceIDs returns the IDs of wireless devices currently associated with a FUOTA task, sorted for deterministic output.
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) ListMulticastGroupDeviceIDs ¶ added in v1.2.0
func (b *InMemoryBackend) ListMulticastGroupDeviceIDs(multicastGroupID string) []string
ListMulticastGroupDeviceIDs returns the IDs of wireless devices currently associated with a multicast group, sorted 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 every multicast group associated with 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, filter ListWirelessDevicesFilter, ) []*WirelessDevice
ListWirelessDevices returns wireless devices for the given account and region matching filter, 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) StartBulkAssociateWirelessDeviceWithMulticastGroup ¶ added in v1.2.0
func (b *InMemoryBackend) StartBulkAssociateWirelessDeviceWithMulticastGroup( accountID, region, multicastGroupID string, ) error
StartBulkAssociateWirelessDeviceWithMulticastGroup associates every wireless device in the account/region with the multicast group. Real AWS filters candidates by the request's QueryString search expression against device attributes; this backend has no query-expression evaluator, so it emulates the "all qualifying devices" semantics by associating the full device corpus, matching this package's existing convention for List* ops that accept-but-can't-honor a narrowing filter (see PARITY.md gaps).
func (*InMemoryBackend) StartBulkDisassociateWirelessDeviceFromMulticastGroup ¶ added in v1.2.0
func (b *InMemoryBackend) StartBulkDisassociateWirelessDeviceFromMulticastGroup(multicastGroupID string) error
StartBulkDisassociateWirelessDeviceFromMulticastGroup disassociates every wireless device in the account/region from the multicast group -- the bulk-disassociate counterpart of StartBulkAssociateWirelessDeviceWithMulticastGroup.
func (*InMemoryBackend) StartFuotaTask ¶
func (b *InMemoryBackend) StartFuotaTask(accountID, region, id string, startTime *time.Time) error
StartFuotaTask transitions the FUOTA task's Status to "FuotaSession_Waiting" (types.FuotaTaskStatusFuotaSessionWaiting), matching real AWS's lifecycle for a task moved out of "Pending" by StartFuotaTask. Previously this corrupted FirmwareUpdateRole by overwriting it with a fabricated status string instead of tracking status as its own field. startTime, when non-nil, is StartFuotaTaskInput.LoRaWAN.StartTime (types.LoRaWANStartFuotaTask, types.go:1202); a nil value leaves any previously recorded start time untouched rather than clearing it.
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, descriptor, firmwareUpdateImage, firmwareUpdateRole string, fragmentIntervalMS, fragmentSizeBytes, redundancyPercent int32, loRaWAN *LoRaWANFuotaTask, ) error
UpdateFuotaTask updates mutable fields on an existing FUOTA task. UpdateFuotaTaskInput.LoRaWAN is the same LoRaWANFuotaTask shape as CreateFuotaTask's (api_op_UpdateFuotaTask.go:64), so a non-nil value replaces the stored LoRaWAN wholesale rather than merging field by field. descriptor, firmwareUpdateImage and firmwareUpdateRole only apply when non-empty, and fragmentIntervalMS/fragmentSizeBytes/redundancyPercent only apply when non-zero, matching the name != "" convention already used for Name -- see UpdateWirelessDevice/UpdateMulticastGroup for the same pattern.
func (*InMemoryBackend) UpdateLogLevelsByResourceTypes ¶
func (b *InMemoryBackend) UpdateLogLevelsByResourceTypes(cfg LogLevelsConfig) error
UpdateLogLevelsByResourceTypes replaces the account-wide default log-level configuration.
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, loRaWAN *LoRaWANMulticast, ) error
UpdateMulticastGroup updates mutable fields on an existing multicast group. UpdateMulticastGroupInput.LoRaWAN is the same LoRaWANMulticast shape as CreateMulticastGroup's (api_op_UpdateMulticastGroup.go:39), so a non-nil value replaces the stored LoRaWAN wholesale rather than merging field by field.
func (*InMemoryBackend) UpdateNetworkAnalyzerConfig ¶
func (b *InMemoryBackend) UpdateNetworkAnalyzerConfig( accountID, region, name, description string, wirelessDevices, wirelessGateways []string, traceContent *TraceContent, ) error
UpdateNetworkAnalyzerConfig updates mutable fields on an existing network analyzer configuration. traceContent, if non-nil, replaces the stored TraceContent wholesale rather than merging field-by-field: unlike LoRaWANUpdateDevice, types.TraceContent's fields (LogLevel/ MulticastFrameInfo/WirelessDeviceFrameInfo) aren't optional pointers, so there is no way for a client to express "leave this one sub-field alone".
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, positioning string, loRaWAN *LoRaWANUpdateDevice, sidewalk *SidewalkUpdateWirelessDevice, ) error
UpdateWirelessDevice updates mutable fields on an existing wireless device. loRaWAN/sidewalk are merged field-by-field into the stored configuration (rather than wholesale replaced), matching real AWS's UpdateWirelessDevice semantics of updating only the LoRaWANUpdateDevice/SidewalkUpdateWirelessDevice sub-fields the client actually supplied (e.g. LoRaWANUpdateDevice only carries DeviceProfileID/ServiceProfileID/ABP/FPorts -- not DevEui -- so a full replace would silently drop DevEui that CreateWirelessDevice originally stored).
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, joinEuiFilters [][]string, netIDFilters []string, maxEirp *float32, ) error
UpdateWirelessGateway updates mutable fields on an existing wireless gateway. UpdateWirelessGatewayInput carries JoinEuiFilters/MaxEirp/ NetIDFilters as top-level fields (not nested under a LoRaWAN sub-object, unlike Create -- api_op_UpdateWirelessGateway.go:27), so they merge field-by-field into the stored LoRaWANGateway; a nil/empty value leaves the existing field untouched.
type ListWirelessDevicesFilter ¶ added in v1.3.1
type ListWirelessDevicesFilter struct {
DestinationName string
DeviceProfileID string
ServiceProfileID string
FuotaTaskID string
MulticastGroupID string
WirelessDeviceType string
}
ListWirelessDevicesFilter narrows ListWirelessDevices' result set. Each non-empty field is a query-string filter on ListWirelessDevicesInput (destinationName/deviceProfileId/serviceProfileId/fuotaTaskId/ multicastGroupId/wirelessDeviceType -- api_op_ListWirelessDevices.go:29-56, serializers.go:6439). Multiple set filters combine with AND: this isn't documented in the SDK model (the client just forwards whatever query params are set), so this is a chosen semantic, matching how every other narrowing List filter in this codebase intersects rather than unions.
type LoRaWANDevice ¶ added in v1.3.1
type LoRaWANDevice struct {
AbpV1_0X *AbpV1_0X `json:"AbpV1_0_x,omitempty"`
AbpV1_1 *AbpV1_1 `json:"AbpV1_1,omitempty"`
FPorts *FPorts `json:"FPorts,omitempty"`
OtaaV1_0X *OtaaV1_0X `json:"OtaaV1_0_x,omitempty"`
OtaaV1_1 *OtaaV1_1 `json:"OtaaV1_1,omitempty"`
DevEui *string `json:"DevEui,omitempty"`
DeviceProfileID *string `json:"DeviceProfileId,omitempty"`
ServiceProfileID *string `json:"ServiceProfileId,omitempty"`
}
LoRaWANDevice mirrors types.LoRaWANDevice -- the CreateWirelessDevice request / GetWirelessDevice response shape (types.go:723).
type LoRaWANDeviceProfile ¶ added in v1.3.1
type LoRaWANDeviceProfile struct {
PingSlotDr *int32 `json:"PingSlotDr,omitempty"`
PingSlotPeriod *int32 `json:"PingSlotPeriod,omitempty"`
RegParamsRevision *string `json:"RegParamsRevision,omitempty"`
PingSlotFreq *int32 `json:"PingSlotFreq,omitempty"`
ClassBTimeout *int32 `json:"ClassBTimeout,omitempty"`
ClassCTimeout *int32 `json:"ClassCTimeout,omitempty"`
MaxDutyCycle *int32 `json:"MaxDutyCycle,omitempty"`
MaxEirp *int32 `json:"MaxEirp,omitempty"`
MacVersion *string `json:"MacVersion,omitempty"`
SupportsJoin *bool `json:"SupportsJoin,omitempty"`
RfRegion *string `json:"RfRegion,omitempty"`
RxDataRate2 *int32 `json:"RxDataRate2,omitempty"`
RxDelay1 *int32 `json:"RxDelay1,omitempty"`
RxDrOffset1 *int32 `json:"RxDrOffset1,omitempty"`
RxFreq2 *int32 `json:"RxFreq2,omitempty"`
FactoryPresetFreqsList []int32 `json:"FactoryPresetFreqsList,omitempty"`
Supports32BitFCnt bool `json:"Supports32BitFCnt,omitempty"`
SupportsClassB bool `json:"SupportsClassB,omitempty"`
SupportsClassC bool `json:"SupportsClassC,omitempty"`
}
LoRaWANDeviceProfile mirrors types.LoRaWANDeviceProfile -- shared verbatim by CreateDeviceProfile's request and GetDeviceProfile's response (types.go:780), unlike ServiceProfile/FuotaTask/MulticastGroup which each have a narrower create shape and a wider get shape.
type LoRaWANFuotaTask ¶ added in v1.3.1
type LoRaWANFuotaTask struct {
RfRegion string `json:"RfRegion,omitempty"`
}
LoRaWANFuotaTask mirrors types.LoRaWANFuotaTask -- shared by CreateFuotaTask's and UpdateFuotaTask's request (types.go:844).
type LoRaWANFuotaTaskGetInfo ¶ added in v1.3.1
type LoRaWANFuotaTaskGetInfo struct {
RfRegion *string `json:"RfRegion,omitempty"`
StartTime *string `json:"StartTime,omitempty"`
}
LoRaWANFuotaTaskGetInfo mirrors types.LoRaWANFuotaTaskGetInfo -- the GetFuotaTask response shape (types.go:853). StartTime is an ISO8601 string on the wire (smithytime.FormatDateTime/ParseDateTime, deserializers.go:19509) set from StartFuotaTaskInput.LoRaWAN.StartTime, captured by StartFuotaTask into FuotaTask.StartTime.
type LoRaWANGateway ¶ added in v1.3.1
type LoRaWANGateway struct {
Beaconing *Beaconing `json:"Beaconing,omitempty"`
GatewayEui *string `json:"GatewayEui,omitempty"`
MaxEirp *float32 `json:"MaxEirp,omitempty"`
RfRegion *string `json:"RfRegion,omitempty"`
JoinEuiFilters [][]string `json:"JoinEuiFilters,omitempty"`
NetIDFilters []string `json:"NetIdFilters,omitempty"`
SubBands []int32 `json:"SubBands,omitempty"`
}
LoRaWANGateway mirrors types.LoRaWANGateway, shared by CreateWirelessGateway/GetWirelessGateway (types.go:865).
type LoRaWANGatewayVersion ¶ added in v1.3.1
type LoRaWANGatewayVersion struct {
Model *string `json:"Model,omitempty"`
PackageVersion *string `json:"PackageVersion,omitempty"`
Station *string `json:"Station,omitempty"`
}
LoRaWANGatewayVersion mirrors types.LoRaWANGatewayVersion (types.go:918).
type LoRaWANGetServiceProfileInfo ¶ added in v1.3.1
type LoRaWANGetServiceProfileInfo struct {
ChannelMask *string `json:"ChannelMask,omitempty"`
DevStatusReqFreq *int32 `json:"DevStatusReqFreq,omitempty"`
DlBucketSize *int32 `json:"DlBucketSize,omitempty"`
DlRate *int32 `json:"DlRate,omitempty"`
DlRatePolicy *string `json:"DlRatePolicy,omitempty"`
MinGwDiversity *int32 `json:"MinGwDiversity,omitempty"`
NbTransMax *int32 `json:"NbTransMax,omitempty"`
NbTransMin *int32 `json:"NbTransMin,omitempty"`
TxPowerIndexMax *int32 `json:"TxPowerIndexMax,omitempty"`
TxPowerIndexMin *int32 `json:"TxPowerIndexMin,omitempty"`
UlBucketSize *int32 `json:"UlBucketSize,omitempty"`
UlRate *int32 `json:"UlRate,omitempty"`
UlRatePolicy *string `json:"UlRatePolicy,omitempty"`
DrMax int32 `json:"DrMax,omitempty"`
DrMin int32 `json:"DrMin,omitempty"`
TargetPer int32 `json:"TargetPer,omitempty"`
AddGwMetadata bool `json:"AddGwMetadata,omitempty"`
HrAllowed bool `json:"HrAllowed,omitempty"`
NwkGeoLoc bool `json:"NwkGeoLoc,omitempty"`
PrAllowed bool `json:"PrAllowed,omitempty"`
RaAllowed bool `json:"RaAllowed,omitempty"`
ReportDevStatusBattery bool `json:"ReportDevStatusBattery,omitempty"`
ReportDevStatusMargin bool `json:"ReportDevStatusMargin,omitempty"`
}
LoRaWANGetServiceProfileInfo mirrors types.LoRaWANGetServiceProfileInfo -- the GetServiceProfile response shape (types.go:933), wider than LoRaWANServiceProfile: ChannelMask, DevStatusReqFreq, DlBucketSize, DlRate, DlRatePolicy, HrAllowed, MinGwDiversity, NwkGeoLoc, TargetPer, UlBucketSize, UlRate and UlRatePolicy are AWS-computed and only ever appear on Get, never on Create.
type LoRaWANListDevice ¶ added in v1.3.1
type LoRaWANListDevice struct {
DevEui *string `json:"DevEui,omitempty"`
}
LoRaWANListDevice mirrors types.LoRaWANListDevice -- the ListWirelessDevices entry shape (types.go:1034): DevEui only.
type LoRaWANMulticast ¶ added in v1.3.1
type LoRaWANMulticast struct {
DefaultSessionParameters *DefaultSessionParametersMulticast `json:"DefaultSessionParameters,omitempty"`
ParticipatingGateways *ParticipatingGatewaysMulticast `json:"ParticipatingGateways,omitempty"`
DlClass string `json:"DlClass,omitempty"`
RfRegion string `json:"RfRegion,omitempty"`
}
LoRaWANMulticast mirrors types.LoRaWANMulticast -- shared by CreateMulticastGroup's and UpdateMulticastGroup's request (types.go:1043).
type LoRaWANMulticastGet ¶ added in v1.3.1
type LoRaWANMulticastGet struct {
DefaultSessionParameters *DefaultSessionParametersMulticast `json:"DefaultSessionParameters,omitempty"`
ParticipatingGateways *ParticipatingGatewaysMulticast `json:"ParticipatingGateways,omitempty"`
NumberOfDevicesInGroup *int32 `json:"NumberOfDevicesInGroup,omitempty"`
NumberOfDevicesRequested *int32 `json:"NumberOfDevicesRequested,omitempty"`
DlClass string `json:"DlClass,omitempty"`
RfRegion string `json:"RfRegion,omitempty"`
}
LoRaWANMulticastGet mirrors types.LoRaWANMulticastGet -- the GetMulticastGroup response shape (types.go:1064): same fields as LoRaWANMulticast plus NumberOfDevicesInGroup/NumberOfDevicesRequested.
type LoRaWANServiceProfile ¶ added in v1.3.1
type LoRaWANServiceProfile struct {
DrMax *int32 `json:"DrMax,omitempty"`
DrMin *int32 `json:"DrMin,omitempty"`
NbTransMax *int32 `json:"NbTransMax,omitempty"`
NbTransMin *int32 `json:"NbTransMin,omitempty"`
TxPowerIndexMax *int32 `json:"TxPowerIndexMax,omitempty"`
TxPowerIndexMin *int32 `json:"TxPowerIndexMin,omitempty"`
AddGwMetadata bool `json:"AddGwMetadata,omitempty"`
PrAllowed bool `json:"PrAllowed,omitempty"`
RaAllowed bool `json:"RaAllowed,omitempty"`
}
LoRaWANServiceProfile mirrors types.LoRaWANServiceProfile -- the CreateServiceProfile request shape (types.go:1161).
type LoRaWANStartFuotaTask ¶ added in v1.3.1
type LoRaWANStartFuotaTask struct {
StartTime *string `json:"StartTime,omitempty"`
}
LoRaWANStartFuotaTask mirrors types.LoRaWANStartFuotaTask -- the StartFuotaTask request shape (types.go:1202). It carries only StartTime; unlike LoRaWANFuotaTask's RfRegion, there is nothing else to set.
type LoRaWANUpdateDevice ¶ added in v1.3.1
type LoRaWANUpdateDevice struct {
AbpV1_0X *UpdateAbpV1_0X `json:"AbpV1_0_x,omitempty"`
AbpV1_1 *UpdateAbpV1_1 `json:"AbpV1_1,omitempty"`
FPorts *UpdateFPorts `json:"FPorts,omitempty"`
DeviceProfileID *string `json:"DeviceProfileId,omitempty"`
ServiceProfileID *string `json:"ServiceProfileId,omitempty"`
}
LoRaWANUpdateDevice mirrors types.LoRaWANUpdateDevice -- the narrower UpdateWirelessDevice request shape (types.go:1211): only DeviceProfileID/ ServiceProfileID/Abp/FPorts are updatable, DevEui and Otaa are not.
type LoRaWANUpdateGatewayTaskCreate ¶ added in v1.3.1
type LoRaWANUpdateGatewayTaskCreate struct {
CurrentVersion *LoRaWANGatewayVersion `json:"CurrentVersion,omitempty"`
UpdateVersion *LoRaWANGatewayVersion `json:"UpdateVersion,omitempty"`
UpdateSignature *string `json:"UpdateSignature,omitempty"`
SigKeyCrc *int64 `json:"SigKeyCrc,omitempty"`
}
LoRaWANUpdateGatewayTaskCreate mirrors types.LoRaWANUpdateGatewayTaskCreate (types.go:1232).
type LoRaWANUpdateGatewayTaskEntry ¶ added in v1.3.1
type LoRaWANUpdateGatewayTaskEntry struct {
CurrentVersion *LoRaWANGatewayVersion `json:"CurrentVersion,omitempty"`
UpdateVersion *LoRaWANGatewayVersion `json:"UpdateVersion,omitempty"`
}
LoRaWANUpdateGatewayTaskEntry mirrors types.LoRaWANUpdateGatewayTaskEntry (types.go:1250) -- narrower than LoRaWANUpdateGatewayTaskCreate: real AWS's ListWirelessGatewayTaskDefinitions entry (types.UpdateWirelessGatewayTaskEntry.LoRaWAN, types.go:2206) carries only CurrentVersion/UpdateVersion, not SigKeyCrc/UpdateSignature.
type LogLevelsConfig ¶ added in v1.2.0
type LogLevelsConfig struct {
DefaultLogLevel string
FuotaTaskLogOptions []map[string]any
WirelessDeviceLogOptions []map[string]any
WirelessGatewayLogOptions []map[string]any
}
LogLevelsConfig is the account-wide default log-level configuration set via UpdateLogLevelsByResourceTypes. FuotaTaskLogOptions/ WirelessDeviceLogOptions/WirelessGatewayLogOptions hold the request's nested log-option-list objects verbatim (see the WirelessDevice.LoRaWAN doc comment in models.go for why opaque storage is used for these client-submitted nested configs) -- previously these three fields were silently accepted by UpdateLogLevelsByResourceTypesInput and dropped, always echoing back empty arrays regardless of what was set.
type MulticastGroup ¶
type MulticastGroup struct {
CreatedAt time.Time `json:"createdAt"`
Tags map[string]string `json:"tags,omitempty"`
// LoRaWAN holds the create/update-shape LoRaWANMulticast; GetMulticastGroup
// converts it to LoRaWANMulticastGet via loRaWANMulticastGetFrom
// (lorawan_types.go), adding the real device-association count.
LoRaWAN *LoRaWANMulticast `json:"loRaWAN,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:"-"`
TraceContent *TraceContent `json:"traceContent,omitempty"`
WirelessDevices []string `json:"wirelessDevices,omitempty"`
WirelessGateways []string `json:"wirelessGateways,omitempty"`
MulticastGroups []string `json:"multicastGroups,omitempty"`
}
NetworkAnalyzerConfig represents an IoT Wireless network analyzer configuration.
type OtaaV1_0X ¶ added in v1.3.1
type OtaaV1_0X struct {
AppEui *string `json:"AppEui,omitempty"`
AppKey *string `json:"AppKey,omitempty"`
GenAppKey *string `json:"GenAppKey,omitempty"`
JoinEui *string `json:"JoinEui,omitempty"`
}
OtaaV1_0X mirrors types.OtaaV1_0X (types.go:1453).
type OtaaV1_1 ¶ added in v1.3.1
type OtaaV1_1 struct {
AppKey *string `json:"AppKey,omitempty"`
JoinEui *string `json:"JoinEui,omitempty"`
NwkKey *string `json:"NwkKey,omitempty"`
}
OtaaV1_1 mirrors types.OtaaV1_1 (types.go:1473).
type ParticipatingGatewaysMulticast ¶ added in v1.3.1
type ParticipatingGatewaysMulticast struct {
TransmissionInterval *int32 `json:"TransmissionInterval,omitempty"`
GatewayList []string `json:"GatewayList,omitempty"`
}
ParticipatingGatewaysMulticast mirrors types.ParticipatingGatewaysMulticast (types.go:1515).
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 Positioning ¶ added in v1.3.1
type Positioning struct {
ClockSync *int32 `json:"ClockSync,omitempty"`
Gnss *int32 `json:"Gnss,omitempty"`
Stream *int32 `json:"Stream,omitempty"`
}
Positioning mirrors types.Positioning (types.go:1551): FPort assignments for the GNSS/stream/ClockSync positioning functions.
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"`
// LoRaWAN holds the create-shape LoRaWANServiceProfile; GetServiceProfile
// converts it to the wider LoRaWANGetServiceProfileInfo via
// loRaWANGetServiceProfileInfoFrom (lorawan_types.go).
LoRaWAN *LoRaWANServiceProfile `json:"loRaWAN,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 SessionKeysAbpV1_0X ¶ added in v1.3.1
type SessionKeysAbpV1_0X struct {
AppSKey *string `json:"AppSKey,omitempty"`
NwkSKey *string `json:"NwkSKey,omitempty"`
}
SessionKeysAbpV1_0X mirrors types.SessionKeysAbpV1_0X (types.go:1658).
type SessionKeysAbpV1_1 ¶ added in v1.3.1
type SessionKeysAbpV1_1 struct {
AppSKey *string `json:"AppSKey,omitempty"`
FNwkSIntKey *string `json:"FNwkSIntKey,omitempty"`
NwkSEncKey *string `json:"NwkSEncKey,omitempty"`
SNwkSIntKey *string `json:"SNwkSIntKey,omitempty"`
}
SessionKeysAbpV1_1 mirrors types.SessionKeysAbpV1_1 (types.go:1670).
type SidewalkCreateDeviceProfile ¶ added in v1.3.1
type SidewalkCreateDeviceProfile struct{}
SidewalkCreateDeviceProfile mirrors types.SidewalkCreateDeviceProfile -- the CreateDeviceProfile request shape (types.go:1715). It carries no fields at all: unlike SidewalkCreateWirelessDevice, a Sidewalk device profile has no client-configurable settings, so this struct's only purpose is to distinguish "Sidewalk key present" from "absent" on decode.
type SidewalkCreateWirelessDevice ¶ added in v1.3.1
type SidewalkCreateWirelessDevice struct {
Positioning *SidewalkPositioning `json:"Positioning,omitempty"`
DeviceProfileID *string `json:"DeviceProfileId,omitempty"`
SidewalkManufacturingSn *string `json:"SidewalkManufacturingSn,omitempty"`
}
SidewalkCreateWirelessDevice mirrors types.SidewalkCreateWirelessDevice -- the CreateWirelessDevice request shape (types.go:1720).
type SidewalkDevice ¶ added in v1.3.1
type SidewalkDevice struct {
Positioning *SidewalkPositioning `json:"Positioning,omitempty"`
AmazonID *string `json:"AmazonId,omitempty"`
CertificateID *string `json:"CertificateId,omitempty"`
DeviceProfileID *string `json:"DeviceProfileId,omitempty"`
SidewalkID *string `json:"SidewalkId,omitempty"`
SidewalkManufacturingSn *string `json:"SidewalkManufacturingSn,omitempty"`
Status string `json:"Status,omitempty"`
DeviceCertificates []CertificateList `json:"DeviceCertificates,omitempty"`
PrivateKeys []CertificateList `json:"PrivateKeys,omitempty"`
}
SidewalkDevice mirrors types.SidewalkDevice -- the GetWirelessDevice response shape (types.go:1735), a superset of SidewalkCreateWirelessDevice carrying AWS-assigned identity fields this backend never fabricates.
type SidewalkGetDeviceProfile ¶ added in v1.3.1
type SidewalkGetDeviceProfile struct {
ApplicationServerPublicKey *string `json:"ApplicationServerPublicKey,omitempty"`
QualificationStatus *bool `json:"QualificationStatus,omitempty"`
DakCertificateMetadata []DakCertificateMetadata `json:"DakCertificateMetadata,omitempty"`
}
SidewalkGetDeviceProfile mirrors types.SidewalkGetDeviceProfile -- the GetDeviceProfile response shape (types.go:1796). Its fields are AWS-assigned at provisioning time; this backend never fabricates them, so they stay unset even when the profile is a Sidewalk profile.
type SidewalkListDevice ¶ added in v1.3.1
type SidewalkListDevice struct {
Positioning *SidewalkPositioning `json:"Positioning,omitempty"`
AmazonID *string `json:"AmazonId,omitempty"`
DeviceProfileID *string `json:"DeviceProfileId,omitempty"`
SidewalkID *string `json:"SidewalkId,omitempty"`
SidewalkManufacturingSn *string `json:"SidewalkManufacturingSn,omitempty"`
Status string `json:"Status,omitempty"`
DeviceCertificates []CertificateList `json:"DeviceCertificates,omitempty"`
}
SidewalkListDevice mirrors types.SidewalkListDevice -- the ListWirelessDevices entry shape (types.go:1828).
type SidewalkPositioning ¶ added in v1.3.1
type SidewalkPositioning struct {
DestinationName *string `json:"DestinationName,omitempty"`
}
SidewalkPositioning mirrors types.SidewalkPositioning (types.go:1865).
type SidewalkUpdateWirelessDevice ¶ added in v1.3.1
type SidewalkUpdateWirelessDevice struct {
Positioning *SidewalkPositioning `json:"Positioning,omitempty"`
}
SidewalkUpdateWirelessDevice mirrors types.SidewalkUpdateWirelessDevice -- the UpdateWirelessDevice request shape (types.go:1948): only Positioning is updatable.
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, positioning string,
loRaWAN *LoRaWANDevice, sidewalk *SidewalkCreateWirelessDevice,
tags map[string]string,
) (*WirelessDevice, error)
GetWirelessDevice(accountID, region, id string) (*WirelessDevice, error)
ListWirelessDevices(accountID, region string, filter ListWirelessDevicesFilter) []*WirelessDevice
DeleteWirelessDevice(accountID, region, id string) error
CreateWirelessGateway(
accountID, region, name, description string,
loRaWAN *LoRaWANGateway,
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,
loRaWAN *LoRaWANServiceProfile,
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,
loRaWAN *LoRaWANDeviceProfile,
sidewalk *SidewalkCreateDeviceProfile,
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, descriptor string,
fragmentIntervalMS, fragmentSizeBytes, redundancyPercent int32,
loRaWAN *LoRaWANFuotaTask,
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, descriptor, firmwareUpdateImage, firmwareUpdateRole string,
fragmentIntervalMS, fragmentSizeBytes, redundancyPercent int32,
loRaWAN *LoRaWANFuotaTask,
) error
UpdateWirelessGateway(
accountID, region, id, name, description string,
joinEuiFilters [][]string, netIDFilters []string, maxEirp *float32,
) error
UpdateDestination(accountID, region, name, expression, expressionType, roleArn, description string) error
CreateMulticastGroup(
accountID, region, name, description string,
loRaWAN *LoRaWANMulticast,
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, loRaWAN *LoRaWANMulticast) error
CreateNetworkAnalyzerConfig(
accountID, region, name, description string,
wirelessDevices, wirelessGateways, multicastGroups []string,
traceContent *TraceContent,
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,
traceContent *TraceContent,
) 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
ListMulticastGroupDeviceIDs(multicastGroupID string) []string
ListFuotaTaskDeviceIDs(fuotaTaskID string) []string
StartBulkAssociateWirelessDeviceWithMulticastGroup(accountID, region, multicastGroupID string) error
StartBulkDisassociateWirelessDeviceFromMulticastGroup(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, startTime *time.Time) error
DisassociateWirelessDeviceFromFuotaTask(fuotaTaskID, wirelessDeviceID string) error
ListMulticastGroupsByFuotaTask(accountID, region, fuotaTaskID string) []*MulticastGroup
DisassociateMulticastGroupFromFuotaTask(fuotaTaskID, multicastGroupID string) error
DisassociateWirelessDeviceFromMulticastGroup(multicastGroupID, wirelessDeviceID 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, positioning string,
loRaWAN *LoRaWANUpdateDevice, sidewalk *SidewalkUpdateWirelessDevice,
) error
DisassociateWirelessDeviceFromThing(accountID, region, wirelessDeviceID string) error
GetPartnerAccount(partnerAccountID string) (string, error)
ListPartnerAccounts() map[string]string
DisassociateAwsAccountFromPartnerAccount(partnerAccountID string) error
GetLogLevelsByResourceTypes() LogLevelsConfig
UpdateLogLevelsByResourceTypes(cfg LogLevelsConfig) 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,
update *UpdateWirelessGatewayTaskCreate,
) (*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 TraceContent ¶ added in v1.3.1
type TraceContent struct {
LogLevel string `json:"LogLevel,omitempty"`
MulticastFrameInfo string `json:"MulticastFrameInfo,omitempty"`
WirelessDeviceFrameInfo string `json:"WirelessDeviceFrameInfo,omitempty"`
}
TraceContent mirrors types.TraceContent (types.go:2130), used by NetworkAnalyzerConfig's Create/Get/UpdateNetworkAnalyzerConfiguration.
type UpdateAbpV1_0X ¶ added in v1.3.1
type UpdateAbpV1_0X struct {
FCntStart *int32 `json:"FCntStart,omitempty"`
}
UpdateAbpV1_0X mirrors types.UpdateAbpV1_0X (types.go:2151).
type UpdateAbpV1_1 ¶ added in v1.3.1
type UpdateAbpV1_1 struct {
FCntStart *int32 `json:"FCntStart,omitempty"`
}
UpdateAbpV1_1 mirrors types.UpdateAbpV1_1 (types.go:2160).
type UpdateFPorts ¶ added in v1.3.1
type UpdateFPorts struct {
Positioning *Positioning `json:"Positioning,omitempty"`
Applications []ApplicationConfig `json:"Applications,omitempty"`
}
UpdateFPorts mirrors types.UpdateFPorts (types.go:2169).
type UpdateWirelessGatewayTaskCreate ¶ added in v1.3.1
type UpdateWirelessGatewayTaskCreate struct {
LoRaWAN *LoRaWANUpdateGatewayTaskCreate `json:"LoRaWAN,omitempty"`
UpdateDataRole *string `json:"UpdateDataRole,omitempty"`
UpdateDataSource *string `json:"UpdateDataSource,omitempty"`
}
UpdateWirelessGatewayTaskCreate mirrors types.UpdateWirelessGatewayTaskCreate (types.go:2182) -- the "Update" sub-struct of CreateWirelessGatewayTaskDefinitionInput.Update / GetWirelessGatewayTaskDefinitionOutput.Update.
type WirelessDevice ¶
type WirelessDevice struct {
CreatedAt time.Time `json:"createdAt"`
LastUplinkReceivedAt *time.Time `json:"lastUplinkReceivedAt,omitempty"`
Tags map[string]string `json:"tags,omitempty"`
// LoRaWAN uses the types.LoRaWANDevice shape shared by
// CreateWirelessDevice's request and GetWirelessDevice's response.
// Sidewalk is stored as the richer types.SidewalkDevice (get) shape;
// CreateWirelessDevice's narrower SidewalkCreateWirelessDevice request is
// converted into it via sidewalkDeviceFromCreate (lorawan_types.go).
LoRaWAN *LoRaWANDevice `json:"loRaWAN,omitempty"`
Sidewalk *SidewalkDevice `json:"sidewalk,omitempty"`
Positioning string `json:"positioning,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"`
// LoRaWAN uses the types.LoRaWANGateway shape shared by
// CreateWirelessGateway/GetWirelessGateway.
LoRaWAN *LoRaWANGateway `json:"loRaWAN,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
- lorawan_types.go
- metrics.go
- models.go
- multicast_groups.go
- network_analyzer.go
- pagination.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