DeleteThingShadow

valid {
    input.ReqMap.thingName == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetRetainedMessage

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

GetThingShadow

valid {
    input.ReqMap.thingName == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListNamedShadowsForThing

valid {
    input.ReqMap.thingName == STRING
    input.Qs.nextToken == STRING
    input.Qs.pageSize == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRetainedMessages

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

Publish

enum_PayloadFormatIndicator := [ "UNSPECIFIED_BYTES", "UTF8_DATA" ]

valid {
    input.Body.payload == BLOB
    input.ReqMap.topic == STRING
    input.Qs.qos == INTEGER
    input.Qs.retain == BOOLEAN
    input.Qs.contentType == STRING
    input.Qs.responseTopic == STRING
    input.Qs.messageExpiry == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateThingShadow

valid {
    input.Body.payload == BLOB
    input.ReqMap.thingName == STRING
    input.Qs.name == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}