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.
Example: Update a service to a new version of a template
Example: Stop a service
Example: Start a service
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
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/Services(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 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
}
}
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: Update a service to a new version of a template
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();
Example: Stop a service
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();
Example: Start a service
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();
See Also
Services Collection [SPFSDK][VMMREF]
Service [SPFSDK][VMMREF]
Create (POST) a Service [SPFSDK][VMMREF]
Read (GET) a Service [SPFSDK][VMMREF]
Delete (DELETE) a Service [SPFSDK][VMMREF]