IOTWIRELESS

AssociateAwsAccountWithPartnerAccount

valid {
    input.Body.Sidewalk.AmazonId == STRING
    input.Body.Sidewalk.AppServerPrivateKey == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateMulticastGroupWithFuotaTask

valid {
    input.Body.MulticastGroupId == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateWirelessDeviceWithFuotaTask

valid {
    input.Body.WirelessDeviceId == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateWirelessDeviceWithMulticastGroup

valid {
    input.Body.WirelessDeviceId == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateWirelessDeviceWithThing

valid {
    input.Body.ThingArn == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateWirelessGatewayWithCertificate

valid {
    input.Body.IotCertificateId == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

AssociateWirelessGatewayWithThing

valid {
    input.Body.ThingArn == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelMulticastGroupSession

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDestination

enum_ExpressionType := [ "RuleName", "MqttTopic" ]

valid {
    input.Body.Name == STRING
    input.Body.ExpressionType == enum_ExpressionType[_]
    input.Body.Expression == STRING
    input.Body.Description == STRING
    input.Body.RoleArn == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateDeviceProfile

valid {
    input.Body.Name == STRING
    input.Body.LoRaWAN.SupportsClassB == BOOLEAN
    input.Body.LoRaWAN.ClassBTimeout == INTEGER
    input.Body.LoRaWAN.PingSlotPeriod == INTEGER
    input.Body.LoRaWAN.PingSlotDr == INTEGER
    input.Body.LoRaWAN.PingSlotFreq == INTEGER
    input.Body.LoRaWAN.SupportsClassC == BOOLEAN
    input.Body.LoRaWAN.ClassCTimeout == INTEGER
    input.Body.LoRaWAN.MacVersion == STRING
    input.Body.LoRaWAN.RegParamsRevision == STRING
    input.Body.LoRaWAN.RxDelay1 == INTEGER
    input.Body.LoRaWAN.RxDrOffset1 == INTEGER
    input.Body.LoRaWAN.RxDataRate2 == INTEGER
    input.Body.LoRaWAN.RxFreq2 == INTEGER
    input.Body.LoRaWAN.FactoryPresetFreqsList[_] == INTEGER
    input.Body.LoRaWAN.MaxEirp == INTEGER
    input.Body.LoRaWAN.MaxDutyCycle == INTEGER
    input.Body.LoRaWAN.RfRegion == STRING
    input.Body.LoRaWAN.SupportsJoin == BOOLEAN
    input.Body.LoRaWAN.Supports32BitFCnt == BOOLEAN
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Sidewalk == {}
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateFuotaTask

enum_SupportedRfRegion := [ "EU868", "US915", "AU915", "AS923-1", "AS923-2", "AS923-3", "AS923-4", "EU433", "CN470", "CN779", "RU864", "KR920", "IN865" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.LoRaWAN.RfRegion == enum_SupportedRfRegion[_]
    input.Body.FirmwareUpdateImage == STRING
    input.Body.FirmwareUpdateRole == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.RedundancyPercent == INTEGER
    input.Body.FragmentSizeBytes == INTEGER
    input.Body.FragmentIntervalMS == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMulticastGroup

enum_DlClass := [ "ClassB", "ClassC" ]
enum_SupportedRfRegion := [ "EU868", "US915", "AU915", "AS923-1", "AS923-2", "AS923-3", "AS923-4", "EU433", "CN470", "CN779", "RU864", "KR920", "IN865" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.LoRaWAN.RfRegion == enum_SupportedRfRegion[_]
    input.Body.LoRaWAN.DlClass == enum_DlClass[_]
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateNetworkAnalyzerConfiguration

enum_LogLevel := [ "INFO", "ERROR", "DISABLED" ]
enum_MulticastFrameInfo := [ "ENABLED", "DISABLED" ]
enum_WirelessDeviceFrameInfo := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.Name == STRING
    input.Body.TraceContent.WirelessDeviceFrameInfo == enum_WirelessDeviceFrameInfo[_]
    input.Body.TraceContent.LogLevel == enum_LogLevel[_]
    input.Body.TraceContent.MulticastFrameInfo == enum_MulticastFrameInfo[_]
    input.Body.WirelessDevices[_] == STRING
    input.Body.WirelessGateways[_] == STRING
    input.Body.Description == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.MulticastGroups[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateServiceProfile

valid {
    input.Body.Name == STRING
    input.Body.LoRaWAN.AddGwMetadata == BOOLEAN
    input.Body.LoRaWAN.DrMin == INTEGER
    input.Body.LoRaWAN.DrMax == INTEGER
    input.Body.LoRaWAN.PrAllowed == BOOLEAN
    input.Body.LoRaWAN.RaAllowed == BOOLEAN
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWirelessDevice

enum_ApplicationConfigType := [ "SemtechGeolocation" ]
enum_PositioningConfigStatus := [ "Enabled", "Disabled" ]
enum_WirelessDeviceType := [ "Sidewalk", "LoRaWAN" ]

valid {
    input.Body.Type == enum_WirelessDeviceType[_]
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.DestinationName == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.LoRaWAN.DevEui == STRING
    input.Body.LoRaWAN.DeviceProfileId == STRING
    input.Body.LoRaWAN.ServiceProfileId == STRING
    input.Body.LoRaWAN.OtaaV1_1.AppKey == STRING
    input.Body.LoRaWAN.OtaaV1_1.NwkKey == STRING
    input.Body.LoRaWAN.OtaaV1_1.JoinEui == STRING
    input.Body.LoRaWAN.OtaaV1_0_x.AppKey == STRING
    input.Body.LoRaWAN.OtaaV1_0_x.AppEui == STRING
    input.Body.LoRaWAN.OtaaV1_0_x.JoinEui == STRING
    input.Body.LoRaWAN.OtaaV1_0_x.GenAppKey == STRING
    input.Body.LoRaWAN.AbpV1_1.DevAddr == STRING
    input.Body.LoRaWAN.AbpV1_1.SessionKeys.FNwkSIntKey == STRING
    input.Body.LoRaWAN.AbpV1_1.SessionKeys.SNwkSIntKey == STRING
    input.Body.LoRaWAN.AbpV1_1.SessionKeys.NwkSEncKey == STRING
    input.Body.LoRaWAN.AbpV1_1.SessionKeys.AppSKey == STRING
    input.Body.LoRaWAN.AbpV1_1.FCntStart == INTEGER
    input.Body.LoRaWAN.AbpV1_0_x.DevAddr == STRING
    input.Body.LoRaWAN.AbpV1_0_x.SessionKeys.NwkSKey == STRING
    input.Body.LoRaWAN.AbpV1_0_x.SessionKeys.AppSKey == STRING
    input.Body.LoRaWAN.AbpV1_0_x.FCntStart == INTEGER
    input.Body.LoRaWAN.FPorts.Fuota == INTEGER
    input.Body.LoRaWAN.FPorts.Multicast == INTEGER
    input.Body.LoRaWAN.FPorts.ClockSync == INTEGER
    input.Body.LoRaWAN.FPorts.Positioning.ClockSync == INTEGER
    input.Body.LoRaWAN.FPorts.Positioning.Stream == INTEGER
    input.Body.LoRaWAN.FPorts.Positioning.Gnss == INTEGER
    input.Body.LoRaWAN.FPorts.Applications[_].FPort == INTEGER
    input.Body.LoRaWAN.FPorts.Applications[_].Type == enum_ApplicationConfigType[_]
    input.Body.LoRaWAN.FPorts.Applications[_].DestinationName == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.Positioning == enum_PositioningConfigStatus[_]
    input.Body.Sidewalk.DeviceProfileId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWirelessGateway

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.LoRaWAN.GatewayEui == STRING
    input.Body.LoRaWAN.RfRegion == STRING
    input.Body.LoRaWAN.JoinEuiFilters[_][_] == STRING
    input.Body.LoRaWAN.NetIdFilters[_] == STRING
    input.Body.LoRaWAN.SubBands[_] == INTEGER
    input.Body.LoRaWAN.Beaconing.DataRate == INTEGER
    input.Body.LoRaWAN.Beaconing.Frequencies[_] == INTEGER
    input.Body.LoRaWAN.MaxEirp == FLOAT
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.ClientRequestToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWirelessGatewayTask

valid {
    input.Body.WirelessGatewayTaskDefinitionId == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWirelessGatewayTaskDefinition

valid {
    input.Body.AutoCreateTasks == BOOLEAN
    input.Body.Name == STRING
    input.Body.Update.UpdateDataSource == STRING
    input.Body.Update.UpdateDataRole == STRING
    input.Body.Update.LoRaWAN.UpdateSignature == STRING
    input.Body.Update.LoRaWAN.SigKeyCrc == LONG
    input.Body.Update.LoRaWAN.CurrentVersion.PackageVersion == STRING
    input.Body.Update.LoRaWAN.CurrentVersion.Model == STRING
    input.Body.Update.LoRaWAN.CurrentVersion.Station == STRING
    input.Body.Update.LoRaWAN.UpdateVersion.PackageVersion == STRING
    input.Body.Update.LoRaWAN.UpdateVersion.Model == STRING
    input.Body.Update.LoRaWAN.UpdateVersion.Station == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDestination

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteDeviceProfile

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteFuotaTask

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteMulticastGroup

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteNetworkAnalyzerConfiguration

valid {
    input.ReqMap.ConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteQueuedMessages

enum_WirelessDeviceType := [ "Sidewalk", "LoRaWAN" ]

valid {
    input.ReqMap.Id == STRING
    input.Qs.messageId == STRING
    input.Qs.WirelessDeviceType == enum_WirelessDeviceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteServiceProfile

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWirelessDevice

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWirelessDeviceImportTask

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWirelessGateway

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWirelessGatewayTask

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWirelessGatewayTaskDefinition

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeregisterWirelessDevice

enum_WirelessDeviceType := [ "Sidewalk", "LoRaWAN" ]

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.WirelessDeviceType == enum_WirelessDeviceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateAwsAccountFromPartnerAccount

enum_PartnerType := [ "Sidewalk" ]

valid {
    input.ReqMap.PartnerAccountId == STRING
    input.Qs.partnerType == enum_PartnerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateMulticastGroupFromFuotaTask

valid {
    input.ReqMap.Id == STRING
    input.ReqMap.MulticastGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateWirelessDeviceFromFuotaTask

valid {
    input.ReqMap.Id == STRING
    input.ReqMap.WirelessDeviceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateWirelessDeviceFromMulticastGroup

valid {
    input.ReqMap.Id == STRING
    input.ReqMap.WirelessDeviceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateWirelessDeviceFromThing

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateWirelessGatewayFromCertificate

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateWirelessGatewayFromThing

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDestination

valid {
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDeviceProfile

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetEventConfigurationByResourceTypes

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetFuotaTask

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetLogLevelsByResourceTypes

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMetricConfiguration

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMetrics

enum_AggregationPeriod := [ "OneHour", "OneDay", "OneWeek" ]
enum_DimensionName := [ "DeviceId", "GatewayId" ]
enum_MetricName := [ "DeviceRSSI", "DeviceSNR", "DeviceUplinkCount", "DeviceDownlinkCount", "DeviceUplinkLostCount", "DeviceUplinkLostRate", "DeviceJoinRequestCount", "DeviceJoinAcceptCount", "DeviceRoamingUplinkCount", "DeviceRoamingDownlinkCount", "GatewayUpTime", "GatewayDownTime", "GatewayRSSI", "GatewaySNR", "GatewayUplinkCount", "GatewayDownlinkCount", "GatewayJoinRequestCount", "GatewayJoinAcceptCount", "AwsAccountUplinkCount", "AwsAccountDownlinkCount", "AwsAccountUplinkLostCount", "AwsAccountUplinkLostRate", "AwsAccountJoinRequestCount", "AwsAccountJoinAcceptCount", "AwsAccountRoamingUplinkCount", "AwsAccountRoamingDownlinkCount", "AwsAccountDeviceCount", "AwsAccountGatewayCount", "AwsAccountActiveDeviceCount", "AwsAccountActiveGatewayCount" ]

valid {
    input.Body.SummaryMetricQueries[_].QueryId == STRING
    input.Body.SummaryMetricQueries[_].MetricName == enum_MetricName[_]
    input.Body.SummaryMetricQueries[_].Dimensions[_].name == enum_DimensionName[_]
    input.Body.SummaryMetricQueries[_].Dimensions[_].value == STRING
    input.Body.SummaryMetricQueries[_].AggregationPeriod == enum_AggregationPeriod[_]
    input.Body.SummaryMetricQueries[_].StartTimestamp == TIMESTAMP
    input.Body.SummaryMetricQueries[_].EndTimestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMulticastGroup

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMulticastGroupSession

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetNetworkAnalyzerConfiguration

valid {
    input.ReqMap.ConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPartnerAccount

enum_PartnerType := [ "Sidewalk" ]

valid {
    input.ReqMap.PartnerAccountId == STRING
    input.Qs.partnerType == enum_PartnerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPosition

enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPositionConfiguration

enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPositionEstimate

valid {
    input.Body.WiFiAccessPoints[_].MacAddress == STRING
    input.Body.WiFiAccessPoints[_].Rss == INTEGER
    input.Body.CellTowers.Gsm[_].Mcc == INTEGER
    input.Body.CellTowers.Gsm[_].Mnc == INTEGER
    input.Body.CellTowers.Gsm[_].Lac == INTEGER
    input.Body.CellTowers.Gsm[_].GeranCid == INTEGER
    input.Body.CellTowers.Gsm[_].GsmLocalId.Bsic == INTEGER
    input.Body.CellTowers.Gsm[_].GsmLocalId.Bcch == INTEGER
    input.Body.CellTowers.Gsm[_].GsmTimingAdvance == INTEGER
    input.Body.CellTowers.Gsm[_].RxLevel == INTEGER
    input.Body.CellTowers.Gsm[_].GsmNmr[_].Bsic == INTEGER
    input.Body.CellTowers.Gsm[_].GsmNmr[_].Bcch == INTEGER
    input.Body.CellTowers.Gsm[_].GsmNmr[_].RxLevel == INTEGER
    input.Body.CellTowers.Gsm[_].GsmNmr[_].GlobalIdentity.Lac == INTEGER
    input.Body.CellTowers.Gsm[_].GsmNmr[_].GlobalIdentity.GeranCid == INTEGER
    input.Body.CellTowers.Wcdma[_].Mcc == INTEGER
    input.Body.CellTowers.Wcdma[_].Mnc == INTEGER
    input.Body.CellTowers.Wcdma[_].Lac == INTEGER
    input.Body.CellTowers.Wcdma[_].UtranCid == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaLocalId.Uarfcndl == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaLocalId.Psc == INTEGER
    input.Body.CellTowers.Wcdma[_].Rscp == INTEGER
    input.Body.CellTowers.Wcdma[_].PathLoss == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaNmr[_].Uarfcndl == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaNmr[_].Psc == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaNmr[_].UtranCid == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaNmr[_].Rscp == INTEGER
    input.Body.CellTowers.Wcdma[_].WcdmaNmr[_].PathLoss == INTEGER
    input.Body.CellTowers.Tdscdma[_].Mcc == INTEGER
    input.Body.CellTowers.Tdscdma[_].Mnc == INTEGER
    input.Body.CellTowers.Tdscdma[_].Lac == INTEGER
    input.Body.CellTowers.Tdscdma[_].UtranCid == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaLocalId.Uarfcn == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaLocalId.CellParams == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaTimingAdvance == INTEGER
    input.Body.CellTowers.Tdscdma[_].Rscp == INTEGER
    input.Body.CellTowers.Tdscdma[_].PathLoss == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaNmr[_].Uarfcn == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaNmr[_].CellParams == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaNmr[_].UtranCid == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaNmr[_].Rscp == INTEGER
    input.Body.CellTowers.Tdscdma[_].TdscdmaNmr[_].PathLoss == INTEGER
    input.Body.CellTowers.Lte[_].Mcc == INTEGER
    input.Body.CellTowers.Lte[_].Mnc == INTEGER
    input.Body.CellTowers.Lte[_].EutranCid == INTEGER
    input.Body.CellTowers.Lte[_].Tac == INTEGER
    input.Body.CellTowers.Lte[_].LteLocalId.Pci == INTEGER
    input.Body.CellTowers.Lte[_].LteLocalId.Earfcn == INTEGER
    input.Body.CellTowers.Lte[_].LteTimingAdvance == INTEGER
    input.Body.CellTowers.Lte[_].Rsrp == INTEGER
    input.Body.CellTowers.Lte[_].Rsrq == FLOAT
    input.Body.CellTowers.Lte[_].NrCapable == BOOLEAN
    input.Body.CellTowers.Lte[_].LteNmr[_].Pci == INTEGER
    input.Body.CellTowers.Lte[_].LteNmr[_].Earfcn == INTEGER
    input.Body.CellTowers.Lte[_].LteNmr[_].EutranCid == INTEGER
    input.Body.CellTowers.Lte[_].LteNmr[_].Rsrp == INTEGER
    input.Body.CellTowers.Lte[_].LteNmr[_].Rsrq == FLOAT
    input.Body.CellTowers.Cdma[_].SystemId == INTEGER
    input.Body.CellTowers.Cdma[_].NetworkId == INTEGER
    input.Body.CellTowers.Cdma[_].BaseStationId == INTEGER
    input.Body.CellTowers.Cdma[_].RegistrationZone == INTEGER
    input.Body.CellTowers.Cdma[_].CdmaLocalId.PnOffset == INTEGER
    input.Body.CellTowers.Cdma[_].CdmaLocalId.CdmaChannel == INTEGER
    input.Body.CellTowers.Cdma[_].PilotPower == INTEGER
    input.Body.CellTowers.Cdma[_].BaseLat == FLOAT
    input.Body.CellTowers.Cdma[_].BaseLng == FLOAT
    input.Body.CellTowers.Cdma[_].CdmaNmr[_].PnOffset == INTEGER
    input.Body.CellTowers.Cdma[_].CdmaNmr[_].CdmaChannel == INTEGER
    input.Body.CellTowers.Cdma[_].CdmaNmr[_].PilotPower == INTEGER
    input.Body.CellTowers.Cdma[_].CdmaNmr[_].BaseStationId == INTEGER
    input.Body.Ip.IpAddress == STRING
    input.Body.Gnss.Payload == STRING
    input.Body.Gnss.CaptureTime == FLOAT
    input.Body.Gnss.CaptureTimeAccuracy == FLOAT
    input.Body.Gnss.AssistPosition[_] == FLOAT
    input.Body.Gnss.AssistAltitude == FLOAT
    input.Body.Gnss.Use2DSolver == BOOLEAN
    input.Body.Timestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetResourceEventConfiguration

enum_EventNotificationPartnerType := [ "Sidewalk" ]
enum_IdentifierType := [ "PartnerAccountId", "DevEui", "GatewayEui", "WirelessDeviceId", "WirelessGatewayId" ]

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.identifierType == enum_IdentifierType[_]
    input.Qs.partnerType == enum_EventNotificationPartnerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetResourceLogLevel

valid {
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetResourcePosition

enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetServiceEndpoint

enum_WirelessGatewayServiceType := [ "CUPS", "LNS" ]

valid {
    input.Qs.serviceType == enum_WirelessGatewayServiceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetServiceProfile

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessDevice

enum_WirelessDeviceIdType := [ "WirelessDeviceId", "DevEui", "ThingName", "SidewalkManufacturingSn" ]

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.identifierType == enum_WirelessDeviceIdType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessDeviceImportTask

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessDeviceStatistics

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessGateway

enum_WirelessGatewayIdType := [ "GatewayEui", "WirelessGatewayId", "ThingName" ]

valid {
    input.ReqMap.Identifier == STRING
    input.Qs.identifierType == enum_WirelessGatewayIdType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessGatewayCertificate

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessGatewayFirmwareInformation

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessGatewayStatistics

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessGatewayTask

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWirelessGatewayTaskDefinition

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDestinations

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDeviceProfiles

enum_DeviceProfileType := [ "Sidewalk", "LoRaWAN" ]

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.deviceProfileType == enum_DeviceProfileType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDevicesForWirelessDeviceImportTask

enum_OnboardStatus := [ "INITIALIZED", "PENDING", "ONBOARDED", "FAILED" ]

valid {
    input.Qs.id == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.status == enum_OnboardStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEventConfigurations

enum_EventNotificationResourceType := [ "SidewalkAccount", "WirelessDevice", "WirelessGateway" ]

valid {
    input.Qs.resourceType == enum_EventNotificationResourceType[_]
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListFuotaTasks

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMulticastGroups

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMulticastGroupsByFuotaTask

valid {
    input.ReqMap.Id == STRING
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListNetworkAnalyzerConfigurations

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPartnerAccounts

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListPositionConfigurations

enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListQueuedMessages

enum_WirelessDeviceType := [ "Sidewalk", "LoRaWAN" ]

valid {
    input.ReqMap.Id == STRING
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.Qs.WirelessDeviceType == enum_WirelessDeviceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListServiceProfiles

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Qs.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListWirelessDeviceImportTasks

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListWirelessDevices

enum_WirelessDeviceType := [ "Sidewalk", "LoRaWAN" ]

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.destinationName == STRING
    input.Qs.deviceProfileId == STRING
    input.Qs.serviceProfileId == STRING
    input.Qs.wirelessDeviceType == enum_WirelessDeviceType[_]
    input.Qs.fuotaTaskId == STRING
    input.Qs.multicastGroupId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListWirelessGatewayTaskDefinitions

enum_WirelessGatewayTaskDefinitionType := [ "UPDATE" ]

valid {
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.taskDefinitionType == enum_WirelessGatewayTaskDefinitionType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListWirelessGateways

valid {
    input.Qs.nextToken == STRING
    input.Qs.maxResults == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutPositionConfiguration

enum_PositionConfigurationFec := [ "ROSE", "NONE" ]
enum_PositionConfigurationStatus := [ "Enabled", "Disabled" ]
enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.Body.Solvers.SemtechGnss.Status == enum_PositionConfigurationStatus[_]
    input.Body.Solvers.SemtechGnss.Fec == enum_PositionConfigurationFec[_]
    input.Body.Destination == STRING
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutResourceLogLevel

enum_LogLevel := [ "INFO", "ERROR", "DISABLED" ]

valid {
    input.Body.LogLevel == enum_LogLevel[_]
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResetAllResourceLogLevels

valid {
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ResetResourceLogLevel

valid {
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendDataToMulticastGroup

valid {
    input.Body.PayloadData == STRING
    input.Body.WirelessMetadata.LoRaWAN.FPort == INTEGER
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

SendDataToWirelessDevice

enum_DownlinkMode := [ "SEQUENTIAL", "CONCURRENT", "USING_UPLINK_GATEWAY" ]
enum_MessageType := [ "CUSTOM_COMMAND_ID_NOTIFY", "CUSTOM_COMMAND_ID_GET", "CUSTOM_COMMAND_ID_SET", "CUSTOM_COMMAND_ID_RESP" ]

valid {
    input.Body.TransmitMode == INTEGER
    input.Body.PayloadData == STRING
    input.Body.WirelessMetadata.LoRaWAN.FPort == INTEGER
    input.Body.WirelessMetadata.LoRaWAN.ParticipatingGateways.DownlinkMode == enum_DownlinkMode[_]
    input.Body.WirelessMetadata.LoRaWAN.ParticipatingGateways.GatewayList[_].GatewayId == STRING
    input.Body.WirelessMetadata.LoRaWAN.ParticipatingGateways.GatewayList[_].DownlinkFrequency == INTEGER
    input.Body.WirelessMetadata.LoRaWAN.ParticipatingGateways.TransmissionInterval == INTEGER
    input.Body.WirelessMetadata.Sidewalk.Seq == INTEGER
    input.Body.WirelessMetadata.Sidewalk.MessageType == enum_MessageType[_]
    input.Body.WirelessMetadata.Sidewalk.AckModeRetryDurationSecs == INTEGER
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartBulkAssociateWirelessDeviceWithMulticastGroup

valid {
    input.Body.QueryString == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartBulkDisassociateWirelessDeviceFromMulticastGroup

valid {
    input.Body.QueryString == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartFuotaTask

valid {
    input.Body.LoRaWAN.StartTime == TIMESTAMP
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartMulticastGroupSession

valid {
    input.Body.LoRaWAN.DlDr == INTEGER
    input.Body.LoRaWAN.DlFreq == INTEGER
    input.Body.LoRaWAN.SessionStartTime == TIMESTAMP
    input.Body.LoRaWAN.SessionTimeout == INTEGER
    input.Body.LoRaWAN.PingSlotPeriod == INTEGER
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartSingleWirelessDeviceImportTask

valid {
    input.Body.DestinationName == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.DeviceName == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.Sidewalk.SidewalkManufacturingSn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StartWirelessDeviceImportTask

valid {
    input.Body.DestinationName == STRING
    input.Body.ClientRequestToken == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.Sidewalk.DeviceCreationFile == STRING
    input.Body.Sidewalk.Role == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Qs.resourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TestWirelessDevice

valid {
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Qs.resourceArn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDestination

enum_ExpressionType := [ "RuleName", "MqttTopic" ]

valid {
    input.Body.ExpressionType == enum_ExpressionType[_]
    input.Body.Expression == STRING
    input.Body.Description == STRING
    input.Body.RoleArn == STRING
    input.ReqMap.Name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEventConfigurationByResourceTypes

enum_EventNotificationTopicStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.DeviceRegistrationState.Sidewalk.WirelessDeviceEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.Proximity.Sidewalk.WirelessDeviceEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.Join.LoRaWAN.WirelessDeviceEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.ConnectionStatus.LoRaWAN.WirelessGatewayEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.MessageDeliveryStatus.Sidewalk.WirelessDeviceEventTopic == enum_EventNotificationTopicStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateFuotaTask

enum_SupportedRfRegion := [ "EU868", "US915", "AU915", "AS923-1", "AS923-2", "AS923-3", "AS923-4", "EU433", "CN470", "CN779", "RU864", "KR920", "IN865" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.LoRaWAN.RfRegion == enum_SupportedRfRegion[_]
    input.Body.FirmwareUpdateImage == STRING
    input.Body.FirmwareUpdateRole == STRING
    input.Body.RedundancyPercent == INTEGER
    input.Body.FragmentSizeBytes == INTEGER
    input.Body.FragmentIntervalMS == INTEGER
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateLogLevelsByResourceTypes

enum_LogLevel := [ "INFO", "ERROR", "DISABLED" ]
enum_WirelessDeviceEvent := [ "Join", "Rejoin", "Uplink_Data", "Downlink_Data", "Registration" ]
enum_WirelessDeviceType := [ "Sidewalk", "LoRaWAN" ]
enum_WirelessGatewayEvent := [ "CUPS_Request", "Certificate" ]
enum_WirelessGatewayType := [ "LoRaWAN" ]

valid {
    input.Body.DefaultLogLevel == enum_LogLevel[_]
    input.Body.WirelessDeviceLogOptions[_].Type == enum_WirelessDeviceType[_]
    input.Body.WirelessDeviceLogOptions[_].LogLevel == enum_LogLevel[_]
    input.Body.WirelessDeviceLogOptions[_].Events[_].Event == enum_WirelessDeviceEvent[_]
    input.Body.WirelessDeviceLogOptions[_].Events[_].LogLevel == enum_LogLevel[_]
    input.Body.WirelessGatewayLogOptions[_].Type == enum_WirelessGatewayType[_]
    input.Body.WirelessGatewayLogOptions[_].LogLevel == enum_LogLevel[_]
    input.Body.WirelessGatewayLogOptions[_].Events[_].Event == enum_WirelessGatewayEvent[_]
    input.Body.WirelessGatewayLogOptions[_].Events[_].LogLevel == enum_LogLevel[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateMetricConfiguration

enum_SummaryMetricConfigurationStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.SummaryMetric.Status == enum_SummaryMetricConfigurationStatus[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateMulticastGroup

enum_DlClass := [ "ClassB", "ClassC" ]
enum_SupportedRfRegion := [ "EU868", "US915", "AU915", "AS923-1", "AS923-2", "AS923-3", "AS923-4", "EU433", "CN470", "CN779", "RU864", "KR920", "IN865" ]

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.LoRaWAN.RfRegion == enum_SupportedRfRegion[_]
    input.Body.LoRaWAN.DlClass == enum_DlClass[_]
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateNetworkAnalyzerConfiguration

enum_LogLevel := [ "INFO", "ERROR", "DISABLED" ]
enum_MulticastFrameInfo := [ "ENABLED", "DISABLED" ]
enum_WirelessDeviceFrameInfo := [ "ENABLED", "DISABLED" ]

valid {
    input.Body.TraceContent.WirelessDeviceFrameInfo == enum_WirelessDeviceFrameInfo[_]
    input.Body.TraceContent.LogLevel == enum_LogLevel[_]
    input.Body.TraceContent.MulticastFrameInfo == enum_MulticastFrameInfo[_]
    input.Body.WirelessDevicesToAdd[_] == STRING
    input.Body.WirelessDevicesToRemove[_] == STRING
    input.Body.WirelessGatewaysToAdd[_] == STRING
    input.Body.WirelessGatewaysToRemove[_] == STRING
    input.Body.Description == STRING
    input.Body.MulticastGroupsToAdd[_] == STRING
    input.Body.MulticastGroupsToRemove[_] == STRING
    input.ReqMap.ConfigurationName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePartnerAccount

enum_PartnerType := [ "Sidewalk" ]

valid {
    input.Body.Sidewalk.AppServerPrivateKey == STRING
    input.ReqMap.PartnerAccountId == STRING
    input.Qs.partnerType == enum_PartnerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePosition

enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.Body.Position[_] == FLOAT
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateResourceEventConfiguration

enum_EventNotificationPartnerType := [ "Sidewalk" ]
enum_EventNotificationTopicStatus := [ "Enabled", "Disabled" ]
enum_IdentifierType := [ "PartnerAccountId", "DevEui", "GatewayEui", "WirelessDeviceId", "WirelessGatewayId" ]

valid {
    input.Body.DeviceRegistrationState.Sidewalk.AmazonIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.DeviceRegistrationState.WirelessDeviceIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.Proximity.Sidewalk.AmazonIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.Proximity.WirelessDeviceIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.Join.LoRaWAN.DevEuiEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.Join.WirelessDeviceIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.ConnectionStatus.LoRaWAN.GatewayEuiEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.ConnectionStatus.WirelessGatewayIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.MessageDeliveryStatus.Sidewalk.AmazonIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.Body.MessageDeliveryStatus.WirelessDeviceIdEventTopic == enum_EventNotificationTopicStatus[_]
    input.ReqMap.Identifier == STRING
    input.Qs.identifierType == enum_IdentifierType[_]
    input.Qs.partnerType == enum_EventNotificationPartnerType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateResourcePosition

enum_PositionResourceType := [ "WirelessDevice", "WirelessGateway" ]

valid {
    input.Body.GeoJsonPayload == BLOB
    input.ReqMap.ResourceIdentifier == STRING
    input.Qs.resourceType == enum_PositionResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWirelessDevice

enum_ApplicationConfigType := [ "SemtechGeolocation" ]
enum_PositioningConfigStatus := [ "Enabled", "Disabled" ]

valid {
    input.Body.DestinationName == STRING
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.LoRaWAN.DeviceProfileId == STRING
    input.Body.LoRaWAN.ServiceProfileId == STRING
    input.Body.LoRaWAN.AbpV1_1.FCntStart == INTEGER
    input.Body.LoRaWAN.AbpV1_0_x.FCntStart == INTEGER
    input.Body.LoRaWAN.FPorts.Positioning.ClockSync == INTEGER
    input.Body.LoRaWAN.FPorts.Positioning.Stream == INTEGER
    input.Body.LoRaWAN.FPorts.Positioning.Gnss == INTEGER
    input.Body.LoRaWAN.FPorts.Applications[_].FPort == INTEGER
    input.Body.LoRaWAN.FPorts.Applications[_].Type == enum_ApplicationConfigType[_]
    input.Body.LoRaWAN.FPorts.Applications[_].DestinationName == STRING
    input.Body.Positioning == enum_PositioningConfigStatus[_]
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWirelessDeviceImportTask

valid {
    input.Body.Sidewalk.DeviceCreationFile == STRING
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWirelessGateway

valid {
    input.Body.Name == STRING
    input.Body.Description == STRING
    input.Body.JoinEuiFilters[_][_] == STRING
    input.Body.NetIdFilters[_] == STRING
    input.Body.MaxEirp == FLOAT
    input.ReqMap.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}