IOTDEVICEADVISOR

CreateSuiteDefinition

enum_Protocol := [ "MqttV3_1_1", "MqttV5", "MqttV3_1_1_OverWebSocket", "MqttV5_OverWebSocket" ]

valid {
    input.Body.suiteDefinitionConfiguration.suiteDefinitionName == STRING
    input.Body.suiteDefinitionConfiguration.devices[_].thingArn == STRING
    input.Body.suiteDefinitionConfiguration.devices[_].certificateArn == STRING
    input.Body.suiteDefinitionConfiguration.devices[_].deviceRoleArn == STRING
    input.Body.suiteDefinitionConfiguration.intendedForQualification == BOOLEAN
    input.Body.suiteDefinitionConfiguration.isLongDurationTest == BOOLEAN
    input.Body.suiteDefinitionConfiguration.rootGroup == STRING
    input.Body.suiteDefinitionConfiguration.devicePermissionRoleArn == STRING
    input.Body.suiteDefinitionConfiguration.protocol == enum_Protocol[_]
    input.Body.tags.STRING == STRING
    input.Body.clientToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteSuiteDefinition

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

GetEndpoint

enum_AuthenticationMethod := [ "X509ClientCertificate", "SignatureVersion4" ]

valid {
    input.Qs.thingArn == STRING
    input.Qs.certificateArn == STRING
    input.Qs.deviceRoleArn == STRING
    input.Qs.authenticationMethod == enum_AuthenticationMethod[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSuiteDefinition

valid {
    input.ReqMap.suiteDefinitionId == STRING
    input.Qs.suiteDefinitionVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSuiteRun

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

GetSuiteRunReport

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

ListSuiteDefinitions

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

ListSuiteRuns

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

ListTagsForResource

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

StartSuiteRun

valid {
    input.Body.suiteDefinitionVersion == STRING
    input.Body.suiteRunConfiguration.primaryDevice.thingArn == STRING
    input.Body.suiteRunConfiguration.primaryDevice.certificateArn == STRING
    input.Body.suiteRunConfiguration.primaryDevice.deviceRoleArn == STRING
    input.Body.suiteRunConfiguration.selectedTestList[_] == STRING
    input.Body.suiteRunConfiguration.parallelRun == BOOLEAN
    input.Body.tags.STRING == STRING
    input.ReqMap.suiteDefinitionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

StopSuiteRun

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

TagResource

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

UntagResource

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

UpdateSuiteDefinition

enum_Protocol := [ "MqttV3_1_1", "MqttV5", "MqttV3_1_1_OverWebSocket", "MqttV5_OverWebSocket" ]

valid {
    input.Body.suiteDefinitionConfiguration.suiteDefinitionName == STRING
    input.Body.suiteDefinitionConfiguration.devices[_].thingArn == STRING
    input.Body.suiteDefinitionConfiguration.devices[_].certificateArn == STRING
    input.Body.suiteDefinitionConfiguration.devices[_].deviceRoleArn == STRING
    input.Body.suiteDefinitionConfiguration.intendedForQualification == BOOLEAN
    input.Body.suiteDefinitionConfiguration.isLongDurationTest == BOOLEAN
    input.Body.suiteDefinitionConfiguration.rootGroup == STRING
    input.Body.suiteDefinitionConfiguration.devicePermissionRoleArn == STRING
    input.Body.suiteDefinitionConfiguration.protocol == enum_Protocol[_]
    input.ReqMap.suiteDefinitionId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}