MICROSOFT.CACHE

AccessPolicyAssignment_CreateUpdate

valid {
    input.Body.properties.objectId == STRING
    input.Body.properties.objectIdAlias == STRING
    input.Body.properties.accessPolicyName == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cacheName == STRING
    input.ReqMap.accessPolicyAssignmentName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AccessPolicyAssignment_Delete

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

AccessPolicyAssignment_Get

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

AccessPolicyAssignment_List

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

AccessPolicy_CreateUpdate

valid {
    input.Body.properties.permissions == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cacheName == STRING
    input.ReqMap.accessPolicyName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

AccessPolicy_Delete

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

AccessPolicy_Get

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

AccessPolicy_List

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

AsyncOperationStatus_Get

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

Databases_Create

enum_DatabasePropertiesClientProtocol := [ "Encrypted", "Plaintext" ]
enum_DatabasePropertiesClusteringPolicy := [ "EnterpriseCluster", "OSSCluster" ]
enum_DatabasePropertiesEvictionPolicy := [ "AllKeysLFU", "AllKeysLRU", "AllKeysRandom", "VolatileLRU", "VolatileLFU", "VolatileTTL", "VolatileRandom", "NoEviction" ]
enum_PersistenceAofFrequency := [ "1s", "always" ]
enum_PersistenceRdbFrequency := [ "1h", "6h", "12h" ]

valid {
    input.Body.properties.clientProtocol == enum_DatabasePropertiesClientProtocol[_]
    input.Body.properties.port == INTEGER
    input.Body.properties.clusteringPolicy == enum_DatabasePropertiesClusteringPolicy[_]
    input.Body.properties.evictionPolicy == enum_DatabasePropertiesEvictionPolicy[_]
    input.Body.properties.persistence.aofEnabled == BOOLEAN
    input.Body.properties.persistence.rdbEnabled == BOOLEAN
    input.Body.properties.persistence.aofFrequency == enum_PersistenceAofFrequency[_]
    input.Body.properties.persistence.rdbFrequency == enum_PersistenceRdbFrequency[_]
    input.Body.properties.modules[_].name == STRING
    input.Body.properties.modules[_].args == STRING
    input.Body.properties.geoReplication.groupNickname == STRING
    input.Body.properties.geoReplication.linkedDatabases[_].id == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.databaseName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Databases_Delete

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

Databases_Export

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

Databases_Flush

valid {
    input.Body.ids[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.databaseName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Databases_ForceUnlink

valid {
    input.Body.ids[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.databaseName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Databases_Get

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

Databases_Import

valid {
    input.Body.sasUris[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.databaseName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Databases_ListByCluster

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

Databases_ListKeys

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

Databases_RegenerateKey

enum_RegenerateKeyParametersKeyType := [ "Primary", "Secondary" ]

valid {
    input.Body.keyType == enum_RegenerateKeyParametersKeyType[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.databaseName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Databases_Update

enum_DatabasePropertiesClientProtocol := [ "Encrypted", "Plaintext" ]
enum_DatabasePropertiesClusteringPolicy := [ "EnterpriseCluster", "OSSCluster" ]
enum_DatabasePropertiesEvictionPolicy := [ "AllKeysLFU", "AllKeysLRU", "AllKeysRandom", "VolatileLRU", "VolatileLFU", "VolatileTTL", "VolatileRandom", "NoEviction" ]
enum_PersistenceAofFrequency := [ "1s", "always" ]
enum_PersistenceRdbFrequency := [ "1h", "6h", "12h" ]

valid {
    input.Body.properties.clientProtocol == enum_DatabasePropertiesClientProtocol[_]
    input.Body.properties.port == INTEGER
    input.Body.properties.clusteringPolicy == enum_DatabasePropertiesClusteringPolicy[_]
    input.Body.properties.evictionPolicy == enum_DatabasePropertiesEvictionPolicy[_]
    input.Body.properties.persistence.aofEnabled == BOOLEAN
    input.Body.properties.persistence.rdbEnabled == BOOLEAN
    input.Body.properties.persistence.aofFrequency == enum_PersistenceAofFrequency[_]
    input.Body.properties.persistence.rdbFrequency == enum_PersistenceRdbFrequency[_]
    input.Body.properties.modules[_].name == STRING
    input.Body.properties.modules[_].args == STRING
    input.Body.properties.geoReplication.groupNickname == STRING
    input.Body.properties.geoReplication.linkedDatabases[_].id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.databaseName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallRules_CreateOrUpdate

valid {
    input.Body.properties.startIP == STRING
    input.Body.properties.endIP == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.cacheName == STRING
    input.ReqMap.ruleName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

FirewallRules_Delete

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

FirewallRules_Get

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

FirewallRules_List

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

FirewallRules_ListByRedisResource

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

LinkedServer_Create

enum_RedisLinkedServerCreatePropertiesServerRole := [ "Primary", "Secondary" ]

valid {
    input.Body.properties.linkedRedisCacheId == STRING
    input.Body.properties.linkedRedisCacheLocation == STRING
    input.Body.properties.serverRole == enum_RedisLinkedServerCreatePropertiesServerRole[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.linkedServerName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

LinkedServer_Delete

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

LinkedServer_Get

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

LinkedServer_List

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

OperationsStatus_Get

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

Operations_List

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

PatchSchedules_CreateOrUpdate

enum_DefaultParameter := [ "default" ]
enum_ScheduleEntryDayOfWeek := [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "Everyday", "Weekend" ]

valid {
    input.Body.properties.scheduleEntries[_].dayOfWeek == enum_ScheduleEntryDayOfWeek[_]
    input.Body.properties.scheduleEntries[_].startHourUtc == INTEGER
    input.Body.properties.scheduleEntries[_].maintenanceWindow == STRING
    input.Body.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.default == enum_DefaultParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PatchSchedules_Delete

enum_DefaultParameter := [ "default" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.default == enum_DefaultParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PatchSchedules_Get

enum_DefaultParameter := [ "default" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.default == enum_DefaultParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PatchSchedules_ListByRedisResource

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

PrivateEndpointConnections_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.SubscriptionID == 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.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_List

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

PrivateEndpointConnections_Put

enum_PrivateEndpointServiceConnectionStatus := [ "Pending", "Approved", "Rejected" ]

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

PrivateLinkResources_ListByCluster

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

PrivateLinkResources_ListByRedisCache

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

RedisEnterprise_CheckNameAvailability

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

RedisEnterprise_Create

enum_ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentityIdentityType := [ "systemAssignedIdentity", "userAssignedIdentity" ]
enum_ClusterPropertiesMinimumTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_SkuName := [ "Enterprise_E5", "Enterprise_E10", "Enterprise_E20", "Enterprise_E50", "Enterprise_E100", "EnterpriseFlash_F300", "EnterpriseFlash_F700", "EnterpriseFlash_F1500" ]

valid {
    input.Body.sku.name == enum_SkuName[_]
    input.Body.sku.capacity == INTEGER
    input.Body.zones[_] == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.properties.minimumTlsVersion == enum_ClusterPropertiesMinimumTlsVersion[_]
    input.Body.properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.userAssignedIdentityResourceId == STRING
    input.Body.properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.identityType == enum_ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentityIdentityType[_]
    input.Body.properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyUrl == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

RedisEnterprise_Delete

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

RedisEnterprise_Get

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

RedisEnterprise_List

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

RedisEnterprise_ListByResourceGroup

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

RedisEnterprise_Update

enum_ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentityIdentityType := [ "systemAssignedIdentity", "userAssignedIdentity" ]
enum_ClusterPropertiesMinimumTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_SkuName := [ "Enterprise_E5", "Enterprise_E10", "Enterprise_E20", "Enterprise_E50", "Enterprise_E100", "EnterpriseFlash_F300", "EnterpriseFlash_F700", "EnterpriseFlash_F1500" ]

valid {
    input.Body.sku.name == enum_SkuName[_]
    input.Body.sku.capacity == INTEGER
    input.Body.properties.minimumTlsVersion == enum_ClusterPropertiesMinimumTlsVersion[_]
    input.Body.properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.userAssignedIdentityResourceId == STRING
    input.Body.properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyIdentity.identityType == enum_ClusterPropertiesEncryptionCustomerManagedKeyEncryptionKeyEncryptionKeyIdentityIdentityType[_]
    input.Body.properties.encryption.customerManagedKeyEncryption.keyEncryptionKeyUrl == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.Body.tags.STRING == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.clusterName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Redis_CheckNameAvailability

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

Redis_Create

enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_RedisCommonPropertiesMinimumTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_RedisCommonPropertiesPublicNetworkAccess := [ "Enabled", "Disabled" ]
enum_RedisCommonPropertiesUpdateChannel := [ "Stable", "Preview" ]
enum_SkuFamily := [ "C", "P" ]
enum_SkuName := [ "Basic", "Standard", "Premium" ]

valid {
    input.Body.properties.sku.name == enum_SkuName[_]
    input.Body.properties.sku.family == enum_SkuFamily[_]
    input.Body.properties.sku.capacity == INTEGER
    input.Body.properties.subnetId == STRING
    input.Body.properties.staticIP == STRING
    input.Body.properties.redisConfiguration.rdb-backup-enabled == STRING
    input.Body.properties.redisConfiguration.rdb-backup-frequency == STRING
    input.Body.properties.redisConfiguration.rdb-backup-max-snapshot-count == STRING
    input.Body.properties.redisConfiguration.rdb-storage-connection-string == STRING
    input.Body.properties.redisConfiguration.aof-backup-enabled == STRING
    input.Body.properties.redisConfiguration.aof-storage-connection-string-0 == STRING
    input.Body.properties.redisConfiguration.aof-storage-connection-string-1 == STRING
    input.Body.properties.redisConfiguration.maxfragmentationmemory-reserved == STRING
    input.Body.properties.redisConfiguration.maxmemory-policy == STRING
    input.Body.properties.redisConfiguration.maxmemory-reserved == STRING
    input.Body.properties.redisConfiguration.maxmemory-delta == STRING
    input.Body.properties.redisConfiguration.preferred-data-persistence-auth-method == STRING
    input.Body.properties.redisConfiguration.authnotrequired == STRING
    input.Body.properties.redisConfiguration.storage-subscription-id == STRING
    input.Body.properties.redisConfiguration.aad-enabled == STRING
    input.Body.properties.redisVersion == STRING
    input.Body.properties.enableNonSslPort == BOOLEAN
    input.Body.properties.replicasPerMaster == INTEGER
    input.Body.properties.replicasPerPrimary == INTEGER
    input.Body.properties.tenantSettings.STRING == STRING
    input.Body.properties.shardCount == INTEGER
    input.Body.properties.minimumTlsVersion == enum_RedisCommonPropertiesMinimumTlsVersion[_]
    input.Body.properties.publicNetworkAccess == enum_RedisCommonPropertiesPublicNetworkAccess[_]
    input.Body.properties.updateChannel == enum_RedisCommonPropertiesUpdateChannel[_]
    input.Body.zones[_] == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Redis_Delete

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

Redis_ExportData

valid {
    input.Body.format == STRING
    input.Body.prefix == STRING
    input.Body.container == STRING
    input.Body.preferred-data-archive-auth-method == STRING
    input.Body.storage-subscription-id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Redis_FlushCache

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

Redis_ForceReboot

enum_RedisRebootParametersRebootType := [ "PrimaryNode", "SecondaryNode", "AllNodes" ]

valid {
    input.Body.rebootType == enum_RedisRebootParametersRebootType[_]
    input.Body.shardId == INTEGER
    input.Body.ports[_] == INTEGER
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Redis_Get

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

Redis_ImportData

valid {
    input.Body.format == STRING
    input.Body.files[_] == STRING
    input.Body.preferred-data-archive-auth-method == STRING
    input.Body.storage-subscription-id == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Redis_List

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

Redis_ListByResourceGroup

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

Redis_ListBySubscription

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

Redis_ListKeys

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

Redis_ListUpgradeNotifications

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

Redis_RegenerateKey

enum_RedisRegenerateKeyParametersKeyType := [ "Primary", "Secondary" ]

valid {
    input.Body.keyType == enum_RedisRegenerateKeyParametersKeyType[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Redis_Update

enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_RedisCommonPropertiesMinimumTlsVersion := [ "1.0", "1.1", "1.2" ]
enum_RedisCommonPropertiesPublicNetworkAccess := [ "Enabled", "Disabled" ]
enum_RedisCommonPropertiesUpdateChannel := [ "Stable", "Preview" ]
enum_SkuFamily := [ "C", "P" ]
enum_SkuName := [ "Basic", "Standard", "Premium" ]

valid {
    input.Body.properties.sku.name == enum_SkuName[_]
    input.Body.properties.sku.family == enum_SkuFamily[_]
    input.Body.properties.sku.capacity == INTEGER
    input.Body.properties.redisConfiguration.rdb-backup-enabled == STRING
    input.Body.properties.redisConfiguration.rdb-backup-frequency == STRING
    input.Body.properties.redisConfiguration.rdb-backup-max-snapshot-count == STRING
    input.Body.properties.redisConfiguration.rdb-storage-connection-string == STRING
    input.Body.properties.redisConfiguration.aof-backup-enabled == STRING
    input.Body.properties.redisConfiguration.aof-storage-connection-string-0 == STRING
    input.Body.properties.redisConfiguration.aof-storage-connection-string-1 == STRING
    input.Body.properties.redisConfiguration.maxfragmentationmemory-reserved == STRING
    input.Body.properties.redisConfiguration.maxmemory-policy == STRING
    input.Body.properties.redisConfiguration.maxmemory-reserved == STRING
    input.Body.properties.redisConfiguration.maxmemory-delta == STRING
    input.Body.properties.redisConfiguration.preferred-data-persistence-auth-method == STRING
    input.Body.properties.redisConfiguration.authnotrequired == STRING
    input.Body.properties.redisConfiguration.storage-subscription-id == STRING
    input.Body.properties.redisConfiguration.aad-enabled == STRING
    input.Body.properties.redisVersion == STRING
    input.Body.properties.enableNonSslPort == BOOLEAN
    input.Body.properties.replicasPerMaster == INTEGER
    input.Body.properties.replicasPerPrimary == INTEGER
    input.Body.properties.tenantSettings.STRING == STRING
    input.Body.properties.shardCount == INTEGER
    input.Body.properties.minimumTlsVersion == enum_RedisCommonPropertiesMinimumTlsVersion[_]
    input.Body.properties.publicNetworkAccess == enum_RedisCommonPropertiesPublicNetworkAccess[_]
    input.Body.properties.updateChannel == enum_RedisCommonPropertiesUpdateChannel[_]
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    input.Body.identity.userAssignedIdentities.STRING == {}
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.name == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}