{
  "$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": "Red Hat Hybrid Cloud Console"
    },
    "mspOfferDescription": {
      "type": "string",
      "metadata": {
        "description": "Name of the Managed Service Provider offering"
      },
      "defaultValue": "Allows Red Hat to upload images and deploy Virtual Machines from Hybrid cloud console"
    }
  },
  "variables": {
    "mspRegistrationName": "[guid(parameters('mspOfferName'))]",
    "mspAssignmentName": "[guid(parameters('mspOfferName'))]",
    "managedByTenantId": "64dc69e4-d083-49fc-9569-ebece1dd1408",
    "authorizations": [
      {
        "principalId": "c23cf75a-8108-4613-873f-fb9b2e36aec2",
        "principalIdDisplayName": "Red Hat Hybrid Cloud Console",
        "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7"
      },
      {
        "principalId": "c23cf75a-8108-4613-873f-fb9b2e36aec2",
        "principalIdDisplayName": "Red Hat Hybrid Cloud Console",
        "roleDefinitionId": "9980e02c-c2be-4d73-94e8-173b1dc7cf3c"
      },
      {
        "principalId": "c23cf75a-8108-4613-873f-fb9b2e36aec2",
        "principalIdDisplayName": "Red Hat Hybrid Cloud Console",
        "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
      },
      {
        "principalId": "c23cf75a-8108-4613-873f-fb9b2e36aec2",
        "principalIdDisplayName": "Red Hat Hybrid Cloud Console",
        "roleDefinitionId": "91c1777a-f3dc-4fae-b103-61d183457e46"
      }
    ]
  },
  "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')]"
    }
  }
}