From 7140bab73cb04070e4ef87f89c7bb35580442932 Mon Sep 17 00:00:00 2001 From: prachi Date: Mon, 30 Apr 2012 16:52:09 -0700 Subject: [PATCH] Files missing after cloudbridge-ec2-integration branch merge --- awsapi/conf/cloud-bridge.properties | 7 + awsapi/deploy-cloud-bridge.sh | 122 + awsapi/docs/AmazonEC2/EC2-API-tool-setup.txt | 48 + .../AmazonEC2/EC2-implementation-guide.html | 146 + .../AmazonEC2/EC2-local-deploy-using-ant.html | 74 + awsapi/docs/AmazonEC2/EC2-users-guide.html | 257 + .../docs/AmazonEC2/wsdl2java-command-line.txt | 2 + awsapi/docs/AmazonS3/S3-users-guide.html | 102 + awsapi/docs/AmazonS3/notes.txt | 10 + awsapi/install.sh | 17 + awsapi/modules/rahas-1.5.mar | Bin 0 -> 3039 bytes awsapi/modules/rampart-1.5.mar | Bin 0 -> 2947 bytes awsapi/packages/config/debian/changelog | 12 + .../config/debian/cloud-bridge.install | 4 + .../config/debian/cloud-bridge.postinst | 23 + awsapi/packages/config/debian/control | 13 + awsapi/packages/config/debian/rules | 119 + awsapi/packages/config/rpm/cloudbridge.spec | 81 + awsapi/release-notes.txt | 23 + awsapi/resource/AmazonEC2/AmazonEC2.wsdl | 4916 +++++++++++++++++ awsapi/resource/AmazonEC2/crypto.properties | 6 + awsapi/resource/AmazonEC2/services.xml | 377 ++ awsapi/resource/AmazonEC2/xes.keystore | Bin 0 -> 2032 bytes awsapi/resource/Axis2/axis2.xml | 561 ++ awsapi/scripts/run.bat | 1 + awsapi/scripts/run.sh | 7 + 26 files changed, 6928 insertions(+) create mode 100644 awsapi/conf/cloud-bridge.properties create mode 100644 awsapi/deploy-cloud-bridge.sh create mode 100644 awsapi/docs/AmazonEC2/EC2-API-tool-setup.txt create mode 100644 awsapi/docs/AmazonEC2/EC2-implementation-guide.html create mode 100644 awsapi/docs/AmazonEC2/EC2-local-deploy-using-ant.html create mode 100644 awsapi/docs/AmazonEC2/EC2-users-guide.html create mode 100644 awsapi/docs/AmazonEC2/wsdl2java-command-line.txt create mode 100644 awsapi/docs/AmazonS3/S3-users-guide.html create mode 100644 awsapi/docs/AmazonS3/notes.txt create mode 100644 awsapi/install.sh create mode 100644 awsapi/modules/rahas-1.5.mar create mode 100644 awsapi/modules/rampart-1.5.mar create mode 100644 awsapi/packages/config/debian/changelog create mode 100644 awsapi/packages/config/debian/cloud-bridge.install create mode 100644 awsapi/packages/config/debian/cloud-bridge.postinst create mode 100644 awsapi/packages/config/debian/control create mode 100644 awsapi/packages/config/debian/rules create mode 100644 awsapi/packages/config/rpm/cloudbridge.spec create mode 100644 awsapi/release-notes.txt create mode 100644 awsapi/resource/AmazonEC2/AmazonEC2.wsdl create mode 100644 awsapi/resource/AmazonEC2/crypto.properties create mode 100644 awsapi/resource/AmazonEC2/services.xml create mode 100644 awsapi/resource/AmazonEC2/xes.keystore create mode 100644 awsapi/resource/Axis2/axis2.xml create mode 100644 awsapi/scripts/run.bat create mode 100644 awsapi/scripts/run.sh diff --git a/awsapi/conf/cloud-bridge.properties b/awsapi/conf/cloud-bridge.properties new file mode 100644 index 00000000000..e3d815559d8 --- /dev/null +++ b/awsapi/conf/cloud-bridge.properties @@ -0,0 +1,7 @@ +host=http://localhost:8080/bridge +storage.root=c:\\temp\\s3repo +storage.multipartDir=__multipart__uploads__ +bucket.dns=true +serviceEndpoint=s3.amazonaws.com + + diff --git a/awsapi/deploy-cloud-bridge.sh b/awsapi/deploy-cloud-bridge.sh new file mode 100644 index 00000000000..42743604fcf --- /dev/null +++ b/awsapi/deploy-cloud-bridge.sh @@ -0,0 +1,122 @@ +#!/usr/bin/env bash +# deploy.sh -- deploys a cloud-bridge +# + +usage() { + printf "Usage: %s: -d [tomcat directory to deploy to] -z [zip file to use]\n" $(basename $0) >&2 +} + +dflag= +zflag= +tflag= +iflag= + +deploydir= +typ= + +#set -x + +while getopts 'd:z:x:h:' OPTION +do + case "$OPTION" in + d) dflag=1 + deploydir="$OPTARG" + ;; + z) zflag=1 + zipfile="$OPTARG" + ;; + h) iflag="$OPTARG" + ;; + ?) usage + exit 2 + ;; + esac +done + +if [ "$deploydir" == "" ] +then + if [ "$CATALINA_HOME" == "" ] + then + printf "Tomcat Directory to deploy to: " + read deploydir + else + deploydir="$CATALINA_HOME" + fi +fi + +if [ "$deploydir" == "" ] +then + printf "Tomcat directory was not specified, please set CATALINA_HOME environment variable'\n"; + exit 15; +fi + +printf "Check to see if the Tomcat directory exist: $deploydir\n" +if [ ! -d $deploydir ] +then + printf "Tomcat directory does not exist\n"; + exit 16; +fi + +rm -rf $deploydir/webapps/bridge +mkdir "$CATALINA_HOME/temp" +mkdir "$CATALINA_HOME/webapps/bridge" + + +if ! unzip -o ./axis2.war -d $deploydir/webapps/bridge +then + exit 10; +fi + +if ! cp -f services/* $deploydir/webapps/bridge/WEB-INF/services +then + exit 11; +fi + +if ! cp -f modules/* $deploydir/webapps/bridge/WEB-INF/modules +then + exit 12; +fi + +if ! cp -f rampart-lib/* $deploydir/webapps/bridge/WEB-INF/lib +then + exit 13; +fi + +if ! cp -f cloud-bridge.jar $deploydir/webapps/bridge/WEB-INF/lib +then + exit 14; +fi + +if ! cp -f lib/* $deploydir/lib +then + exit 17; +fi + +if ! cp -n conf/* $deploydir/conf +then + exit 18; +fi + +if ! cp -f classes/* $deploydir/webapps/bridge/WEB-INF/classes +then + exit 19; +fi + +if ! cp -f web.xml $deploydir/webapps/bridge/WEB-INF +then + exit 20; +fi + +if ! cp -f axis2.xml $deploydir/webapps/bridge/WEB-INF/conf +then + exit 21; +fi + +if ! rm -rf $deploydir/webapps/bridge/WEB-INF/lib/dom4j-1.6.1.jar +then + exit 22; +fi + + +printf "Installation is now complete\n" +exit 0 diff --git a/awsapi/docs/AmazonEC2/EC2-API-tool-setup.txt b/awsapi/docs/AmazonEC2/EC2-API-tool-setup.txt new file mode 100644 index 00000000000..d56a982eeb8 --- /dev/null +++ b/awsapi/docs/AmazonEC2/EC2-API-tool-setup.txt @@ -0,0 +1,48 @@ +1. Get the EC2 API tool +http://s3.amazonaws.com/ec2-downloads/ec2-api-tools-1.3-62308.zip. Install it by unzipping it + +2. Prepare a API request certificate, if you have Amazon account, Amazon has the service to let you generate and download a X509 certificate and its associated private key + +3. Prepare EC2 command running environment + +Set following environment variables and make them point to the right location. + +EC2_ACCESS_KEY= +EC2_SECRET_KEY= +EC2_HOME: +EC2_CERT: +EC2_PRIVATE_KEY: +EC2_URL: http:///bridge/AmazonEC2 + +4. Generate CloudStack API key +Login to CloudStack management console, you can generate an API key and its secret key pair there. + +5. Inform CloudBridge about the API/security key pair to use + +http:///bridge/rest/AmazonEC2?Action=SetUserKeys&accesskey=&secretkey= + +6. Upload certificate and associate it with the API key +There is not a convenient tool to do that, this has to be done in manual step. following HTML form can be used to submit the certificate, be sure to replace the content +matching with your setup though. +to ec2-service.properties + + + +Save the cert into Cloud's EC2 Service: +

+

+ + + + + + + + + +

+ +

+ + + diff --git a/awsapi/docs/AmazonEC2/EC2-implementation-guide.html b/awsapi/docs/AmazonEC2/EC2-implementation-guide.html new file mode 100644 index 00000000000..5caadf0a329 --- /dev/null +++ b/awsapi/docs/AmazonEC2/EC2-implementation-guide.html @@ -0,0 +1,146 @@ + + +Cloud.com's EC2 API Implementation Guide + + +

Cloud.com's EC2 API Implementation Guide

+3/24/2011 +

Table of Contents

+ +

+

1. Configuration Parameters

+Several configuration parameters are required to make Cloud.com's EC2 service work properly. +The following parameters are defined in the file:
<install directory>"/apache-tomcat-6.0.18/conf/ec2-service.properties": +
+managementServer=192.168.154.36
+cloudAPIPort=8080
+WSDLVersion=2010-08-31
+keystore=xes.keystore
+keystorePass=apache
+dbName=cloudsbridge
+dbUser=root
+dbPassword=
+pollInterval1=100
+pollInterval2=100
+pollInterval3=100
+pollInterval4=1000
+pollInterval5=100
+pollInterval6=100
+
+managementServer - FQDN or IP address of a Cloud.com management server. This is the address that +the EC2 service makes Cloud.com REST API calls against.
+cloudAPIPort - The TCP port that the CloudStack, User API is running on. If this property is not defined, +then no port is used by the EC2 service when it queries the CloudStack.
+WSDLVersion - The string that defines the WSDL used by the SOAP API which the REST API also implements. +This string is compared to the "Version=" parameter on each and every authorized REST request.
+keystore - The file name of the keystore used by EC2 which must be placed at the directory: +"../apache-tomcat-6.0.18/webapps/bridge/WEB-INF/classes"
+keystorePass - The password to the EC2 keystore specified by the "keystore" parameter.
+dbName - The MySql database name holding the EC2 service's required tables.
+dbUser= - The user name used to access the "dbName" MySql database.
+dbPassword - The password (if any) the "dbUser" needs to access the EC2 MySql database.
+pollInterval1 - Time in milliseconds between asynchronous job completion polling for the following Cloud.com +API call: createTemplate. Default value is 100.
+pollInterval2 - Time in milliseconds between asynchronous job completion polling for the following Cloud.com +API call: deployVirtualMachine. Default value is 100.
+pollInterval3 - Time in milliseconds between asynchronous job completion polling for the following Cloud.com +API call: createVolume. Default value is 100.
+pollInterval4 - Time in milliseconds between asynchronous job completion polling for the following Cloud.com +API call: createSnapshot. Default value is 1000.
+pollInterval5 - Time in milliseconds between asynchronous job completion polling for the following Cloud.com +API calls: deleteSnapshot, deleteTemplate, deleteVolume, attachVolume, detachVolume, disassociateIpAddress, enableStaticNat, disableStaticNat. Default value is 100.
+pollInterval6 - Time in milliseconds between asynchronous job completion polling for the following Cloud.com +API calls: startVirtualMachine, destroyVirtualMachine, stopVirtualMachine. Default value is 100.
+

+
+The following REST calls are used to configure a mapping between Amazon's instance types and CloudStack service offerings: +

+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2?Action=SetOfferMapping&amazonoffer=m1.large&cloudoffer=1
+

+The 'amazonoffer' parameter defines the standard Amazon instance types while the 'cloudoffer' parameter defines its associated +CloudStack service offering identifer. The result of this REST call is to save the defined relationship. A second call with the +same value for amazonoffer but with a different cloudoffer value will overwrite a previously saved setting. +
+SetOfferMapping is an authenticated REST call using the same authentication scheme as all other EC2 REST calls. This means that the following standard EC2 REST paramters must also be part of the request: Signature, SignatureMethod, Version, SignatureVersion, and Expires. +A HTTP 200 result code is returned on success and a 404 on failure. +

+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2?Action=DeleteOfferMapping&amazonoffer=m1.large
+

+The result of this REST call is to delete any relationship previously defined by a call to the SetOfferMapping call for the +value passed in the 'amazonoffer' parameter.
+DeleteOfferMapping is an authenticated REST call using the same authentication scheme as all other EC2 REST calls. This means that the following standard EC2 REST paramters must also be part of the request: Signature, SignatureMethod, Version, SignatureVersion, and Expires. +A HTTP 200 result code is returned on success and a 404 on failure. +

+Examples of other Amazon instance types are: +{ "m1.small", "m1.large", "m1.xlarge", "c1.medium", "c1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge" }.
+Service offering IDs can be obtained from the following Cloud.com API calls: listServiceOfferings. +Cloud.com's service offerings are configurable and thus can be different per installation, and they +can also be viewed from the Cloud.com's Admin UI. +

+

2. Required 3rd Party Software

+Cloud.com's EC2 service has been built and tested on the following set of 3rd party software: +
+MySql
+apache-tomcat 6.0.18
+axis2 1.5.1
+rampart 1.5 (installed into axis2 for WS-Security)
+used for testing: ec2-api-tools-1.3-53907
+
+

+

3. Maintenance

+As a result of the SetCertificate REST call [1], X509 Certificates used for SOAP authentication are +stored in the following keystore: +
+<install directory>/apache-tomcat-6.0.18/webapps/bridge/WEB-INF/classes/xes.keystore
+
+The keytool [2] command line tool can be used to delete certificates no longer in use. +

+As a result of the SetUserKeys REST call [1], entries are inserted into +the "usercredentials" table of the "cloudbridge" MySql database. +The MySql command line client can be used to delete usercredentials entries no longer in use. +

+

4. Installation Instructions

+

+On the very first install an EC2/S3 MySql database is created by running the following +scripts in the given order: cloudsbridge_db.sql, cloudsbridge_schema.sql, cloudbridge_index.sql +

+After a successful installation the following directory and file structure should exist: +

+<install directory>
+   apache-tomcat-6.0.18
+      conf
+        ec2-service.properties  (EC2 service's configuration parameters)
+        server.xml		
+      lib
+        <many axis2 jar files>	  
+      webapps
+        bridge
+          WEB-INF
+            classes
+               crypto.properties
+               xes.keystore  (holds X509 certificates for SOAP authentication)
+            modules
+               cloud-auth-ec2.mar
+               rampart-1.5.mar 
+               rahas-1.5.mar   
+               addressing-1.5.1.mar
+            services
+               cloud-ec2.aar  (the Axis2 EC2 service)
+
+The "../modules/cloud-auth-ec2.mar" module performs a mapping from an X509 certificate appearing in a SOAP +request (since its signed via WS-Security) to a matching user's Cloud.com API access and secret keys. This association +is first created via the SetUserKeys and SetCertificate REST calls [1]. +

+

5. References

+
    +
  1. Cloud.com's EC2 API User's Guide, 7/15/2010
  2. +
  3. keytool - Key and Certificate Management Tool
  4. +
+ + diff --git a/awsapi/docs/AmazonEC2/EC2-local-deploy-using-ant.html b/awsapi/docs/AmazonEC2/EC2-local-deploy-using-ant.html new file mode 100644 index 00000000000..ef0b3fc888b --- /dev/null +++ b/awsapi/docs/AmazonEC2/EC2-local-deploy-using-ant.html @@ -0,0 +1,74 @@ + + +Cloud.com's EC2 local deployment Guide + + +

Cloud.com's EC2 local deployment Guide

+8/30/2010 +8/25/2011 (updated) +

Table of Contents

+ +

+

1. Required 3rd Party Software

+1) Following software has to be installed in order to deploy and run cloud-bridge tool: +
+apache-tomcat-6.0.32
+axis2 1.5.1 (http://apache.imghat.com//ws/axis2/1_5/axis2-1.5-bin.zip)
+ant
+java
+mysql
+
+2) Set following environment variables: +
+ANT_HOME
+CATALINA_HOME
+export ANT_HOME
+export JAVA_HOME
+
+3) Go to CATALINA_HOME directory and excute “mkdir temp” (this directory is used for storing temporary axis files) +

+

2. Clone repository

+Clone cloud-bridge repository: +
+git clone git@github.com:alena11081/cloud-bridge.git
+
+

+

3. Build, deploy and run cloud-bridge with ant

+Deployment procedure using ant (build.xml and build-cloud-bridge.xml are config files), execute from cloned cloud-bridge directory:. +
+ 
+* ant clean - removes dist directory
+* ant clean-tomcat - cleans up $CATALINA_HOME/webapps/bridge directory
+* ant build-cloud-bridge compiles and places the resulting jars into cloud-bridge/dist:
+
+ls dist/
+cloud-auth-ec2.mar  cloud-auth-s3.mar  cloud-bridge.jar  cloud-ec2.aar  cloud-s3.aar
+
+
+* deploy-axis - copies and unwars cloud-bridge/lib/axis2.war to $CATALINA_HOME/webapps/bridge directory
+
+ant deploy-cloud-bridge copies files to $CATALINA_HOME/webapps/bridge tomcat directory:
+
+
+- copy cloud-bridge/dist/cloud-ec2.aar and  cloud-s3.aar to $CATALINA_HOME/webapps/bridge/WEB-INF/services
+- copy cloud-bridge/dist/cloud-auth-ec2.mar and cloud-auth-s3.mar to $CATALINA_HOME/webapps/bridge/WEB-INF/modules
+- copy all .mar files from cloud-bridge/modules to $CATALINA_HOME/webapps/bridge/WEB-INF/modules
+- copy cloud-bridge/dist/cloud-bridge.jar to $CATALINA_HOME/webapps/bridge/WEB-INF/lib
+- copy all .jar files from cloud-bridge/lib directory to $CATALINA_HOME/webapps/bridge/WEB-INF/lib
+- copy all .jar files from cloud-bridge/rampartlib directory to $CATALINA_HOME/webapps/bridge/WEB-INF/lib 
+- copy all files from cloud-bridge/conf directory to $CATALINA_HOME/webapps/bridge/WEB-INF/conf
+- copy cloud-bridge/resource/Axis2/axis2.xml to $CATALINA_HOME/webapps/bridge/WEB-INF/conf
+- copy cloud-bridge/web/web.xml to $CATALINA_HOME/webapps/bridge/WEB-INF
+- copy cloud-bridge/resource/AmazonEC2/crypto.properties and xes.keystore to $CATALINA_HOME/webapps/bridge/WEB-INF/classes/
+- remove $CATALINA_HOME/webapps/bridge/WEB-INF/lib/dom4j-1.6.1.jar
+
+
+ant deploydb - execute cloud-bridge/db/mysql/deploy-db-bridge.sh (for Unix). If it's a windows deployment, execute db/mysql/init_db.bat script
+5) Configure ec2-service.properties (see parameters descriptions in resource/AmazonEC2/docs/EC2-implementation-guide.html).
+6) To run application execute "./catalina.sh run" from $CATALINA_HOME/bin directory.
+
+
diff --git a/awsapi/docs/AmazonEC2/EC2-users-guide.html b/awsapi/docs/AmazonEC2/EC2-users-guide.html
new file mode 100644
index 00000000000..1177689fa17
--- /dev/null
+++ b/awsapi/docs/AmazonEC2/EC2-users-guide.html
@@ -0,0 +1,257 @@
+
+
+Cloud.com's EC2 API User's Guide
+
+
+

Cloud.com's EC2 API User's Guide

+4/17/2010 +

Table of Contents

+ +


+

Part 1. Cloud.com's Specific Implementation Details

+

1. User Registration

+To access Cloud.com's EC2 service via REST follow the instructions in Section 1.1. +To access Cloud.com's EC2 service via SOAP follow instructions in both Section 1.1 and 1.2 below. +

+

1.1 Setting Cloud.com API Keys

+The EC2 service needs to be given the user's Cloud.com API access and secret keys [2] so that it +can make Cloud.com API calls on the user's behalf. This is done by the following REST command. + +
+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2?Action=SetUserKeys&accesskey=<key>&secretkey=<key>
+
+SetUserKeys is an unauthorized REST call.
+A HTTP 200 result code is returned on success and a 401 on failure. +

+

1.2 Setting a User's X509 Certificate

+EC2 uses WS-Security [4] for authentication on SOAP access. WS-Security signs the entire SOAP request +using a public/private key pair. The user of Cloud.com's EC2 service must +generate a public/private key pair with the public key defined in an X509 +certificate. The private key is used by a SOAP client in generating +the WS-Security signature of a SOAP request. The matching public key is stored on +a server and is used to verify the signature on each request. +

+The following REST command must be used by a Cloud.com's EC2 service user to +load their certificate into the service. No access via the SOAP API is +possible until this step is performed. Also for this REST command to be +successful the instructions in Section 1.1 must be performed first. + +

+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2?Action=SetCertificate&AWSAccessKeyId=<Cloud.com API AccessKey>&cert=<pem encoded cert>
+
+SetCertificate is an authenticated REST call using the same authentication scheme as all other EC2 REST calls. +This means that the following standard EC2 REST paramters must also be part of the request: Signature, SignatureMethod, Version, +SignatureVersion, and Expires [3].
+A HTTP 200 result code is returned on success and a 404 on failure. +

+An example of a PEM encoded X509 Certificate is [5]: +

+-----BEGIN CERTIFICATE-----
+MIICdzCCAeCgAwIBAgIGAPCRHu3UMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNVBAYT
+AlVTMRMwEQYDVQQKEwpBbWF6b24uY29tMQwwCgYDVQQLEwNBV1MxITAfBgNVBAMT
+GEFXUyBMaW1pdGVkLUFzc3VyYW5jZSBDQTAeFw0xMDA2MjMxODE4MTZaFw0xMTA2
+MjMxODE4MTZaMFIxCzAJBgNVBAYTAlVTMRMwEQYDVQQKEwpBbWF6b24uY29tMRcw
+FQYDVQQLEw5BV1MtRGV2ZWxvcGVyczEVMBMGA1UEAxMMZWZieDQ0eXF1d3E2MIGf
+MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCw+RO1QV7t5EbluyAAD11SoZ4ats5t
+DBSta/QB3G9T0y3p2gURrYMDYVJ1BZmyel/DuMANx6UG6Vw+0o0SXOS3mH8Yu/lO
+OOH9WxWiXulGMIrpPCiUpnWMrWhIlHu8mqLLhBx+5k4I92plMfH97BySunbv9zaf
+ZRKXX3cXIYbUMwIDAQABo1cwVTAOBgNVHQ8BAf8EBAMCBaAwFgYDVR0lAQH/BAww
+CgYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUCzKwCQvocPYFki/9
+NORZFTsjcZ8wDQYJKoZIhvcNAQEFBQADgYEAXmIe6+XsNHYIiLGQO6dh8nvHHzDw
+3sltNa7z6BSdNr7WDxpJg9oFUcddQVca1LZsjsqx6dIc1WxQUjPE9oOfSYqQZuMD
+/GOpWyXMb/oJ2MLI1Vp1ABKhHoHUJmPOrIou4UbCifMeD7MFZkezkKDqqH3jQMjA
+4YDNkSWLnJ9xba8=
+-----END CERTIFICATE-----
+
+

+To remove a previously loaded certificate the user can simply execute +the following REST command. +

+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2?Action=DeleteCertificate&AWSAccessKeyId=<Cloud.com API AccessKey>
+where the same value for the 'AWSAccessKeyId' parameter as was used in a previous call to SetCertificate.
+
+DeleteCertificate is an authenticated REST call using the same authentication scheme (and having all the same +required parameters) as all other EC2 REST calls.
+A HTTP 200 result code is returned on success and a 404 on failure. +

+

2. Endpoints

+For SOAP access the endpoint is: +
http://<fqdn-or-ip>:<port>/bridge/services/AmazonEC2
+For REST access the endpoint is: +
http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2
+

+ +

3. Differences between Amazon's and Cloud.com's EC2 Implementations

+EC2's RegisterImage Function +

+This function maps to the Cloud.com's API "registerTemplate" function [2]. However the registerTemplate function +requires the following additional parameters that are not present in the RegisterImage function: +

+format - the format for the template. Possible values include QCOW2, RAW, and VHD.
+osTypeId - the ID of the OS Type that best represents the OS of this template.
+zoneId - the ID of the zone the template is to be hosted on.
+
+These parameters must be provided for a successful registerTemplate call and thus a RegsiterImage call. +To accomidate these values we have redefined the "architecture" parameter defined for RegisterImage. +The Amazon defined valid values are: "i386 | x86_64" and it is of type xsd:string. Neither of these +defined values has any meaning in the context of the Cloud.com API. + +The new definition of the architecture field is a three part value of the form: +"<format>:<zoneName>:<osTypeName>", where ":" is the field delimitor. A valid example +would be: "VHD:ZONE1:Centos 4.5". Cloud.com's EC2 code translates the "zoneName" value into a valid zoneId, +and the "osTypeName" value into a matching osTypeId. In addition, whereas the architecture field +is optional in Amazon's definition of RegisterImage, it is required in Cloud.com's modified version. +

+Another difference for the RegisterImage function concerns the use of the "imageLocation" parameter. +As defined by Amazon [3]: +

+imageLocation - a full path to your AMI manifest in Amazon S3 storage.
+
+As defined for Cloud.com's EC2 implementation: +
+imageLocation - is a URL of where the template is hosted. Possible URL include http:// and https://
+
+

+EC2's DescribeInstances Function +

+Only the following list of filters are currently supported: +

+availability-zone
+hypervisor
+image-id
+instance-id
+instance-type
+instance-state-code
+instance-state-name
+ip-address	
+owner-id
+root-device-name	
+
+

+EC2's DescribeVolumes Function +

+Only the following list of filters are currently supported: +

+attachment.attach-time
+attachment.device
+attachment.instance-id
+availability-zone
+create-time
+size
+snapshot-id
+status
+volume-id	
+
+

+EC2's DescribeSnapshots Function +

+Only the following list of filters are currently supported: +

+owner-alias
+owner-id (here its the CloudStack API key)
+snapshot-id
+start-time
+status
+volume-id
+volume-size
+
+

+

+EC2's DescribeSecurityGroups Function +

+Only the following list of filters are currently supported: +

+description
+group-id
+group-name
+ip-permission.cidr
+ip-permission.from-port
+ip-permission.to-port
+ip-permission.protocol
+owner-id
+
+

+

4. Miscellaneous

+The EC2 service provides a Cloud.com extension to obtain the release version of the EC2 software. + +
+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonEC2?Action=CloudEC2Version
+
+CloudEC2Version is an unauthorized REST call.
+An example of a valid response from this function is: +
+<CloudEC2Version>1.01</CloudEC2Version>
+
+


+

Part 2. Generic EC2 Details

+

List of EC2 Functions Implemented

+Refer to the Amazon EC2 documentation [3] for a description of each function. +Also see Part1, section 3 above, for differences between Amazon's and Cloud.com's EC2 implementations. +
+AllocateAddress
+AssociateAddress
+AttachVolume 
+AuthorizeSecurityGroupIngress
+CreateImage 
+CreateSecurityGroup
+CreateSnapshot
+CreateVolume
+DeleteSecurityGroup
+DeleteSnapshot  
+DeleteVolume   
+DeregisterImage   
+DescribeAvailabilityZones  
+DescribeImageAttribute   
+DescribeImages   
+DescribeInstanceAttribute  
+DescribeInstances  
+DescribeSecurityGroups
+DescribeSnapshots   
+DescribeVolumes  
+DetachVolume
+DisassociateAddress  
+ModifyImageAttribute  
+RebootInstances   
+ReleaseAddress
+RegisterImage  
+RevokeSecurityGroupIngress
+ResetImageAttribute   
+RunInstances  
+StartInstances  
+StopInstances  
+TerminateInstances  
+
+

+

Supported WSDL Version

+http://ec2.amazonaws.com/doc/2010-08-31/
+Amazon EC2 Command Line Tool used for testing was version 1.3-57419. +

+
+

References

+
    +
  1. Public-key cryptograph
  2. +
  3. Cloud.com's Developer API
  4. +
  5. Amazon's EC2 API
  6. +
  7. WS-Security
  8. +
  9. X.509 Certificates
  10. +
+ + diff --git a/awsapi/docs/AmazonEC2/wsdl2java-command-line.txt b/awsapi/docs/AmazonEC2/wsdl2java-command-line.txt new file mode 100644 index 00000000000..5aea3dd5feb --- /dev/null +++ b/awsapi/docs/AmazonEC2/wsdl2java-command-line.txt @@ -0,0 +1,2 @@ +To generate the Java AXIS2 classes from the Amazon EC2 wsdl use the following command line: +C:\axis2-1.5.1\bin>wsdl2java.bat -ss -sd -ssi -g -p com.amazon.ec2 -ns2p "http://ec2.amazonaws.com/doc/2010-08-31/"=com.amazon.ec2 -uri ec2.wsdl \ No newline at end of file diff --git a/awsapi/docs/AmazonS3/S3-users-guide.html b/awsapi/docs/AmazonS3/S3-users-guide.html new file mode 100644 index 00000000000..124f89729af --- /dev/null +++ b/awsapi/docs/AmazonS3/S3-users-guide.html @@ -0,0 +1,102 @@ + + +Cloud.com's S3 API User's Guide + + +

Cloud.com's S3 API User's Guide

+3/4/2011 +

Table of Contents

+ +


+

Part 1. Cloud.com's Specific Implementation Details

+

User Registration

+The S3 service uses the user's Cloud.com API access and secret keys [1] to implement both +the REST and SOAP authentication algorithms. This is done by re-using an EC2 provided REST command. Once +this URL is invoked the user has registered for both the S3 service and the EC2 REST service. +
+http://<fqdn-or-ip>:<port>/bridge/rest/AmazonS3?Action=SetUserKeys&accesskey=<key>&secretkey=<key>
+
+SetUserKeys is an unauthorized REST call.
+A HTTP 200 result code is returned on success and a 401 on failure. +

+

+

Endpoints

+For SOAP access the endpoint is: +
http://<fqdn-or-ip>:<port>/bridge/services/AmazonS3
+ +For the SOAP PutObject function with a DIME attachment [3]: +
http://<fqdn-or-ip>:<port>/bridge/dime/AmazonS3
+ +For REST access the endpoint is: +
http://<fqdn-or-ip>:<port>/bridge/rest/AmazonS3
+

+ +

Part 2. Generic S3 Details

+

List of S3 Functions Implemented

+Refer to the Amazon S3 documentation [2] for a description of each function. +Also see Part1, section 3 above, for a list of unsupported S3 features. +
+REST calls:
+GET Service
+DELETE Bucket
+GET Bucket
+GET Bucket acl
+GET Bucket versioning
+PUT Bucket
+PUT Bucket acl
+PUT Bucket versioning
+List Multipart Uploads
+DELETE Object
+GET Object
+GET Object acl
+HEAD Object
+POST Object
+PUT Object
+PUT Object (Copy)
+Initiate Multipart Upload
+Upload Part
+Complete Multipart Upload
+Abort Multipart Upload
+List Parts
+
+SOAP calls:
+ListAllMyBuckets
+CreateBucket
+DeleteBucket
+ListBucket
+GetBucketAccessControlPolicy
+SetBucketAccessControlPolicy
+PutObjectInline
+PutObject
+CopyObject
+GetObject
+GetObjectExtended
+DeleteObject
+GetObjectAccessControlPolicy
+SetObjectAccessControlPolicy
+
+

+

Supported WSDL Version

+http://s3.amazonaws.com/doc/2006-03-01/
+

+
+

References

+
    +
  1. Cloud.com's Developer API
  2. +
  3. Amazon's S3 API
  4. +
  5. DIME
  6. +
+ + \ No newline at end of file diff --git a/awsapi/docs/AmazonS3/notes.txt b/awsapi/docs/AmazonS3/notes.txt new file mode 100644 index 00000000000..ce0f70fc851 --- /dev/null +++ b/awsapi/docs/AmazonS3/notes.txt @@ -0,0 +1,10 @@ +Example of headers for a rest call of copyObject + +Authorization: AWS Mark:djdjdjdjdjdjdjdj\n +Host: Henry2.s3.amazonaws.com\n +x-amz-copy-source: /Henry1/test1\n +x-amz-metadata-directive: REPLACE\n +x-amz-meta-hight: 55 feet\n +x-amz-meta-width: 13 yards\n +x-amz-meta-weight: 4 tons\n +x-amz-acl: public-read\n \ No newline at end of file diff --git a/awsapi/install.sh b/awsapi/install.sh new file mode 100644 index 00000000000..fc0aa0265b0 --- /dev/null +++ b/awsapi/install.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# install.sh -- deploys cloud-bridge and the corresponding DB + +#set -x +set -e + +#### deploying cloud-bridge +echo "Installing cloud-bridge..." +sh deploy-cloud-bridge.sh -d "$CATALINA_HOME" +echo "Deploying database..." +cd db && sh deploy-db-bridge.sh + +#change port to 8090 in server.xml +#change ec2-service.properties file + +exit 0 diff --git a/awsapi/modules/rahas-1.5.mar b/awsapi/modules/rahas-1.5.mar new file mode 100644 index 0000000000000000000000000000000000000000..5841e60e3f7e3ebc1a8ae1e1db85a54616e39df4 GIT binary patch literal 3039 zcmb7G2{@E%8=gb9u^y%fP1cO&3@T)cMvNGwp)qKbWuh_6U}WE>zXd5}35RMBHI*3I z!Wktphe_6mB1jgl&J)+){$l>ew|f67ZYVlg8hWFjGN+;XHK8CTOinNM%+6N(zaxCueWJ1Cke( zOx}gs7$Mb!nqJwl+7)P3I~W=lsvZ{_CqV^a@1_uvKIVt%#sO!C{9=Ysr8F^Rlafa zt)_&81#IRe7q;^4^sXG&uvmS8vBpt9TkEskm$b9zrJ7w#HViQ(E;e*zG#D6Uv(!yr zlckjqQwDwEK62d_Q95i8-n%6x{4ri^N~9Jt@v&CgI-XL=YZ^{siJ&X%P$He|`%|{U zv0Fx-p0cc@ZLOyZ!7k39)tG8W9{~QLxlrgG`7n{yDBgMWU7;ltt;dh4X;73Xk6^O1 z#dSXCu#Yh6tvndBAgO+I;;=Ky=@Bqo0Q<&>vn z1P?ps-JU`bzc+ishDJOshVa@6!v2-HZ%k4x5cIfk3z>$o*h8DPh~6%qo*j+8L5Fm> zCe{ZQ{E>s53hQ!-$>Ib%Fw)yesSTGItL?D9oyGsw4sIuKe&3pUeX`Q}WMY7qh8xMv z!yBg&;O0wm3n2d=Jmg>D1Khmb0>7~c0$5cBhKxAl{#U#JfS3dTp!pLlB%&|3yIGF? z#9m#AsI+CEPWLUdXCGWeZ1%Put&NctdhYht1&;LkUDO<}f-{uiFviWScB;19Qu6C4 zMwq!z#!=PDbY~{fE`1*3PmQkW*=(;Vbn`9P%*w}kR3R0QWRIhVu?7d;>@KNTF41Vp zJ$AD96=}b?iOZS#h^4d$r^tnKzi!XeqKav7x|dN;!QH%4$w|0J?b-62 zYucPk44Y`?{$&yhI?(+A%)Z$(a@=Zyk#;B^bIda@uv3Z=p+@r*T4>QI;!{;t?it1T zo_Fax82M6$f-!mulj^O`p}}a;S&3mw?}%~==DGKh7Xx_|!;@7ew+5F77Xu(3${u{F zeftO}tko=y$q;Y8k7|yDa~ibPZBC_eck&G}SO;+7DG-nNb=JxF>n{^<$c>4IAM_jB zgE~-BwB5r1A5nY@@M&J%X_?Nm0#k|Xo!M?cn=BuZ}$ziU?3ub)6H-g`CBJDDmJ7*9{8s5ro?ZDRoNz5G=3S6#oY$ zEljS+d44l!hdxSv=b(^L38|pl8HBS2Rja?+gqKh~OHqu~P4N-ggkmYpJZSAD&7&s! zCt?EUh8sR&hEgREhO)U^KAm}r42pKCfxcH6xuJF0E6HZOIRSlbR`3p-=`&+5m7IpNl!*YmUcZaGDi71qIIc2g8d}LF4h9Lw@wh!VbK=U5TOHFzf zVIgIamb|nAAD@nWyWLG;-O`nD(b2K{ES4kCBD2Qu^DQ+mZjtg@{(Gc#2zamX?Xrns z;f@8>8NKAH(vw8X=a4eL=ZnQT6hEqL^ze-WW=H1X!B*Of$CCo*ZbG8P;>ZW_{36kc&8x8k$3Si_VMlFr~BSXDvSw}(|0xQn1lb` zvc$J~!F@3zw>URUxJCrOGIW3Pwjc!%Nw@&=aa^D%6AnD7C4qRgnB`s@N#fyCuegMA ze)~jtp|iEZTe1N%!{L8f9>%iIm5qP0usAJHfWSA9Cgd*G6gAeoHUxu}KcSrsIyta< z*Sfq%Okk*xUN`WAFh7~`~`2}r&0g_ literal 0 HcmV?d00001 diff --git a/awsapi/modules/rampart-1.5.mar b/awsapi/modules/rampart-1.5.mar new file mode 100644 index 0000000000000000000000000000000000000000..8581c5e5e061a6e430b281f86abbb2065e96ebf0 GIT binary patch literal 2947 zcmb7G2UJtp7NvLT0}57pC`kZCzkt#WB-DfeQY4Z{htMQc0i_Ef0i{Hm6cy>{NE47= zA{L4wMFI*ULR7jDCa4U|;QXcMt#|KR>z=*eS@)fH_cnskGqBNYguBHNm2VF}23G2< zuZ>Wb(>2fm8U09Op>d<8_1Z6DX#QDPkw-L^OiM%K!c0TM zx4ke|ceIZS28eTY=`(%m^a{)$6ko5gTvev=ayNryf?Sf1_uXc@;X;YgUOEfjYR~6u z#D|zON*32h*PglnIh0PWOzTY&0=&hOi;9(5waNsLRhS}F|C>wDhzFhb>f};TwV@*U zG1i3g#|or+PxkgAuz|z9wILQUo+su(l1^$Qp@T>JYUxHS#`d$o7vv*+PY;J`_k$#9 zv7>;IQ!qA3%BQ;fXfF_%GSjx?&XFw<{8qx@6S%LC%O0@0`q2r^YOZPun>BAri0X$p zs8^{)X)DRR8>cI`sCSW?F|mdOnMWSvIK1B=EDmYy3|MY@Wn(N-hnR~56i{NNI@E|@@`J~3O-l5F=h#0< zCVc4%rdYp;^E#&s@L!N?B0WsLl?n*dpAVT2EW_ywx=ZP}(j%Y2^@yo3h7tDCu}25W zD-^2BE(4d%96)Z-1x61pSKSPum*5JRPRYA^MNDH=)=oE4(BsBehRp`q+2CCNXb{wS zjN9LBzB5^5XR^DeJrIRO**Rcpc4WhtXD!o$zC+B`@^) zrk6zW(pXP4h1zl$vp;G|2gQP7r_?cK(bm$y+YH5cw=tZgw&~gp@nb}bgi19+eDw2$ z*HZSDX--K>rKP%-F#qb2%k+@&F|m@HC(n|YRO>G79an9T>-!=W!?Ff7)=GJjLYPY9 zh6rnlN@+2z6trS*Tu&ji3k^{qs>c2~P3Zh3@3v(i;MU>bD%4Hi#)qqeyQ8@Uk34g4 zLO0ikqsTqP1^ouvat*(lo3H7A+U5Y3~ZjB>}-+Fl`Qa;k{{+Zw7-Je z2|3+h7NNxEcd;j^A0iblf^hBNQDU12&C7y}D?cqKEltGlcYygT1;}8qAy!ETM^}2^ zE@^Pi_lrG`ZB6dR&v6dy_L!-7>8g_+^F|VFmXipuQjE@ESxJ#fC85x@@`n+bd+7@i z7nAPAgbtkxbjj|nxU?{8SIoC4c%`dWLn(8`uH}Tg3UfCyzcsNWs}dj3)`cuV@QZh; zN1R`T_&H9BivQ_iraPTIY#ZPL5F$Fo^&)1~EYY85ERtYFF@H2(zf&NdZ~}afkp4hu z@7b%Yu56Q-VwoqBchdXoJD-5+`%uIupVy(_|`V;c@1T zPG{bbtJ>E!9*LbtgA(Axp5aFRxh&Np1R_dV-k1G-4DalrwwT3kYb&c4+7KDla>s%w z9<^O(+m*Z)z?q8HIg1GOvml)z6J@L>)0f;0F54~^CbDyy$ z9OM^3ml0a@(NYs>>C;|Vk}o{HxMt}fUK|%SJ!1F1;Lm~TVA(@eiWSoZd)Dx&wB8LJ zT80@_oJU%kG8SjTj-RYFn8=d%5cE}iOwrEAXAa*qbWVQ{c-U_-Asa+EHYiwQPxAQ~ zsT?mDBJ_Sa^PR6D+PBf?nKYqHOV1o)8|;wx>=WSq-y^sC&$%XZF$6`Fa9Wh?;^M*vIoSv+%zA@wuf~+qKC61eLc1W3$ z^}69;1qAqTC7p;UJEQ#oH=`)MCVg>vZw{%OqGGA33NN0|p**AO;eSQR@vdtQYo54_ zsLN>{3Tw{c1s;41gTjEcosTY2jRY+nKmC7OA!_y1;HLSYzAg{Xwi%_Z7k_8?w}<%#|Hja;ongz-Y!U2~tqqO)9vhX9(QPZi^@rkZ*1r?Hp?O Thu, 31 Jan 2011 08:33:25 -0700 + +cloud (0.9.0) unstable; urgency=low + + * Initial entry + + -- Cloud Thu, 13 Jan 2011 10:05:11 -0700 + diff --git a/awsapi/packages/config/debian/cloud-bridge.install b/awsapi/packages/config/debian/cloud-bridge.install new file mode 100644 index 00000000000..b3a4ceba50c --- /dev/null +++ b/awsapi/packages/config/debian/cloud-bridge.install @@ -0,0 +1,4 @@ +/usr/share/cloud/bridge/* +/usr/share/cloud/setup/bridge/* +/usr/bin/* +/etc/init.d/* diff --git a/awsapi/packages/config/debian/cloud-bridge.postinst b/awsapi/packages/config/debian/cloud-bridge.postinst new file mode 100644 index 00000000000..5f04b275bba --- /dev/null +++ b/awsapi/packages/config/debian/cloud-bridge.postinst @@ -0,0 +1,23 @@ +#!/bin/sh -e + +case "$1" in + configure) + if ! id cloud > /dev/null 2>&1 ; then + adduser --system --home /usr/share/cloud --no-create-home \ + --group --disabled-password --shell /bin/sh cloud + fi + + for i in /usr/share/cloud/bridge + do + chmod 0775 $i + chown -R cloud.cloud $i + done + + if [ "$2" = "" ] ; then # no recently configured version, this is a first install + /usr/sbin/update-rc.d cloud-bridge defaults || true + fi + + ;; +esac + +#DEBHELPER# diff --git a/awsapi/packages/config/debian/control b/awsapi/packages/config/debian/control new file mode 100644 index 00000000000..0eba8a72ca7 --- /dev/null +++ b/awsapi/packages/config/debian/control @@ -0,0 +1,13 @@ +Source: cloud +Section: libs +Priority: extra +Maintainer: Cloud +Build-Depends: debhelper (>= 7), openjdk-6-jdk, tomcat6 + +Package: cloud-bridge +Provides: cloud-bridge +Conflicts: cloud-bridge +Replaces: cloud-bridge +Architecture: any +Depends: openjdk-6-jre +Description: Cloud.com Bridge diff --git a/awsapi/packages/config/debian/rules b/awsapi/packages/config/debian/rules new file mode 100644 index 00000000000..dfac860e920 --- /dev/null +++ b/awsapi/packages/config/debian/rules @@ -0,0 +1,119 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. +# +# Modified to make a template file for a multi-binary package with separated +# build-arch and build-indep targets by Bill Allombert 2001 + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + + + + + + +configure: configure-stamp +configure-stamp: + dh_testdir + (cd ../..; ./waf configure --prefix=/usr --libdir=/usr/lib --bindir=/usr/bin --javadir=/usr/share/java --sharedstatedir=/var/lib --localstatedir=/var --sysconfdir=/etc --mandir=/usr/share/man --libexecdir=/usr/bin) + (cd ../..; ./waf showconfig) + + +#Architecture +# build: build-arch build-indep +build: build-arch + +build-arch: build-arch-stamp +build-arch-stamp: configure-stamp + + +# build-indep: build-indep-stamp +# build-indep-stamp: configure-stamp +# +# # Add here commands to compile the indep part of the package. +# #$(MAKE) doc +# touch $@ +# +clean: + dh_testdir + dh_testroot + (cd ../..; ./waf distclean) + dh_clean + +install: install-arch +# install: install-indep install-arch +# install-indep: +# dh_testdir +# dh_testroot +# dh_prep -i +# dh_installdirs -i +# +# # Add here commands to install the indep part of the package into +# # debian/-doc. +# #INSTALLDOC# +# +# dh_install -i + +install-arch: + dh_testdir + dh_testroot + dh_prep -s + dh_installdirs -s + (cd ../..; ant deploy-debian-install) + chmod 755 debian/tmp/etc/init.d/cloud-bridge + chmod 755 debian/tmp/usr/bin/cloud-setup-bridge + chmod 755 debian/tmp/usr/bin/cloud-bridge-register + chmod 755 debian/tmp/usr/bin/cloud-setup-bridge-db + dh_install -s +# Must not depend on anything. This is to be called by +# binary-arch/binary-indep +# in another 'make' thread. +binary-common: + dh_testdir + dh_testroot +# dh_installchangelogs +# dh_installdocs -A README.html +# dh_installexamples +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo +# dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl + dh_makeshlibs + dh_installdeb +# dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb +# Build architecture independant packages using the common target. +# binary-indep: build-indep install-indep +# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common + +# Build architecture dependant packages using the common target. +binary-arch: build-arch install-arch + $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common + +# binary: binary-arch binary-indep +binary: binary-arch +# .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure +.PHONY: build clean binary-arch binary install install-arch configure diff --git a/awsapi/packages/config/rpm/cloudbridge.spec b/awsapi/packages/config/rpm/cloudbridge.spec new file mode 100644 index 00000000000..42b7d4f7521 --- /dev/null +++ b/awsapi/packages/config/rpm/cloudbridge.spec @@ -0,0 +1,81 @@ +%define __os_install_post %{nil} +%global debug_package %{nil} + +%define _rel 1 + +Name: cloud-bridge +Summary: CloudStack CloudBridge +Version: %{_ver} +#http://fedoraproject.org/wiki/PackageNamingGuidelines#Pre-Release_packages +%if "%{?_prerelease}" != "" +Release: 0.%{_build_number}%{_prerelease} +%else +Release: %{_rel} +%endif +License: GPLv3+ with exceptions or CSL 1.1 +Vendor: Citrix Systems, Inc. +Packager: Citrix Systems, Inc. +Source0: cloud-bridge-%{_ver}.tar.bz2 +Group: System Environment/Libraries +Requires: java >= 1.6.0 +Requires: tomcat6 +Obsoletes: cloud-bridge < %{version}-%{release} +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +%description +This is the CloudStack CloudBridge + +%prep + +%setup -q -n %{name}-%{_ver} + +%build + +%define _localstatedir /var +%define _sharedstatedir /usr/share +./waf configure --prefix=%{_prefix} --libdir=%{_libdir} --bindir=%{_bindir} --javadir=%{_javadir} --sharedstatedir=%{_sharedstatedir} --localstatedir=%{_localstatedir} --sysconfdir=%{_sysconfdir} --mandir=%{_mandir} --docdir=%{_docdir}/%{name}-%{version} --fast --package-version=%{_ver} + +%install +[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} +ant deploy-rpm-install -Dversion=%{version} +mv ../cloud-bridge-%{_ver}-1 ${RPM_BUILD_ROOT} +mkdir $RPM_BUILD_ROOT/usr/share/cloud/bridge/logs +mkdir $RPM_BUILD_ROOT/usr/share/cloud/bridge/work +mkdir $RPM_BUILD_ROOT/usr/share/cloud/bridge/temp + +%clean + +#[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} + + +%preun +/sbin/service cloud-bridge stop || true +if [ "$1" == "0" ] ; then + /sbin/chkconfig --del cloud-bridge > /dev/null 2>&1 || true + /sbin/service cloud-bridge stop > /dev/null 2>&1 || true +fi + +%pre +id cloud > /dev/null 2>&1 || /usr/sbin/useradd -M -c "CloudStack CloudBridge unprivileged user" \ + -r -s /bin/sh -d %{_sharedstatedir}/cloud cloud|| true +# user harcoded here + +%post +if [ "$1" == "1" ] ; then + /sbin/chkconfig --add cloud-bridge > /dev/null 2>&1 || true + /sbin/chkconfig --level 345 cloud-bridge on > /dev/null 2>&1 || true +fi + +%files +%defattr(0644,cloud,cloud,0755) +/usr/share/cloud/bridge/conf/* +/usr/share/cloud/bridge/lib/* +/usr/share/cloud/bridge/webapps/* +%dir %attr(0775,cloud,cloud) /usr/share/cloud/bridge/logs +%dir %attr(0775,cloud,cloud) /usr/share/cloud/bridge/work +%dir %attr(0775,cloud,cloud) /usr/share/cloud/bridge/temp +%attr(0644,root,root) /usr/share/cloud/setup/bridge/db/* +%attr(0755,root,root) /etc/init.d/cloud-bridge +%attr(0755,root,root) /usr/bin/cloud-bridge-register +%attr(0755,root,root) /usr/bin/cloud-setup-bridge +%attr(0755,root,root) /usr/bin/cloud-setup-bridge-db diff --git a/awsapi/release-notes.txt b/awsapi/release-notes.txt new file mode 100644 index 00000000000..04250ec0b42 --- /dev/null +++ b/awsapi/release-notes.txt @@ -0,0 +1,23 @@ +1.0.2.RC6 +========= + +* ec2-allocate-address and ec2-run-instances should now work with CloudStack advanced network mode. +* findNetwork improved and now used with ec2-allocate-address. +* Support for string based id's (UUIDs) for all objects. Prior to this, CB used Long's to store objectIds returned from CloudStack. + +1.0.2.RC5 +========= + +* Fixed ec2-register/registerTemplate calls + +1.0.2.RC4 +========= + +* Bug 14037 CloudBridge deployment would overwrite files in /usr/share/cloud/bridge/conf, is now fixed + +1.0.2.RC3 +========= + +* Bug 14015 When using cloudStackApi, we must be sure to reset access/secret keys on each call in e +* Better error error checking for bad json responses (empty lists) from CloudStack... +* Bug 13400: CloudBridge didn't honor free-form end-points (instead expecting hostnames). This change allows for free form end-points. diff --git a/awsapi/resource/AmazonEC2/AmazonEC2.wsdl b/awsapi/resource/AmazonEC2/AmazonEC2.wsdl new file mode 100644 index 00000000000..c08108d8410 --- /dev/null +++ b/awsapi/resource/AmazonEC2/AmazonEC2.wsdl @@ -0,0 +1,4916 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/awsapi/resource/AmazonEC2/crypto.properties b/awsapi/resource/AmazonEC2/crypto.properties new file mode 100644 index 00000000000..38589f09004 --- /dev/null +++ b/awsapi/resource/AmazonEC2/crypto.properties @@ -0,0 +1,6 @@ +org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin +org.apache.ws.security.crypto.merlin.keystore.type=jks +org.apache.ws.security.crypto.merlin.keystore.password=apache +org.apache.ws.security.crypto.merlin.keystore.alias=xeskey +org.apache.ws.security.crypto.merlin.alias.password=apache +org.apache.ws.security.crypto.merlin.file=xes.keystore diff --git a/awsapi/resource/AmazonEC2/services.xml b/awsapi/resource/AmazonEC2/services.xml new file mode 100644 index 00000000000..c7d495716ab --- /dev/null +++ b/awsapi/resource/AmazonEC2/services.xml @@ -0,0 +1,377 @@ + + + + + + + + + com.cloud.bridge.service.EC2SoapService + true + true + + ModifyInstanceAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ModifyInstanceAttributeResponse + + + CreateVolume + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateVolumeResponse + + + StopInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/StopInstancesResponse + + + ConfirmProductInstance + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ConfirmProductInstanceResponse + + + RequestSpotInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/RequestSpotInstancesResponse + + + DeleteSecurityGroup + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteSecurityGroupResponse + + + CreateSpotDatafeedSubscription + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateSpotDatafeedSubscriptionResponse + + + RegisterImage + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/RegisterImageResponse + + + DeleteKeyPair + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteKeyPairResponse + + + DeleteSubnet + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteSubnetResponse + + + ResetSnapshotAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ResetSnapshotAttributeResponse + + + DeleteCustomerGateway + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteCustomerGatewayResponse + + + DeleteVolume + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteVolumeResponse + + + StartInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/StartInstancesResponse + + + DescribeAddresses + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeAddressesResponse + + + CreateSubnet + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateSubnetResponse + + + PurchaseReservedInstancesOffering + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/PurchaseReservedInstancesOfferingResponse + + + DescribeDhcpOptions + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeDhcpOptionsResponse + + + CreateVpnConnection + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateVpnConnectionResponse + + + DescribeImageAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeImageAttributeResponse + + + DescribeInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeInstancesResponse + + + DeleteDhcpOptions + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteDhcpOptionsResponse + + + CreateSnapshot + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateSnapshotResponse + + + CreateDhcpOptions + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateDhcpOptionsResponse + + + DescribeSpotPriceHistory + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSpotPriceHistoryResponse + + + DescribePlacementGroups + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribePlacementGroupsResponse + + + DescribeLicenses + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeLicensesResponse + + + DescribeSpotInstanceRequests + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSpotInstanceRequestsResponse + + + TerminateInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/TerminateInstancesResponse + + + RevokeSecurityGroupIngress + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/RevokeSecurityGroupIngressResponse + + + ImportKeyPair + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ImportKeyPairResponse + + + CreatePlacementGroup + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreatePlacementGroupResponse + + + AllocateAddress + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/AllocateAddressResponse + + + DescribeAvailabilityZones + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeAvailabilityZonesResponse + + + DeleteVpnGateway + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteVpnGatewayResponse + + + DeleteVpc + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteVpcResponse + + + DeleteSnapshot + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteSnapshotResponse + + + DescribeSubnets + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSubnetsResponse + + + CreateVpc + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateVpcResponse + + + ActivateLicense + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ActivateLicenseResponse + + + DescribeSnapshotAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSnapshotAttributeResponse + + + DescribeTags + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeTagsResponse + + + DescribeVpnConnections + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeVpnConnectionsResponse + + + AuthorizeSecurityGroupIngress + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/AuthorizeSecurityGroupIngressResponse + + + DescribeReservedInstancesOfferings + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeReservedInstancesOfferingsResponse + + + DescribeVpcs + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeVpcsResponse + + + DeleteTags + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteTagsResponse + + + UnmonitorInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/UnmonitorInstancesResponse + + + RebootInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/RebootInstancesResponse + + + AssociateDhcpOptions + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/AssociateDhcpOptionsResponse + + + DescribeInstanceAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeInstanceAttributeResponse + + + DeletePlacementGroup + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeletePlacementGroupResponse + + + CreateKeyPair + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateKeyPairResponse + + + BundleInstance + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/BundleInstanceResponse + + + AttachVpnGateway + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/AttachVpnGatewayResponse + + + DescribeKeyPairs + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeKeyPairsResponse + + + ResetImageAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ResetImageAttributeResponse + + + CreateTags + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateTagsResponse + + + DescribeVolumes + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeVolumesResponse + + + DetachVpnGateway + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DetachVpnGatewayResponse + + + CancelBundleTask + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CancelBundleTaskResponse + + + GetConsoleOutput + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/GetConsoleOutputResponse + + + DetachVolume + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DetachVolumeResponse + + + RunInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/RunInstancesResponse + + + ResetInstanceAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ResetInstanceAttributeResponse + + + DescribeCustomerGateways + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeCustomerGatewaysResponse + + + AssociateAddress + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/AssociateAddressResponse + + + ReleaseAddress + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ReleaseAddressResponse + + + DeleteSpotDatafeedSubscription + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteSpotDatafeedSubscriptionResponse + + + DescribeSecurityGroups + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSecurityGroupsResponse + + + CreateImage + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateImageResponse + + + GetPasswordData + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/GetPasswordDataResponse + + + DescribeBundleTasks + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeBundleTasksResponse + + + AttachVolume + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/AttachVolumeResponse + + + DisassociateAddress + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DisassociateAddressResponse + + + DeregisterImage + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeregisterImageResponse + + + DeleteVpnConnection + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeleteVpnConnectionResponse + + + DescribeImages + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeImagesResponse + + + CreateSecurityGroup + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateSecurityGroupResponse + + + CreateVpnGateway + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateVpnGatewayResponse + + + ModifySnapshotAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ModifySnapshotAttributeResponse + + + CancelSpotInstanceRequests + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CancelSpotInstanceRequestsResponse + + + DeactivateLicense + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DeactivateLicenseResponse + + + MonitorInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/MonitorInstancesResponse + + + ModifyImageAttribute + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/ModifyImageAttributeResponse + + + DescribeSnapshots + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSnapshotsResponse + + + CreateCustomerGateway + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/CreateCustomerGatewayResponse + + + DescribeSpotDatafeedSubscription + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeSpotDatafeedSubscriptionResponse + + + DescribeReservedInstances + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeReservedInstancesResponse + + + DescribeRegions + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeRegionsResponse + + + DescribeVpnGateways + http://ec2.amazonaws.com/doc/2010-11-15/AmazonEC2PortType/DescribeVpnGatewaysResponse + + + diff --git a/awsapi/resource/AmazonEC2/xes.keystore b/awsapi/resource/AmazonEC2/xes.keystore new file mode 100644 index 0000000000000000000000000000000000000000..aa7ae7720571289e67618bafd6f01f26e23a8b01 GIT binary patch literal 2032 zcmciDYdloz9tZF>vu4KKWQO=KCbBDb$r_hI%Hfbp;m9RzNB4v9Pqt@FBz?QNe|L&P4fq3=1f0G#pAT zd~NMU{?8+xnM-;SDy~iAllg+2hR(`LZHb>>&l?-i?_`VEO}7=nk+E_8iM?i{YBjU- z)7d%7T(s;T#_DM!B)Oa-?tHc+w>LEDS>UxVWrKq-=ETGZv40MhE9smX+JSc%xZ+;N zC2PTaOr(_-X8Fh47#QyC?r;rjGxwcDs;8R(Tf=K$na@Xm_^3JAzp1+Wb!ASc)(gL2 zTdIe^GW3&o^l5~tpaSST*nwkU10K~$KcV(!$=?1IRhHq@kmxC{qm>m#2VKmUYo5?`MBeRR2?%eW|d z@IAO%f7hVD46z61zKg#O{p{H4H!=*=+zB z3mv-&9XmsDu$n6%90rFY?6$ghK{6 zu~PQFtU$E`^biW;ID}V}AwUpOSC3!}=^H@qYtdMj@HPJJ^NG#>c148y9E?o?pxCqU z*jOOGj3mGf03Jp&^r^7e%hNM1v^n{(qAb~(0@6|?zmBES??_tlUOe#XO#f5DohMl> zxI!mhot|ky=uBH`YcBkV!CY41G>}E`!+~878-I6We z4<4LIx0+2h`8ng&JZjJ2Z^NsHV#HBV&6{1+WZh%Q`+?#((n6fl*6pXC1ES3rMBTW5!b zw3S-!y}ikgM_ zH@1ujMg*eB7GaIrdW4)dcz>sj?DU{iI-`!Tg_n z^A)C-AAWpfLO)DA@pih&uf8*!#x2m)z%!b`P5!9-W#WSuXl2{@UgV+1qvmeP+`B=k z&9`}7xb7fFC%q^0@%gq%>HfpuXHv1pwpRMG#H+fdZg)0-xr&eFZYQ=ww^QwsX1pOxi7K%Fm9zRWO%71`4x0B;RW8IF$+i6TcT3 A&j0`b literal 0 HcmV?d00001 diff --git a/awsapi/resource/Axis2/axis2.xml b/awsapi/resource/Axis2/axis2.xml new file mode 100644 index 00000000000..f94540008b7 --- /dev/null +++ b/awsapi/resource/Axis2/axis2.xml @@ -0,0 +1,561 @@ + + + + + + + true + false + false + false + + + + + + + + + + + + + + + + 30000 + + + + false + + + + + + false + + admin + axis2 + + + + + + + + + + + + + + + + + + + + + + + + + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8080 + + + + + + + + + + + + + > + + + + + + + + + + + + + + HTTP/1.1 + chunked + + + + + + + HTTP/1.1 + chunked + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + + + + multicast + + + apache.axis2.domain + + + apache.axis2.application.domain + + + true + + + 10 + + + 228.0.0.4 + + + 45564 + + + 500 + + + 3000 + + + 127.0.0.1 + + + 127.0.0.1 + + + 4000 + + + true + + + true + + + + + 127.0.0.1 + 4000 + + + 127.0.0.1 + 4001 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/awsapi/scripts/run.bat b/awsapi/scripts/run.bat new file mode 100644 index 00000000000..830f5c8260f --- /dev/null +++ b/awsapi/scripts/run.bat @@ -0,0 +1 @@ +java -cp cloud-tool.jar;./lib/XmlSchema-1.4.3.jar;./lib/antlr-2.7.6.jar;./lib/apache-log4j-extras-1.0.jar;./lib/axiom-api-1.2.8.jar;./lib/axiom-impl-1.2.8.jar;./lib/axis2-adb-1.5.1.jar;./lib/axis2-ant-plugin-1.5.1.jar;./lib/axis2-jaxbri-1.5.1.jar;./lib/axis2-jaxws-1.5.1.jar;./lib/axis2-jibx-1.5.1.jar;./lib/axis2-json-1.5.1.jar;./lib/axis2-kernel-1.5.1.jar;./lib/axis2-transport-http-1.5.1.jar;./lib/axis2-transport-local-1.5.1.jar;./lib/commons-codec-1.3.jar;./lib/commons-collections-3.1.jar;./lib/commons-fileupload-1.2.jar;./lib/commons-httpclient-3.1.jar;./lib/commons-io-1.4.jar;./lib/commons-logging-1.1.1.jar;./lib/dom4j-1.6.1.jar;./lib/hibernate3.jar;./lib/httpcore-4.0.jar;./lib/javassist-3.9.0.GA.jar;./lib/jta-1.1.jar;./lib/junit-4.8.1.jar;./lib/log4j-1.2.15.jar;./lib/mail-1.4.jar;./lib/mysql-connector-java-5.1.7-bin.jar;./lib/neethi-2.0.4.jar;./lib/servlet-api.jar;./lib/slf4j-api-1.5.11.jar;./lib/slf4j-simple-1.5.11.jar;./lib/wsdl4j-1.6.2.jar com.cloud.gate.tool.CloudS3CmdTool %* diff --git a/awsapi/scripts/run.sh b/awsapi/scripts/run.sh new file mode 100644 index 00000000000..82f810b9b48 --- /dev/null +++ b/awsapi/scripts/run.sh @@ -0,0 +1,7 @@ +CP=. +for file in lib/*.jar +do + CP=${CP}:$file +done + +java -cp $CP:./cloud-tool.jar com.cloud.gate.tool.CloudS3CmdTool $@