Product SiteDocumentation Site

Apache CloudStack 4.1.0

CloudStack Developer's Guide

Edition

Apache CloudStack


Legal Notice

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache CloudStack is an effort undergoing incubation at The Apache Software Foundation (ASF).
Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
Abstract
This guide shows how to develop CloudStack, use the API for operation and integration, access the usage data and use CloudStack specific tools to ease development, testing and integration.

1. Concepts
1.1. What Is CloudStack?
1.2. What Can CloudStack Do?
1.3. Deployment Architecture Overview
1.3.1. Management Server Overview
1.3.2. Cloud Infrastructure Overview
1.3.3. Networking Overview
2. Using Maven to Build CloudStack
2.1. Building CloudStack from Source
2.2. Build Procedure Prerequisites
2.3. Building Steps
2.4. Deployment and Testing Steps
3. Introduction to the CloudStack API
3.1. Roles
3.2. API Reference Documentation
3.3. Getting Started
4. What's New in the API?
4.1. What's New in the API for 4.1
4.1.1. Reconfiguring Physical Networks in VMs
4.1.2. IPv6 Support in CloudStack
4.1.3. Additional VMX Settings
4.1.4. Resetting SSH Keys to Access VMs
4.1.5. Changed API Commands in 4.1
4.1.6. Added API Commands in 4.1-incubating
4.2. What's New in the API for 4.0
4.2.1. Changed API Commands in 4.0.0-incubating
4.2.2. Added API Commands in 4.0.0-incubating
4.3. What's New in the API for 3.0
4.3.1. Enabling Port 8096
4.3.2. Stopped VM
4.3.3. Change to Behavior of List Commands
4.3.4. Removed API commands
4.3.5. Added API commands in 3.0
4.3.6. Added CloudStack Error Codes
5. Calling the CloudStack API
5.1. Making API Requests
5.2. Signing API Requests
5.2.1. How to sign an API call with Python
5.3. Enabling API Call Expiration
5.4. Limiting the Rate of API Requests
5.4.1. Configuring the API Request Rate
5.4.2. Limitations on API Throttling
5.5. Responses
5.5.1. Response Formats: XML and JSON
5.5.2. Maximum Result Pages Returned
5.5.3. Error Handling
5.6. Asynchronous Commands
5.6.1. Job Status
5.6.2. Example
6. Working With Usage Data
6.1. Usage Record Format
6.1.1. Virtual Machine Usage Record Format
6.1.2. Network Usage Record Format
6.1.3. IP Address Usage Record Format
6.1.4. Disk Volume Usage Record Format
6.1.5. Template, ISO, and Snapshot Usage Record Format
6.1.6. Load Balancer Policy or Port Forwarding Rule Usage Record Format
6.1.7. Network Offering Usage Record Format
6.1.8. VPN User Usage Record Format
6.2. Usage Types
6.3. Example response from listUsageRecords
6.4. Dates in the Usage Record
6.5. Globally Configured Limits
7. Preparing and Building CloudStack Documentation
7.1. Installing Publican
7.2. Building CloudStack Documentation
7.3. Writing CloudStack Documentation
7.4. Translating CloudStack Documentation
7.4.1. Translating CloudStack Documentation
8. Tools
8.1. DevCloud
8.1.1. DevCloud Usage Mode
8.1.2. Building DevCloud
8.2. Marvin
8.2.1. Building and Installing Marvin
8.3. CloudMonkey
8.3.1. Installing CloudMonkey
8.3.2. Configuration
8.3.3. API Discovery
8.3.4. Tabular Output
8.3.5. Interactive Shell Usage
8.3.6. Starting a Virtual Machine instance with CloudMonkey
8.3.7. Scripting with CloudMonkey
8.4. Apache Libcloud
A. Event Types
B. Alerts
C. Time Zones
D. Revision History