Update (PUT) a Service [SPFSDK][VMMREF]
Applies To: Windows Azure Pack
Updates a Service [SPFSDK][VMMREF] entity by using the HTTP PUT operation.
Here is a list of examples related to this collection operation.
The RunAsynchronously query parameter may be added to the URL, set to a value of 1. This will tell the service to return immediately after the request is sent instead of waiting for the update to finish, which could cause the request to timeout. For example:
https://contoso.com:30005/86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06/services/systemcenter/vmm/Services(ID=guid'8a8b4ce5-67f2-4e2a-b31e-52f9cd8462a3',StampId=guid'56ebc6dc-f63c-46e2-8438-2967e0ad83bc')?RunAsynchronously=1
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/Services(ID=Guid'[value]',StampId=Guid'[value]') | HTTP/1.1 |
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. |
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.
The request body should contain a single (depending on the request headers) XML or JSON encoded Service [SPFSDK][VMMREF] entity that is to be updated. Here is the request body of a single entity.
{
"odata.metadata": "https://contoso.com:30005/86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06/services/systemcenter/vmm/$metadata#Services/@Element",
"ID": "8a8b4ce5-67f2-4e2a-b31e-52f9cd8462a3",
"Description": "",
"Name": "Network Gateway 1",
"StampId": "56ebc6dc-f63c-46e2-8438-2967e0ad83bc",
"NewServiceDeployment": {
"ServiceConfiguration": {
"ServiceSettings": [
{
"Name": null,
"Value": null,
"Description": null,
"IsRequired": false,
"IsEncrypted": false
}
],
"Name": null,
"Description": null,
"CostCenter": null,
"Tag": null,
"Priority": null
},
"TierConfigurations": [
{
"Name": null,
"VMConfigurations": [
{
"VMName": null,
"ComputerName": null,
"Description": null,
"CostCenter": null,
"Tag": null
}
]
}
]
},
"Owner": {
"UserName": null,
"RoleName": null,
"RoleID": null
},
"GrantedToList": [
{
"UserName": null,
"RoleName": "tenant@fabrikam.com_86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06",
"RoleID": "86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06"
}
],
"AllVMsAccessible": null,
"CostCenter": "",
"DeploymentState": "Deployed",
"DeployedTo": "Cloud",
"InServicingMode": false,
"OverallStatus": "OK",
"PendingServiceTemplatePresent": false,
"PendingServiceTemplateRelease": null,
"ServicePriority": "Normal",
"ServiceTemplateRelease": null,
"ServiceStatus": "OK",
"VMHostGroup": null,
"Enabled": true,
"AddedTime": "2014-04-29T16:44:11.6-07:00",
"ModifiedTime": "2014-06-25T17:37:41.4166979-07:00",
"NotificationsAvailable": false,
"Accessibility": "Public",
"Operation": null,
"IgnorePlacementErrors": null,
"FailedJobID": null,
"CloudId": "d1f15abc-672d-464b-b3bc-376d2087bb8e",
"ServiceTemplateId": "20a730c8-228a-4d6a-9a8f-6506b21236a9",
"CustomProperty": [],
"PendingServiceSettings": [],
"ServiceSettings": [
{
"Name": "External",
"Description": "",
"Value": "af6a7248-9d48-4149-917c-a6239e502a39",
"Mandatory": true,
"HasEncryptedValue": false,
"IsSecure": false,
"GlobalSettingType": "VMNetwork"
},
{
"Name": "LocalAdmin",
"Description": "",
"Value": "dd9279c1-b3cb-4aff-9df4-a337498b087d",
"Mandatory": false,
"HasEncryptedValue": false,
"IsSecure": false,
"GlobalSettingType": "RunAsAccount"
},
{
"Name": "Infrastructure",
"Description": "",
"Value": "c94721a2-b175-42bc-9ea2-65341cb789c2",
"Mandatory": true,
"HasEncryptedValue": false,
"IsSecure": false,
"GlobalSettingType": "VMNetwork"
}
],
"ServicingWindow": {
"Category": null,
"Name": null,
"Description": null,
"Owner": null,
"TimeZone": null,
"StartDate": null,
"StartTimeOfDay": null,
"WeeklyScheduleDayOfWeek": null,
"MonthlyScheduleDayOfWeek": null,
"DayOfMonth": null,
"WeekOfMonth": null,
"DaysToRecur": null,
"MonthsToRecur": null,
"WeeksToRecur": null,
"MinutesDuration": null,
"ScheduleType": null
}
}
This operation does not return any non-standard OData response codes. If successful, it will return code 204 No Content.
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.
None
This example updates an existing service, using a new version of the service template the service was originally deployed with.
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].
Guid stampId = new Guid("d70c1a9b-c241-48f5-880a-b6c36071e653"); Guid serviceId = new Guid("16a3df7e-55a6-4edd-b34f-15c712d32b8b"); Guid newTemplateId = new Guid("9ca89b67-bc28-49f4-8b95-b2d4c4063cfe"); var service = vmmService.Services.Where(s => s.StampId == stampId && s.ID == serviceId).First(); // You may need to stop the service before you update it to a new template service.ServiceTemplateId = newTemplateId; vmmService.UpdateObject(service); vmmService.SaveChanges();
This example stops a service that is currently running.
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].
Guid stampId = new Guid("d70c1a9b-c241-48f5-880a-b6c36071e653"); Guid serviceId = new Guid("16a3df7e-55a6-4edd-b34f-15c712d32b8b"); var service = vmmService.Services.Where(s => s.StampId == stampId && s.ID == serviceId).First(); service.Operation = "Stop"; vmmService.UpdateObject(service); vmmService.SaveChanges();
This example starts a service that is currently stopped.
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].
Guid stampId = new Guid("d70c1a9b-c241-48f5-880a-b6c36071e653"); Guid serviceId = new Guid("16a3df7e-55a6-4edd-b34f-15c712d32b8b"); var service = vmmService.Services.Where(s => s.StampId == stampId && s.ID == serviceId).First(); service.Operation = "Start"; vmmService.UpdateObject(service); vmmService.SaveChanges();