MICROSOFT.EVENTGRID

CaCertificates_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.encodedCertificate == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.caCertificateName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CaCertificates_Delete

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

CaCertificates_Get

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

CaCertificates_ListByNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Channels_CreateOrUpdate

enum_ChannelPropertiesChannelType := [ "PartnerTopic", "PartnerDestination" ]
enum_ChannelPropertiesProvisioningState := [ "Creating", "Updating", "Deleting", "Succeeded", "Canceled", "Failed", "IdleDueToMirroredPartnerTopicDeletion", "IdleDueToMirroredPartnerDestinationDeletion" ]
enum_ChannelPropertiesReadinessState := [ "NeverActivated", "Activated" ]
enum_EventTypeInfoKind := [ "Inline" ]
enum_PartnerDestinationInfoEndpointType := [ "WebHook" ]

valid {
    input.Body.properties.channelType == enum_ChannelPropertiesChannelType[_]
    input.Body.properties.partnerTopicInfo.azureSubscriptionId == STRING
    input.Body.properties.partnerTopicInfo.resourceGroupName == STRING
    input.Body.properties.partnerTopicInfo.name == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.Body.properties.partnerTopicInfo.source == STRING
    input.Body.properties.partnerDestinationInfo.azureSubscriptionId == STRING
    input.Body.properties.partnerDestinationInfo.resourceGroupName == STRING
    input.Body.properties.partnerDestinationInfo.name == STRING
    input.Body.properties.partnerDestinationInfo.endpointType == enum_PartnerDestinationInfoEndpointType[_]
    input.Body.properties.partnerDestinationInfo.endpointServiceContext == STRING
    input.Body.properties.partnerDestinationInfo.resourceMoveChangeHistory[_].azureSubscriptionId == STRING
    input.Body.properties.partnerDestinationInfo.resourceMoveChangeHistory[_].resourceGroupName == STRING
    input.Body.properties.partnerDestinationInfo.resourceMoveChangeHistory[_].changedTimeUtc == STRING
    input.Body.properties.messageForActivation == STRING
    input.Body.properties.provisioningState == enum_ChannelPropertiesProvisioningState[_]
    input.Body.properties.readinessState == enum_ChannelPropertiesReadinessState[_]
    input.Body.properties.expirationTimeIfNotActivatedUtc == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.ReqMap.channelName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Channels_Delete

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

Channels_Get

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

Channels_GetFullUrl

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

Channels_ListByPartnerNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Channels_Update

enum_EventTypeInfoKind := [ "Inline" ]
enum_PartnerUpdateDestinationInfoEndpointType := [ "WebHook" ]

valid {
    input.Body.properties.expirationTimeIfNotActivatedUtc == STRING
    input.Body.properties.partnerDestinationInfo.endpointType == enum_PartnerUpdateDestinationInfoEndpointType[_]
    input.Body.properties.partnerTopicInfo.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.partnerTopicInfo.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.ReqMap.channelName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ClientGroups_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.query == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.clientGroupName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ClientGroups_Delete

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

ClientGroups_Get

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

ClientGroups_ListByNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Clients_CreateOrUpdate

enum_ClientCertificateAuthenticationValidationScheme := [ "SubjectMatchesAuthenticationName", "DnsMatchesAuthenticationName", "UriMatchesAuthenticationName", "IpMatchesAuthenticationName", "EmailMatchesAuthenticationName", "ThumbprintMatch" ]
enum_ClientPropertiesState := [ "Enabled", "Disabled" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.authenticationName == STRING
    input.Body.properties.clientCertificateAuthentication.validationScheme == enum_ClientCertificateAuthenticationValidationScheme[_]
    input.Body.properties.clientCertificateAuthentication.allowedThumbprints[_] == STRING
    input.Body.properties.state == enum_ClientPropertiesState[_]
    input.Body.properties.attributes.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.clientName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Clients_Delete

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

Clients_Get

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

Clients_ListByNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainEventSubscriptions_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionPropertiesEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.filter.subjectBeginsWith == STRING
    input.Body.properties.filter.subjectEndsWith == STRING
    input.Body.properties.filter.includedEventTypes[_] == STRING
    input.Body.properties.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.Body.properties.eventDeliverySchema == enum_EventSubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.properties.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.properties.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainEventSubscriptions_Delete

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

DomainEventSubscriptions_Get

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

DomainEventSubscriptions_GetDeliveryAttributes

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

DomainEventSubscriptions_GetFullUrl

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

DomainEventSubscriptions_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainEventSubscriptions_Update

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionUpdateParametersEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.filter.subjectBeginsWith == STRING
    input.Body.filter.subjectEndsWith == STRING
    input.Body.filter.includedEventTypes[_] == STRING
    input.Body.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.filter.advancedFilters[_].key == STRING
    input.Body.labels[_] == STRING
    input.Body.expirationTimeUtc == STRING
    input.Body.eventDeliverySchema == enum_EventSubscriptionUpdateParametersEventDeliverySchema[_]
    input.Body.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainTopicEventSubscriptions_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionPropertiesEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.filter.subjectBeginsWith == STRING
    input.Body.properties.filter.subjectEndsWith == STRING
    input.Body.properties.filter.includedEventTypes[_] == STRING
    input.Body.properties.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.Body.properties.eventDeliverySchema == enum_EventSubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.properties.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.properties.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.topicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainTopicEventSubscriptions_Delete

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

DomainTopicEventSubscriptions_Get

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

DomainTopicEventSubscriptions_GetDeliveryAttributes

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

DomainTopicEventSubscriptions_GetFullUrl

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

DomainTopicEventSubscriptions_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainTopicEventSubscriptions_Update

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionUpdateParametersEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.filter.subjectBeginsWith == STRING
    input.Body.filter.subjectEndsWith == STRING
    input.Body.filter.includedEventTypes[_] == STRING
    input.Body.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.filter.advancedFilters[_].key == STRING
    input.Body.labels[_] == STRING
    input.Body.expirationTimeUtc == STRING
    input.Body.eventDeliverySchema == enum_EventSubscriptionUpdateParametersEventDeliverySchema[_]
    input.Body.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.topicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

DomainTopics_CreateOrUpdate

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

DomainTopics_Delete

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

DomainTopics_Get

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

DomainTopics_ListByDomain

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Domains_CreateOrUpdate

enum_DomainPropertiesDataResidencyBoundary := [ "WithinGeopair", "WithinRegion" ]
enum_DomainPropertiesInputSchema := [ "EventGridSchema", "CustomEventSchema", "CloudEventSchemaV1_0" ]
enum_DomainPropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_DomainPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]
enum_EventTypeInfoKind := [ "Inline" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_InboundIpRuleAction := [ "Allow" ]
enum_InputSchemaMappingInputSchemaMappingType := [ "Json" ]
enum_ResourceSkuName := [ "Basic", "Premium" ]

valid {
    input.Body.properties.minimumTlsVersionAllowed == enum_DomainPropertiesMinimumTlsVersionAllowed[_]
    input.Body.properties.inputSchema == enum_DomainPropertiesInputSchema[_]
    input.Body.properties.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.Body.properties.inputSchemaMapping.inputSchemaMappingType == enum_InputSchemaMappingInputSchemaMappingType[_]
    input.Body.properties.publicNetworkAccess == enum_DomainPropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.autoCreateTopicWithFirstSubscription == BOOLEAN
    input.Body.properties.autoDeleteTopicWithLastSubscription == BOOLEAN
    input.Body.properties.dataResidencyBoundary == enum_DomainPropertiesDataResidencyBoundary[_]
    input.Body.sku.name == enum_ResourceSkuName[_]
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Domains_Delete

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

Domains_Get

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

Domains_ListByResourceGroup

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

Domains_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Domains_ListSharedAccessKeys

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

Domains_RegenerateKey

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

Domains_Update

enum_DomainUpdateParameterPropertiesDataResidencyBoundary := [ "WithinGeopair", "WithinRegion" ]
enum_DomainUpdateParameterPropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_DomainUpdateParameterPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]
enum_EventTypeInfoKind := [ "Inline" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_InboundIpRuleAction := [ "Allow" ]
enum_ResourceSkuName := [ "Basic", "Premium" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.publicNetworkAccess == enum_DomainUpdateParameterPropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.minimumTlsVersionAllowed == enum_DomainUpdateParameterPropertiesMinimumTlsVersionAllowed[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.autoCreateTopicWithFirstSubscription == BOOLEAN
    input.Body.properties.autoDeleteTopicWithLastSubscription == BOOLEAN
    input.Body.properties.dataResidencyBoundary == enum_DomainUpdateParameterPropertiesDataResidencyBoundary[_]
    input.Body.properties.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.sku.name == enum_ResourceSkuName[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventChannels_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]

valid {
    input.Body.properties.source.source == STRING
    input.Body.properties.destination.azureSubscriptionId == STRING
    input.Body.properties.destination.resourceGroup == STRING
    input.Body.properties.destination.partnerTopicName == STRING
    input.Body.properties.expirationTimeIfNotActivatedUtc == STRING
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.partnerTopicFriendlyDescription == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.ReqMap.eventChannelName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventChannels_Delete

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

EventChannels_Get

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

EventChannels_ListByPartnerNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventSubscriptions_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionPropertiesEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.filter.subjectBeginsWith == STRING
    input.Body.properties.filter.subjectEndsWith == STRING
    input.Body.properties.filter.includedEventTypes[_] == STRING
    input.Body.properties.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.Body.properties.eventDeliverySchema == enum_EventSubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.properties.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.properties.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.scope == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

EventSubscriptions_Delete

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

EventSubscriptions_Get

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

EventSubscriptions_GetDeliveryAttributes

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

EventSubscriptions_GetFullUrl

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

EventSubscriptions_ListByDomainTopic

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.domainName == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventSubscriptions_ListByResource

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceTypeName == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventSubscriptions_ListGlobalByResourceGroup

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

EventSubscriptions_ListGlobalByResourceGroupForTopicType

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.topicTypeName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventSubscriptions_ListGlobalBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

EventSubscriptions_ListGlobalBySubscriptionForTopicType

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.topicTypeName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

EventSubscriptions_ListRegionalByResourceGroup

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventSubscriptions_ListRegionalByResourceGroupForTopicType

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.location == STRING
    input.ReqMap.topicTypeName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

EventSubscriptions_ListRegionalBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

EventSubscriptions_ListRegionalBySubscriptionForTopicType

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.location == STRING
    input.ReqMap.topicTypeName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

EventSubscriptions_Update

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionUpdateParametersEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.filter.subjectBeginsWith == STRING
    input.Body.filter.subjectEndsWith == STRING
    input.Body.filter.includedEventTypes[_] == STRING
    input.Body.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.filter.advancedFilters[_].key == STRING
    input.Body.labels[_] == STRING
    input.Body.expirationTimeUtc == STRING
    input.Body.eventDeliverySchema == enum_EventSubscriptionUpdateParametersEventDeliverySchema[_]
    input.Body.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.scope == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

ExtensionTopics_Get

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

NamespaceTopicEventSubscriptions_CreateOrUpdate

enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_DeliveryConfigurationDeliveryMode := [ "Queue", "Push" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_FilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_SubscriptionPropertiesEventDeliverySchema := [ "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.deliveryConfiguration.deliveryMode == enum_DeliveryConfigurationDeliveryMode[_]
    input.Body.properties.deliveryConfiguration.queue.receiveLockDurationInSeconds == INTEGER
    input.Body.properties.deliveryConfiguration.queue.maxDeliveryCount == INTEGER
    input.Body.properties.deliveryConfiguration.queue.deadLetterDestinationWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryConfiguration.queue.deadLetterDestinationWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryConfiguration.queue.deadLetterDestinationWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deliveryConfiguration.queue.eventTimeToLive == STRING
    input.Body.properties.deliveryConfiguration.push.maxDeliveryCount == INTEGER
    input.Body.properties.deliveryConfiguration.push.eventTimeToLive == STRING
    input.Body.properties.deliveryConfiguration.push.deadLetterDestinationWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryConfiguration.push.deadLetterDestinationWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryConfiguration.push.deadLetterDestinationWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deliveryConfiguration.push.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryConfiguration.push.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryConfiguration.push.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryConfiguration.push.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.eventDeliverySchema == enum_SubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.filtersConfiguration.includedEventTypes[_] == STRING
    input.Body.properties.filtersConfiguration.filters[_].operatorType == enum_FilterOperatorType[_]
    input.Body.properties.filtersConfiguration.filters[_].key == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.topicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NamespaceTopicEventSubscriptions_Delete

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

NamespaceTopicEventSubscriptions_Get

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

NamespaceTopicEventSubscriptions_GetDeliveryAttributes

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

NamespaceTopicEventSubscriptions_GetFullUrl

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

NamespaceTopicEventSubscriptions_ListByNamespaceTopic

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NamespaceTopicEventSubscriptions_Update

enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_DeliveryConfigurationDeliveryMode := [ "Queue", "Push" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_FilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_SubscriptionUpdateParametersPropertiesEventDeliverySchema := [ "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.deliveryConfiguration.deliveryMode == enum_DeliveryConfigurationDeliveryMode[_]
    input.Body.properties.deliveryConfiguration.queue.receiveLockDurationInSeconds == INTEGER
    input.Body.properties.deliveryConfiguration.queue.maxDeliveryCount == INTEGER
    input.Body.properties.deliveryConfiguration.queue.deadLetterDestinationWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryConfiguration.queue.deadLetterDestinationWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryConfiguration.queue.deadLetterDestinationWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deliveryConfiguration.queue.eventTimeToLive == STRING
    input.Body.properties.deliveryConfiguration.push.maxDeliveryCount == INTEGER
    input.Body.properties.deliveryConfiguration.push.eventTimeToLive == STRING
    input.Body.properties.deliveryConfiguration.push.deadLetterDestinationWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryConfiguration.push.deadLetterDestinationWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryConfiguration.push.deadLetterDestinationWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deliveryConfiguration.push.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryConfiguration.push.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryConfiguration.push.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryConfiguration.push.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.eventDeliverySchema == enum_SubscriptionUpdateParametersPropertiesEventDeliverySchema[_]
    input.Body.properties.filtersConfiguration.includedEventTypes[_] == STRING
    input.Body.properties.filtersConfiguration.filters[_].operatorType == enum_FilterOperatorType[_]
    input.Body.properties.filtersConfiguration.filters[_].key == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.topicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NamespaceTopics_CreateOrUpdate

enum_NamespaceTopicPropertiesInputSchema := [ "CloudEventSchemaV1_0" ]
enum_NamespaceTopicPropertiesPublisherType := [ "Custom" ]

valid {
    input.Body.properties.publisherType == enum_NamespaceTopicPropertiesPublisherType[_]
    input.Body.properties.inputSchema == enum_NamespaceTopicPropertiesInputSchema[_]
    input.Body.properties.eventRetentionInDays == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NamespaceTopics_Delete

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

NamespaceTopics_Get

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

NamespaceTopics_ListByNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NamespaceTopics_ListSharedAccessKeys

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

NamespaceTopics_RegenerateKey

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

NamespaceTopics_Update

valid {
    input.Body.properties.eventRetentionInDays == INTEGER
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Namespaces_CreateOrUpdate

enum_ClientAuthenticationSettingsAlternativeAuthenticationNameSources := [ "ClientCertificateSubject", "ClientCertificateDns", "ClientCertificateUri", "ClientCertificateIp", "ClientCertificateEmail" ]
enum_ConnectionStateStatus := [ "Pending", "Approved", "Rejected", "Disconnected" ]
enum_CustomDomainConfigurationValidationState := [ "Pending", "Approved", "ErrorRetrievingDnsRecord" ]
enum_CustomDomainIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_CustomJwtAuthenticationManagedIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_InboundIpRuleAction := [ "Allow" ]
enum_NamespacePropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_NamespacePropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]
enum_NamespaceSkuName := [ "Standard" ]
enum_PrivateEndpointConnectionPropertiesProvisioningState := [ "Creating", "Updating", "Deleting", "Succeeded", "Canceled", "Failed" ]
enum_RoutingIdentityInfoType := [ "None", "SystemAssigned", "UserAssigned" ]
enum_StaticRoutingEnrichmentValueType := [ "String" ]
enum_TopicSpacesConfigurationState := [ "Disabled", "Enabled" ]

valid {
    input.Body.properties.privateEndpointConnections[_].properties.privateEndpoint.id == STRING
    input.Body.properties.privateEndpointConnections[_].properties.groupIds[_] == STRING
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.status == enum_ConnectionStateStatus[_]
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateEndpointConnections[_].properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.privateEndpointConnections[_].properties.provisioningState == enum_PrivateEndpointConnectionPropertiesProvisioningState[_]
    input.Body.properties.topicsConfiguration.customDomains[_].fullyQualifiedDomainName == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].validationState == enum_CustomDomainConfigurationValidationState[_]
    input.Body.properties.topicsConfiguration.customDomains[_].identity.type == enum_CustomDomainIdentityType[_]
    input.Body.properties.topicsConfiguration.customDomains[_].identity.userAssignedIdentity == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].certificateUrl == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].expectedTxtRecordName == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].expectedTxtRecordValue == STRING
    input.Body.properties.topicSpacesConfiguration.state == enum_TopicSpacesConfigurationState[_]
    input.Body.properties.topicSpacesConfiguration.routeTopicResourceId == STRING
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.static[_].key == STRING
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.static[_].valueType == enum_StaticRoutingEnrichmentValueType[_]
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.dynamic[_].key == STRING
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.dynamic[_].value == STRING
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.alternativeAuthenticationNameSources[_] == enum_ClientAuthenticationSettingsAlternativeAuthenticationNameSources[_]
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.tokenIssuer == STRING
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.issuerCertificates[_].certificateUrl == STRING
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.issuerCertificates[_].identity.type == enum_CustomJwtAuthenticationManagedIdentityType[_]
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.issuerCertificates[_].identity.userAssignedIdentity == STRING
    input.Body.properties.topicSpacesConfiguration.maximumSessionExpiryInHours == INTEGER
    input.Body.properties.topicSpacesConfiguration.maximumClientSessionsPerAuthenticationName == INTEGER
    input.Body.properties.topicSpacesConfiguration.routingIdentityInfo.type == enum_RoutingIdentityInfoType[_]
    input.Body.properties.topicSpacesConfiguration.routingIdentityInfo.userAssignedIdentity == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].fullyQualifiedDomainName == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].validationState == enum_CustomDomainConfigurationValidationState[_]
    input.Body.properties.topicSpacesConfiguration.customDomains[_].identity.type == enum_CustomDomainIdentityType[_]
    input.Body.properties.topicSpacesConfiguration.customDomains[_].identity.userAssignedIdentity == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].certificateUrl == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].expectedTxtRecordName == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].expectedTxtRecordValue == STRING
    input.Body.properties.isZoneRedundant == BOOLEAN
    input.Body.properties.publicNetworkAccess == enum_NamespacePropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.minimumTlsVersionAllowed == enum_NamespacePropertiesMinimumTlsVersionAllowed[_]
    input.Body.sku.name == enum_NamespaceSkuName[_]
    input.Body.sku.capacity == INTEGER
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Namespaces_Delete

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

Namespaces_Get

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

Namespaces_ListByResourceGroup

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

Namespaces_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Namespaces_ListSharedAccessKeys

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

Namespaces_RegenerateKey

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

Namespaces_Update

enum_ClientAuthenticationSettingsAlternativeAuthenticationNameSources := [ "ClientCertificateSubject", "ClientCertificateDns", "ClientCertificateUri", "ClientCertificateIp", "ClientCertificateEmail" ]
enum_CustomDomainConfigurationValidationState := [ "Pending", "Approved", "ErrorRetrievingDnsRecord" ]
enum_CustomDomainIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_CustomJwtAuthenticationManagedIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_InboundIpRuleAction := [ "Allow" ]
enum_NamespaceSkuName := [ "Standard" ]
enum_NamespaceUpdateParameterPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]
enum_RoutingIdentityInfoType := [ "None", "SystemAssigned", "UserAssigned" ]
enum_StaticRoutingEnrichmentValueType := [ "String" ]
enum_UpdateTopicSpacesConfigurationInfoState := [ "Disabled", "Enabled" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.sku.name == enum_NamespaceSkuName[_]
    input.Body.sku.capacity == INTEGER
    input.Body.properties.topicSpacesConfiguration.state == enum_UpdateTopicSpacesConfigurationInfoState[_]
    input.Body.properties.topicSpacesConfiguration.routeTopicResourceId == STRING
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.static[_].key == STRING
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.static[_].valueType == enum_StaticRoutingEnrichmentValueType[_]
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.dynamic[_].key == STRING
    input.Body.properties.topicSpacesConfiguration.routingEnrichments.dynamic[_].value == STRING
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.alternativeAuthenticationNameSources[_] == enum_ClientAuthenticationSettingsAlternativeAuthenticationNameSources[_]
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.tokenIssuer == STRING
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.issuerCertificates[_].certificateUrl == STRING
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.issuerCertificates[_].identity.type == enum_CustomJwtAuthenticationManagedIdentityType[_]
    input.Body.properties.topicSpacesConfiguration.clientAuthentication.customJwtAuthentication.issuerCertificates[_].identity.userAssignedIdentity == STRING
    input.Body.properties.topicSpacesConfiguration.maximumSessionExpiryInHours == INTEGER
    input.Body.properties.topicSpacesConfiguration.maximumClientSessionsPerAuthenticationName == INTEGER
    input.Body.properties.topicSpacesConfiguration.routingIdentityInfo.type == enum_RoutingIdentityInfoType[_]
    input.Body.properties.topicSpacesConfiguration.routingIdentityInfo.userAssignedIdentity == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].fullyQualifiedDomainName == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].validationState == enum_CustomDomainConfigurationValidationState[_]
    input.Body.properties.topicSpacesConfiguration.customDomains[_].identity.type == enum_CustomDomainIdentityType[_]
    input.Body.properties.topicSpacesConfiguration.customDomains[_].identity.userAssignedIdentity == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].certificateUrl == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].expectedTxtRecordName == STRING
    input.Body.properties.topicSpacesConfiguration.customDomains[_].expectedTxtRecordValue == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].fullyQualifiedDomainName == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].validationState == enum_CustomDomainConfigurationValidationState[_]
    input.Body.properties.topicsConfiguration.customDomains[_].identity.type == enum_CustomDomainIdentityType[_]
    input.Body.properties.topicsConfiguration.customDomains[_].identity.userAssignedIdentity == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].certificateUrl == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].expectedTxtRecordName == STRING
    input.Body.properties.topicsConfiguration.customDomains[_].expectedTxtRecordValue == STRING
    input.Body.properties.publicNetworkAccess == enum_NamespaceUpdateParameterPropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Namespaces_ValidateCustomDomainOwnership

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

NetworkSecurityPerimeterConfigurations_Get

enum_ResourceTypeParameter := [ "topics", "domains" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceType == enum_ResourceTypeParameter[_]
    input.ReqMap.resourceName == STRING
    input.ReqMap.perimeterGuid == STRING
    input.ReqMap.associationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

NetworkSecurityPerimeterConfigurations_List

enum_ResourceTypeParameter := [ "topics", "domains" ]

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

NetworkSecurityPerimeterConfigurations_Reconcile

enum_ResourceTypeParameter := [ "topics", "domains" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceType == enum_ResourceTypeParameter[_]
    input.ReqMap.resourceName == STRING
    input.ReqMap.perimeterGuid == STRING
    input.ReqMap.associationName == 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
}

PartnerConfigurations_AuthorizePartner

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

PartnerConfigurations_CreateOrUpdate

enum_PartnerConfigurationPropertiesProvisioningState := [ "Creating", "Updating", "Deleting", "Succeeded", "Canceled", "Failed" ]

valid {
    input.Body.properties.partnerAuthorization.defaultMaximumExpirationTimeInDays == INTEGER
    input.Body.properties.partnerAuthorization.authorizedPartnersList[_].partnerRegistrationImmutableId == STRING
    input.Body.properties.partnerAuthorization.authorizedPartnersList[_].partnerName == STRING
    input.Body.properties.partnerAuthorization.authorizedPartnersList[_].authorizationExpirationTimeInUtc == STRING
    input.Body.properties.provisioningState == enum_PartnerConfigurationPropertiesProvisioningState[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerConfigurations_Delete

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
}

PartnerConfigurations_Get

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
}

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

PartnerConfigurations_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PartnerConfigurations_UnauthorizePartner

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

PartnerConfigurations_Update

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

PartnerDestinations_Activate

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

PartnerDestinations_CreateOrUpdate

enum_PartnerDestinationPropertiesActivationState := [ "NeverActivated", "Activated" ]

valid {
    input.Body.properties.partnerRegistrationImmutableId == STRING
    input.Body.properties.endpointServiceContext == STRING
    input.Body.properties.expirationTimeIfNotActivatedUtc == STRING
    input.Body.properties.activationState == enum_PartnerDestinationPropertiesActivationState[_]
    input.Body.properties.endpointBaseUrl == STRING
    input.Body.properties.messageForActivation == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerDestinationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerDestinations_Delete

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

PartnerDestinations_Get

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

PartnerDestinations_ListByResourceGroup

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

PartnerDestinations_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PartnerDestinations_Update

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

PartnerNamespaces_CreateOrUpdate

enum_InboundIpRuleAction := [ "Allow" ]
enum_PartnerNamespacePropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_PartnerNamespacePropertiesPartnerTopicRoutingMode := [ "SourceEventAttribute", "ChannelNameHeader" ]
enum_PartnerNamespacePropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]

valid {
    input.Body.properties.partnerRegistrationFullyQualifiedId == STRING
    input.Body.properties.minimumTlsVersionAllowed == enum_PartnerNamespacePropertiesMinimumTlsVersionAllowed[_]
    input.Body.properties.publicNetworkAccess == enum_PartnerNamespacePropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.partnerTopicRoutingMode == enum_PartnerNamespacePropertiesPartnerTopicRoutingMode[_]
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerNamespaces_Delete

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

PartnerNamespaces_Get

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

PartnerNamespaces_ListByResourceGroup

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

PartnerNamespaces_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PartnerNamespaces_ListSharedAccessKeys

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

PartnerNamespaces_RegenerateKey

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

PartnerNamespaces_Update

enum_InboundIpRuleAction := [ "Allow" ]
enum_PartnerNamespaceUpdateParameterPropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_PartnerNamespaceUpdateParameterPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.properties.publicNetworkAccess == enum_PartnerNamespaceUpdateParameterPropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.minimumTlsVersionAllowed == enum_PartnerNamespaceUpdateParameterPropertiesMinimumTlsVersionAllowed[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerNamespaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerRegistrations_CreateOrUpdate

valid {
    input.Body.properties.partnerRegistrationImmutableId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerRegistrationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerRegistrations_Delete

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

PartnerRegistrations_Get

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

PartnerRegistrations_List

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

PartnerRegistrations_ListByResourceGroup

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

PartnerRegistrations_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PartnerRegistrations_Update

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

PartnerTopicEventSubscriptions_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionPropertiesEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.filter.subjectBeginsWith == STRING
    input.Body.properties.filter.subjectEndsWith == STRING
    input.Body.properties.filter.includedEventTypes[_] == STRING
    input.Body.properties.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.Body.properties.eventDeliverySchema == enum_EventSubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.properties.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.properties.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerTopicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerTopicEventSubscriptions_Delete

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

PartnerTopicEventSubscriptions_Get

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

PartnerTopicEventSubscriptions_GetDeliveryAttributes

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

PartnerTopicEventSubscriptions_GetFullUrl

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

PartnerTopicEventSubscriptions_ListByPartnerTopic

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerTopicName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerTopicEventSubscriptions_Update

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionUpdateParametersEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.filter.subjectBeginsWith == STRING
    input.Body.filter.subjectEndsWith == STRING
    input.Body.filter.includedEventTypes[_] == STRING
    input.Body.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.filter.advancedFilters[_].key == STRING
    input.Body.labels[_] == STRING
    input.Body.expirationTimeUtc == STRING
    input.Body.eventDeliverySchema == enum_EventSubscriptionUpdateParametersEventDeliverySchema[_]
    input.Body.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerTopicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerTopics_Activate

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

PartnerTopics_CreateOrUpdate

enum_EventTypeInfoKind := [ "Inline" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_PartnerTopicPropertiesActivationState := [ "NeverActivated", "Activated", "Deactivated" ]

valid {
    input.Body.properties.partnerRegistrationImmutableId == STRING
    input.Body.properties.source == STRING
    input.Body.properties.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.Body.properties.expirationTimeIfNotActivatedUtc == STRING
    input.Body.properties.activationState == enum_PartnerTopicPropertiesActivationState[_]
    input.Body.properties.partnerTopicFriendlyDescription == STRING
    input.Body.properties.messageForActivation == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerTopicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PartnerTopics_Deactivate

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

PartnerTopics_Delete

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

PartnerTopics_Get

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

PartnerTopics_ListByResourceGroup

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

PartnerTopics_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

PartnerTopics_Update

enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.partnerTopicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PermissionBindings_CreateOrUpdate

enum_PermissionBindingPropertiesPermission := [ "Publisher", "Subscriber" ]

valid {
    input.Body.properties.description == STRING
    input.Body.properties.topicSpaceName == STRING
    input.Body.properties.permission == enum_PermissionBindingPropertiesPermission[_]
    input.Body.properties.clientGroupName == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.permissionBindingName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PermissionBindings_Delete

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

PermissionBindings_Get

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

PermissionBindings_ListByNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_Delete

enum_ParentTypeParameter := [ "topics", "domains", "partnerNamespaces", "namespaces" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.parentType == enum_ParentTypeParameter[_]
    input.ReqMap.parentName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_Get

enum_ParentTypeParameter := [ "topics", "domains", "partnerNamespaces", "namespaces" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.parentType == enum_ParentTypeParameter[_]
    input.ReqMap.parentName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_ListByResource

enum_ParentTypeParameter := [ "topics", "domains", "partnerNamespaces", "namespaces" ]

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.parentType == enum_ParentTypeParameter[_]
    input.ReqMap.parentName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateEndpointConnections_Update

enum_ConnectionStateStatus := [ "Pending", "Approved", "Rejected", "Disconnected" ]
enum_ParentTypeParameter := [ "topics", "domains", "partnerNamespaces", "namespaces" ]
enum_PrivateEndpointConnectionPropertiesProvisioningState := [ "Creating", "Updating", "Deleting", "Succeeded", "Canceled", "Failed" ]

valid {
    input.Body.properties.privateEndpoint.id == STRING
    input.Body.properties.groupIds[_] == STRING
    input.Body.properties.privateLinkServiceConnectionState.status == enum_ConnectionStateStatus[_]
    input.Body.properties.privateLinkServiceConnectionState.description == STRING
    input.Body.properties.privateLinkServiceConnectionState.actionsRequired == STRING
    input.Body.properties.provisioningState == enum_PrivateEndpointConnectionPropertiesProvisioningState[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.parentType == enum_ParentTypeParameter[_]
    input.ReqMap.parentName == STRING
    input.ReqMap.privateEndpointConnectionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

PrivateLinkResources_Get

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

PrivateLinkResources_ListByResource

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.parentType == STRING
    input.ReqMap.parentName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SystemTopicEventSubscriptions_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionPropertiesEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.filter.subjectBeginsWith == STRING
    input.Body.properties.filter.subjectEndsWith == STRING
    input.Body.properties.filter.includedEventTypes[_] == STRING
    input.Body.properties.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.Body.properties.eventDeliverySchema == enum_EventSubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.properties.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.properties.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.systemTopicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SystemTopicEventSubscriptions_Delete

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

SystemTopicEventSubscriptions_Get

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

SystemTopicEventSubscriptions_GetDeliveryAttributes

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

SystemTopicEventSubscriptions_GetFullUrl

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

SystemTopicEventSubscriptions_ListBySystemTopic

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.systemTopicName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SystemTopicEventSubscriptions_Update

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionUpdateParametersEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.filter.subjectBeginsWith == STRING
    input.Body.filter.subjectEndsWith == STRING
    input.Body.filter.includedEventTypes[_] == STRING
    input.Body.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.filter.advancedFilters[_].key == STRING
    input.Body.labels[_] == STRING
    input.Body.expirationTimeUtc == STRING
    input.Body.eventDeliverySchema == enum_EventSubscriptionUpdateParametersEventDeliverySchema[_]
    input.Body.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.systemTopicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SystemTopics_CreateOrUpdate

enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]

valid {
    input.Body.properties.source == STRING
    input.Body.properties.topicType == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.systemTopicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

SystemTopics_Delete

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

SystemTopics_Get

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

SystemTopics_ListByResourceGroup

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

SystemTopics_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

SystemTopics_Update

enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.systemTopicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TopicEventSubscriptions_CreateOrUpdate

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionPropertiesEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.properties.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.properties.filter.subjectBeginsWith == STRING
    input.Body.properties.filter.subjectEndsWith == STRING
    input.Body.properties.filter.includedEventTypes[_] == STRING
    input.Body.properties.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.properties.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.properties.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.properties.filter.advancedFilters[_].key == STRING
    input.Body.properties.labels[_] == STRING
    input.Body.properties.expirationTimeUtc == STRING
    input.Body.properties.eventDeliverySchema == enum_EventSubscriptionPropertiesEventDeliverySchema[_]
    input.Body.properties.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.properties.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.properties.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.properties.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.properties.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.topicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TopicEventSubscriptions_Delete

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

TopicEventSubscriptions_Get

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

TopicEventSubscriptions_GetDeliveryAttributes

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

TopicEventSubscriptions_GetFullUrl

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

TopicEventSubscriptions_List

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TopicEventSubscriptions_Update

enum_AdvancedFilterOperatorType := [ "NumberIn", "NumberNotIn", "NumberLessThan", "NumberGreaterThan", "NumberLessThanOrEquals", "NumberGreaterThanOrEquals", "BoolEquals", "StringIn", "StringNotIn", "StringBeginsWith", "StringEndsWith", "StringContains", "NumberInRange", "NumberNotInRange", "StringNotBeginsWith", "StringNotEndsWith", "StringNotContains", "IsNullOrUndefined", "IsNotNull" ]
enum_DeadLetterDestinationEndpointType := [ "StorageBlob" ]
enum_EventSubscriptionDestinationEndpointType := [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", "ServiceBusQueue", "ServiceBusTopic", "AzureFunction", "PartnerDestination", "MonitorAlert", "NamespaceTopic" ]
enum_EventSubscriptionIdentityType := [ "SystemAssigned", "UserAssigned" ]
enum_EventSubscriptionUpdateParametersEventDeliverySchema := [ "EventGridSchema", "CustomInputSchema", "CloudEventSchemaV1_0" ]

valid {
    input.Body.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.deliveryWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deliveryWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deliveryWithResourceIdentity.destination.endpointType == enum_EventSubscriptionDestinationEndpointType[_]
    input.Body.filter.subjectBeginsWith == STRING
    input.Body.filter.subjectEndsWith == STRING
    input.Body.filter.includedEventTypes[_] == STRING
    input.Body.filter.isSubjectCaseSensitive == BOOLEAN
    input.Body.filter.enableAdvancedFilteringOnArrays == BOOLEAN
    input.Body.filter.advancedFilters[_].operatorType == enum_AdvancedFilterOperatorType[_]
    input.Body.filter.advancedFilters[_].key == STRING
    input.Body.labels[_] == STRING
    input.Body.expirationTimeUtc == STRING
    input.Body.eventDeliverySchema == enum_EventSubscriptionUpdateParametersEventDeliverySchema[_]
    input.Body.retryPolicy.maxDeliveryAttempts == INTEGER
    input.Body.retryPolicy.eventTimeToLiveInMinutes == INTEGER
    input.Body.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.Body.deadLetterWithResourceIdentity.identity.type == enum_EventSubscriptionIdentityType[_]
    input.Body.deadLetterWithResourceIdentity.identity.userAssignedIdentity == STRING
    input.Body.deadLetterWithResourceIdentity.deadLetterDestination.endpointType == enum_DeadLetterDestinationEndpointType[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.topicName == STRING
    input.ReqMap.eventSubscriptionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TopicSpaces_CreateOrUpdate

valid {
    input.Body.properties.description == STRING
    input.Body.properties.topicTemplates[_] == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.ReqMap.topicSpaceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TopicSpaces_Delete

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

TopicSpaces_Get

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

TopicSpaces_ListByNamespace

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.namespaceName == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

TopicTypes_Get

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

TopicTypes_List

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

TopicTypes_ListEventTypes

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

Topics_CreateOrUpdate

enum_EventTypeInfoKind := [ "Inline" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_InboundIpRuleAction := [ "Allow" ]
enum_InputSchemaMappingInputSchemaMappingType := [ "Json" ]
enum_ResourceSkuName := [ "Basic", "Premium" ]
enum_TopicKind := [ "Azure", "AzureArc" ]
enum_TopicPropertiesDataResidencyBoundary := [ "WithinGeopair", "WithinRegion" ]
enum_TopicPropertiesInputSchema := [ "EventGridSchema", "CustomEventSchema", "CloudEventSchemaV1_0" ]
enum_TopicPropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_TopicPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]

valid {
    input.Body.properties.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.Body.properties.minimumTlsVersionAllowed == enum_TopicPropertiesMinimumTlsVersionAllowed[_]
    input.Body.properties.inputSchema == enum_TopicPropertiesInputSchema[_]
    input.Body.properties.inputSchemaMapping.inputSchemaMappingType == enum_InputSchemaMappingInputSchemaMappingType[_]
    input.Body.properties.publicNetworkAccess == enum_TopicPropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.dataResidencyBoundary == enum_TopicPropertiesDataResidencyBoundary[_]
    input.Body.sku.name == enum_ResourceSkuName[_]
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.kind == enum_TopicKind[_]
    input.Body.extendedLocation.name == STRING
    input.Body.extendedLocation.type == STRING
    input.Body.location == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

Topics_Delete

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

Topics_Get

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

Topics_ListByResourceGroup

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

Topics_ListBySubscription

valid {
    input.ReqMap.SubscriptionID == STRING
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Topics_ListEventTypes

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

Topics_ListSharedAccessKeys

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

Topics_RegenerateKey

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

Topics_Update

enum_EventTypeInfoKind := [ "Inline" ]
enum_IdentityInfoType := [ "None", "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned" ]
enum_InboundIpRuleAction := [ "Allow" ]
enum_ResourceSkuName := [ "Basic", "Premium" ]
enum_TopicUpdateParameterPropertiesDataResidencyBoundary := [ "WithinGeopair", "WithinRegion" ]
enum_TopicUpdateParameterPropertiesMinimumTlsVersionAllowed := [ "1.0", "1.1", "1.2" ]
enum_TopicUpdateParameterPropertiesPublicNetworkAccess := [ "Enabled", "Disabled", "SecuredByPerimeter" ]

valid {
    input.Body.tags.STRING == STRING
    input.Body.identity.type == enum_IdentityInfoType[_]
    input.Body.identity.principalId == STRING
    input.Body.identity.tenantId == STRING
    input.Body.identity.userAssignedIdentities.STRING.principalId == STRING
    input.Body.identity.userAssignedIdentities.STRING.clientId == STRING
    input.Body.properties.publicNetworkAccess == enum_TopicUpdateParameterPropertiesPublicNetworkAccess[_]
    input.Body.properties.inboundIpRules[_].ipMask == STRING
    input.Body.properties.inboundIpRules[_].action == enum_InboundIpRuleAction[_]
    input.Body.properties.minimumTlsVersionAllowed == enum_TopicUpdateParameterPropertiesMinimumTlsVersionAllowed[_]
    input.Body.properties.disableLocalAuth == BOOLEAN
    input.Body.properties.dataResidencyBoundary == enum_TopicUpdateParameterPropertiesDataResidencyBoundary[_]
    input.Body.properties.eventTypeInfo.kind == enum_EventTypeInfoKind[_]
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.description == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.displayName == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.documentationUrl == STRING
    input.Body.properties.eventTypeInfo.inlineEventTypes.STRING.dataSchemaUrl == STRING
    input.Body.sku.name == enum_ResourceSkuName[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.topicName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

VerifiedPartners_Get

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

VerifiedPartners_List

valid {
    input.Qs.api-version == STRING
    input.Qs.$filter == STRING
    input.Qs.$top == INTEGER
    input.ProviderMetadata.Region == STRING
}