Update (PUT) a ServiceTemplate [SPFSDK][VMMREF]
Applies To: Windows Azure Pack
Updates a ServiceTemplate [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: Assign a service template to a 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/ServiceTemplates(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 ServiceTemplate [SPFSDK][VMMREF] entity that is to be updated. Here is the request body of a single entity
{
"odata.type": "VMM.ServiceTemplate",
"Accessibility": "Public",
"AddedTime": "2014-08-12T10:35:11.38-07:00",
"CustomProperty@odata.type": "Collection(VMM.CustomProperty)",
"CustomProperty": [],
"Description": "Two Tier Application Pattern",
"Enabled": true,
"GrantedToList@odata.type": "Collection(VMM.UserAndRole)",
"GrantedToList": [
{
"RoleID": "ae122d5f-3aab-4d75-ad48-d6593246a49e",
"RoleName": null,
"UserName": null
}
],
"ID": "211148d3-b9a0-4bec-bb17-373ba0cd7934",
"IsPublished": false,
"ModifiedTime": "2014-08-12T10:37:47.057-07:00",
"Name": "Two Tier App Sample",
"Namespace": "Global",
"NotificationsAvailable": false,
"Owner": {
"odata.type": "VMM.UserAndRole",
"RoleID": "75700cd5-893e-4f68-ada7-50ef4668acc6",
"RoleName": "Administrator",
"UserName": "DOMAIN\\User"
},
"PublishedTime": null,
"Release": "new",
"ServicePriority": "Normal",
"ServiceSettings@odata.type": "Collection(VMM.ServiceSetting)",
"ServiceSettings": [],
"ServiceTemplateState": "Normal",
"StampId": "d70c1a9b-c241-48f5-880a-b6c36071e653",
"UseAsDefaultRelease": false,
"UseAsPattern": false
}
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: Assign a service template to a tenant
This example assigns a service template to a tenant. Tenants may only use service 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 Program in Visual Studio with the Windows Azure Pack IaaS Resource Provider [SPFSDK].
public static void ServiceTemplate_GrantToUserRole()
{
// Requires a connection to the tenant service as the hoster.
Guid stampID = new Guid("d70c1a9b-c241-48f5-880a-b6c36071e653");
Guid subscriptionID = new Guid("ae122d5f-3aab-4d75-ad48-d6593246a49e");
Guid tenantUserRoleID = new Guid("ae122d5f-3aab-4d75-ad48-d6593246a49e");
Guid templateID = new Guid("211148d3-b9a0-4bec-bb17-373ba0cd7934");
var template = vmmService.ServiceTemplates.Where(st => st.StampId == stampID && st.ID == templateID).FirstOrDefault();
if (template != null)
{
template.GrantedToList.Add(new Tenant.UserAndRole()
{
RoleID = tenantUserRoleID
});
vmmService.UpdateObject(template);
}
vmmService.SaveChanges();
}
HTTP Request
MERGE https://contoso.com:30004/services/systemcenter/SC2012R2/VMM/Microsoft.Management.Odata.svc/ServiceTemplates(ID=guid'211148d3-b9a0-4bec-bb17-373ba0cd7934',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: tenant@fabrikam.com
Host: contoso.com:30004
Content-Length: 1019
Expect: 100-continue
{"odata.type":"VMM.ServiceTemplate","Accessibility":"Public","AddedTime":"2014-08-12T10:35:11.38-07:00","CustomProperty@odata.type":"Collection(VMM.CustomProperty)","CustomProperty":[],"Description":"Two Tier Application Pattern","Enabled":true,"GrantedToList@odata.type":"Collection(VMM.UserAndRole)","GrantedToList":[{"RoleID":"ae122d5f-3aab-4d75-ad48-d6593246a49e","RoleName":null,"UserName":null}],"ID":"211148d3-b9a0-4bec-bb17-373ba0cd7934","IsPublished":false,"ModifiedTime":"2014-08-12T10:37:47.057-07:00","Name":"Two Tier App Sample","Namespace":"Global","NotificationsAvailable":false,"Owner":{"odata.type":"VMM.UserAndRole","RoleID":"75700cd5-893e-4f68-ada7-50ef4668acc6","RoleName":"Administrator","UserName":"DOMAIN\\User"},"PublishedTime":null,"Release":"new","ServicePriority":"Normal","ServiceSettings@odata.type":"Collection(VMM.ServiceSetting)","ServiceSettings":[],"ServiceTemplateState":"Normal","StampId":"d70c1a9b-c241-48f5-880a-b6c36071e653","UseAsDefaultRelease":false,"UseAsPattern":false}
HTTP Response
HTTP/1.1 204 No Content
Cache-Control: no-cache
Content-Length: 0
Server: Microsoft-IIS/8.5
X-Content-Type-Options: nosniff
request-id: d3df681c-b278-0000-3dbe-e0d378b2cf01
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: Fri, 15 Aug 2014 18:40:12 GMT
See Also
ServiceTemplates Collection [SPFSDK][VMMREF]
ServiceTemplate [SPFSDK][VMMREF]
Read (GET) a ServiceTemplate [SPFSDK][VMMREF]