![]() |
Consumption Analytics Documentation |
Updates the definition of a service specified by its ID.
This method is available in Cloud Cruiser version 4.1 and later.
PUT http://<ccServerURL>/rest/v2/serviceCatalog/definitions/<id>
Name | Type | Description | |
---|---|---|---|
URL path parameters (required) | id | integer | The ID of the service to update |
application/xml
The service definition to apply, as XML text with root element serviceDefinition
or JAXB type com.cloudcruiser.server.webservices.v2.dto.service.serviceDefinition
. The value of the id
attribute, if set, must be the same as the id
parameter.
For Cloud Cruiser 4.1 and later, this XML schema describes service groups and their contained services.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.cloudcruiser.com/webservices/v2/Common" xmlns:tns="http://www.cloudcruiser.com/webservices/v2/Service" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.cloudcruiser.com/webservices/v2/Service"> <xs:import/> <xs:import namespace="http://www.cloudcruiser.com/webservices/v2/Common"/> <xs:element name="serviceDefinition" type="tns:ServiceDefinition"/> <xs:element name="serviceDefinitionList" type="tns:ServiceDefinitionList"/> <xs:element name="serviceGroup" type="tns:ServiceGroup"/> <xs:element name="serviceGroupList" type="tns:ServiceGroupList"/> <xs:element name="serviceSummaryList" type="tns:ServiceSummaryList"/> <xs:complexType name="ServiceGroup"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="serviceSummary"> <xs:complexType> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element minOccurs="0" name="description" type="xs:string"/> <xs:element default="false" name="valid" type="xs:boolean"/> </xs:sequence> <xs:attribute name="id" type="xs:int" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:int" use="required"/> <xs:attribute name="totalServices" type="xs:int"/> <xs:attribute name="retrievedServices" type="xs:int"/> <xs:attribute name="startFrom" type="xs:int"/> </xs:complexType> <xs:complexType name="ServiceDefinition"> <xs:sequence> <xs:element name="serviceName" type="xs:string"/> <xs:element default="Default" name="groupName" type="xs:string"/> <xs:element minOccurs="0" name="description" type="xs:string"/> <xs:element default="false" name="active" type="xs:boolean"/> <xs:element default="false" name="valid" type="xs:boolean"/> <xs:element name="unitDesc" type="xs:string"/> <xs:element default="4" name="unitDecimals" type="xs:short"/> <xs:element default="MONTHLY" name="chargeInterval" type="xs:string"/> <xs:element default="FULL" name="prorationType" type="xs:string"/> <xs:element default="BUNDLED" name="bundleType" type="xs:string"/> <xs:element default="ALLOCATED" name="measureType" type="xs:string"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="measure" type="tns:ServiceMeasure"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="tag"> <xs:complexType> <xs:sequence/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="id" type="xs:int"/> </xs:complexType> <xs:complexType abstract="true" name="ServiceMeasure"> <xs:sequence> <xs:element name="measureName" type="xs:string"/> <xs:element name="schemaName" type="xs:string"/> <xs:element minOccurs="0" name="unitsConversion" type="ns1:ConversionType"/> <xs:element maxOccurs="unbounded" minOccurs="0" name="dimensionFilter"> <xs:complexType> <xs:sequence/> <xs:attribute name="dimensionName" type="xs:string" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="MeteredServiceMeasure"> <xs:complexContent> <xs:extension base="tns:ServiceMeasure"> <xs:sequence/> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="NonMeteredServiceMeasure"> <xs:complexContent> <xs:extension base="tns:ServiceMeasure"> <xs:sequence> <xs:element default="ALLOCATED" name="countByType" type="xs:string"/> <xs:element default="EQUALS" name="quantityOperator" type="xs:string"/> <xs:element default="1" name="quantity" type="xs:double"/> <xs:element minOccurs="0" name="quantityHigh" type="xs:double"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:complexType name="ServiceDefinitionList"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:serviceDefinition"/> </xs:sequence> <xs:attribute name="totalServices" type="xs:int"/> <xs:attribute name="retrievedServices" type="xs:int"/> <xs:attribute name="startFrom" type="xs:int"/> </xs:complexType> <xs:complexType name="ServiceSummaryList"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="serviceSummary" type="tns:ServiceSummary"/> </xs:sequence> <xs:attribute name="totalServices" type="xs:int"/> <xs:attribute name="retrievedServices" type="xs:int"/> <xs:attribute name="startFrom" type="xs:int"/> </xs:complexType> <xs:complexType name="ServiceSummary"> <xs:sequence> <xs:element name="serviceName" type="xs:string"/> <xs:element name="groupName" type="xs:string"/> <xs:element minOccurs="0" name="description" type="xs:string"/> <xs:element name="active" type="xs:boolean"/> <xs:element name="valid" type="xs:boolean"/> </xs:sequence> <xs:attribute name="id" type="xs:int" use="required"/> </xs:complexType> <xs:complexType name="ServiceGroupList"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:serviceGroup"/> </xs:sequence> <xs:attribute name="totalGroups" type="xs:int"/> <xs:attribute name="retrievedGroups" type="xs:int"/> <xs:attribute name="startFrom" type="xs:int"/> </xs:complexType> </xs:schema>
application/xml
The updated definition for the service, as XML text with the root element serviceDefinition
or JAXB type com.cloudcruiser.server.webservices.v2.dto.service.serviceDefinition
.
Same as for the request, above.
PUT http://localhost:8080/rest/v2/serviceCatalog/definitions/10602
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <serviceDefinition xmlns="http://www.cloudcruiser.com/webservices/v2/Service" id="10602"> <serviceName>Med VM</serviceName> <groupName>Virtual Machines</groupName> <description>Med Virtual Machine with two core CPU, 2TB disk and 1~3GB RAM</description> <active>true</active> <valid>true</valid> <unitDesc>instances</unitDesc> <unitDecimals>0</unitDecimals> <chargeInterval>MONTHLY</chargeInterval> <prorationType>FULL</prorationType> <bundleType>BUNDLED</bundleType> <measureType>ALLOCATED</measureType> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>vDisk</measureName> <schemaName>Virtual Machine</schemaName> <unitsConversion operator="DIV" operand="1000.0"/> <countByType>ALLOCATED</countByType> <quantityOperator>EQUALS</quantityOperator> <quantity>2.0</quantity> </measure> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>IP Address</measureName> <schemaName>Network</schemaName> <countByType>ALLOCATED</countByType> <quantityOperator>EQUALS</quantityOperator> <quantity>1.0</quantity> </measure> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>vCPU</measureName> <schemaName>Virtual Machine</schemaName> <countByType>ALLOCATED</countByType> <quantityOperator>EQUALS</quantityOperator> <quantity>2.0</quantity> </measure> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>vMemory</measureName> <schemaName>Virtual Machine</schemaName> <unitsConversion operator="DIV" operand="1024.0"/> <dimensionFilter dimensionName="VM Name" value="vm-1"/> <countByType>ALLOCATED</countByType> <quantityOperator>LT_LE</quantityOperator> <quantity>1.0</quantity> <quantityHigh>3.0</quantityHigh> </measure> </serviceDefinition>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <serviceDefinition xmlns="http://www.cloudcruiser.com/webservices/v2/Service" id="10602"> <serviceName>Med VM</serviceName> <groupName>Virtual Machines</groupName> <description>Med Virtual Machine with two core CPU, 2TB disk and 1~3GB RAM</description> <active>true</active> <valid>true</valid> <unitDesc>instances</unitDesc> <unitDecimals>0</unitDecimals> <chargeInterval>MONTHLY</chargeInterval> <prorationType>FULL</prorationType> <bundleType>BUNDLED</bundleType> <measureType>ALLOCATED</measureType> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>vDisk</measureName> <schemaName>Virtual Machine</schemaName> <unitsConversion operator="DIV" operand="1000.0"/> <countByType>ALLOCATED</countByType> <quantityOperator>EQUALS</quantityOperator> <quantity>2.0</quantity> </measure> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>IP Address</measureName> <schemaName>Network</schemaName> <countByType>ALLOCATED</countByType> <quantityOperator>EQUALS</quantityOperator> <quantity>1.0</quantity> </measure> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>vCPU</measureName> <schemaName>Virtual Machine</schemaName> <countByType>ALLOCATED</countByType> <quantityOperator>EQUALS</quantityOperator> <quantity>2.0</quantity> </measure> <measure xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="NonMeteredServiceMeasure"> <measureName>vMemory</measureName> <schemaName>Virtual Machine</schemaName> <unitsConversion operator="DIV" operand="1024.0"/> <dimensionFilter dimensionName="VM Name" value="vm-1"/> <countByType>ALLOCATED</countByType> <quantityOperator>LT_LE</quantityOperator> <quantity>1.0</quantity> <quantityHigh>3.0</quantityHigh> </measure> </serviceDefinition>