Return-Path: X-Original-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-cloudstack-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AC443EACF for ; Tue, 19 Mar 2013 12:40:00 +0000 (UTC) Received: (qmail 88000 invoked by uid 500); 19 Mar 2013 12:40:00 -0000 Delivered-To: apmail-incubator-cloudstack-dev-archive@incubator.apache.org Received: (qmail 87940 invoked by uid 500); 19 Mar 2013 12:40:00 -0000 Mailing-List: contact cloudstack-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cloudstack-dev@incubator.apache.org Delivered-To: mailing list cloudstack-dev@incubator.apache.org Received: (qmail 87928 invoked by uid 99); 19 Mar 2013 12:40:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 Mar 2013 12:40:00 +0000 X-ASF-Spam-Status: No, hits=-0.5 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of rohityadav89@gmail.com designates 209.85.215.171 as permitted sender) Received: from [209.85.215.171] (HELO mail-ea0-f171.google.com) (209.85.215.171) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 19 Mar 2013 12:39:55 +0000 Received: by mail-ea0-f171.google.com with SMTP id b15so204107eae.30 for ; Tue, 19 Mar 2013 05:39:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=LjX78iwxcaZI9oHa0+R4KREc/E6VrEI6F8MhWC6IaNQ=; b=bsHIzyNUVBWoOmPibeyI3Apypd+NRg8IgkBdCBn13RoLm8GxI+BAPnJWnaCCcqXIhw P0xejU99nICOQ3I5LXuPuiJu/h6eqduoCc5NW7gAKIVHXeLrWrX3XY0O6/AederuOe5D C88/gekbjsnpfBFo1sp2QbfAybtLT1GJJl2+UbF4fS+lYPE/4UFPPrTXiRHtRKfcGwYO KFLabNcyCuOLEwMzQV7iEnaTEDFnvBTUMD2QYvacAl03NVccqj2WgAmAxEfaGpQlSlHk TUwyrPCvrjSF1AXzAfiTkvTFSna1Yv1EWSRuPQOc6Xqt1LNU/TD+qcaIDXHdhHm8w8Hc 2kWg== X-Received: by 10.14.207.200 with SMTP id n48mr60338271eeo.4.1363696774454; Tue, 19 Mar 2013 05:39:34 -0700 (PDT) MIME-Version: 1.0 Sender: rohityadav89@gmail.com Received: by 10.223.157.10 with HTTP; Tue, 19 Mar 2013 05:39:13 -0700 (PDT) In-Reply-To: <7BE233D0-5497-4CC1-BCE3-81FD5970F018@gmail.com> References: <7BE233D0-5497-4CC1-BCE3-81FD5970F018@gmail.com> From: Rohit Yadav Date: Tue, 19 Mar 2013 18:09:13 +0530 X-Google-Sender-Auth: LsAGjP0orR-Y70UuiFHXaNi6ooA Message-ID: Subject: Re: [DISCUSS] Make a video on "Writing plugins, APIs for CloudStack" To: cloudstack-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org On Tue, Mar 19, 2013 at 5:57 PM, Sebastien Goasguen wrote: > > On Mar 19, 2013, at 7:23 AM, Rohit Yadav wrote: > >> Writing a plugin and a new API for CloudStack is not difficult, we >> just need to put some content on our wikis; Do we want to release a >> new write a plugin or api video for 4.1+, I can volunteer? > > Rohit, see my CS University wiki page. > > There is a section in there for "API" and "plugins" > > If you do this, could you do two separate screencasts and two separate slide decks ? Okay will follow up that tomorrow, gym time now! Cheers. > >> >> I've updated the wiki: (read about the PluggableService design and how >> it helps ApiServer and ApiDiscoveryService) >> https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+API+Development >> >> There are only three steps: >> 1. Write your api cmd class with correct annotations >> (https://cwiki.apache.org/confluence/display/CLOUDSTACK/Annotations+use+in+the+API) >> 2. Configure role based access in commands.properties.in >> 3. Your service should extend PluggableService. Add your api's cmd >> class to its implementation's getCommands() list of API classes. Make >> sure the service implementation is a Spring bean (put it either in one >> of the xmls or use the @Component annotation on the service impl). >> >> Note: In case you're adding an API to CloudStack server itself, add >> your API class in ManagementServerImpl's getCommands() list of APIs. >> Test with cloudmonkey! >> >> Cheers. >