MICROSOFT.BOTSERVICE

BotConnection_Create

enum_Kind := [ "sdk", "designer", "bot", "function", "azurebot" ]
enum_SkuName := [ "F0", "S1" ]

valid {
    input.Body.properties.id == STRING
    input.Body.properties.name == STRING
    input.Body.properties.clientId == STRING
    input.Body.properties.clientSecret == STRING
    input.Body.properties.scopes == STRING
    input.Body.properties.serviceProviderId == STRING
    input.Body.properties.serviceProviderDisplayName == STRING
    input.Body.properties.parameters[_].key == STRING
    input.Body.properties.parameters[_].value == STRING
    input.Body.properties.provisioningState == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.sku.name == enum_SkuName[_]
    input.Body.kind == enum_Kind[_]
    input.Body.etag == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

BotConnection_Delete

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

BotConnection_Get

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

BotConnection_ListByBotService

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

BotConnection_ListServiceProviders

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

BotConnection_ListWithSecrets

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

BotConnection_Update

valid {
    input.Body.properties.id == STRING
    input.Body.properties.name == STRING
    input.Body.properties.clientId == STRING
    input.Body.properties.clientSecret == STRING
    input.Body.properties.scopes == STRING
    input.Body.properties.serviceProviderId == STRING
    input.Body.properties.serviceProviderDisplayName == STRING
    input.Body.properties.parameters[_].key == STRING
    input.Body.properties.parameters[_].value == STRING
    input.Body.properties.provisioningState == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.connectionName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Bots_Create

enum_BotPropertiesMsaAppType := [ "UserAssignedMSI", "SingleTenant", "MultiTenant" ]
enum_BotPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]
enum_Kind := [ "sdk", "designer", "bot", "function", "azurebot" ]
enum_SkuName := [ "F0", "S1" ]

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.iconUrl == STRING
    input.Body.properties.endpoint == STRING
    input.Body.properties.allSettings.STRING == STRING
    input.Body.properties.parameters.STRING == STRING
    input.Body.properties.manifestUrl == STRING
    input.Body.properties.msaAppType == enum_BotPropertiesMsaAppType[_]
    input.Body.properties.msaAppId == STRING
    input.Body.properties.msaAppTenantId == STRING
    input.Body.properties.msaAppMSIResourceId == STRING
    input.Body.properties.developerAppInsightKey == STRING
    input.Body.properties.developerAppInsightsApiKey == STRING
    input.Body.properties.developerAppInsightsApplicationId == STRING
    input.Body.properties.luisAppIds[_] == STRING
    input.Body.properties.luisKey == STRING
    input.Body.properties.isCmekEnabled == BOOLEAN
    input.Body.properties.cmekKeyVaultUrl == STRING
    input.Body.properties.tenantId == STRING
    input.Body.properties.publicNetworkAccess == enum_BotPropertiesPublicNetworkAccess[_]
    input.Body.properties.isStreamingSupported == BOOLEAN
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.schemaTransformationVersion == STRING
    input.Body.properties.storageResourceId == STRING
    input.Body.properties.openWithHint == STRING
    input.Body.properties.appPasswordHint == STRING
    input.Body.properties.publishingCredentials == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.sku.name == enum_SkuName[_]
    input.Body.kind == enum_Kind[_]
    input.Body.etag == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Bots_Delete

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

Bots_Get

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

Bots_GetCheckNameAvailability

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

Bots_List

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

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

Bots_Update

enum_BotPropertiesMsaAppType := [ "UserAssignedMSI", "SingleTenant", "MultiTenant" ]
enum_BotPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]

valid {
    input.Body.properties.displayName == STRING
    input.Body.properties.description == STRING
    input.Body.properties.iconUrl == STRING
    input.Body.properties.endpoint == STRING
    input.Body.properties.allSettings.STRING == STRING
    input.Body.properties.parameters.STRING == STRING
    input.Body.properties.manifestUrl == STRING
    input.Body.properties.msaAppType == enum_BotPropertiesMsaAppType[_]
    input.Body.properties.msaAppId == STRING
    input.Body.properties.msaAppTenantId == STRING
    input.Body.properties.msaAppMSIResourceId == STRING
    input.Body.properties.developerAppInsightKey == STRING
    input.Body.properties.developerAppInsightsApiKey == STRING
    input.Body.properties.developerAppInsightsApplicationId == STRING
    input.Body.properties.luisAppIds[_] == STRING
    input.Body.properties.luisKey == STRING
    input.Body.properties.isCmekEnabled == BOOLEAN
    input.Body.properties.cmekKeyVaultUrl == STRING
    input.Body.properties.tenantId == STRING
    input.Body.properties.publicNetworkAccess == enum_BotPropertiesPublicNetworkAccess[_]
    input.Body.properties.isStreamingSupported == BOOLEAN
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.schemaTransformationVersion == STRING
    input.Body.properties.storageResourceId == STRING
    input.Body.properties.openWithHint == STRING
    input.Body.properties.appPasswordHint == STRING
    input.Body.properties.publishingCredentials == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Channels_Create

enum_Kind := [ "sdk", "designer", "bot", "function", "azurebot" ]
enum_SkuName := [ "F0", "S1" ]
enum_channelNameParameter := [ "AlexaChannel", "FacebookChannel", "EmailChannel", "KikChannel", "TelegramChannel", "SlackChannel", "MsTeamsChannel", "SkypeChannel", "WebChatChannel", "DirectLineChannel", "SmsChannel", "LineChannel", "DirectLineSpeechChannel", "OutlookChannel", "Omnichannel", "TelephonyChannel", "AcsChatChannel", "SearchAssistant", "M365Extensions" ]

valid {
    input.Body.properties.channelName == STRING
    input.Body.properties.etag == STRING
    input.Body.properties.location == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.sku.name == enum_SkuName[_]
    input.Body.kind == enum_Kind[_]
    input.Body.etag == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.channelName == enum_channelNameParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Channels_Delete

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

Channels_Get

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

Channels_ListByResourceGroup

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

Channels_ListWithKeys

enum_channelNameParameter := [ "AlexaChannel", "FacebookChannel", "EmailChannel", "KikChannel", "TelegramChannel", "SlackChannel", "MsTeamsChannel", "SkypeChannel", "WebChatChannel", "DirectLineChannel", "SmsChannel", "LineChannel", "DirectLineSpeechChannel", "OutlookChannel", "Omnichannel", "TelephonyChannel", "AcsChatChannel", "SearchAssistant", "M365Extensions" ]

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.channelName == enum_channelNameParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Channels_Update

enum_channelNameParameter := [ "AlexaChannel", "FacebookChannel", "EmailChannel", "KikChannel", "TelegramChannel", "SlackChannel", "MsTeamsChannel", "SkypeChannel", "WebChatChannel", "DirectLineChannel", "SmsChannel", "LineChannel", "DirectLineSpeechChannel", "OutlookChannel", "Omnichannel", "TelephonyChannel", "AcsChatChannel", "SearchAssistant", "M365Extensions" ]

valid {
    input.Body.properties.channelName == STRING
    input.Body.properties.etag == STRING
    input.Body.properties.location == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.channelName == enum_channelNameParameter[_]
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DirectLine_RegenerateKeys

enum_SiteInfoKey := [ "key1", "key2" ]
enum_regenerateKeyschannelNameParameter := [ "WebChatChannel", "DirectLineChannel" ]

valid {
    input.Body.siteName == STRING
    input.Body.key == enum_SiteInfoKey[_]
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.channelName == enum_regenerateKeyschannelNameParameter[_]
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Email_CreateSignInUrl

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

EnterpriseChannels_CheckNameAvailability

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

EnterpriseChannels_Create

enum_EnterpriseChannelNodeState := [ "Creating", "CreateFailed", "Started", "Starting", "StartFailed", "Stopped", "Stopping", "StopFailed", "Deleting", "DeleteFailed" ]
enum_EnterpriseChannelPropertiesState := [ "Creating", "CreateFailed", "Started", "Starting", "StartFailed", "Stopped", "Stopping", "StopFailed", "Deleting", "DeleteFailed" ]
enum_Kind := [ "sdk", "designer", "bot", "function" ]
enum_SkuName := [ "F0", "S1" ]

valid {
    input.Body.properties.state == enum_EnterpriseChannelPropertiesState[_]
    input.Body.properties.nodes[_].state == enum_EnterpriseChannelNodeState[_]
    input.Body.properties.nodes[_].name == STRING
    input.Body.properties.nodes[_].azureSku == STRING
    input.Body.properties.nodes[_].azureLocation == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.Body.sku.name == enum_SkuName[_]
    input.Body.kind == enum_Kind[_]
    input.Body.etag == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EnterpriseChannels_Delete

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

EnterpriseChannels_Get

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

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

EnterpriseChannels_Update

enum_EnterpriseChannelNodeState := [ "Creating", "CreateFailed", "Started", "Starting", "StartFailed", "Stopped", "Stopping", "StopFailed", "Deleting", "DeleteFailed" ]
enum_EnterpriseChannelPropertiesState := [ "Creating", "CreateFailed", "Started", "Starting", "StartFailed", "Stopped", "Stopping", "StopFailed", "Deleting", "DeleteFailed" ]

valid {
    input.Body.properties.state == enum_EnterpriseChannelPropertiesState[_]
    input.Body.properties.nodes[_].state == enum_EnterpriseChannelNodeState[_]
    input.Body.properties.nodes[_].name == STRING
    input.Body.properties.nodes[_].azureSku == STRING
    input.Body.properties.nodes[_].azureLocation == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

HostSettings_Get

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

NetworkSecurityPerimeterConfigurations_Get

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

NetworkSecurityPerimeterConfigurations_List

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

NetworkSecurityPerimeterConfigurations_Reconcile

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

OperationResults_Get

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.operationResultId == 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
}

PrivateEndpointConnections_Create

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.Body.properties.groupIds[_] == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == 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_Delete

valid {
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == 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.resourceName == 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_List

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

PrivateLinkResources_ListByBotResource

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

QnAMakerEndpointKeys_Get

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