Share via


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]