MICROSOFT.PROVIDERHUB

CheckinManifest

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

CustomRollouts_CreateOrUpdate

enum_ExtensionOptionsRequest := [ "NotSpecified", "DoNotMergeExistingReadOnlyAndSecretProperties", "IncludeInternalMetadata" ]
enum_ExtensionOptionsResponse := [ "NotSpecified", "DoNotMergeExistingReadOnlyAndSecretProperties", "IncludeInternalMetadata" ]
enum_FeaturesRuleRequiredFeaturesPolicy := [ "Any", "All" ]
enum_IdentityManagementPropertiesType := [ "NotSpecified", "SystemAssigned", "UserAssigned", "Actor", "DelegatedResourceIdentity" ]
enum_LoggingRuleDetailLevel := [ "None", "Body" ]
enum_LoggingRuleDirection := [ "None", "Request", "Response" ]
enum_ProvisioningState := [ "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress" ]
enum_RequestHeaderOptionsOptInHeaders := [ "NotSpecified", "SignedUserToken", "ClientGroupMembership", "SignedAuxiliaryTokens", "UnboundedClientGroupMembership" ]
enum_ResourceConcurrencyControlOptionPolicy := [ "NotSpecified", "SynchronizeBeginExtension" ]
enum_ResourceProviderCapabilitiesEffect := [ "NotSpecified", "Allow", "Disallow" ]
enum_ResourceProviderManagementResourceAccessPolicy := [ "NotSpecified", "AcisReadAllowed", "AcisActionAllowed" ]
enum_ResourceProviderManifestPropertiesProviderType := [ "NotSpecified", "Internal", "External", "Hidden", "RegistrationFree", "LegacyRegistrationRequired", "TenantOnly", "AuthorizationFree" ]
enum_ResourceTypeEndpointEndpointType := [ "NotSpecified", "Canary", "Production", "TestInProduction" ]
enum_ResourceTypeExtensionExtensionCategories := [ "NotSpecified", "ResourceCreationValidate", "ResourceCreationBegin", "ResourceCreationCompleted", "ResourceReadValidate", "ResourceReadBegin", "ResourcePatchValidate", "ResourcePatchCompleted", "ResourceDeletionValidate", "ResourceDeletionBegin", "ResourceDeletionCompleted", "ResourcePostAction", "SubscriptionLifecycleNotification", "ResourcePatchBegin", "ResourceMoveBegin", "ResourceMoveCompleted" ]
enum_ResourceTypeRegistrationPropertiesMarketplaceType := [ "NotSpecified", "AddOn", "Bypass", "Store" ]
enum_ResourceTypeRegistrationPropertiesRegionality := [ "NotSpecified", "Global", "Regional" ]
enum_ResourceTypeRegistrationPropertiesResourceDeletionPolicy := [ "NotSpecified", "CascadeDeleteAll", "CascadeDeleteProxyOnlyChildren" ]
enum_ResourceTypeRegistrationPropertiesRoutingType := [ "Default", "ProxyOnly", "HostBased", "Extension", "Tenant", "Fanout", "LocationBased", "Failover", "CascadeExtension" ]
enum_ServiceTreeInfoReadiness := [ "ClosingDown", "Deprecated", "GA", "InDevelopment", "InternalOnly", "PrivatePreview", "PublicPreview", "RemovedFromARM", "Retired" ]
enum_SubscriptionStateOverrideActionAction := [ "NotDefined", "DeleteAllResources", "SoftDeleteAllResources", "NoOp", "BillingCancellation", "UndoSoftDelete" ]
enum_SubscriptionStateOverrideActionState := [ "Registered", "Unregistered", "Warned", "Suspended", "Deleted", "WarnedToRegistered", "WarnedToSuspended", "WarnedToDeleted", "WarnedToUnregistered", "SuspendedToRegistered", "SuspendedToWarned", "SuspendedToDeleted", "SuspendedToUnregistered" ]
enum_SubscriptionStateRuleState := [ "NotDefined", "Enabled", "Warned", "PastDue", "Disabled", "Deleted" ]
enum_TemplateDeploymentOptionsPreflightOptions := [ "None", "ContinueDeploymentOnFailure", "DefaultValidationOnly" ]
enum_ThrottlingMetricType := [ "NotSpecified", "NumberOfRequests", "NumberOfResources" ]

valid {
    input.Body.properties.provisioningState == enum_ProvisioningState[_]
    input.Body.properties.specification.canary.regions[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.providerAuthorizations[_].applicationId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.providerAuthorizations[_].roleDefinitionId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.providerAuthorizations[_].managedByRoleDefinitionId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.providerAuthentication.allowedAudiences[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[_].principalId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.thirdPartyProviderAuthorization.authorizations[_].roleDefinitionId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerHubMetadata.thirdPartyProviderAuthorization.managedByTenantId == STRING
    input.Body.properties.specification.providerRegistration.properties.provisioningState == enum_ProvisioningState[_]
    input.Body.properties.specification.providerRegistration.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[_].state == enum_SubscriptionStateOverrideActionState[_]
    input.Body.properties.specification.providerRegistration.properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[_].action == enum_SubscriptionStateOverrideActionAction[_]
    input.Body.properties.specification.providerRegistration.properties.subscriptionLifecycleNotificationSpecifications.softDeleteTTL == STRING
    input.Body.properties.specification.providerRegistration.properties.providerAuthentication.allowedAudiences[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.providerAuthorizations[_].applicationId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerAuthorizations[_].roleDefinitionId == STRING
    input.Body.properties.specification.providerRegistration.properties.providerAuthorizations[_].managedByRoleDefinitionId == STRING
    input.Body.properties.specification.providerRegistration.properties.namespace == STRING
    input.Body.properties.specification.providerRegistration.properties.providerVersion == STRING
    input.Body.properties.specification.providerRegistration.properties.providerType == enum_ResourceProviderManifestPropertiesProviderType[_]
    input.Body.properties.specification.providerRegistration.properties.requiredFeatures[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.featuresRule.requiredFeaturesPolicy == enum_FeaturesRuleRequiredFeaturesPolicy[_]
    input.Body.properties.specification.providerRegistration.properties.requestHeaderOptions.optInHeaders == enum_RequestHeaderOptionsOptInHeaders[_]
    input.Body.properties.specification.providerRegistration.properties.management.schemaOwners[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.management.manifestOwners[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.management.incidentRoutingService == STRING
    input.Body.properties.specification.providerRegistration.properties.management.incidentRoutingTeam == STRING
    input.Body.properties.specification.providerRegistration.properties.management.incidentContactEmail == STRING
    input.Body.properties.specification.providerRegistration.properties.management.serviceTreeInfos[_].serviceId == STRING
    input.Body.properties.specification.providerRegistration.properties.management.serviceTreeInfos[_].componentId == STRING
    input.Body.properties.specification.providerRegistration.properties.management.serviceTreeInfos[_].readiness == enum_ServiceTreeInfoReadiness[_]
    input.Body.properties.specification.providerRegistration.properties.management.resourceAccessPolicy == enum_ResourceProviderManagementResourceAccessPolicy[_]
    input.Body.properties.specification.providerRegistration.properties.management.resourceAccessRoles[_] == {}
    input.Body.properties.specification.providerRegistration.properties.capabilities[_].quotaId == STRING
    input.Body.properties.specification.providerRegistration.properties.capabilities[_].effect == enum_ResourceProviderCapabilitiesEffect[_]
    input.Body.properties.specification.providerRegistration.properties.capabilities[_].requiredFeatures[_] == STRING
    input.Body.properties.specification.providerRegistration.properties.metadata == {}
    input.Body.properties.specification.providerRegistration.properties.templateDeploymentOptions.preflightSupported == BOOLEAN
    input.Body.properties.specification.providerRegistration.properties.templateDeploymentOptions.preflightOptions[_] == enum_TemplateDeploymentOptionsPreflightOptions[_]
    input.Body.properties.specification.providerRegistration.STRING == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.routingType == enum_ResourceTypeRegistrationPropertiesRoutingType[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.regionality == enum_ResourceTypeRegistrationPropertiesRegionality[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].enabled == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].apiVersions[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].locations[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].requiredFeatures[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].featuresRule.requiredFeaturesPolicy == enum_FeaturesRuleRequiredFeaturesPolicy[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].extensions[_].endpointUri == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].extensions[_].extensionCategories[_] == enum_ResourceTypeExtensionExtensionCategories[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].extensions[_].timeout == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].timeout == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.endpoints[_].endpointType == enum_ResourceTypeEndpointEndpointType[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.extensionOptions.resourceCreationBegin.request[_] == enum_ExtensionOptionsRequest[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.extensionOptions.resourceCreationBegin.response[_] == enum_ExtensionOptionsResponse[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.marketplaceType == enum_ResourceTypeRegistrationPropertiesMarketplaceType[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.swaggerSpecifications[_].apiVersions[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.swaggerSpecifications[_].swaggerSpecFolderUri == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.allowedUnauthorizedActions[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.authorizationActionMappings[_].original == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.authorizationActionMappings[_].desired == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.linkedAccessChecks[_].actionName == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.linkedAccessChecks[_].linkedProperty == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.linkedAccessChecks[_].linkedAction == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.linkedAccessChecks[_].linkedActionVerb == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.linkedAccessChecks[_].linkedType == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.defaultApiVersion == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.loggingRules[_].action == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.loggingRules[_].direction == enum_LoggingRuleDirection[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.loggingRules[_].detailLevel == enum_LoggingRuleDetailLevel[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.loggingRules[_].hiddenPropertyPaths.hiddenPathsOnRequest[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.loggingRules[_].hiddenPropertyPaths.hiddenPathsOnResponse[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.throttlingRules[_].action == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.throttlingRules[_].metrics[_].type == enum_ThrottlingMetricType[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.throttlingRules[_].metrics[_].limit == INTEGER
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.throttlingRules[_].metrics[_].interval == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.throttlingRules[_].requiredFeatures[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.requiredFeatures[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.featuresRule.requiredFeaturesPolicy == enum_FeaturesRuleRequiredFeaturesPolicy[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.enableAsyncOperation == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.provisioningState == enum_ProvisioningState[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.enableThirdPartyS2S == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[_].state == enum_SubscriptionStateOverrideActionState[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.subscriptionLifecycleNotificationSpecifications.subscriptionStateOverrideActions[_].action == enum_SubscriptionStateOverrideActionAction[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.subscriptionLifecycleNotificationSpecifications.softDeleteTTL == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.isPureProxy == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.identityManagement.type == enum_IdentityManagementPropertiesType[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.identityManagement.applicationId == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.checkNameAvailabilitySpecifications.enableDefaultValidation == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.checkNameAvailabilitySpecifications.resourceTypesWithCustomValidation[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.disallowedActionVerbs[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.serviceTreeInfos[_].serviceId == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.serviceTreeInfos[_].componentId == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.serviceTreeInfos[_].readiness == enum_ServiceTreeInfoReadiness[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.requestHeaderOptions.optInHeaders == enum_RequestHeaderOptionsOptInHeaders[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.subscriptionStateRules[_].state == enum_SubscriptionStateRuleState[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.subscriptionStateRules[_].allowedActions[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.templateDeploymentOptions.preflightSupported == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.templateDeploymentOptions.preflightOptions[_] == enum_TemplateDeploymentOptionsPreflightOptions[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.extendedLocations[_].type == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.extendedLocations[_].supportedPolicy == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceMovePolicy.validationRequired == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceMovePolicy.crossResourceGroupMoveEnabled == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceMovePolicy.crossSubscriptionMoveEnabled == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceDeletionPolicy == enum_ResourceTypeRegistrationPropertiesResourceDeletionPolicy[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceConcurrencyControlOptions.STRING.policy == enum_ResourceConcurrencyControlOptionPolicy[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceGraphConfiguration.enabled == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.resourceGraphConfiguration.apiVersion == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.schemaOwners[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.manifestOwners[_] == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.incidentRoutingService == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.incidentRoutingTeam == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.incidentContactEmail == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.serviceTreeInfos[_].serviceId == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.serviceTreeInfos[_].componentId == STRING
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.serviceTreeInfos[_].readiness == enum_ServiceTreeInfoReadiness[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.resourceAccessPolicy == enum_ResourceProviderManagementResourceAccessPolicy[_]
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.management.resourceAccessRoles[_] == {}
    input.Body.properties.specification.resourceTypeRegistrations[_].properties.openApiConfiguration.validation.allowNoncompliantCollectionResponse == BOOLEAN
    input.Body.properties.specification.resourceTypeRegistrations[_].STRING == STRING
    input.Body.properties.status.completedRegions[_] == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.code == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.target == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.message == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.details[_] == NESTED
    input.Body.properties.status.failedOrSkippedRegions.STRING.additionalInfo[_].type == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.rolloutName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

CustomRollouts_Get

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

CustomRollouts_ListByProviderRegistration

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

DefaultRollouts_CreateOrUpdate

enum_DefaultRolloutStatusNextTrafficRegion := [ "NotSpecified", "Canary", "LowTraffic", "MediumTraffic", "HighTraffic", "None", "RestOfTheWorldGroupOne", "RestOfTheWorldGroupTwo" ]
enum_DefaultRolloutStatusSubscriptionReregistrationResult := [ "NotApplicable", "ConditionalUpdate", "ForcedUpdate", "Failed" ]
enum_ProvisioningState := [ "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress" ]

valid {
    input.Body.properties.provisioningState == enum_ProvisioningState[_]
    input.Body.properties.specification.expeditedRollout.enabled == BOOLEAN
    input.Body.properties.specification.canary.skipRegions[_] == STRING
    input.Body.properties.specification.canary.regions[_] == STRING
    input.Body.properties.specification.lowTraffic.waitDuration == STRING
    input.Body.properties.specification.lowTraffic.regions[_] == STRING
    input.Body.properties.specification.mediumTraffic.waitDuration == STRING
    input.Body.properties.specification.highTraffic.waitDuration == STRING
    input.Body.properties.specification.restOfTheWorldGroupOne.waitDuration == STRING
    input.Body.properties.specification.restOfTheWorldGroupTwo.waitDuration == STRING
    input.Body.properties.specification.providerRegistration.properties == {}
    input.Body.properties.specification.resourceTypeRegistrations[_].properties == {}
    input.Body.properties.status.nextTrafficRegion == enum_DefaultRolloutStatusNextTrafficRegion[_]
    input.Body.properties.status.nextTrafficRegionScheduledTime == STRING
    input.Body.properties.status.subscriptionReregistrationResult == enum_DefaultRolloutStatusSubscriptionReregistrationResult[_]
    input.Body.properties.status.completedRegions[_] == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.code == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.target == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.message == STRING
    input.Body.properties.status.failedOrSkippedRegions.STRING.details[_] == NESTED
    input.Body.properties.status.failedOrSkippedRegions.STRING.additionalInfo[_].type == STRING
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.rolloutName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

DefaultRollouts_Delete

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

DefaultRollouts_Get

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

DefaultRollouts_ListByProviderRegistration

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

DefaultRollouts_Stop

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

GenerateManifest

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

NotificationRegistrations_CreateOrUpdate

enum_NotificationRegistrationPropertiesMessageScope := [ "NotSpecified", "RegisteredSubscriptions" ]
enum_NotificationRegistrationPropertiesNotificationMode := [ "NotSpecified", "EventHub", "WebHook" ]
enum_ProvisioningState := [ "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress" ]

valid {
    input.Body.properties.notificationMode == enum_NotificationRegistrationPropertiesNotificationMode[_]
    input.Body.properties.messageScope == enum_NotificationRegistrationPropertiesMessageScope[_]
    input.Body.properties.includedEvents[_] == STRING
    input.Body.properties.notificationEndpoints[_].notificationDestination == STRING
    input.Body.properties.notificationEndpoints[_].locations[_] == STRING
    input.Body.properties.provisioningState == enum_ProvisioningState[_]
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.notificationRegistrationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

NotificationRegistrations_Delete

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

NotificationRegistrations_Get

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

NotificationRegistrations_ListByProviderRegistration

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

Operations_CreateOrUpdate

enum_LocalizedOperationDefinitionActionType := [ "NotSpecified", "Internal" ]
enum_LocalizedOperationDefinitionOrigin := [ "NotSpecified", "User", "System" ]

valid {
    input.Body.properties.STRING == STRING
    input.Body.properties.contents[_].name == STRING
    input.Body.properties.contents[_].isDataAction == BOOLEAN
    input.Body.properties.contents[_].origin == enum_LocalizedOperationDefinitionOrigin[_]
    input.Body.properties.contents[_].display.default.provider == STRING
    input.Body.properties.contents[_].display.default.resource == STRING
    input.Body.properties.contents[_].display.default.operation == STRING
    input.Body.properties.contents[_].display.default.description == STRING
    input.Body.properties.contents[_].display.en.provider == STRING
    input.Body.properties.contents[_].display.en.resource == STRING
    input.Body.properties.contents[_].display.en.operation == STRING
    input.Body.properties.contents[_].display.en.description == STRING
    input.Body.properties.contents[_].display.cs.provider == STRING
    input.Body.properties.contents[_].display.cs.resource == STRING
    input.Body.properties.contents[_].display.cs.operation == STRING
    input.Body.properties.contents[_].display.cs.description == STRING
    input.Body.properties.contents[_].display.de.provider == STRING
    input.Body.properties.contents[_].display.de.resource == STRING
    input.Body.properties.contents[_].display.de.operation == STRING
    input.Body.properties.contents[_].display.de.description == STRING
    input.Body.properties.contents[_].display.es.provider == STRING
    input.Body.properties.contents[_].display.es.resource == STRING
    input.Body.properties.contents[_].display.es.operation == STRING
    input.Body.properties.contents[_].display.es.description == STRING
    input.Body.properties.contents[_].display.fr.provider == STRING
    input.Body.properties.contents[_].display.fr.resource == STRING
    input.Body.properties.contents[_].display.fr.operation == STRING
    input.Body.properties.contents[_].display.fr.description == STRING
    input.Body.properties.contents[_].display.hu.provider == STRING
    input.Body.properties.contents[_].display.hu.resource == STRING
    input.Body.properties.contents[_].display.hu.operation == STRING
    input.Body.properties.contents[_].display.hu.description == STRING
    input.Body.properties.contents[_].display.it.provider == STRING
    input.Body.properties.contents[_].display.it.resource == STRING
    input.Body.properties.contents[_].display.it.operation == STRING
    input.Body.properties.contents[_].display.it.description == STRING
    input.Body.properties.contents[_].display.ja.provider == STRING
    input.Body.properties.contents[_].display.ja.resource == STRING
    input.Body.properties.contents[_].display.ja.operation == STRING
    input.Body.properties.contents[_].display.ja.description == STRING
    input.Body.properties.contents[_].display.ko.provider == STRING
    input.Body.properties.contents[_].display.ko.resource == STRING
    input.Body.properties.contents[_].display.ko.operation == STRING
    input.Body.properties.contents[_].display.ko.description == STRING
    input.Body.properties.contents[_].display.nl.provider == STRING
    input.Body.properties.contents[_].display.nl.resource == STRING
    input.Body.properties.contents[_].display.nl.operation == STRING
    input.Body.properties.contents[_].display.nl.description == STRING
    input.Body.properties.contents[_].display.pl.provider == STRING
    input.Body.properties.contents[_].display.pl.resource == STRING
    input.Body.properties.contents[_].display.pl.operation == STRING
    input.Body.properties.contents[_].display.pl.description == STRING
    input.Body.properties.contents[_].display.ptBR.provider == STRING
    input.Body.properties.contents[_].display.ptBR.resource == STRING
    input.Body.properties.contents[_].display.ptBR.operation == STRING
    input.Body.properties.contents[_].display.ptBR.description == STRING
    input.Body.properties.contents[_].display.ptPT.provider == STRING
    input.Body.properties.contents[_].display.ptPT.resource == STRING
    input.Body.properties.contents[_].display.ptPT.operation == STRING
    input.Body.properties.contents[_].display.ptPT.description == STRING
    input.Body.properties.contents[_].display.ru.provider == STRING
    input.Body.properties.contents[_].display.ru.resource == STRING
    input.Body.properties.contents[_].display.ru.operation == STRING
    input.Body.properties.contents[_].display.ru.description == STRING
    input.Body.properties.contents[_].display.sv.provider == STRING
    input.Body.properties.contents[_].display.sv.resource == STRING
    input.Body.properties.contents[_].display.sv.operation == STRING
    input.Body.properties.contents[_].display.sv.description == STRING
    input.Body.properties.contents[_].display.zhHans.provider == STRING
    input.Body.properties.contents[_].display.zhHans.resource == STRING
    input.Body.properties.contents[_].display.zhHans.operation == STRING
    input.Body.properties.contents[_].display.zhHans.description == STRING
    input.Body.properties.contents[_].display.zhHant.provider == STRING
    input.Body.properties.contents[_].display.zhHant.resource == STRING
    input.Body.properties.contents[_].display.zhHant.operation == STRING
    input.Body.properties.contents[_].display.zhHant.description == STRING
    input.Body.properties.contents[_].actionType == enum_LocalizedOperationDefinitionActionType[_]
    input.Body.properties.contents[_].properties == {}
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Operations_Delete

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

Operations_List

valid {
    input.ProviderMetadata.Region == STRING
}

Operations_ListByProviderRegistration

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

ProviderRegistrations_CreateOrUpdate

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

ProviderRegistrations_Delete

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

ProviderRegistrations_GenerateOperations

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

ProviderRegistrations_Get

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

ProviderRegistrations_List

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

ResourceActions_DeleteResources

valid {
    input.Body.resources[_].resourceId == STRING
    input.Body.resources[_].homeTenantId == STRING
    input.Body.resources[_].location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceActionName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

ResourceTypeRegistrations_CreateOrUpdate

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

ResourceTypeRegistrations_Delete

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

ResourceTypeRegistrations_Get

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

ResourceTypeRegistrations_ListByProviderRegistration

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

Skus_CreateOrUpdate

enum_ProvisioningState := [ "NotSpecified", "Accepted", "Running", "Creating", "Created", "Deleting", "Deleted", "Canceled", "Failed", "Succeeded", "MovingResources", "TransientFailure", "RolloutInProgress" ]
enum_SkuCapacityScaleType := [ "None", "Manual", "Automatic" ]
enum_SkuLocationInfoType := [ "NotSpecified", "EdgeZone", "ArcZone" ]

valid {
    input.Body.properties.skuSettings[_].name == STRING
    input.Body.properties.skuSettings[_].tier == STRING
    input.Body.properties.skuSettings[_].size == STRING
    input.Body.properties.skuSettings[_].family == STRING
    input.Body.properties.skuSettings[_].kind == STRING
    input.Body.properties.skuSettings[_].locations[_] == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].location == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].zones[_] == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].zoneDetails[_].name[_] == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].zoneDetails[_].capabilities[_].name == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].zoneDetails[_].capabilities[_].value == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].extendedLocations[_] == STRING
    input.Body.properties.skuSettings[_].locationInfo[_].type == enum_SkuLocationInfoType[_]
    input.Body.properties.skuSettings[_].requiredQuotaIds[_] == STRING
    input.Body.properties.skuSettings[_].requiredFeatures[_] == STRING
    input.Body.properties.skuSettings[_].capacity.minimum == INTEGER
    input.Body.properties.skuSettings[_].capacity.maximum == INTEGER
    input.Body.properties.skuSettings[_].capacity.default == INTEGER
    input.Body.properties.skuSettings[_].capacity.scaleType == enum_SkuCapacityScaleType[_]
    input.Body.properties.skuSettings[_].costs[_].meterId == STRING
    input.Body.properties.skuSettings[_].costs[_].quantity == INTEGER
    input.Body.properties.skuSettings[_].costs[_].extendedUnit == STRING
    input.Body.properties.skuSettings[_].capabilities[_].name == STRING
    input.Body.properties.skuSettings[_].capabilities[_].value == STRING
    input.Body.properties.provisioningState == enum_ProvisioningState[_]
    input.Body.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_CreateOrUpdateNestedResourceTypeFirst

valid {
    input.Body.properties == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_CreateOrUpdateNestedResourceTypeSecond

valid {
    input.Body.properties == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_CreateOrUpdateNestedResourceTypeThird

valid {
    input.Body.properties == {}
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.nestedResourceTypeThird == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_Delete

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

Skus_DeleteNestedResourceTypeFirst

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_DeleteNestedResourceTypeSecond

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_DeleteNestedResourceTypeThird

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.nestedResourceTypeThird == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_Get

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

Skus_GetNestedResourceTypeFirst

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_GetNestedResourceTypeSecond

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_GetNestedResourceTypeThird

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.nestedResourceTypeThird == STRING
    input.ReqMap.sku == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_ListByResourceTypeRegistrations

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

Skus_ListByResourceTypeRegistrationsNestedResourceTypeFirst

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

Skus_ListByResourceTypeRegistrationsNestedResourceTypeSecond

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}

Skus_ListByResourceTypeRegistrationsNestedResourceTypeThird

valid {
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.providerNamespace == STRING
    input.ReqMap.resourceType == STRING
    input.ReqMap.nestedResourceTypeFirst == STRING
    input.ReqMap.nestedResourceTypeSecond == STRING
    input.ReqMap.nestedResourceTypeThird == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
}