MICROSOFT.IOTOPERATIONSMQ

BrokerAuthentication_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]

valid {
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vault.directoryId == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vault.name == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCert.name == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCert.version == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.secretName == STRING
    input.Body.properties.authenticationMethods[_].custom.caCertConfigMap == STRING
    input.Body.properties.authenticationMethods[_].custom.endpoint == STRING
    input.Body.properties.authenticationMethods[_].custom.headers.STRING == STRING
    input.Body.properties.authenticationMethods[_].sat.audiences[_] == STRING
    input.Body.properties.authenticationMethods[_].svid.agentSocketPath == STRING
    input.Body.properties.authenticationMethods[_].svid.identityMaxRetry == INTEGER
    input.Body.properties.authenticationMethods[_].svid.identityWaitRetryMs == INTEGER
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vault.directoryId == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vault.name == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vaultSecret.name == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vaultSecret.version == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.secretName == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vault.directoryId == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vault.name == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vaultSecret.name == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vaultSecret.version == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.secretName == STRING
    input.Body.properties.authenticationMethods[_].x509.trustedClientCaCertConfigMap == STRING
    input.Body.properties.listenerRef[_] == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.ReqMap.authenticationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BrokerAuthentication_Delete

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

BrokerAuthentication_Get

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

BrokerAuthentication_ListByBrokerResource

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

BrokerAuthentication_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vault.directoryId == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vault.name == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCert.name == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.keyVault.vaultCert.version == STRING
    input.Body.properties.authenticationMethods[_].custom.auth.x509.secretName == STRING
    input.Body.properties.authenticationMethods[_].custom.caCertConfigMap == STRING
    input.Body.properties.authenticationMethods[_].custom.endpoint == STRING
    input.Body.properties.authenticationMethods[_].custom.headers.STRING == STRING
    input.Body.properties.authenticationMethods[_].sat.audiences[_] == STRING
    input.Body.properties.authenticationMethods[_].svid.agentSocketPath == STRING
    input.Body.properties.authenticationMethods[_].svid.identityMaxRetry == INTEGER
    input.Body.properties.authenticationMethods[_].svid.identityWaitRetryMs == INTEGER
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vault.directoryId == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vault.name == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vaultSecret.name == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.keyVault.vaultSecret.version == STRING
    input.Body.properties.authenticationMethods[_].usernamePassword.secretName == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vault.directoryId == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vault.name == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vaultSecret.name == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.keyVault.vaultSecret.version == STRING
    input.Body.properties.authenticationMethods[_].x509.attributes.secretName == STRING
    input.Body.properties.authenticationMethods[_].x509.trustedClientCaCertConfigMap == STRING
    input.Body.properties.listenerRef[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.ReqMap.authenticationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BrokerAuthorization_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]
enum_ResourceInfoDefinitionMethods := [ "Connect", "Publish", "Subscribe" ]

valid {
    input.Body.properties.authorizationPolicies.enableCache == BOOLEAN
    input.Body.properties.authorizationPolicies.rules[_].brokerResources[_].method == enum_ResourceInfoDefinitionMethods[_]
    input.Body.properties.authorizationPolicies.rules[_].brokerResources[_].topics[_] == STRING
    input.Body.properties.authorizationPolicies.rules[_].principals.attributes[_].STRING == STRING
    input.Body.properties.authorizationPolicies.rules[_].principals.clientids[_] == STRING
    input.Body.properties.authorizationPolicies.rules[_].principals.usernames[_] == STRING
    input.Body.properties.listenerRef[_] == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.ReqMap.authorizationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BrokerAuthorization_Delete

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

BrokerAuthorization_Get

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

BrokerAuthorization_ListByBrokerResource

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

BrokerAuthorization_Update

enum_ResourceInfoDefinitionMethods := [ "Connect", "Publish", "Subscribe" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.authorizationPolicies.enableCache == BOOLEAN
    input.Body.properties.authorizationPolicies.rules[_].brokerResources[_].method == enum_ResourceInfoDefinitionMethods[_]
    input.Body.properties.authorizationPolicies.rules[_].brokerResources[_].topics[_] == STRING
    input.Body.properties.authorizationPolicies.rules[_].principals.attributes[_].STRING == STRING
    input.Body.properties.authorizationPolicies.rules[_].principals.clientids[_] == STRING
    input.Body.properties.authorizationPolicies.rules[_].principals.usernames[_] == STRING
    input.Body.properties.listenerRef[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.ReqMap.authorizationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BrokerListener_CreateOrUpdate

enum_BrokerListenerPropertiesServiceType := [ "clusterIp", "loadBalancer", "nodePort" ]
enum_ExtendedLocationType := [ "CustomLocation" ]

valid {
    input.Body.properties.authenticationEnabled == BOOLEAN
    input.Body.properties.authorizationEnabled == BOOLEAN
    input.Body.properties.brokerRef == STRING
    input.Body.properties.nodePort == INTEGER
    input.Body.properties.port == INTEGER
    input.Body.properties.serviceName == STRING
    input.Body.properties.serviceType == enum_BrokerListenerPropertiesServiceType[_]
    input.Body.properties.tls.automatic.duration == STRING
    input.Body.properties.tls.automatic.issuerRef.group == STRING
    input.Body.properties.tls.automatic.issuerRef.kind == STRING
    input.Body.properties.tls.automatic.issuerRef.name == STRING
    input.Body.properties.tls.automatic.privateKey.algorithm == STRING
    input.Body.properties.tls.automatic.privateKey.rotationPolicy == STRING
    input.Body.properties.tls.automatic.privateKey.size == INTEGER
    input.Body.properties.tls.automatic.renewBefore == STRING
    input.Body.properties.tls.automatic.san.dns[_] == STRING
    input.Body.properties.tls.automatic.san.ip[_] == STRING
    input.Body.properties.tls.automatic.secretName == STRING
    input.Body.properties.tls.automatic.secretNamespace == STRING
    input.Body.properties.tls.manual.secretName == STRING
    input.Body.properties.tls.manual.secretNamespace == STRING
    input.Body.properties.tls.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.tls.keyVault.vault.directoryId == STRING
    input.Body.properties.tls.keyVault.vault.name == STRING
    input.Body.properties.tls.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.tls.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.tls.keyVault.vaultCert.name == STRING
    input.Body.properties.tls.keyVault.vaultCert.version == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.ReqMap.listenerName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BrokerListener_Delete

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

BrokerListener_Get

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

BrokerListener_ListByBrokerResource

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

BrokerListener_Update

enum_BrokerListenerResourceUpdatePropertiesServiceType := [ "clusterIp", "loadBalancer", "nodePort" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.authenticationEnabled == BOOLEAN
    input.Body.properties.authorizationEnabled == BOOLEAN
    input.Body.properties.brokerRef == STRING
    input.Body.properties.nodePort == INTEGER
    input.Body.properties.port == INTEGER
    input.Body.properties.serviceName == STRING
    input.Body.properties.serviceType == enum_BrokerListenerResourceUpdatePropertiesServiceType[_]
    input.Body.properties.tls.automatic.duration == STRING
    input.Body.properties.tls.automatic.issuerRef.group == STRING
    input.Body.properties.tls.automatic.issuerRef.kind == STRING
    input.Body.properties.tls.automatic.issuerRef.name == STRING
    input.Body.properties.tls.automatic.privateKey.algorithm == STRING
    input.Body.properties.tls.automatic.privateKey.rotationPolicy == STRING
    input.Body.properties.tls.automatic.privateKey.size == INTEGER
    input.Body.properties.tls.automatic.renewBefore == STRING
    input.Body.properties.tls.automatic.san.dns[_] == STRING
    input.Body.properties.tls.automatic.san.ip[_] == STRING
    input.Body.properties.tls.automatic.secretName == STRING
    input.Body.properties.tls.automatic.secretNamespace == STRING
    input.Body.properties.tls.manual.secretName == STRING
    input.Body.properties.tls.manual.secretNamespace == STRING
    input.Body.properties.tls.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.tls.keyVault.vault.directoryId == STRING
    input.Body.properties.tls.keyVault.vault.name == STRING
    input.Body.properties.tls.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.tls.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.tls.keyVault.vaultCert.name == STRING
    input.Body.properties.tls.keyVault.vaultCert.version == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.ReqMap.listenerName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Broker_CreateOrUpdate

enum_BrokerPropertiesMemoryProfile := [ "tiny", "low", "medium", "high" ]
enum_ExtendedLocationType := [ "CustomLocation" ]
enum_RunMode := [ "auto", "distributed" ]

valid {
    input.Body.properties.authImage.pullPolicy == STRING
    input.Body.properties.authImage.pullSecrets == STRING
    input.Body.properties.authImage.repository == STRING
    input.Body.properties.authImage.tag == STRING
    input.Body.properties.brokerImage.pullPolicy == STRING
    input.Body.properties.brokerImage.pullSecrets == STRING
    input.Body.properties.brokerImage.repository == STRING
    input.Body.properties.brokerImage.tag == STRING
    input.Body.properties.brokerNodeTolerations.effect == STRING
    input.Body.properties.brokerNodeTolerations.key == STRING
    input.Body.properties.brokerNodeTolerations.operator == STRING
    input.Body.properties.brokerNodeTolerations.value == STRING
    input.Body.properties.cardinality.backendChain.partitions == INTEGER
    input.Body.properties.cardinality.backendChain.redundancyFactor == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryDiskTransferEnabled == BOOLEAN
    input.Body.properties.cardinality.backendChain.temporaryDiskTransferHighWatermarkPercent == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryDiskTransferLowWatermarkPercent == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryMaxBackendMemUsagePercent == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxInflightMessages == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxInflightPatches == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxInflightPatchesPerClient == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxMessageExpirySecs == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxQueuedMessages == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxQueuedQos0Messages == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxSessionExpirySecs == INTEGER
    input.Body.properties.cardinality.backendChain.workers == INTEGER
    input.Body.properties.cardinality.frontend.replicas == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxInflightMessages == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxInflightPatches == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxInflightPatchesPerClient == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxMessageExpirySecs == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxQueuedMessages == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxQueuedQos0Messages == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxSessionExpirySecs == INTEGER
    input.Body.properties.cardinality.frontend.workers == INTEGER
    input.Body.properties.diagnostics.diagnosticServiceEndpoint == STRING
    input.Body.properties.diagnostics.enableMetrics == BOOLEAN
    input.Body.properties.diagnostics.enableSelfCheck == BOOLEAN
    input.Body.properties.diagnostics.enableSelfTracing == BOOLEAN
    input.Body.properties.diagnostics.enableTracing == BOOLEAN
    input.Body.properties.diagnostics.logFormat == STRING
    input.Body.properties.diagnostics.logLevel == STRING
    input.Body.properties.diagnostics.maxCellMapLifetime == INTEGER
    input.Body.properties.diagnostics.metricUpdateFrequencySeconds == INTEGER
    input.Body.properties.diagnostics.probeImage == STRING
    input.Body.properties.diagnostics.selfCheckFrequencySeconds == INTEGER
    input.Body.properties.diagnostics.selfCheckTimeoutSeconds == INTEGER
    input.Body.properties.diagnostics.selfTraceFrequencySeconds == INTEGER
    input.Body.properties.diagnostics.spanChannelCapacity == INTEGER
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.accessModes[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSource.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSource.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSource.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSourceRef.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSourceRef.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSourceRef.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.resources.limits.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.resources.requests.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchExpressions[_].key == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchExpressions[_].operator == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchExpressions[_].values[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchLabels.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.storageClassName == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.volumeMode == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.volumeName == STRING
    input.Body.properties.diskBackedMessageBufferSettings.maxSize == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.accessModes[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSource.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSource.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSource.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSourceRef.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSourceRef.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSourceRef.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.resources.limits.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.resources.requests.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchExpressions[_].key == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchExpressions[_].operator == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchExpressions[_].values[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchLabels.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.storageClassName == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.volumeMode == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.volumeName == STRING
    input.Body.properties.encryptInternalTraffic == BOOLEAN
    input.Body.properties.healthManagerImage.pullPolicy == STRING
    input.Body.properties.healthManagerImage.pullSecrets == STRING
    input.Body.properties.healthManagerImage.repository == STRING
    input.Body.properties.healthManagerImage.tag == STRING
    input.Body.properties.healthManagerNodeTolerations.effect == STRING
    input.Body.properties.healthManagerNodeTolerations.key == STRING
    input.Body.properties.healthManagerNodeTolerations.operator == STRING
    input.Body.properties.healthManagerNodeTolerations.value == STRING
    input.Body.properties.internalCerts.duration == STRING
    input.Body.properties.internalCerts.privateKey.algorithm == STRING
    input.Body.properties.internalCerts.privateKey.rotationPolicy == STRING
    input.Body.properties.internalCerts.privateKey.size == INTEGER
    input.Body.properties.internalCerts.renewBefore == STRING
    input.Body.properties.memoryProfile == enum_BrokerPropertiesMemoryProfile[_]
    input.Body.properties.mode == enum_RunMode[_]
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Broker_Delete

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

Broker_Get

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

Broker_ListByMqResource

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

Broker_Update

enum_BrokerResourceUpdatePropertiesMemoryProfile := [ "tiny", "low", "medium", "high" ]
enum_RunMode := [ "auto", "distributed" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.authImage.pullPolicy == STRING
    input.Body.properties.authImage.pullSecrets == STRING
    input.Body.properties.authImage.repository == STRING
    input.Body.properties.authImage.tag == STRING
    input.Body.properties.brokerImage.pullPolicy == STRING
    input.Body.properties.brokerImage.pullSecrets == STRING
    input.Body.properties.brokerImage.repository == STRING
    input.Body.properties.brokerImage.tag == STRING
    input.Body.properties.brokerNodeTolerations.effect == STRING
    input.Body.properties.brokerNodeTolerations.key == STRING
    input.Body.properties.brokerNodeTolerations.operator == STRING
    input.Body.properties.brokerNodeTolerations.value == STRING
    input.Body.properties.cardinality.backendChain.partitions == INTEGER
    input.Body.properties.cardinality.backendChain.redundancyFactor == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryDiskTransferEnabled == BOOLEAN
    input.Body.properties.cardinality.backendChain.temporaryDiskTransferHighWatermarkPercent == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryDiskTransferLowWatermarkPercent == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryMaxBackendMemUsagePercent == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxInflightMessages == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxInflightPatches == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxInflightPatchesPerClient == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxMessageExpirySecs == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxQueuedMessages == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxQueuedQos0Messages == INTEGER
    input.Body.properties.cardinality.backendChain.temporaryResourceLimits.maxSessionExpirySecs == INTEGER
    input.Body.properties.cardinality.backendChain.workers == INTEGER
    input.Body.properties.cardinality.frontend.replicas == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxInflightMessages == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxInflightPatches == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxInflightPatchesPerClient == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxMessageExpirySecs == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxQueuedMessages == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxQueuedQos0Messages == INTEGER
    input.Body.properties.cardinality.frontend.temporaryResourceLimits.maxSessionExpirySecs == INTEGER
    input.Body.properties.cardinality.frontend.workers == INTEGER
    input.Body.properties.diagnostics.diagnosticServiceEndpoint == STRING
    input.Body.properties.diagnostics.enableMetrics == BOOLEAN
    input.Body.properties.diagnostics.enableSelfCheck == BOOLEAN
    input.Body.properties.diagnostics.enableSelfTracing == BOOLEAN
    input.Body.properties.diagnostics.enableTracing == BOOLEAN
    input.Body.properties.diagnostics.logFormat == STRING
    input.Body.properties.diagnostics.logLevel == STRING
    input.Body.properties.diagnostics.maxCellMapLifetime == INTEGER
    input.Body.properties.diagnostics.metricUpdateFrequencySeconds == INTEGER
    input.Body.properties.diagnostics.probeImage == STRING
    input.Body.properties.diagnostics.selfCheckFrequencySeconds == INTEGER
    input.Body.properties.diagnostics.selfCheckTimeoutSeconds == INTEGER
    input.Body.properties.diagnostics.selfTraceFrequencySeconds == INTEGER
    input.Body.properties.diagnostics.spanChannelCapacity == INTEGER
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.accessModes[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSource.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSource.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSource.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSourceRef.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSourceRef.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.dataSourceRef.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.resources.limits.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.resources.requests.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchExpressions[_].key == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchExpressions[_].operator == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchExpressions[_].values[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.selector.matchLabels.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.storageClassName == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.volumeMode == STRING
    input.Body.properties.diskBackedMessageBufferSettings.ephemeralVolumeClaimSpec.volumeName == STRING
    input.Body.properties.diskBackedMessageBufferSettings.maxSize == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.accessModes[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSource.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSource.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSource.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSourceRef.apiGroup == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSourceRef.kind == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.dataSourceRef.name == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.resources.limits.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.resources.requests.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchExpressions[_].key == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchExpressions[_].operator == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchExpressions[_].values[_] == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.selector.matchLabels.STRING == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.storageClassName == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.volumeMode == STRING
    input.Body.properties.diskBackedMessageBufferSettings.persistentVolumeClaimSpec.volumeName == STRING
    input.Body.properties.encryptInternalTraffic == BOOLEAN
    input.Body.properties.healthManagerImage.pullPolicy == STRING
    input.Body.properties.healthManagerImage.pullSecrets == STRING
    input.Body.properties.healthManagerImage.repository == STRING
    input.Body.properties.healthManagerImage.tag == STRING
    input.Body.properties.healthManagerNodeTolerations.effect == STRING
    input.Body.properties.healthManagerNodeTolerations.key == STRING
    input.Body.properties.healthManagerNodeTolerations.operator == STRING
    input.Body.properties.healthManagerNodeTolerations.value == STRING
    input.Body.properties.internalCerts.duration == STRING
    input.Body.properties.internalCerts.privateKey.algorithm == STRING
    input.Body.properties.internalCerts.privateKey.rotationPolicy == STRING
    input.Body.properties.internalCerts.privateKey.size == INTEGER
    input.Body.properties.internalCerts.renewBefore == STRING
    input.Body.properties.memoryProfile == enum_BrokerResourceUpdatePropertiesMemoryProfile[_]
    input.Body.properties.mode == enum_RunMode[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.brokerName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataLakeConnectorTopicMap_CreateOrUpdate

enum_DeltaTableFormatEnum := [ "boolean", "int8", "int16", "int32", "uInt8", "uInt16", "uInt32", "uInt64", "float16", "float32", "float64", "date32", "date64", "binary", "utf8" ]
enum_ExtendedLocationType := [ "CustomLocation" ]

valid {
    input.Body.properties.dataLakeConnectorRef == STRING
    input.Body.properties.mapping.allowedLatencySecs == INTEGER
    input.Body.properties.mapping.clientId == STRING
    input.Body.properties.mapping.maxMessagesPerBatch == INTEGER
    input.Body.properties.mapping.messagePayloadType == STRING
    input.Body.properties.mapping.mqttSourceTopic == STRING
    input.Body.properties.mapping.qos == INTEGER
    input.Body.properties.mapping.table.schema[_].format == enum_DeltaTableFormatEnum[_]
    input.Body.properties.mapping.table.schema[_].mapping == STRING
    input.Body.properties.mapping.table.schema[_].name == STRING
    input.Body.properties.mapping.table.schema[_].optional == BOOLEAN
    input.Body.properties.mapping.table.tableName == STRING
    input.Body.properties.mapping.table.tablePath == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.dataLakeConnectorName == STRING
    input.ReqMap.topicMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataLakeConnectorTopicMap_Delete

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

DataLakeConnectorTopicMap_Get

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

DataLakeConnectorTopicMap_ListByDataLakeConnectorResource

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

DataLakeConnectorTopicMap_Update

enum_DeltaTableFormatEnum := [ "boolean", "int8", "int16", "int32", "uInt8", "uInt16", "uInt32", "uInt64", "float16", "float32", "float64", "date32", "date64", "binary", "utf8" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.dataLakeConnectorRef == STRING
    input.Body.properties.mapping.allowedLatencySecs == INTEGER
    input.Body.properties.mapping.clientId == STRING
    input.Body.properties.mapping.maxMessagesPerBatch == INTEGER
    input.Body.properties.mapping.messagePayloadType == STRING
    input.Body.properties.mapping.mqttSourceTopic == STRING
    input.Body.properties.mapping.qos == INTEGER
    input.Body.properties.mapping.table.schema[_].format == enum_DeltaTableFormatEnum[_]
    input.Body.properties.mapping.table.schema[_].mapping == STRING
    input.Body.properties.mapping.table.schema[_].name == STRING
    input.Body.properties.mapping.table.schema[_].optional == BOOLEAN
    input.Body.properties.mapping.table.tableName == STRING
    input.Body.properties.mapping.table.tablePath == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.dataLakeConnectorName == STRING
    input.ReqMap.topicMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataLakeConnector_CreateOrUpdate

enum_DataLakeDatabaseFormat := [ "delta", "parquet" ]
enum_ExtendedLocationType := [ "CustomLocation" ]
enum_FabricPathType := [ "files", "tables" ]
enum_MqttProtocol := [ "v3", "v5" ]

valid {
    input.Body.properties.databaseFormat == enum_DataLakeDatabaseFormat[_]
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.instances == INTEGER
    input.Body.properties.localBrokerConnection.authentication.kubernetes.secretPath == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.serviceAccountTokenName == STRING
    input.Body.properties.localBrokerConnection.endpoint == STRING
    input.Body.properties.localBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.localBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.nodeTolerations.effect == STRING
    input.Body.properties.nodeTolerations.key == STRING
    input.Body.properties.nodeTolerations.operator == STRING
    input.Body.properties.nodeTolerations.value == STRING
    input.Body.properties.protocol == enum_MqttProtocol[_]
    input.Body.properties.target.datalakeStorage.endpoint == STRING
    input.Body.properties.target.datalakeStorage.authentication.accessTokenSecretName == STRING
    input.Body.properties.target.datalakeStorage.authentication.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.target.datalakeStorage.authentication.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.target.localStorage.volumeName == STRING
    input.Body.properties.target.fabricOneLake.authentication.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.target.fabricOneLake.authentication.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.target.fabricOneLake.endpoint == STRING
    input.Body.properties.target.fabricOneLake.fabricPath == enum_FabricPathType[_]
    input.Body.properties.target.fabricOneLake.guids.lakehouseGuid == STRING
    input.Body.properties.target.fabricOneLake.guids.workspaceGuid == STRING
    input.Body.properties.target.fabricOneLake.names.lakehouseName == STRING
    input.Body.properties.target.fabricOneLake.names.workspaceName == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.dataLakeConnectorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DataLakeConnector_Delete

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

DataLakeConnector_Get

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

DataLakeConnector_ListByMqResource

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

DataLakeConnector_Update

enum_DataLakeDatabaseFormat := [ "delta", "parquet" ]
enum_FabricPathType := [ "files", "tables" ]
enum_MqttProtocol := [ "v3", "v5" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.databaseFormat == enum_DataLakeDatabaseFormat[_]
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.instances == INTEGER
    input.Body.properties.localBrokerConnection.authentication.kubernetes.secretPath == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.serviceAccountTokenName == STRING
    input.Body.properties.localBrokerConnection.endpoint == STRING
    input.Body.properties.localBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.localBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.nodeTolerations.effect == STRING
    input.Body.properties.nodeTolerations.key == STRING
    input.Body.properties.nodeTolerations.operator == STRING
    input.Body.properties.nodeTolerations.value == STRING
    input.Body.properties.protocol == enum_MqttProtocol[_]
    input.Body.properties.target.datalakeStorage.endpoint == STRING
    input.Body.properties.target.datalakeStorage.authentication.accessTokenSecretName == STRING
    input.Body.properties.target.datalakeStorage.authentication.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.target.datalakeStorage.authentication.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.target.localStorage.volumeName == STRING
    input.Body.properties.target.fabricOneLake.authentication.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.target.fabricOneLake.authentication.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.target.fabricOneLake.endpoint == STRING
    input.Body.properties.target.fabricOneLake.fabricPath == enum_FabricPathType[_]
    input.Body.properties.target.fabricOneLake.guids.lakehouseGuid == STRING
    input.Body.properties.target.fabricOneLake.guids.workspaceGuid == STRING
    input.Body.properties.target.fabricOneLake.names.lakehouseName == STRING
    input.Body.properties.target.fabricOneLake.names.workspaceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.dataLakeConnectorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DiagnosticService_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]

valid {
    input.Body.properties.dataExportFrequencySeconds == INTEGER
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.logFormat == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.maxDataStorageSize == INTEGER
    input.Body.properties.metricsPort == INTEGER
    input.Body.properties.openTelemetryTracesCollectorAddr == STRING
    input.Body.properties.staleDataTimeoutSeconds == INTEGER
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.diagnosticServiceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DiagnosticService_Delete

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

DiagnosticService_Get

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

DiagnosticService_ListByMqResource

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

DiagnosticService_Update

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.dataExportFrequencySeconds == INTEGER
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.logFormat == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.maxDataStorageSize == INTEGER
    input.Body.properties.metricsPort == INTEGER
    input.Body.properties.openTelemetryTracesCollectorAddr == STRING
    input.Body.properties.staleDataTimeoutSeconds == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.diagnosticServiceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

KafkaConnectorTopicMap_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]
enum_KafkaAcks := [ "zero", "one", "all" ]
enum_KafkaTopicMapPropertiesCompression := [ "none", "gzip", "snappy", "lz4" ]
enum_KafkaTopicMapPropertiesPartitionStrategy := [ "default", "static", "topic", "property" ]

valid {
    input.Body.properties.batching.enabled == BOOLEAN
    input.Body.properties.batching.latencyMs == INTEGER
    input.Body.properties.batching.maxBytes == INTEGER
    input.Body.properties.batching.maxMessages == INTEGER
    input.Body.properties.compression == enum_KafkaTopicMapPropertiesCompression[_]
    input.Body.properties.copyMqttProperties == STRING
    input.Body.properties.kafkaConnectorRef == STRING
    input.Body.properties.partitionKeyProperty == STRING
    input.Body.properties.partitionStrategy == enum_KafkaTopicMapPropertiesPartitionStrategy[_]
    input.Body.properties.routes[_].kafkaToMqtt.consumerGroupId == STRING
    input.Body.properties.routes[_].kafkaToMqtt.kafkaTopic == STRING
    input.Body.properties.routes[_].kafkaToMqtt.mqttTopic == STRING
    input.Body.properties.routes[_].kafkaToMqtt.name == STRING
    input.Body.properties.routes[_].kafkaToMqtt.qos == INTEGER
    input.Body.properties.routes[_].mqttToKafka.kafkaAcks == enum_KafkaAcks[_]
    input.Body.properties.routes[_].mqttToKafka.kafkaTopic == STRING
    input.Body.properties.routes[_].mqttToKafka.mqttTopic == STRING
    input.Body.properties.routes[_].mqttToKafka.name == STRING
    input.Body.properties.routes[_].mqttToKafka.qos == INTEGER
    input.Body.properties.routes[_].mqttToKafka.sharedSubscription.groupMinimumShareNumber == INTEGER
    input.Body.properties.routes[_].mqttToKafka.sharedSubscription.groupName == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.kafkaConnectorName == STRING
    input.ReqMap.topicMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

KafkaConnectorTopicMap_Delete

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

KafkaConnectorTopicMap_Get

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

KafkaConnectorTopicMap_ListByKafkaConnectorResource

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

KafkaConnectorTopicMap_Update

enum_KafkaAcks := [ "zero", "one", "all" ]
enum_KafkaTopicMapResourceUpdatePropertiesCompression := [ "none", "gzip", "snappy", "lz4" ]
enum_KafkaTopicMapResourceUpdatePropertiesPartitionStrategy := [ "default", "static", "topic", "property" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.batching.enabled == BOOLEAN
    input.Body.properties.batching.latencyMs == INTEGER
    input.Body.properties.batching.maxBytes == INTEGER
    input.Body.properties.batching.maxMessages == INTEGER
    input.Body.properties.compression == enum_KafkaTopicMapResourceUpdatePropertiesCompression[_]
    input.Body.properties.copyMqttProperties == STRING
    input.Body.properties.kafkaConnectorRef == STRING
    input.Body.properties.partitionKeyProperty == STRING
    input.Body.properties.partitionStrategy == enum_KafkaTopicMapResourceUpdatePropertiesPartitionStrategy[_]
    input.Body.properties.routes[_].kafkaToMqtt.consumerGroupId == STRING
    input.Body.properties.routes[_].kafkaToMqtt.kafkaTopic == STRING
    input.Body.properties.routes[_].kafkaToMqtt.mqttTopic == STRING
    input.Body.properties.routes[_].kafkaToMqtt.name == STRING
    input.Body.properties.routes[_].kafkaToMqtt.qos == INTEGER
    input.Body.properties.routes[_].mqttToKafka.kafkaAcks == enum_KafkaAcks[_]
    input.Body.properties.routes[_].mqttToKafka.kafkaTopic == STRING
    input.Body.properties.routes[_].mqttToKafka.mqttTopic == STRING
    input.Body.properties.routes[_].mqttToKafka.name == STRING
    input.Body.properties.routes[_].mqttToKafka.qos == INTEGER
    input.Body.properties.routes[_].mqttToKafka.sharedSubscription.groupMinimumShareNumber == INTEGER
    input.Body.properties.routes[_].mqttToKafka.sharedSubscription.groupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.kafkaConnectorName == STRING
    input.ReqMap.topicMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

KafkaConnector_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]
enum_KafkaSaslType := [ "plain", "scramSha256", "scramSha512" ]

valid {
    input.Body.properties.clientIdPrefix == STRING
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.instances == INTEGER
    input.Body.properties.kafkaConnection.authentication.authType.sasl.saslType == enum_KafkaSaslType[_]
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.username == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vault.directoryId == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vault.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vaultSecret.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vaultSecret.version == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.secretName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.kafkaConnection.authentication.authType.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vault.directoryId == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vault.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCert.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCert.version == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.secretName == STRING
    input.Body.properties.kafkaConnection.authentication.enabled == BOOLEAN
    input.Body.properties.kafkaConnection.endpoint == STRING
    input.Body.properties.kafkaConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.kafkaConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.secretPath == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.serviceAccountTokenName == STRING
    input.Body.properties.localBrokerConnection.endpoint == STRING
    input.Body.properties.localBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.localBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.nodeTolerations.effect == STRING
    input.Body.properties.nodeTolerations.key == STRING
    input.Body.properties.nodeTolerations.operator == STRING
    input.Body.properties.nodeTolerations.value == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.kafkaConnectorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

KafkaConnector_Delete

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

KafkaConnector_Get

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

KafkaConnector_ListByMqResource

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

KafkaConnector_Update

enum_KafkaSaslType := [ "plain", "scramSha256", "scramSha512" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.clientIdPrefix == STRING
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.instances == INTEGER
    input.Body.properties.kafkaConnection.authentication.authType.sasl.saslType == enum_KafkaSaslType[_]
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.username == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vault.directoryId == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vault.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vaultSecret.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.keyVault.vaultSecret.version == STRING
    input.Body.properties.kafkaConnection.authentication.authType.sasl.token.secretName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.kafkaConnection.authentication.authType.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vault.directoryId == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vault.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCert.name == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.keyVault.vaultCert.version == STRING
    input.Body.properties.kafkaConnection.authentication.authType.x509.secretName == STRING
    input.Body.properties.kafkaConnection.authentication.enabled == BOOLEAN
    input.Body.properties.kafkaConnection.endpoint == STRING
    input.Body.properties.kafkaConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.kafkaConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.secretPath == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.serviceAccountTokenName == STRING
    input.Body.properties.localBrokerConnection.endpoint == STRING
    input.Body.properties.localBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.localBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.nodeTolerations.effect == STRING
    input.Body.properties.nodeTolerations.key == STRING
    input.Body.properties.nodeTolerations.operator == STRING
    input.Body.properties.nodeTolerations.value == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.kafkaConnectorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Mq_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]

valid {
    input.Body.properties == {}
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Mq_Delete

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

Mq_Get

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

Mq_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
}

Mq_ListBySubscription

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

Mq_Update

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

MqttBridgeConnector_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]
enum_MqttBridgeRemoteBrokerConnectionSpecProtocol := [ "mqtt", "webSocket" ]
enum_MqttProtocol := [ "v3", "v5" ]

valid {
    input.Body.properties.bridgeInstances == INTEGER
    input.Body.properties.clientIdPrefix == STRING
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.secretPath == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.serviceAccountTokenName == STRING
    input.Body.properties.localBrokerConnection.endpoint == STRING
    input.Body.properties.localBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.localBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.nodeTolerations.effect == STRING
    input.Body.properties.nodeTolerations.key == STRING
    input.Body.properties.nodeTolerations.operator == STRING
    input.Body.properties.nodeTolerations.value == STRING
    input.Body.properties.protocol == enum_MqttProtocol[_]
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vault.directoryId == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vault.name == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCert.name == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCert.version == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.secretName == STRING
    input.Body.properties.remoteBrokerConnection.authentication.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.remoteBrokerConnection.authentication.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.remoteBrokerConnection.endpoint == STRING
    input.Body.properties.remoteBrokerConnection.protocol == enum_MqttBridgeRemoteBrokerConnectionSpecProtocol[_]
    input.Body.properties.remoteBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.remoteBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.mqttBridgeConnectorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MqttBridgeConnector_Delete

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

MqttBridgeConnector_Get

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

MqttBridgeConnector_ListByMqResource

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

MqttBridgeConnector_Update

enum_MqttBridgeRemoteBrokerConnectionSpecUpdateProtocol := [ "mqtt", "webSocket" ]
enum_MqttProtocol := [ "v3", "v5" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.bridgeInstances == INTEGER
    input.Body.properties.clientIdPrefix == STRING
    input.Body.properties.image.pullPolicy == STRING
    input.Body.properties.image.pullSecrets == STRING
    input.Body.properties.image.repository == STRING
    input.Body.properties.image.tag == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.secretPath == STRING
    input.Body.properties.localBrokerConnection.authentication.kubernetes.serviceAccountTokenName == STRING
    input.Body.properties.localBrokerConnection.endpoint == STRING
    input.Body.properties.localBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.localBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.Body.properties.logLevel == STRING
    input.Body.properties.nodeTolerations.effect == STRING
    input.Body.properties.nodeTolerations.key == STRING
    input.Body.properties.nodeTolerations.operator == STRING
    input.Body.properties.nodeTolerations.value == STRING
    input.Body.properties.protocol == enum_MqttProtocol[_]
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vault.credentials.servicePrincipalLocalSecretName == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vault.directoryId == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vault.name == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCaChainSecret.name == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCaChainSecret.version == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCert.name == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.keyVault.vaultCert.version == STRING
    input.Body.properties.remoteBrokerConnection.authentication.x509.secretName == STRING
    input.Body.properties.remoteBrokerConnection.authentication.systemAssignedManagedIdentity.audience == STRING
    input.Body.properties.remoteBrokerConnection.authentication.systemAssignedManagedIdentity.extensionName == STRING
    input.Body.properties.remoteBrokerConnection.endpoint == STRING
    input.Body.properties.remoteBrokerConnection.protocol == enum_MqttBridgeRemoteBrokerConnectionSpecUpdateProtocol[_]
    input.Body.properties.remoteBrokerConnection.tls.tlsEnabled == BOOLEAN
    input.Body.properties.remoteBrokerConnection.tls.trustedCaCertificateConfigMap == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.mqttBridgeConnectorName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MqttBridgeTopicMap_CreateOrUpdate

enum_ExtendedLocationType := [ "CustomLocation" ]
enum_MqttBridgeRouteDirection := [ "remote-to-local", "local-to-remote" ]

valid {
    input.Body.properties.mqttBridgeConnectorRef == STRING
    input.Body.properties.routes[_].direction == enum_MqttBridgeRouteDirection[_]
    input.Body.properties.routes[_].name == STRING
    input.Body.properties.routes[_].qos == INTEGER
    input.Body.properties.routes[_].sharedSubscription.groupMinimumShareNumber == INTEGER
    input.Body.properties.routes[_].sharedSubscription.groupName == STRING
    input.Body.properties.routes[_].source == STRING
    input.Body.properties.routes[_].target == STRING
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == enum_ExtendedLocationType[_]
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.mqttBridgeConnectorName == STRING
    input.ReqMap.topicMapName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

MqttBridgeTopicMap_Delete

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

MqttBridgeTopicMap_Get

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

MqttBridgeTopicMap_ListByMqttBridgeConnectorResource

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

MqttBridgeTopicMap_Update

enum_MqttBridgeRouteDirection := [ "remote-to-local", "local-to-remote" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.mqttBridgeConnectorRef == STRING
    input.Body.properties.routes[_].direction == enum_MqttBridgeRouteDirection[_]
    input.Body.properties.routes[_].name == STRING
    input.Body.properties.routes[_].qos == INTEGER
    input.Body.properties.routes[_].sharedSubscription.groupMinimumShareNumber == INTEGER
    input.Body.properties.routes[_].sharedSubscription.groupName == STRING
    input.Body.properties.routes[_].source == STRING
    input.Body.properties.routes[_].target == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.mqName == STRING
    input.ReqMap.mqttBridgeConnectorName == STRING
    input.ReqMap.topicMapName == 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
}