IOTTWINMAKER

BatchPutPropertyValues

valid {
    input.Body.entries[_].entityPropertyReference.componentName == STRING
    input.Body.entries[_].entityPropertyReference.componentPath == STRING
    input.Body.entries[_].entityPropertyReference.entityId == STRING
    input.Body.entries[_].entityPropertyReference.externalIdProperty.STRING == STRING
    input.Body.entries[_].entityPropertyReference.propertyName == STRING
    input.Body.entries[_].propertyValues[_].time == STRING
    input.Body.entries[_].propertyValues[_].timestamp == TIMESTAMP
    input.Body.entries[_].propertyValues[_].value.booleanValue == BOOLEAN
    input.Body.entries[_].propertyValues[_].value.doubleValue == DOUBLE
    input.Body.entries[_].propertyValues[_].value.expression == STRING
    input.Body.entries[_].propertyValues[_].value.integerValue == INTEGER
    input.Body.entries[_].propertyValues[_].value.listValue[_] == NESTED
    input.Body.entries[_].propertyValues[_].value.longValue == LONG
    input.Body.entries[_].propertyValues[_].value.mapValue.STRING == NESTED
    input.Body.entries[_].propertyValues[_].value.relationshipValue.targetComponentName == STRING
    input.Body.entries[_].propertyValues[_].value.relationshipValue.targetEntityId == STRING
    input.Body.entries[_].propertyValues[_].value.stringValue == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CancelMetadataTransferJob

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

CreateComponentType

enum_GroupType := [ "TABULAR" ]
enum_Scope := [ "ENTITY", "WORKSPACE" ]
enum_Type := [ "RELATIONSHIP", "STRING", "LONG", "BOOLEAN", "INTEGER", "DOUBLE", "LIST", "MAP" ]

valid {
    input.Body.componentTypeName == STRING
    input.Body.compositeComponentTypes.STRING.componentTypeId == STRING
    input.Body.description == STRING
    input.Body.extendsFrom[_] == STRING
    input.Body.functions.STRING.implementedBy.isNative == BOOLEAN
    input.Body.functions.STRING.implementedBy.lambda.arn == STRING
    input.Body.functions.STRING.requiredProperties[_] == STRING
    input.Body.functions.STRING.scope == enum_Scope[_]
    input.Body.isSingleton == BOOLEAN
    input.Body.propertyDefinitions.STRING.configuration.STRING == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].booleanValue == BOOLEAN
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].doubleValue == DOUBLE
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].expression == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].integerValue == INTEGER
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].listValue == NESTED
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].longValue == LONG
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].mapValue.STRING == NESTED
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].relationshipValue.targetComponentName == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].relationshipValue.targetEntityId == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].stringValue == STRING
    input.Body.propertyDefinitions.STRING.dataType.nestedType == NESTED
    input.Body.propertyDefinitions.STRING.dataType.relationship.relationshipType == STRING
    input.Body.propertyDefinitions.STRING.dataType.relationship.targetComponentTypeId == STRING
    input.Body.propertyDefinitions.STRING.dataType.type == enum_Type[_]
    input.Body.propertyDefinitions.STRING.dataType.unitOfMeasure == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.booleanValue == BOOLEAN
    input.Body.propertyDefinitions.STRING.defaultValue.doubleValue == DOUBLE
    input.Body.propertyDefinitions.STRING.defaultValue.expression == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.integerValue == INTEGER
    input.Body.propertyDefinitions.STRING.defaultValue.listValue[_] == NESTED
    input.Body.propertyDefinitions.STRING.defaultValue.longValue == LONG
    input.Body.propertyDefinitions.STRING.defaultValue.mapValue.STRING == NESTED
    input.Body.propertyDefinitions.STRING.defaultValue.relationshipValue.targetComponentName == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.relationshipValue.targetEntityId == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.stringValue == STRING
    input.Body.propertyDefinitions.STRING.displayName == STRING
    input.Body.propertyDefinitions.STRING.isExternalId == BOOLEAN
    input.Body.propertyDefinitions.STRING.isRequiredInEntity == BOOLEAN
    input.Body.propertyDefinitions.STRING.isStoredExternally == BOOLEAN
    input.Body.propertyDefinitions.STRING.isTimeSeries == BOOLEAN
    input.Body.propertyGroups.STRING.groupType == enum_GroupType[_]
    input.Body.propertyGroups.STRING.propertyNames[_] == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.componentTypeId == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateEntity

enum_GroupType := [ "TABULAR" ]
enum_PropertyGroupUpdateType := [ "UPDATE", "DELETE", "CREATE" ]
enum_PropertyUpdateType := [ "UPDATE", "DELETE", "CREATE" ]
enum_Type := [ "RELATIONSHIP", "STRING", "LONG", "BOOLEAN", "INTEGER", "DOUBLE", "LIST", "MAP" ]

valid {
    input.Body.components.STRING.componentTypeId == STRING
    input.Body.components.STRING.description == STRING
    input.Body.components.STRING.properties.STRING.definition.configuration.STRING == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].booleanValue == BOOLEAN
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].doubleValue == DOUBLE
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].expression == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].integerValue == INTEGER
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].listValue == NESTED
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].longValue == LONG
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].mapValue.STRING == NESTED
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].relationshipValue.targetComponentName == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].relationshipValue.targetEntityId == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.allowedValues[_].stringValue == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.nestedType == NESTED
    input.Body.components.STRING.properties.STRING.definition.dataType.relationship.relationshipType == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.relationship.targetComponentTypeId == STRING
    input.Body.components.STRING.properties.STRING.definition.dataType.type == enum_Type[_]
    input.Body.components.STRING.properties.STRING.definition.dataType.unitOfMeasure == STRING
    input.Body.components.STRING.properties.STRING.definition.defaultValue.booleanValue == BOOLEAN
    input.Body.components.STRING.properties.STRING.definition.defaultValue.doubleValue == DOUBLE
    input.Body.components.STRING.properties.STRING.definition.defaultValue.expression == STRING
    input.Body.components.STRING.properties.STRING.definition.defaultValue.integerValue == INTEGER
    input.Body.components.STRING.properties.STRING.definition.defaultValue.listValue[_] == NESTED
    input.Body.components.STRING.properties.STRING.definition.defaultValue.longValue == LONG
    input.Body.components.STRING.properties.STRING.definition.defaultValue.mapValue.STRING == NESTED
    input.Body.components.STRING.properties.STRING.definition.defaultValue.relationshipValue.targetComponentName == STRING
    input.Body.components.STRING.properties.STRING.definition.defaultValue.relationshipValue.targetEntityId == STRING
    input.Body.components.STRING.properties.STRING.definition.defaultValue.stringValue == STRING
    input.Body.components.STRING.properties.STRING.definition.displayName == STRING
    input.Body.components.STRING.properties.STRING.definition.isExternalId == BOOLEAN
    input.Body.components.STRING.properties.STRING.definition.isRequiredInEntity == BOOLEAN
    input.Body.components.STRING.properties.STRING.definition.isStoredExternally == BOOLEAN
    input.Body.components.STRING.properties.STRING.definition.isTimeSeries == BOOLEAN
    input.Body.components.STRING.properties.STRING.updateType == enum_PropertyUpdateType[_]
    input.Body.components.STRING.properties.STRING.value.booleanValue == BOOLEAN
    input.Body.components.STRING.properties.STRING.value.doubleValue == DOUBLE
    input.Body.components.STRING.properties.STRING.value.expression == STRING
    input.Body.components.STRING.properties.STRING.value.integerValue == INTEGER
    input.Body.components.STRING.properties.STRING.value.listValue[_] == NESTED
    input.Body.components.STRING.properties.STRING.value.longValue == LONG
    input.Body.components.STRING.properties.STRING.value.mapValue.STRING == NESTED
    input.Body.components.STRING.properties.STRING.value.relationshipValue.targetComponentName == STRING
    input.Body.components.STRING.properties.STRING.value.relationshipValue.targetEntityId == STRING
    input.Body.components.STRING.properties.STRING.value.stringValue == STRING
    input.Body.components.STRING.propertyGroups.STRING.groupType == enum_GroupType[_]
    input.Body.components.STRING.propertyGroups.STRING.propertyNames[_] == STRING
    input.Body.components.STRING.propertyGroups.STRING.updateType == enum_PropertyGroupUpdateType[_]
    input.Body.compositeComponents.STRING.description == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.configuration.STRING == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].booleanValue == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].doubleValue == DOUBLE
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].expression == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].integerValue == INTEGER
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].listValue == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].longValue == LONG
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].mapValue.STRING == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].relationshipValue.targetComponentName == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].relationshipValue.targetEntityId == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.allowedValues[_].stringValue == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.nestedType == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.relationship.relationshipType == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.relationship.targetComponentTypeId == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.type == enum_Type[_]
    input.Body.compositeComponents.STRING.properties.STRING.definition.dataType.unitOfMeasure == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.booleanValue == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.doubleValue == DOUBLE
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.expression == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.integerValue == INTEGER
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.listValue[_] == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.longValue == LONG
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.mapValue.STRING == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.relationshipValue.targetComponentName == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.relationshipValue.targetEntityId == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.defaultValue.stringValue == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.displayName == STRING
    input.Body.compositeComponents.STRING.properties.STRING.definition.isExternalId == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.definition.isRequiredInEntity == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.definition.isStoredExternally == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.definition.isTimeSeries == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.updateType == enum_PropertyUpdateType[_]
    input.Body.compositeComponents.STRING.properties.STRING.value.booleanValue == BOOLEAN
    input.Body.compositeComponents.STRING.properties.STRING.value.doubleValue == DOUBLE
    input.Body.compositeComponents.STRING.properties.STRING.value.expression == STRING
    input.Body.compositeComponents.STRING.properties.STRING.value.integerValue == INTEGER
    input.Body.compositeComponents.STRING.properties.STRING.value.listValue[_] == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.value.longValue == LONG
    input.Body.compositeComponents.STRING.properties.STRING.value.mapValue.STRING == NESTED
    input.Body.compositeComponents.STRING.properties.STRING.value.relationshipValue.targetComponentName == STRING
    input.Body.compositeComponents.STRING.properties.STRING.value.relationshipValue.targetEntityId == STRING
    input.Body.compositeComponents.STRING.properties.STRING.value.stringValue == STRING
    input.Body.compositeComponents.STRING.propertyGroups.STRING.groupType == enum_GroupType[_]
    input.Body.compositeComponents.STRING.propertyGroups.STRING.propertyNames[_] == STRING
    input.Body.compositeComponents.STRING.propertyGroups.STRING.updateType == enum_PropertyGroupUpdateType[_]
    input.Body.description == STRING
    input.Body.entityId == STRING
    input.Body.entityName == STRING
    input.Body.parentEntityId == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateMetadataTransferJob

enum_DestinationType := [ "s3", "iotsitewise", "iottwinmaker" ]
enum_SourceType := [ "s3", "iotsitewise", "iottwinmaker" ]

valid {
    input.Body.description == STRING
    input.Body.destination.iotTwinMakerConfiguration.workspace == STRING
    input.Body.destination.s3Configuration.location == STRING
    input.Body.destination.type == enum_DestinationType[_]
    input.Body.metadataTransferJobId == STRING
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAsset.assetExternalId == STRING
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAsset.assetId == STRING
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAsset.includeAssetModel == BOOLEAN
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAsset.includeOffspring == BOOLEAN
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAssetModel.assetModelExternalId == STRING
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAssetModel.assetModelId == STRING
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAssetModel.includeAssets == BOOLEAN
    input.Body.sources[_].iotSiteWiseConfiguration.filters[_].filterByAssetModel.includeOffspring == BOOLEAN
    input.Body.sources[_].iotTwinMakerConfiguration.filters[_].filterByComponentType.componentTypeId == STRING
    input.Body.sources[_].iotTwinMakerConfiguration.filters[_].filterByEntity.entityId == STRING
    input.Body.sources[_].iotTwinMakerConfiguration.workspace == STRING
    input.Body.sources[_].s3Configuration.location == STRING
    input.Body.sources[_].type == enum_SourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateScene

valid {
    input.Body.capabilities[_] == STRING
    input.Body.contentLocation == STRING
    input.Body.description == STRING
    input.Body.sceneId == STRING
    input.Body.sceneMetadata.STRING == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateSyncJob

valid {
    input.Body.syncRole == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.syncSource == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWorkspace

valid {
    input.Body.description == STRING
    input.Body.role == STRING
    input.Body.s3Location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteComponentType

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

DeleteEntity

valid {
    input.ReqMap.entityId == STRING
    input.ReqMap.workspaceId == STRING
    input.Qs.isRecursive == BOOLEAN
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteScene

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

DeleteSyncJob

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

DeleteWorkspace

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

ExecuteQuery

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.queryStatement == STRING
    input.Body.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetComponentType

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

GetEntity

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

GetMetadataTransferJob

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

GetPricingPlan

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

GetPropertyValue

enum_Order := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Body.componentName == STRING
    input.Body.componentPath == STRING
    input.Body.componentTypeId == STRING
    input.Body.entityId == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.propertyGroupName == STRING
    input.Body.selectedProperties[_] == STRING
    input.Body.tabularConditions.orderBy[_].order == enum_Order[_]
    input.Body.tabularConditions.orderBy[_].propertyName == STRING
    input.Body.tabularConditions.propertyFilters[_].operator == STRING
    input.Body.tabularConditions.propertyFilters[_].propertyName == STRING
    input.Body.tabularConditions.propertyFilters[_].value.booleanValue == BOOLEAN
    input.Body.tabularConditions.propertyFilters[_].value.doubleValue == DOUBLE
    input.Body.tabularConditions.propertyFilters[_].value.expression == STRING
    input.Body.tabularConditions.propertyFilters[_].value.integerValue == INTEGER
    input.Body.tabularConditions.propertyFilters[_].value.listValue[_] == NESTED
    input.Body.tabularConditions.propertyFilters[_].value.longValue == LONG
    input.Body.tabularConditions.propertyFilters[_].value.mapValue.STRING == NESTED
    input.Body.tabularConditions.propertyFilters[_].value.relationshipValue.targetComponentName == STRING
    input.Body.tabularConditions.propertyFilters[_].value.relationshipValue.targetEntityId == STRING
    input.Body.tabularConditions.propertyFilters[_].value.stringValue == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPropertyValueHistory

enum_InterpolationType := [ "LINEAR" ]
enum_OrderByTime := [ "ASCENDING", "DESCENDING" ]

valid {
    input.Body.componentName == STRING
    input.Body.componentPath == STRING
    input.Body.componentTypeId == STRING
    input.Body.endDateTime == TIMESTAMP
    input.Body.endTime == STRING
    input.Body.entityId == STRING
    input.Body.interpolation.interpolationType == enum_InterpolationType[_]
    input.Body.interpolation.intervalInSeconds == LONG
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.orderByTime == enum_OrderByTime[_]
    input.Body.propertyFilters[_].operator == STRING
    input.Body.propertyFilters[_].propertyName == STRING
    input.Body.propertyFilters[_].value.booleanValue == BOOLEAN
    input.Body.propertyFilters[_].value.doubleValue == DOUBLE
    input.Body.propertyFilters[_].value.expression == STRING
    input.Body.propertyFilters[_].value.integerValue == INTEGER
    input.Body.propertyFilters[_].value.listValue[_] == NESTED
    input.Body.propertyFilters[_].value.longValue == LONG
    input.Body.propertyFilters[_].value.mapValue.STRING == NESTED
    input.Body.propertyFilters[_].value.relationshipValue.targetComponentName == STRING
    input.Body.propertyFilters[_].value.relationshipValue.targetEntityId == STRING
    input.Body.propertyFilters[_].value.stringValue == STRING
    input.Body.selectedProperties[_] == STRING
    input.Body.startDateTime == TIMESTAMP
    input.Body.startTime == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetScene

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

GetSyncJob

valid {
    input.ReqMap.syncSource == STRING
    input.Qs.workspace == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWorkspace

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

ListComponentTypes

valid {
    input.Body.filters[_].extendsFrom == STRING
    input.Body.filters[_].isAbstract == BOOLEAN
    input.Body.filters[_].namespace == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListComponents

valid {
    input.Body.componentPath == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.entityId == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListEntities

valid {
    input.Body.filters[_].componentTypeId == STRING
    input.Body.filters[_].externalId == STRING
    input.Body.filters[_].parentEntityId == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMetadataTransferJobs

enum_DestinationType := [ "s3", "iotsitewise", "iottwinmaker" ]
enum_MetadataTransferJobState := [ "VALIDATING", "PENDING", "RUNNING", "CANCELLING", "ERROR", "COMPLETED", "CANCELLED" ]
enum_SourceType := [ "s3", "iotsitewise", "iottwinmaker" ]

valid {
    input.Body.destinationType == enum_DestinationType[_]
    input.Body.filters[_].state == enum_MetadataTransferJobState[_]
    input.Body.filters[_].workspaceId == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.Body.sourceType == enum_SourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListProperties

valid {
    input.Body.componentName == STRING
    input.Body.componentPath == STRING
    input.Body.entityId == STRING
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListScenes

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSyncJobs

valid {
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListSyncResources

enum_SyncResourceState := [ "INITIALIZING", "PROCESSING", "DELETED", "IN_SYNC", "ERROR" ]
enum_SyncResourceType := [ "ENTITY", "COMPONENT_TYPE" ]

valid {
    input.Body.filters[_].externalId == STRING
    input.Body.filters[_].resourceId == STRING
    input.Body.filters[_].resourceType == enum_SyncResourceType[_]
    input.Body.filters[_].state == enum_SyncResourceState[_]
    input.Body.maxResults == INTEGER
    input.Body.nextToken == STRING
    input.ReqMap.syncSource == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

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

ListWorkspaces

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

TagResource

valid {
    input.Body.resourceARN == STRING
    input.Body.tags.STRING == 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
}

UpdateComponentType

enum_GroupType := [ "TABULAR" ]
enum_Scope := [ "ENTITY", "WORKSPACE" ]
enum_Type := [ "RELATIONSHIP", "STRING", "LONG", "BOOLEAN", "INTEGER", "DOUBLE", "LIST", "MAP" ]

valid {
    input.Body.componentTypeName == STRING
    input.Body.compositeComponentTypes.STRING.componentTypeId == STRING
    input.Body.description == STRING
    input.Body.extendsFrom[_] == STRING
    input.Body.functions.STRING.implementedBy.isNative == BOOLEAN
    input.Body.functions.STRING.implementedBy.lambda.arn == STRING
    input.Body.functions.STRING.requiredProperties[_] == STRING
    input.Body.functions.STRING.scope == enum_Scope[_]
    input.Body.isSingleton == BOOLEAN
    input.Body.propertyDefinitions.STRING.configuration.STRING == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].booleanValue == BOOLEAN
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].doubleValue == DOUBLE
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].expression == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].integerValue == INTEGER
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].listValue == NESTED
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].longValue == LONG
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].mapValue.STRING == NESTED
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].relationshipValue.targetComponentName == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].relationshipValue.targetEntityId == STRING
    input.Body.propertyDefinitions.STRING.dataType.allowedValues[_].stringValue == STRING
    input.Body.propertyDefinitions.STRING.dataType.nestedType == NESTED
    input.Body.propertyDefinitions.STRING.dataType.relationship.relationshipType == STRING
    input.Body.propertyDefinitions.STRING.dataType.relationship.targetComponentTypeId == STRING
    input.Body.propertyDefinitions.STRING.dataType.type == enum_Type[_]
    input.Body.propertyDefinitions.STRING.dataType.unitOfMeasure == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.booleanValue == BOOLEAN
    input.Body.propertyDefinitions.STRING.defaultValue.doubleValue == DOUBLE
    input.Body.propertyDefinitions.STRING.defaultValue.expression == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.integerValue == INTEGER
    input.Body.propertyDefinitions.STRING.defaultValue.listValue[_] == NESTED
    input.Body.propertyDefinitions.STRING.defaultValue.longValue == LONG
    input.Body.propertyDefinitions.STRING.defaultValue.mapValue.STRING == NESTED
    input.Body.propertyDefinitions.STRING.defaultValue.relationshipValue.targetComponentName == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.relationshipValue.targetEntityId == STRING
    input.Body.propertyDefinitions.STRING.defaultValue.stringValue == STRING
    input.Body.propertyDefinitions.STRING.displayName == STRING
    input.Body.propertyDefinitions.STRING.isExternalId == BOOLEAN
    input.Body.propertyDefinitions.STRING.isRequiredInEntity == BOOLEAN
    input.Body.propertyDefinitions.STRING.isStoredExternally == BOOLEAN
    input.Body.propertyDefinitions.STRING.isTimeSeries == BOOLEAN
    input.Body.propertyGroups.STRING.groupType == enum_GroupType[_]
    input.Body.propertyGroups.STRING.propertyNames[_] == STRING
    input.ReqMap.componentTypeId == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateEntity

enum_ComponentUpdateType := [ "CREATE", "UPDATE", "DELETE" ]
enum_GroupType := [ "TABULAR" ]
enum_ParentEntityUpdateType := [ "UPDATE", "DELETE" ]
enum_PropertyGroupUpdateType := [ "UPDATE", "DELETE", "CREATE" ]
enum_PropertyUpdateType := [ "UPDATE", "DELETE", "CREATE" ]
enum_Type := [ "RELATIONSHIP", "STRING", "LONG", "BOOLEAN", "INTEGER", "DOUBLE", "LIST", "MAP" ]

valid {
    input.Body.componentUpdates.STRING.componentTypeId == STRING
    input.Body.componentUpdates.STRING.description == STRING
    input.Body.componentUpdates.STRING.propertyGroupUpdates.STRING.groupType == enum_GroupType[_]
    input.Body.componentUpdates.STRING.propertyGroupUpdates.STRING.propertyNames[_] == STRING
    input.Body.componentUpdates.STRING.propertyGroupUpdates.STRING.updateType == enum_PropertyGroupUpdateType[_]
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.configuration.STRING == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].booleanValue == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].doubleValue == DOUBLE
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].expression == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].integerValue == INTEGER
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].listValue == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].longValue == LONG
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].mapValue.STRING == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].relationshipValue.targetComponentName == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].relationshipValue.targetEntityId == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].stringValue == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.nestedType == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.relationship.relationshipType == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.relationship.targetComponentTypeId == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.type == enum_Type[_]
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.dataType.unitOfMeasure == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.booleanValue == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.doubleValue == DOUBLE
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.expression == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.integerValue == INTEGER
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.listValue[_] == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.longValue == LONG
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.mapValue.STRING == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.relationshipValue.targetComponentName == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.relationshipValue.targetEntityId == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.stringValue == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.displayName == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.isExternalId == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.isRequiredInEntity == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.isStoredExternally == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.definition.isTimeSeries == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.updateType == enum_PropertyUpdateType[_]
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.booleanValue == BOOLEAN
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.doubleValue == DOUBLE
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.expression == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.integerValue == INTEGER
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.listValue[_] == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.longValue == LONG
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.mapValue.STRING == NESTED
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.relationshipValue.targetComponentName == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.relationshipValue.targetEntityId == STRING
    input.Body.componentUpdates.STRING.propertyUpdates.STRING.value.stringValue == STRING
    input.Body.componentUpdates.STRING.updateType == enum_ComponentUpdateType[_]
    input.Body.compositeComponentUpdates.STRING.description == STRING
    input.Body.compositeComponentUpdates.STRING.propertyGroupUpdates.STRING.groupType == enum_GroupType[_]
    input.Body.compositeComponentUpdates.STRING.propertyGroupUpdates.STRING.propertyNames[_] == STRING
    input.Body.compositeComponentUpdates.STRING.propertyGroupUpdates.STRING.updateType == enum_PropertyGroupUpdateType[_]
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.configuration.STRING == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].booleanValue == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].doubleValue == DOUBLE
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].expression == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].integerValue == INTEGER
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].listValue == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].longValue == LONG
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].mapValue.STRING == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].relationshipValue.targetComponentName == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].relationshipValue.targetEntityId == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.allowedValues[_].stringValue == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.nestedType == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.relationship.relationshipType == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.relationship.targetComponentTypeId == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.type == enum_Type[_]
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.dataType.unitOfMeasure == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.booleanValue == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.doubleValue == DOUBLE
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.expression == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.integerValue == INTEGER
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.listValue[_] == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.longValue == LONG
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.mapValue.STRING == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.relationshipValue.targetComponentName == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.relationshipValue.targetEntityId == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.defaultValue.stringValue == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.displayName == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.isExternalId == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.isRequiredInEntity == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.isStoredExternally == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.definition.isTimeSeries == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.updateType == enum_PropertyUpdateType[_]
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.booleanValue == BOOLEAN
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.doubleValue == DOUBLE
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.expression == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.integerValue == INTEGER
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.listValue[_] == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.longValue == LONG
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.mapValue.STRING == NESTED
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.relationshipValue.targetComponentName == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.relationshipValue.targetEntityId == STRING
    input.Body.compositeComponentUpdates.STRING.propertyUpdates.STRING.value.stringValue == STRING
    input.Body.compositeComponentUpdates.STRING.updateType == enum_ComponentUpdateType[_]
    input.Body.description == STRING
    input.Body.entityName == STRING
    input.Body.parentEntityUpdate.parentEntityId == STRING
    input.Body.parentEntityUpdate.updateType == enum_ParentEntityUpdateType[_]
    input.ReqMap.entityId == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdatePricingPlan

enum_PricingMode := [ "BASIC", "STANDARD", "TIERED_BUNDLE" ]

valid {
    input.Body.bundleNames[_] == STRING
    input.Body.pricingMode == enum_PricingMode[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateScene

valid {
    input.Body.capabilities[_] == STRING
    input.Body.contentLocation == STRING
    input.Body.description == STRING
    input.Body.sceneMetadata.STRING == STRING
    input.ReqMap.sceneId == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWorkspace

valid {
    input.Body.description == STRING
    input.Body.role == STRING
    input.Body.s3Location == STRING
    input.ReqMap.workspaceId == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}