MICROSOFT.BLUEPRINT

Artifacts_CreateOrUpdate

enum_ArtifactKind := [ "template", "roleAssignment", "policyAssignment" ]

valid {
    input.Body.kind == enum_ArtifactKind[_]
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.artifactName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Artifacts_Delete

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.artifactName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Artifacts_Get

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.artifactName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Artifacts_List

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

AssignmentOperations_Get

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.assignmentName == STRING
    input.ReqMap.assignmentOperationName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

AssignmentOperations_List

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

Assignments_CreateOrUpdate

enum_AssignmentLockSettingsMode := [ "None", "AllResourcesReadOnly", "AllResourcesDoNotDelete" ]
enum_ManagedServiceIdentityType := [ "None", "SystemAssigned", "UserAssigned" ]

valid {
    input.Body.identity.type == enum_ManagedServiceIdentityType[_]
    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.blueprintId == STRING
    input.Body.properties.scope == STRING
    input.Body.properties.parameters.STRING.value.STRING == STRING
    input.Body.properties.parameters.STRING.reference.keyVault.id == STRING
    input.Body.properties.parameters.STRING.reference.secretName == STRING
    input.Body.properties.parameters.STRING.reference.secretVersion == STRING
    input.Body.properties.resourceGroups.STRING.name == STRING
    input.Body.properties.resourceGroups.STRING.location == STRING
    input.Body.properties.locks.mode == enum_AssignmentLockSettingsMode[_]
    input.Body.properties.locks.excludedPrincipals[_] == STRING
    input.Body.properties.locks.excludedActions[_] == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.description == STRING
    input.Body.location == STRING
    input.ReqMap.resourceScope == STRING
    input.ReqMap.assignmentName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Assignments_Delete

enum_DeleteBehaviorParameter := [ "none", "all" ]

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.assignmentName == STRING
    input.Qs.api-version == STRING
    input.Qs.deleteBehavior == enum_DeleteBehaviorParameter[_]
    input.ProviderMetadata.Region == STRING
}

Assignments_Get

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

Assignments_List

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

Assignments_WhoIsBlueprint

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

Blueprints_CreateOrUpdate

enum_ParameterDefinitionType := [ "string", "array", "bool", "int", "object", "secureObject", "secureString" ]
enum_SharedBlueprintPropertiesTargetScope := [ "subscription", "managementGroup" ]

valid {
    input.Body.properties.versions.STRING == STRING
    input.Body.properties.targetScope == enum_SharedBlueprintPropertiesTargetScope[_]
    input.Body.properties.parameters.STRING.type == enum_ParameterDefinitionType[_]
    input.Body.properties.parameters.STRING.metadata.displayName == STRING
    input.Body.properties.parameters.STRING.metadata.description == STRING
    input.Body.properties.parameters.STRING.metadata.strongType == STRING
    input.Body.properties.parameters.STRING.defaultValue == {}
    input.Body.properties.parameters.STRING.allowedValues[_] == {}
    input.Body.properties.resourceGroups.STRING.name == STRING
    input.Body.properties.resourceGroups.STRING.location == STRING
    input.Body.properties.resourceGroups.STRING.metadata.displayName == STRING
    input.Body.properties.resourceGroups.STRING.metadata.description == STRING
    input.Body.properties.resourceGroups.STRING.metadata.strongType == STRING
    input.Body.properties.resourceGroups.STRING.dependsOn[_] == STRING
    input.Body.properties.resourceGroups.STRING.tags.STRING == STRING
    input.Body.properties.displayName == STRING
    input.Body.properties.description == STRING
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

Blueprints_Delete

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

Blueprints_Get

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

Blueprints_List

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

Operations_List

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

PublishedArtifacts_Get

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.versionId == STRING
    input.ReqMap.artifactName == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PublishedArtifacts_List

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.versionId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PublishedBlueprints_Create

enum_ParameterDefinitionType := [ "string", "array", "bool", "int", "object", "secureObject", "secureString" ]
enum_SharedBlueprintPropertiesTargetScope := [ "subscription", "managementGroup" ]

valid {
    input.Body.properties.blueprintName == STRING
    input.Body.properties.changeNotes == STRING
    input.Body.properties.targetScope == enum_SharedBlueprintPropertiesTargetScope[_]
    input.Body.properties.parameters.STRING.type == enum_ParameterDefinitionType[_]
    input.Body.properties.parameters.STRING.metadata.displayName == STRING
    input.Body.properties.parameters.STRING.metadata.description == STRING
    input.Body.properties.parameters.STRING.metadata.strongType == STRING
    input.Body.properties.parameters.STRING.defaultValue == {}
    input.Body.properties.parameters.STRING.allowedValues[_] == {}
    input.Body.properties.resourceGroups.STRING.name == STRING
    input.Body.properties.resourceGroups.STRING.location == STRING
    input.Body.properties.resourceGroups.STRING.metadata.displayName == STRING
    input.Body.properties.resourceGroups.STRING.metadata.description == STRING
    input.Body.properties.resourceGroups.STRING.metadata.strongType == STRING
    input.Body.properties.resourceGroups.STRING.dependsOn[_] == STRING
    input.Body.properties.resourceGroups.STRING.tags.STRING == STRING
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.versionId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PublishedBlueprints_Delete

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.versionId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PublishedBlueprints_Get

valid {
    input.ReqMap.resourceScope == STRING
    input.ReqMap.blueprintName == STRING
    input.ReqMap.versionId == STRING
    input.Qs.api-version == STRING
    input.ProviderMetadata.Region == STRING
}

PublishedBlueprints_List

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