MICROSOFT.DEVICES

Certificates_CreateOrUpdate

valid {
    input.Body.properties.isVerified == BOOLEAN
    input.Body.properties.certificate == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_GenerateVerificationCode

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_ListByIotHub

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Certificates_Verify

valid {
    input.Body.certificate == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DpsCertificate_CreateOrUpdate

valid {
    input.Body.properties.isVerified == BOOLEAN
    input.Body.properties.certificate == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DpsCertificate_Delete

enum_Certificate.purposeParameter := [ "clientAuthentication", "serverAuthentication" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.certificateName == STRING
    input.Qs.certificate.name == STRING
    input.Qs.certificate.rawBytes == STRING
    input.Qs.certificate.isVerified == BOOLEAN
    input.Qs.certificate.purpose == enum_Certificate.purposeParameter[_]
    input.Qs.certificate.created == STRING
    input.Qs.certificate.lastUpdated == STRING
    input.Qs.certificate.hasPrivateKey == BOOLEAN
    input.Qs.certificate.nonce == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DpsCertificate_GenerateVerificationCode

enum_Certificate.purposeParameter := [ "clientAuthentication", "serverAuthentication" ]

valid {
    input.ReqMap.certificateName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.certificate.name == STRING
    input.Qs.certificate.rawBytes == STRING
    input.Qs.certificate.isVerified == BOOLEAN
    input.Qs.certificate.purpose == enum_Certificate.purposeParameter[_]
    input.Qs.certificate.created == STRING
    input.Qs.certificate.lastUpdated == STRING
    input.Qs.certificate.hasPrivateKey == BOOLEAN
    input.Qs.certificate.nonce == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DpsCertificate_Get

valid {
    input.ReqMap.certificateName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DpsCertificate_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DpsCertificate_VerifyCertificate

enum_Certificate.purposeParameter := [ "clientAuthentication", "serverAuthentication" ]

valid {
    input.Body.certificate == STRING
    input.ReqMap.certificateName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.certificate.name == STRING
    input.Qs.certificate.rawBytes == STRING
    input.Qs.certificate.isVerified == BOOLEAN
    input.Qs.certificate.purpose == enum_Certificate.purposeParameter[_]
    input.Qs.certificate.created == STRING
    input.Qs.certificate.lastUpdated == STRING
    input.Qs.certificate.hasPrivateKey == BOOLEAN
    input.Qs.certificate.nonce == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_CheckProvisioningServiceNameAvailability

valid {
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IotDpsResource_CreateOrUpdate

enum_IotDpsPropertiesDescriptionAllocationPolicy := [ "Hashed", "GeoLatency", "Static" ]
enum_IotDpsPropertiesDescriptionPublicNetworkAccess := [ "Enabled", "Disabled" ]
enum_IotDpsPropertiesDescriptionState := [ "Activating", "Active", "Deleting", "Deleted", "ActivationFailed", "DeletionFailed", "Transitioning", "Suspending", "Suspended", "Resuming", "FailingOver", "FailoverFailed" ]
enum_IotDpsSkuInfoName := [ "S1" ]
enum_IpFilterRuleAction := [ "Accept", "Reject" ]
enum_IpFilterRuleTarget := [ "all", "serviceApi", "deviceApi" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned,UserAssigned" ]
enum_PrivateLinkServiceConnectionStateStatus := [ "Pending", "Approved", "Rejected", "Disconnected" ]
enum_SharedAccessSignatureAuthorizationRule[AccessRightsDescription]Rights := [ "ServiceConfig", "EnrollmentRead", "EnrollmentWrite", "DeviceConnect", "RegistrationStatusRead", "RegistrationStatusWrite" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.state == enum_IotDpsPropertiesDescriptionState[_]
    input.Body.properties.publicNetworkAccess == enum_IotDpsPropertiesDescriptionPublicNetworkAccess[_]
    input.Body.properties.ipFilterRules[_].filterName == STRING
    input.Body.properties.ipFilterRules[_].action == enum_IpFilterRuleAction[_]
    input.Body.properties.ipFilterRules[_].ipMask == STRING
    input.Body.properties.ipFilterRules[_].target == enum_IpFilterRuleTarget[_]
    input.Body.properties.privateEndpointConnections[_].properties.privateEndpoint == {}
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.status == enum_PrivateLinkServiceConnectionStateStatus[_]
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.provisioningState == STRING
    input.Body.properties.iotHubs[_].applyAllocationPolicy == BOOLEAN
    input.Body.properties.iotHubs[_].allocationWeight == INTEGER
    input.Body.properties.iotHubs[_].connectionString == STRING
    input.Body.properties.iotHubs[_].location == STRING
    input.Body.properties.allocationPolicy == enum_IotDpsPropertiesDescriptionAllocationPolicy[_]
    input.Body.properties.authorizationPolicies[_].keyName == STRING
    input.Body.properties.authorizationPolicies[_].primaryKey == STRING
    input.Body.properties.authorizationPolicies[_].secondaryKey == STRING
    input.Body.properties.authorizationPolicies[_].rights == enum_SharedAccessSignatureAuthorizationRule[AccessRightsDescription]Rights[_]
    input.Body.properties.enableDataResidency == BOOLEAN
    input.Body.properties.portalOperationsHostName == STRING
    input.Body.sku.name == enum_IotDpsSkuInfoName[_]
    input.Body.sku.capacity == INTEGER
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.location == STRING
    input.Body.resourcegroup == STRING
    input.Body.subscriptionid == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_CreateOrUpdatePrivateEndpointConnection

enum_PrivateLinkServiceConnectionStateStatus := [ "Pending", "Approved", "Rejected", "Disconnected" ]

valid {
    input.Body.properties.privateEndpoint == {}
    input.Body.properties.privateLinkServiceConnectionState.status == enum_PrivateLinkServiceConnectionStateStatus[_]
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_Delete

valid {
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_DeletePrivateEndpointConnection

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_Get

valid {
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_GetOperationResult

valid {
    input.ReqMap.operationId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.asyncinfo == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_GetPrivateEndpointConnection

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_GetPrivateLinkResources

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.groupId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IotDpsResource_ListKeys

valid {
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_ListKeysForKeyName

valid {
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.keyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_ListPrivateEndpointConnections

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_ListPrivateLinkResources

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.provisioningServiceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotDpsResource_listValidSkus

valid {
    input.ReqMap.provisioningServiceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_CheckNameAvailability

valid {
    input.Body.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IotHubResource_CreateEventHubConsumerGroup

valid {
    input.Body.properties.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.eventHubEndpointName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_CreateOrUpdate

enum_ArmIdentityType := [ "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None" ]
enum_FallbackRoutePropertiesSource := [ "DeviceMessages" ]
enum_IotHubPropertiesFeatures := [ "None", "DeviceManagement" ]
enum_IotHubPropertiesPublicNetworkAccess := [ "Enabled", "Disabled" ]
enum_IotHubSkuInfoName := [ "F1", "S1", "S2", "S3", "B1", "B2", "B3" ]
enum_IpFilterRuleAction := [ "Accept", "Reject" ]
enum_NetworkRuleSetIpRuleAction := [ "Allow" ]
enum_NetworkRuleSetPropertiesDefaultAction := [ "Deny", "Allow" ]
enum_PrivateLinkServiceConnectionStateStatus := [ "Pending", "Approved", "Rejected", "Disconnected" ]
enum_RoutePropertiesSource := [ "Invalid", "DeviceMessages", "TwinChangeEvents", "DeviceLifecycleEvents", "DeviceJobLifecycleEvents", "DeviceConnectionStateEvents" ]
enum_RoutingCosmosDBSqlApiPropertiesAuthenticationType := [ "keyBased", "identityBased" ]
enum_RoutingEventHubPropertiesAuthenticationType := [ "keyBased", "identityBased" ]
enum_RoutingServiceBusQueueEndpointPropertiesAuthenticationType := [ "keyBased", "identityBased" ]
enum_RoutingServiceBusTopicEndpointPropertiesAuthenticationType := [ "keyBased", "identityBased" ]
enum_RoutingStorageContainerPropertiesAuthenticationType := [ "keyBased", "identityBased" ]
enum_RoutingStorageContainerPropertiesEncoding := [ "Avro", "AvroDeflate", "JSON" ]
enum_SharedAccessSignatureAuthorizationRuleRights := [ "RegistryRead", "RegistryWrite", "ServiceConnect", "DeviceConnect", "RegistryRead, RegistryWrite", "RegistryRead, ServiceConnect", "RegistryRead, DeviceConnect", "RegistryWrite, ServiceConnect", "RegistryWrite, DeviceConnect", "ServiceConnect, DeviceConnect", "RegistryRead, RegistryWrite, ServiceConnect", "RegistryRead, RegistryWrite, DeviceConnect", "RegistryRead, ServiceConnect, DeviceConnect", "RegistryWrite, ServiceConnect, DeviceConnect", "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" ]
enum_StorageEndpointPropertiesAuthenticationType := [ "keyBased", "identityBased" ]

valid {
    input.Body.etag == STRING
    input.Body.properties.authorizationPolicies[_].keyName == STRING
    input.Body.properties.authorizationPolicies[_].primaryKey == STRING
    input.Body.properties.authorizationPolicies[_].secondaryKey == STRING
    input.Body.properties.authorizationPolicies[_].rights == enum_SharedAccessSignatureAuthorizationRuleRights[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.disableDeviceSAS == BOOLEAN
    input.Body.properties.disableModuleSAS == BOOLEAN
    input.Body.properties.restrictOutboundNetworkAccess == BOOLEAN
    input.Body.properties.allowedFqdnList[_] == STRING
    input.Body.properties.publicNetworkAccess == enum_IotHubPropertiesPublicNetworkAccess[_]
    input.Body.properties.ipFilterRules[_].filterName == STRING
    input.Body.properties.ipFilterRules[_].action == enum_IpFilterRuleAction[_]
    input.Body.properties.ipFilterRules[_].ipMask == STRING
    input.Body.properties.networkRuleSets.defaultAction == enum_NetworkRuleSetPropertiesDefaultAction[_]
    input.Body.properties.networkRuleSets.applyToBuiltInEventHubEndpoint == BOOLEAN
    input.Body.properties.networkRuleSets.ipRules[_].filterName == STRING
    input.Body.properties.networkRuleSets.ipRules[_].action == enum_NetworkRuleSetIpRuleAction[_]
    input.Body.properties.networkRuleSets.ipRules[_].ipMask == STRING
    input.Body.properties.minTlsVersion == STRING
    input.Body.properties.privateEndpointConnections[_].properties.privateEndpoint == {}
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.status == enum_PrivateLinkServiceConnectionStateStatus[_]
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.eventHubEndpoints.STRING.retentionTimeInDays == INTEGER
    input.Body.properties.eventHubEndpoints.STRING.partitionCount == INTEGER
    input.Body.properties.routing.endpoints.serviceBusQueues[_].id == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].connectionString == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].endpointUri == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].entityPath == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].authenticationType == enum_RoutingServiceBusQueueEndpointPropertiesAuthenticationType[_]
    input.Body.properties.routing.endpoints.serviceBusQueues[_].identity.userAssignedIdentity == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].name == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].subscriptionId == STRING
    input.Body.properties.routing.endpoints.serviceBusQueues[_].resourceGroup == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].id == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].connectionString == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].endpointUri == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].entityPath == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].authenticationType == enum_RoutingServiceBusTopicEndpointPropertiesAuthenticationType[_]
    input.Body.properties.routing.endpoints.serviceBusTopics[_].identity.userAssignedIdentity == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].name == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].subscriptionId == STRING
    input.Body.properties.routing.endpoints.serviceBusTopics[_].resourceGroup == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].id == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].connectionString == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].endpointUri == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].entityPath == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].authenticationType == enum_RoutingEventHubPropertiesAuthenticationType[_]
    input.Body.properties.routing.endpoints.eventHubs[_].identity.userAssignedIdentity == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].name == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].subscriptionId == STRING
    input.Body.properties.routing.endpoints.eventHubs[_].resourceGroup == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].id == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].connectionString == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].endpointUri == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].authenticationType == enum_RoutingStorageContainerPropertiesAuthenticationType[_]
    input.Body.properties.routing.endpoints.storageContainers[_].identity.userAssignedIdentity == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].name == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].subscriptionId == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].resourceGroup == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].containerName == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].fileNameFormat == STRING
    input.Body.properties.routing.endpoints.storageContainers[_].batchFrequencyInSeconds == INTEGER
    input.Body.properties.routing.endpoints.storageContainers[_].maxChunkSizeInBytes == INTEGER
    input.Body.properties.routing.endpoints.storageContainers[_].encoding == enum_RoutingStorageContainerPropertiesEncoding[_]
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].name == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].subscriptionId == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].resourceGroup == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].endpointUri == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].authenticationType == enum_RoutingCosmosDBSqlApiPropertiesAuthenticationType[_]
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].identity.userAssignedIdentity == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].primaryKey == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].secondaryKey == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].databaseName == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].containerName == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].partitionKeyName == STRING
    input.Body.properties.routing.endpoints.cosmosDBSqlContainers[_].partitionKeyTemplate == STRING
    input.Body.properties.routing.routes[_].name == STRING
    input.Body.properties.routing.routes[_].source == enum_RoutePropertiesSource[_]
    input.Body.properties.routing.routes[_].condition == STRING
    input.Body.properties.routing.routes[_].endpointNames[_] == STRING
    input.Body.properties.routing.routes[_].isEnabled == BOOLEAN
    input.Body.properties.routing.fallbackRoute.name == STRING
    input.Body.properties.routing.fallbackRoute.source == enum_FallbackRoutePropertiesSource[_]
    input.Body.properties.routing.fallbackRoute.condition == STRING
    input.Body.properties.routing.fallbackRoute.endpointNames[_] == STRING
    input.Body.properties.routing.fallbackRoute.isEnabled == BOOLEAN
    input.Body.properties.routing.enrichments[_].key == STRING
    input.Body.properties.routing.enrichments[_].value == STRING
    input.Body.properties.routing.enrichments[_].endpointNames[_] == STRING
    input.Body.properties.storageEndpoints.STRING.sasTtlAsIso8601 == STRING
    input.Body.properties.storageEndpoints.STRING.connectionString == STRING
    input.Body.properties.storageEndpoints.STRING.containerName == STRING
    input.Body.properties.storageEndpoints.STRING.authenticationType == enum_StorageEndpointPropertiesAuthenticationType[_]
    input.Body.properties.storageEndpoints.STRING.identity.userAssignedIdentity == STRING
    input.Body.properties.messagingEndpoints.STRING.lockDurationAsIso8601 == STRING
    input.Body.properties.messagingEndpoints.STRING.ttlAsIso8601 == STRING
    input.Body.properties.messagingEndpoints.STRING.maxDeliveryCount == INTEGER
    input.Body.properties.enableFileUploadNotifications == BOOLEAN
    input.Body.properties.cloudToDevice.maxDeliveryCount == INTEGER
    input.Body.properties.cloudToDevice.defaultTtlAsIso8601 == STRING
    input.Body.properties.cloudToDevice.feedback.lockDurationAsIso8601 == STRING
    input.Body.properties.cloudToDevice.feedback.ttlAsIso8601 == STRING
    input.Body.properties.cloudToDevice.feedback.maxDeliveryCount == INTEGER
    input.Body.properties.comments == STRING
    input.Body.properties.features == enum_IotHubPropertiesFeatures[_]
    input.Body.properties.enableDataResidency == BOOLEAN
    input.Body.sku.name == enum_IotHubSkuInfoName[_]
    input.Body.sku.capacity == INTEGER
    input.Body.identity.type == enum_ArmIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_DeleteEventHubConsumerGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.eventHubEndpointName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_ExportDevices

enum_ExportDevicesRequestAuthenticationType := [ "keyBased", "identityBased" ]

valid {
    input.Body.exportBlobContainerUri == STRING
    input.Body.excludeKeys == BOOLEAN
    input.Body.exportBlobName == STRING
    input.Body.authenticationType == enum_ExportDevicesRequestAuthenticationType[_]
    input.Body.identity.userAssignedIdentity == STRING
    input.Body.includeConfigurations == BOOLEAN
    input.Body.configurationsBlobName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetEndpointHealth

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.iotHubName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetEventHubConsumerGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.eventHubEndpointName == STRING
    input.ReqMap.name == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetJob

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.jobId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetKeysForKeyName

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.keyName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetQuotaMetrics

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetStats

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_GetValidSkus

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_ImportDevices

enum_ImportDevicesRequestAuthenticationType := [ "keyBased", "identityBased" ]

valid {
    input.Body.inputBlobContainerUri == STRING
    input.Body.outputBlobContainerUri == STRING
    input.Body.inputBlobName == STRING
    input.Body.outputBlobName == STRING
    input.Body.authenticationType == enum_ImportDevicesRequestAuthenticationType[_]
    input.Body.identity.userAssignedIdentity == STRING
    input.Body.includeConfigurations == BOOLEAN
    input.Body.configurationsBlobName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_ListByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

IotHubResource_ListEventHubConsumerGroups

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.eventHubEndpointName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_ListJobs

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_ListKeys

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_TestAllRoutes

enum_TestAllRoutesInputRoutingSource := [ "Invalid", "DeviceMessages", "TwinChangeEvents", "DeviceLifecycleEvents", "DeviceJobLifecycleEvents", "DeviceConnectionStateEvents" ]

valid {
    input.Body.routingSource == enum_TestAllRoutesInputRoutingSource[_]
    input.Body.message.body == STRING
    input.Body.message.appProperties.STRING == STRING
    input.Body.message.systemProperties.STRING == STRING
    input.Body.twin.tags.STRING == STRING
    input.Body.twin.properties.desired.STRING == STRING
    input.Body.twin.properties.reported.STRING == STRING
    input.ReqMap.iotHubName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_TestRoute

enum_RoutePropertiesSource := [ "Invalid", "DeviceMessages", "TwinChangeEvents", "DeviceLifecycleEvents", "DeviceJobLifecycleEvents", "DeviceConnectionStateEvents" ]

valid {
    input.Body.message.body == STRING
    input.Body.message.appProperties.STRING == STRING
    input.Body.message.systemProperties.STRING == STRING
    input.Body.route.name == STRING
    input.Body.route.source == enum_RoutePropertiesSource[_]
    input.Body.route.condition == STRING
    input.Body.route.endpointNames[_] == STRING
    input.Body.route.isEnabled == BOOLEAN
    input.Body.twin.tags.STRING == STRING
    input.Body.twin.properties.desired.STRING == STRING
    input.Body.twin.properties.reported.STRING == STRING
    input.ReqMap.iotHubName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHubResource_Update

valid {
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

IotHub_ManualFailover

valid {
    input.Body.failoverRegion == STRING
    input.ReqMap.iotHubName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Operations_List

valid {
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PrivateEndpointConnections_Delete

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_Update

enum_PrivateLinkServiceConnectionStateStatus := [ "Pending", "Approved", "Rejected", "Disconnected" ]

valid {
    input.Body.properties.privateEndpoint == {}
    input.Body.properties.privateLinkServiceConnectionState.status == enum_PrivateLinkServiceConnectionStateStatus[_]
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkResources_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.groupId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkResources_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ResourceProviderCommon_GetSubscriptionQuota

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}