MarketRESTful Service Description Language
Company Profile

RESTful Service Description Language

The RESTful Service Description Language (RSDL) is a machine- and human-readable XML description of HTTP-based web applications.

Properties
Self descriptive: RSDL represents different URIs as stand-alone entry points into the application. Following resource URIs, one can figure out which methods are available for the given resources and how those resources can be consumed. • Machine-readable: Each URI in RSDL contains all the necessary information to generate an HTTP request from it, which can be easily consumed by accessing the URI internals. • Human-readable: Each URI in RSDL contains "rel" and "description" attributes describing the meaning of the given operation on that URI. Humans can easily fetch all available operations for a given collection/resource simply by locating different descriptors within the same URI. == Format ==
Format
api.xsd GET|POST|PUT|DELETE|... ... FQ-name-to-parameter == Components ==
Components
URI Request GET|POST|PUT|DELETE|... ... ... ... ... FQ-name-to-parameter ... ... Response ... == XML schema ==
Examples
List resources GET Filter true|false search search query case_sensitive true|false max max results Clusters Get resource GET Filter true|false Cluster Update resource PUT Content-Type application/xml|json Correlation-Id any string Cluster cluster.name cluster.description cluster.cpu.id cluster.version.major cluster.version.minor cluster.memory_policy.overcommit.percent cluster.memory_policy.transparent_hugepages.enabled cluster.scheduling_policy.policy cluster.scheduling_policy.thresholds.low cluster.scheduling_policy.thresholds.high cluster.scheduling_policy.thresholds.duration cluster.error_handling.on_error cluster.virt_service cluster.gluster_service cluster.threads_as_cores cluster.tunnel_migration Cluster Create resource POST Content-Type application/xml|json Expect 201-created Correlation-Id any string Cluster cluster.data_center.id|name cluster.name cluster.version.major cluster.version.minor cluster.cpu.id cluster.description cluster.memory_policy.overcommit.percent cluster.memory_policy.transparent_hugepages.enabled cluster.scheduling_policy.policy cluster.scheduling_policy.thresholds.low cluster.scheduling_policy.thresholds.high cluster.scheduling_policy.thresholds.duration cluster.error_handling.on_error cluster.virt_service cluster.gluster_service cluster.threads_as_cores cluster.tunnel_migration Cluster Delete resource DELETE Correlation-Id any string async true|false == Code generation ==
Code generation
RSDL URI descriptor POST Content-Type application/xml|json Expect 201-created Correlation-Id any string Cluster cluster.data_center.id|name cluster.name cluster.version.major cluster.version.minor cluster.cpu.id cluster.description cluster.memory_policy.overcommit.percent cluster.memory_policy.transparent_hugepages.enabled cluster.scheduling_policy.policy cluster.scheduling_policy.thresholds.low cluster.scheduling_policy.thresholds.high cluster.scheduling_policy.thresholds.duration cluster.error_handling.on_error cluster.virt_service cluster.gluster_service cluster.threads_as_cores cluster.tunnel_migration Cluster Generated code signature(s) /** * Adds Cluster object. * @param cluster {@link org.ovirt.engine.sdk.entities.Cluster} * cluster.data_center.id|name * cluster.name * cluster.version.major * cluster.version.minor * cluster.cpu.id * [cluster.description] * [cluster.memory_policy.overcommit.percent] * [cluster.memory_policy.transparent_hugepages.enabled] * [cluster.scheduling_policy.policy] * [cluster.scheduling_policy.thresholds.low] * [cluster.scheduling_policy.thresholds.high] * [cluster.scheduling_policy.thresholds.duration] * [cluster.error_handling.on_error] * [cluster.virt_service] * [cluster.gluster_service] * [cluster.threads_as_cores] * [cluster.tunnel_migration] * @return * {@link Cluster } * @throws ClientProtocolException * Signals that HTTP/S protocol error has occurred. * @throws ServerException * Signals that an oVirt api error has occurred. * @throws IOException * Signals that an I/O exception of some sort has occurred. */ public Cluster add(org.ovirt.engine.sdk.entities.Cluster cluster) throws ClientProtocolException, ServerException, IOException { .... } /** * Adds Cluster object. * @param cluster {@link org.ovirt.engine.sdk.entities.Cluster} * cluster.data_center.id|name * cluster.name * cluster.version.major * cluster.version.minor * cluster.cpu.id * [cluster.description] * [cluster.memory_policy.overcommit.percent] * [cluster.memory_policy.transparent_hugepages.enabled] * [cluster.scheduling_policy.policy] * [cluster.scheduling_policy.thresholds.low] * [cluster.scheduling_policy.thresholds.high] * [cluster.scheduling_policy.thresholds.duration] * [cluster.error_handling.on_error] * [cluster.virt_service] * [cluster.gluster_service] * [cluster.threads_as_cores] * [cluster.tunnel_migration] * @param expect * [201-created] * @param correlationId * [any string] * @return * {@link Cluster } * @throws ClientProtocolException * Signals that HTTP/S protocol error has occurred. * @throws ServerException * Signals that an oVirt api error has occurred. * @throws IOException * Signals that an I/O exception of some sort has occurred. */ public Cluster add(org.ovirt.engine.sdk.entities.Cluster cluster, String expect, String correlationId) throws ClientProtocolException, ServerException, IOException { .... } ==References==
tickerdossier.comtickerdossier.substack.com