MICROSOFT.EXTENDEDLOCATION

CustomLocations_CreateOrUpdate

enum_IdentityType := [ "SystemAssigned", "None" ]
enum_customLocationPropertiesHostType := [ "Kubernetes" ]

valid {
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.properties.authentication.type == STRING
    input.Body.properties.authentication.value == STRING
    input.Body.properties.clusterExtensionIds[_] == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.hostResourceId == STRING
    input.Body.properties.hostType == enum_customLocationPropertiesHostType[_]
    input.Body.properties.namespace == STRING
    input.Body.properties.provisioningState == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

CustomLocations_Delete

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

CustomLocations_FindTargetResourceGroup

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

CustomLocations_Get

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

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

CustomLocations_ListBySubscription

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

CustomLocations_ListEnabledResourceTypes

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

CustomLocations_ListOperations

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

CustomLocations_Update

enum_IdentityType := [ "SystemAssigned", "None" ]
enum_customLocationPropertiesHostType := [ "Kubernetes" ]

valid {
    input.Body.identity.type == enum_IdentityType[_]
    input.Body.properties.authentication.type == STRING
    input.Body.properties.authentication.value == STRING
    input.Body.properties.clusterExtensionIds[_] == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.hostResourceId == STRING
    input.Body.properties.hostType == enum_customLocationPropertiesHostType[_]
    input.Body.properties.namespace == STRING
    input.Body.properties.provisioningState == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ResourceSyncRules_CreateOrUpdate

valid {
    input.Body.properties.priority == INTEGER
    input.Body.properties.selector.matchExpressions[_].key == STRING
    input.Body.properties.selector.matchExpressions[_].operator == STRING
    input.Body.properties.selector.matchExpressions[_].values[_] == STRING
    input.Body.properties.selector.matchLabels.STRING == STRING
    input.Body.properties.targetResourceGroup == STRING
    input.Body.tags.STRING == STRING
    input.Body.location == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.childResourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}

ResourceSyncRules_Delete

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

ResourceSyncRules_Get

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

ResourceSyncRules_ListByCustomLocationID

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

ResourceSyncRules_Update

valid {
    input.Body.properties.priority == INTEGER
    input.Body.properties.selector.matchExpressions[_].key == STRING
    input.Body.properties.selector.matchExpressions[_].operator == STRING
    input.Body.properties.selector.matchExpressions[_].values[_] == STRING
    input.Body.properties.selector.matchLabels.STRING == STRING
    input.Body.properties.targetResourceGroup == STRING
    input.Body.tags.STRING == STRING
    input.ReqMap.SubscriptionID == STRING
    input.ReqMap.ResourceGroup == STRING
    input.ReqMap.resourceName == STRING
    input.ReqMap.childResourceName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
    input.ProviderMetadata.SubscriptionID == STRING
    input.ProviderMetadata.ResourceGroup == STRING
}