Share via


Update (PUT) a VMTemplate [SPFSDK][VMMREF]

 

Applies To: Windows Azure Pack

Updates a VMTemplate [SPFSDK][VMMREF] entity by using the HTTP PUT operation.

Important

This operation is only available through the admin Service Management API endpoint.

Here is a list of examples related to this collection operation.

  • Example: Grant a VM template to tenant

Request

For more information about the placeholders used in the URI, see URL placeholders.

Method

Request URI

HTTP Version

PUT

https://{server-name}:{auth-port}/{subscription-id}/services/systemcenter/vmm/VMTemplates(ID=Guid'[value]',StampId=Guid'[value]')

HTTP/1.1

Request URI Parameters

URI Parameter

Description

ID

Required. [Edm.Guid] The identifier of the entity.

StampId

Required. [Edm.Guid] The identifier of the stamp that restricts the query.

Request Headers

This operation does not use any non-standard request headers.

For more information about the common request headers used by this operation, see Common HTTP request information

Request Body

The request body should contain a single (depending on the request headers) XML or JSON encoded VMTemplate [SPFSDK][VMMREF] entity that is to be updated. Here is the request body of a single entity.

{
  "odata.type": "VMM.VMTemplate",
  "AccessedTime": null,
  "Accessibility": "Public",
  "AddedTime": "2014-09-04T11:49:53.59-07:00",
  "Admin": null,
  "AdminPasswordHasValue": false,
  "ApplicationProfileId": null,
  "AutoLogonCount": null,
  "BootOrder@odata.type": "Collection(Edm.String)",
  "BootOrder": [
    "CD",
    "IdeHardDrive",
    "PxeBoot",
    "Floppy"
  ],
  "CapabilityProfile": null,
  "CloudID": null,
  "ComputerName": "*",
  "CostCenter": null,
  "CPUCount": 1,
  "CPUMax": 100,
  "CPUReserve": 0,
  "CPUType": "3.60 GHz Xeon (2 MB L2 cache)",
  "CreationTime": "2014-09-04T11:49:53.59-07:00",
  "CustomProperties@odata.type": "Collection(Edm.String)",
  "CustomProperties": [
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    ""
  ],
  "Description": null,
  "DiskIO": 0,
  "DomainAdmin": null,
  "DomainAdminPasswordHasValue": false,
  "DomainAdminPasswordIsServiceSetting": false,
  "DomainJoinOrganizationalUnit": null,
  "DynamicMemoryBufferPercentage": null,
  "DynamicMemoryEnabled": false,
  "DynamicMemoryMaximumMB": null,
  "DynamicMemoryPreferredBufferPercentage": null,
  "Enabled": true,
  "ExpectedCPUUtilization": 20,
  "FullName": "",
  "Generation": 1,
  "GrantedToList@odata.type": "Collection(VMM.UserAndRole)",
  "GrantedToList": [
    {
      "RoleID": "ae122d5f-3aab-4d75-ad48-d6593246a49e",
      "RoleName": null,
      "UserName": null
    }
  ],
  "GuiRunOnceCommands@odata.type": "Collection(Edm.String)",
  "GuiRunOnceCommands": [],
  "HasVMAdditions": false,
  "ID": "ba810457-dc73-46eb-bad3-542210ba86a6",
  "IsCustomizable": true,
  "IsHighlyAvailable": false,
  "IsTagEmpty": true,
  "IsTemporaryTemplate": false,
  "JoinDomain": null,
  "JoinWorkgroup": "WORKGROUP",
  "LibraryGroup": "",
  "LimitCPUForMigration": false,
  "LimitCPUFunctionality": false,
  "Location": "",
  "Memory": 512,
  "MemoryWeight": 5000,
  "MergeAnswerFile": false,
  "ModifiedTime": "2014-09-04T11:49:57.01-07:00",
  "Name": "Windows 8 Client",
  "NetworkUtilization": 0,
  "NicCount": 1,
  "NumLockEnabled": false,
  "OperatingSystem": "Windows 8",
  "OperatingSystemInstance": {
    "odata.type": "VMM.OperatingSystem",
    "Architecture": "x86",
    "Description": "Windows 8",
    "Edition": null,
    "Name": "Windows 8",
    "OSType": "Windows",
    "ProductType": "VER_NT_WORKSTATION",
    "Version": "6.2"
  },
  "OrgName": "",
  "OSType": "Windows",
  "Owner": {
    "odata.type": "VMM.UserAndRole",
    "RoleID": "75700cd5-893e-4f68-ada7-50ef4668acc6",
    "RoleName": "Administrator",
    "UserName": "CDMLAB\\cdmlabuser"
  },
  "ProductKeyHasValue": false,
  "QuotaPoint": 1,
  "RelativeWeight": 100,
  "SANCopyCapable": false,
  "SANStatus@odata.type": "Collection(Edm.String)",
  "SANStatus": [],
  "ServerFeatures@odata.type": "Collection(Edm.String)",
  "ServerFeatures": [],
  "SharePath": null,
  "ShareSCSIBus": false,
  "SQLProfileId": null,
  "StampId": "d70c1a9b-c241-48f5-880a-b6c36071e653",
  "Status": "Normal",
  "Tag": "(none)",
  "TimeZone": 4,
  "TotalVHDCapacity": "42949672960",
  "UndoDisksEnabled": false,
  "UseHardwareAssistedVirtualization": false,
  "VirtualFloppyDriveId": null,
  "VirtualHardDiskId": null,
  "VirtualizationPlatform": "Unknown",
  "VMAddition": "Not Detected",
  "VMId": null,
  "VMTemplateId": null
}

Response

Response Codes

This operation does not return any non-standard OData response codes. If successful, it will return code 204 No Content.

Response Headers

This operation does not use any non-standard response headers.

For more information about the common response headers used by this operation, see Common HTTP response information.

Response Body

None

Example: Grant a VM template to tenant

This example assigns a VM template to a tenant. Tenants may only use VM templates that have been assigned to them.

For more information about how to get started with using the code examples provided in this programming guide, see Programming in Visual Studio with Service Provider Foundation Services.

// Requires a connection to the tenant service as the hoster.
Guid stampID = new Guid("d70c1a9b-c241-48f5-880a-b6c36071e653");
Guid tenantUserRoleID = new Guid("ae122d5f-3aab-4d75-ad48-d6593246a49e");
Guid templateID = new Guid("ba810457-dc73-46eb-bad3-542210ba86a6");

var template = vmmService.VMTemplates.Where(st => st.StampId == stampID && st.ID == templateID).FirstOrDefault();

if (template != null)
{
    template.GrantedToList.Add(new SpfVMM.UserAndRole()
    {
        RoleID = tenantUserRoleID
    });

    vmmService.UpdateObject(template);
}

vmmService.SaveChanges();

HTTP Request

MERGE https://contoso.com:30004/services/systemcenter/SC2012R2/VMM/Microsoft.Management.Odata.svc/VMTemplates(ID=guid'ba810457-dc73-46eb-bad3-542210ba86a6',StampId=guid'd70c1a9b-c241-48f5-880a-b6c36071e653') HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Content-Type: application/json;odata=minimalmetadata
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
DataServiceUrlConventions: KeyAsSegment
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer {ENCODED AUTHENTICATION TOKEN}
x-ms-principal-id: cdmlab\cdmlabuser
Host: contoso.com:30004
Content-Length: 2775
Expect: 100-continue

{"odata.type":"VMM.VMTemplate","AccessedTime":null,"Accessibility":"Public","AddedTime":"2014-09-04T11:49:53.59-07:00","Admin":null,"AdminPasswordHasValue":false,"ApplicationProfileId":null,"AutoLogonCount":null,"BootOrder@odata.type":"Collection(Edm.String)","BootOrder":["CD","IdeHardDrive","PxeBoot","Floppy"],"CapabilityProfile":null,"CloudID":null,"ComputerName":"*","CostCenter":null,"CPUCount":1,"CPUMax":100,"CPUReserve":0,"CPUType":"3.60 GHz Xeon (2 MB L2 cache)","CreationTime":"2014-09-04T11:49:53.59-07:00","CustomProperties@odata.type":"Collection(Edm.String)","CustomProperties":["","","","","","","","","",""],"Description":null,"DiskIO":0,"DomainAdmin":null,"DomainAdminPasswordHasValue":false,"DomainAdminPasswordIsServiceSetting":false,"DomainJoinOrganizationalUnit":null,"DynamicMemoryBufferPercentage":null,"DynamicMemoryEnabled":false,"DynamicMemoryMaximumMB":null,"DynamicMemoryPreferredBufferPercentage":null,"Enabled":true,"ExpectedCPUUtilization":20,"FullName":"","Generation":1,"GrantedToList@odata.type":"Collection(VMM.UserAndRole)","GrantedToList":[{"RoleID":"ae122d5f-3aab-4d75-ad48-d6593246a49e","RoleName":null,"UserName":null}],"GuiRunOnceCommands@odata.type":"Collection(Edm.String)","GuiRunOnceCommands":[],"HasVMAdditions":false,"ID":"ba810457-dc73-46eb-bad3-542210ba86a6","IsCustomizable":true,"IsHighlyAvailable":false,"IsTagEmpty":true,"IsTemporaryTemplate":false,"JoinDomain":null,"JoinWorkgroup":"WORKGROUP","LibraryGroup":"","LimitCPUForMigration":false,"LimitCPUFunctionality":false,"Location":"","Memory":512,"MemoryWeight":5000,"MergeAnswerFile":false,"ModifiedTime":"2014-09-04T11:49:57.01-07:00","Name":"Windows 8 Client","NetworkUtilization":0,"NicCount":1,"NumLockEnabled":false,"OperatingSystem":"Windows 8","OperatingSystemInstance":{"odata.type":"VMM.OperatingSystem","Architecture":"x86","Description":"Windows 8","Edition":null,"Name":"Windows 8","OSType":"Windows","ProductType":"VER_NT_WORKSTATION","Version":"6.2"},"OrgName":"","OSType":"Windows","Owner":{"odata.type":"VMM.UserAndRole","RoleID":"75700cd5-893e-4f68-ada7-50ef4668acc6","RoleName":"Administrator","UserName":"CDMLAB\\cdmlabuser"},"ProductKeyHasValue":false,"QuotaPoint":1,"RelativeWeight":100,"SANCopyCapable":false,"SANStatus@odata.type":"Collection(Edm.String)","SANStatus":[],"ServerFeatures@odata.type":"Collection(Edm.String)","ServerFeatures":[],"SharePath":null,"ShareSCSIBus":false,"SQLProfileId":null,"StampId":"d70c1a9b-c241-48f5-880a-b6c36071e653","Status":"Normal","Tag":"(none)","TimeZone":4,"TotalVHDCapacity":"42949672960","UndoDisksEnabled":false,"UseHardwareAssistedVirtualization":false,"VirtualFloppyDriveId":null,"VirtualHardDiskId":null,"VirtualizationPlatform":"Unknown","VMAddition":"Not Detected","VMId":null,"VMTemplateId":null}

HTTP Response

HTTP/1.1 204 No Content
Cache-Control: no-cache
Content-Length: 0
Server: Microsoft-IIS/8.5
x-ms-request-id: fc6990ae-fd26-4dc2-8c2f-f99e65dca08d
X-Content-Type-Options: nosniff
request-id: d3df681c-b278-0000-9acd-e1d378b2cf01
DataServiceVersion: 1.0;
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Powered-By: ASP.NET
Date: Thu, 04 Sep 2014 18:51:55 GMT

See Also

VMTemplates Collection [SPFSDK][VMMREF]
VMTemplate [SPFSDK][VMMREF]