This topic is part of the System Center 2012 R2 Virtual Machine Role Authoring Guide.

The Microsoft System Center team has validated this content as of Revision #3.  We will continue to review any changes and periodically provide validations on later revisions as they are made.  Please feel free to make any corrections or additions to this content that you think would assist other users.


Table of Contents


Introduction

You specify the VHD with the operating system (OS VHD) for a Virtual Machine Role in the Resource Definition. This property requires the name and version of the VHD in format Name:Version. The version is in the form major.minor.build.release. These values map to the Family Name and Release properties of the VHD in the VMM Library. For example, the initial version of a VHD with Windows Server 2012 Data Center installed might have a reference of WindowsServer2012DatacenterENU:1.0.0.0.

You can explicitly define a specific OS VHD in the Resource Definition. In this case though, you must make sure that the VHD has the tags required by the Resource Extension. If it does not, then the provisioning of the Virtual Machine Role will fail.

Instead of specifying an OS VHD in the Resource Definition though, you should collect its reference using a parameter so that the user can specify the VHD when they provision a new Virtual Machine Role. The Resource Extension specifies the tags that are required, and the View Definition ensures that only those VHDs with the required tags are listed for the user to select.

While any values can be used for tags on a VHD, following best practices for setting these values ensure that they are flexible and consistent with other installations. The basic strategy for setting tags is to use specific simple tags that represent a single function. That function might refer to an operating system, a version, or an architecture. Since multiple tags can be specified in the Resource Extension, and all specified tags must match tags on the VHD, you can create very specific requirements by using multiple tags together in the same Resource Extension.

You should add all relevant tags to each of your VHDs so that they can be properly identified by Resource Extensions with different requirements. This allows the VHD to be used by multiple Resource Extensions that specify different requirements.

A set of common tags is provided in the table below. You should select from these tags when specifying tags for a Resource Extension. If a tag is not specified for the particular operating system or version that you are specifying, then you should still be able to determine the appropriate tag based on the standard format illustrated here.

Category

Tags

General

Windows
Linux

Major Version

WindowsServer2008
WindowsServer2012
CentOSLinux6
SuseLinuxEnterpriseServer11
UbuntuLinux12.04

Architecture

64-bit
32-bit
ARM

Release Related

Preview
R1
R2
SP1
SP2

Windows Editions

Standard
Enterprise
Datacenter
Essentials
WebServer
Professional

SQL Server

MicrosoftSQLServer2012
MicrosoftSQLServer2014

Prerequisties

.NET3.5.1
.NET4.5
WAIK

Examples

The following table provides examples of tags to use in a Resource Extension based on the requirements of the application. In each case, at least one VHD would need to be available that had at least the specified tags.

Resource Requirements

Recommended Tags

Windows Server 2012 Datacenter edition

WindowsServer2012
Datacenter

Windows Server 2012 with SQL Server 2012

WindowsServer2012
MicrosoftSQLServer2012

Windows Server 2012 R2 Preview

WindowsServer2012
R2
Preview

Windows Web Server 2008 R2

WindowsServer2008
R2
WebServer

Windows Server 2012 (RTM or R2)

Windows Server 2012

Windows - any version

Windows

CentOS Linux 6 (64-bit)

CentOSLinux6
64-bit

Suse Linux Enterprise Server 11 (64-bit)

SuseLinuxEnterpriseServer11
64-bit

Ubuntu Linux 12.04 (64-bit)

UbuntuLinux12.04
64-bit

 

See Also

Resource Definition Package
Resource Extension Package
Parameters
Installing a Virtual Machine Role
Sample Virtual Machine Role Packages
Virtual Machine Role Resource JSON Reference