Return-Path: X-Original-To: apmail-deltacloud-commits-archive@www.apache.org Delivered-To: apmail-deltacloud-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9366096B2 for ; Mon, 25 Jun 2012 12:34:23 +0000 (UTC) Received: (qmail 90719 invoked by uid 500); 25 Jun 2012 12:34:22 -0000 Delivered-To: apmail-deltacloud-commits-archive@deltacloud.apache.org Received: (qmail 90644 invoked by uid 500); 25 Jun 2012 12:34:22 -0000 Mailing-List: contact commits-help@deltacloud.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@deltacloud.apache.org Delivered-To: mailing list commits@deltacloud.apache.org Received: (qmail 89634 invoked by uid 99); 25 Jun 2012 12:34:17 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jun 2012 12:34:17 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 660D06FA9; Mon, 25 Jun 2012 12:34:17 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: mfojtik@apache.org To: commits@deltacloud.apache.org X-Mailer: ASF-Git Admin Mailer Subject: [36/51] [partial] Site: Complete site revamp using bootstrap and docs update Message-Id: <20120625123417.660D06FA9@tyr.zones.apache.org> Date: Mon, 25 Jun 2012 12:34:17 +0000 (UTC) http://git-wip-us.apache.org/repos/asf/deltacloud/blob/d3232da0/site/output/api-entry-point.html ---------------------------------------------------------------------- diff --git a/site/output/api-entry-point.html b/site/output/api-entry-point.html new file mode 100644 index 0000000..9fd0877 --- /dev/null +++ b/site/output/api-entry-point.html @@ -0,0 +1,325 @@ + + + + + API entry point + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +


+ +
+
+ +

The API entry point

+ +

+Any part of the official API can be reached through the main entry point, by default http://localhost:3001/api. The entry point lists the resources for the current cloud provider, which the server knows about. For example, for the Amazon EC2 driver these are: +

+ +
    +
  • instances
  • +
  • instance states
  • +
  • images
  • +
  • realms
  • +
+
+ +
+ +
    +
  • hardware profiles
  • +
  • keys
  • +
  • buckets
  • +
  • storage volumes
  • +
  • storage snapshots
  • +
  • load balancers
  • +
  • addresses
  • +
  • firewalls
  • +

Example request:

+ +
+GET /api?format=xml HTTP/1.1
+Authorization: Basic AU1J3UB2121Afd1DdyQWxLaTYTmJMNF4zTXBoRGdhMDh2RUw5ZDAN9zVXVa==
+User-Agent: curl/7.20.1 (i386-redhat-linux-gnu)
+Host: localhost:3001
+Accept: */*
+
+ +

Server response:

+ +
+HTTP/1.1 200 OK
+Content-Type: application/xml
+Content-Length: 1439
+
+<api driver='ec2' version='0.3.0'>
+  <link href='http://localhost:3001/api/instance_states' rel='instance_states'>
+  </link>
+  <link href='http://localhost:3001/api/drivers' rel='drivers'>
+  </link>
+  <link href='http://localhost:3001/api/addresses' rel='addresses'>
+  </link>
+  <link href='http://localhost:3001/api/hardware_profiles' rel='hardware_profiles'>
+  </link>
+  <link href='http://localhost:3001/api/firewalls' rel='firewalls'>
+  </link>
+  <link href='http://localhost:3001/api/storage_volumes' rel='storage_volumes'>
+  </link>
+  <link href='http://localhost:3001/api/images' rel='images'>
+    <feature name='owner_id'>
+    </feature>
+  </link>
+  <link href='http://localhost:3001/api/realms' rel='realms'>
+  </link>
+  <link href='http://localhost:3001/api/buckets' rel='buckets'>
+    <feature name='bucket_location'>
+    </feature>
+  </link>
+  <link href='http://localhost:3001/api/instances' rel='instances'>
+    <feature name='user_data'>
+    </feature>
+    <feature name='authentication_key'>
+    </feature>
+    <feature name='firewalls'>
+    </feature>
+    <feature name='instance_count'>
+    </feature>
+    <feature name='attach_snapshot'>
+    </feature>
+  </link>
+  <link href='http://localhost:3001/api/storage_snapshots' rel='storage_snapshots'>
+  </link>
+  <link href='http://localhost:3001/api/keys' rel='keys'>
+  </link>
+  <link href='http://localhost:3001/api/load_balancers' rel='load_balancers'>
+  </link>
+</api>
+
+ +

+Some implementations for the Apache Deltacloud API may not support all resource types defined by API. For example, a Deltacloud instance pointing at a storage-only service will not expose compute resources like instances and hardware profiles. +

+ +

Features

+ +

+The Apache Deltacloud API defines the standard behavior and semantics for each of the resource types as a baseline for any API implementation. It is often desirable to enhance standard API behavior with specific features. The API also defines all features that can be supported by the API implementation - each of them has a fixed predefined meaning. For example, the feature user_name indicates that a user-specified name can be assigned to an instance when it is created. Features are advertised in the top-level entry point as illustrated below: +

+ +
+<api driver='mock' version='0.3.0'>
+  ...
+  <link href='http://localhost:3001/api/instances' rel='instances'>
+    <feature name='hardware_profiles'></feature>
+    <feature name='user_name'></feature>
+    <feature name='authentication_key'></feature>
+  </link>
+  ...
+</api>
+
+ +

+These features are available to each collection in the Deltacloud API: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureCollectionOperationDescription
owner_idImagesGET /api/imagesallows filtering of the image list by owner_id
user_nameInstancesPOST /api/instancesaccepts a user-defined name on instance creation
user_dataInstancesPOST /api/instancesprovide user-defined data that is accessible by the running instance
user_isoInstancesPOST /api/instancesprovides a base64 encoded gzipped ISO file accessible as CD-ROM drive by the running instnace
user_filesInstancesPOST /api/instancesaccept files that will be placed into the launched instance
firewallsInstancesPOST /api/instancesput the instance into one or more firewalls on launch
authentication_keyInstancesPOST /api/instancesprovides the authentication key to access the instance
authentication_passwordInstancesPOST /api/instancesprovides the password to access the running instance
instance_countInstancesPOST /api/instancesspecifies the number of instances to launch in one operation
attach_snapshotInstancesPOST /api/instancesattaches a storage snapshot to an instance as a storage volume
sandboxingInstancesPOST /api/instanceslaunches an instance from a sandbox image (Gogrid specific)
bucket_locationBucketsPOST /api/bucketsspecifies a location that the bucket should be created in (e.g. specific cloud-provider datacenter)

Compute resources

+ +


+ +
+

 Back to top

+
+
+ Apache Software Foundation +
+
+ Apache Deltacloud is a top-level project at the Apache Software Foundation, + having graduated from the ASF Incubator in October + 2011. Through a collaborative and meritocratic development process, Apache + projects deliver enterprise-grade, freely available software products that + attract large communities of users. +
+
+
+ +
+ + +