<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE bookinfo PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>


<!-- 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.
-->

<bookinfo id="book-release-notes-3.0.4">
    <title>&PRODUCT; Guide</title>
    <subtitle>Revised August 9, 2012 10:48 pm Pacific</subtitle>
    <productname>Apache CloudStack</productname>
    <productnumber>4.2.0</productnumber>
    <edition>1</edition>
    <pubsnumber></pubsnumber>
    <abstract>
        <para>
            Complete technical documentation of &PRODUCT;.
        </para>
    </abstract>
    <corpauthor>
        <inlinemediaobject>
            <imageobject>
                <imagedata fileref="Common_Content/images/title_logo.svg" format="SVG" />
            </imageobject>
        </inlinemediaobject>
    </corpauthor>
    <xi:include href="Common_Content/Legal_Notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="Author_Group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</bookinfo>
