AssociateDeviceWithPlacement

valid {
    input.Body.deviceId == STRING
    input.ReqMap.projectName == STRING
    input.ReqMap.placementName == STRING
    input.ReqMap.deviceTemplateName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ClaimDevicesByClaimCode

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

CreatePlacement

valid {
    input.Body.placementName == STRING
    input.Body.attributes.STRING == STRING
    input.ReqMap.projectName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateProject

valid {
    input.Body.projectName == STRING
    input.Body.description == STRING
    input.Body.placementTemplate.defaultAttributes.STRING == STRING
    input.Body.placementTemplate.deviceTemplates.STRING.deviceType == STRING
    input.Body.placementTemplate.deviceTemplates.STRING.callbackOverrides.STRING == STRING
    input.Body.tags.STRING == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePlacement

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

DeleteProject

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

DescribeDevice

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

DescribePlacement

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

DescribeProject

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

DisassociateDeviceFromPlacement

valid {
    input.ReqMap.projectName == STRING
    input.ReqMap.placementName == STRING
    input.ReqMap.deviceTemplateName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

FinalizeDeviceClaim

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.deviceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDeviceMethods

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

GetDevicesInPlacement

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

InitiateDeviceClaim

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

InvokeDeviceMethod

valid {
    input.Body.deviceMethod.deviceType == STRING
    input.Body.deviceMethod.methodName == STRING
    input.Body.deviceMethodParameters == STRING
    input.ReqMap.deviceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDeviceEvents

valid {
    input.ReqMap.deviceId == STRING
    input.Qs.fromTimeStamp == TIMESTAMP
    input.Qs.maxResults == INTEGER
    input.Qs.nextToken == STRING
    input.Qs.toTimeStamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListDevices

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

ListPlacements

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

ListProjects

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

ListTagsForResource

valid {
    input.ReqMap.resource-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.resource-arn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UnclaimDevice

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

UntagResource

valid {
    input.ReqMap.resource-arn == STRING
    input.Qs.tagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateDeviceState

valid {
    input.Body.enabled == BOOLEAN
    input.ReqMap.deviceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePlacement

valid {
    input.Body.attributes.STRING == STRING
    input.ReqMap.placementName == STRING
    input.ReqMap.projectName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateProject

valid {
    input.Body.description == STRING
    input.Body.placementTemplate.defaultAttributes.STRING == STRING
    input.Body.placementTemplate.deviceTemplates.STRING.deviceType == STRING
    input.Body.placementTemplate.deviceTemplates.STRING.callbackOverrides.STRING == STRING
    input.ReqMap.projectName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}