Plan a solution template for an Azure application offer

This article explains the requirements for publishing a solution template plan for an Azure Application offer. A solution template plan is one of the two types of plans supported by Azure Application offers. For information about the difference between these two plan types, see Types of plans. If you haven't already done so, read Plan an Azure application offer.

The solution template plan type requires an Azure Resource Manager template (ARM template) to automatically deploy your solution infrastructure.

Solution template requirements

Requirements Details
Billing and metering Solution template plans aren't transactable, but they can be used to deploy paid VM offers that are billed through the Microsoft commercial marketplace. The resources that the solution's ARM template deploys are set up in the customer's Azure subscription. Pay-as-you-go virtual machines are transacted with the customer via Microsoft and billed via the customer's Azure subscription.

For bring-your-own-license (BYOL) billing, although Microsoft bills infrastructure costs that are incurred in the customer subscription, you transact your software licensing fees with the customer directly. Use the Managed Application plan to transact Azure Applications directly.
Azure-compatible virtual hard disk (VHD) VMs must be built on Windows or Linux. For more information, see:
Customer usage attribution Enabling customer usage attribution is required on all solution templates that are published on Azure Marketplace. For more information about customer usage attribution and how to enable it, see Azure partner customer usage attribution.
Use managed disks Managed disks is the default option for persisted disks of infrastructure as a service (IaaS) VMs in Azure. You must use managed disks in solution templates.
Deployment package You'll need a deployment package that will let customers deploy your plan. If you create multiple plans that require the same technical configuration, you can use the same plan package. For details, see the next section: Deployment package.

Deployment package

The deployment package contains all the template files needed for this plan, as well as any additional resources, packaged as a .zip file.

All Azure applications must include these two files in the root folder of a .zip archive:

Maximum file sizes supported are:

  • Up to 1 Gb in total compressed .zip archive size
  • Up to 1 Gb for any individual uncompressed file within the .zip archive


Make sure your offer is compliant with our recommended practices by using the ARM template test toolkit before publishing your Azure Application.

Azure regions

You can publish your plan to the Azure public region, Azure Government region, or both. Before publishing to Azure Government, test and validate your plan in the environment as certain endpoints might differ. To set up and test your plan, request a trial account from Microsoft Azure Government trial.

You, as the publisher, are responsible for any compliance controls, security measures, and best practices. Azure Government uses physically isolated data centers and networks (located in the U.S. only).

For a list of countries and regions supported by the commercial marketplace, see Geographic availability and currency support.

Azure Government services handle data that is subject to certain government regulations and requirements. For example, FedRAMP, NIST 800.171 (DIB), ITAR, IRS 1075, DoD L4, and CJIS. To bring awareness to your certifications for these programs, you can provide up to 100 links that describe them. These can be either links to your listing on the program directly or links to descriptions of your compliance with them on your own websites. These links visible to Azure Government customers only.

Choose who can see your plan

You can configure each plan to be visible to everyone (public) or to only a specific audience (private). You can create up to 100 plans and up to 45 of them can be private. You might want to create a private plan to offer different pricing options or technical configurations to specific customers.

You grant access to a private plan using Azure subscription IDs with the option to include a description of each subscription ID you assign. You can add a maximum of 10 subscription IDs manually or up to 10,000 subscription IDs using a .CSV file. Azure subscription IDs are represented as GUIDs and letters must be lowercase.


If you publish a private plan, you can change its visibility to public later. However, once you publish a public plan, you can't change its visibility to private.

For solution template plans, you can also choose to hide the plan from Azure Marketplace. You might want to do this if the plan is only deployed indirectly through another solution template or managed application.


Private plans aren't supported with Azure subscriptions established through a reseller of the Cloud Solution Provider program (CSP).

For more information, see Private offers in the Microsoft commercial marketplace.

Next steps