{
 "$schema": "https://schema.management.azure.com/schemas/2019-08-01/subscriptionDeploymentTemplate.json#",
 "contentVersion": "1.0.0.0",
 "parameters": {
  "mspOfferName": {
   "type": "string",
   "metadata": {
    "description": "Specify a unique name for your offer"
   },
   "defaultValue": "Dattics Azure Management"
  },
  "mspOfferDescription": {
   "type": "string",
   "metadata": {
    "description": "Name of the Managed Service Provider offering"
   },
   "defaultValue": "Dattics Azure Management offer for our customers"
  }
 },
 "variables": {
  "mspRegistrationName": "[guid(parameters('mspOfferName'))]",
  "mspAssignmentName": "[guid(parameters('mspOfferName'))]",
  "managedByTenantId": "4d817673-3793-4544-944d-b6793454d82a",
  "authorizations": [
   {
    "principalId": "7b6b0edd-25d8-468c-8ded-0788270ae322",
    "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
    "principalIdDisplayName": "Lighthouse-Azure-Lectores"
   },
   {
    "principalId": "329ae77c-953b-478d-99f7-c075b63bd87b",
    "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
    "principalIdDisplayName": "Lighthouse-Azure-Contribuidores"
   },
   {
    "principalId": "27821fb1-0eb6-4594-8f9f-14d55d87478f",
    "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
    "principalIdDisplayName": "Lighthouse-Azure-SPN"
   }
  ]
 },
 "resources": [
  {
   "type": "Microsoft.ManagedServices/registrationDefinitions",
   "apiVersion": "2020-02-01-preview",
   "name": "[variables('mspRegistrationName')]",
   "properties": {
    "registrationDefinitionName": "[parameters('mspOfferName')]",
    "description": "[parameters('mspOfferDescription')]",
    "managedByTenantId": "[variables('managedByTenantId')]",
    "authorizations": "[variables('authorizations')]"
   }
  },
  {
   "type": "Microsoft.ManagedServices/registrationAssignments",
   "apiVersion": "2020-02-01-preview",
   "name": "[variables('mspAssignmentName')]",
   "dependsOn": [
    "[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]"
   ],
   "properties": {
    "registrationDefinitionId": "[resourceId('Microsoft.ManagedServices/registrationDefinitions/', variables('mspRegistrationName'))]"
   }
  }
 ],
 "outputs": {
  "mspOfferName": {
   "type": "string",
   "value": "[concat('Managed by', ' ', parameters('mspOfferName'))]"
  },
  "authorizations": {
   "type": "array",
   "value": "[variables('authorizations')]"
  }
 }
}