-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
246 lines (227 loc) · 16.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
---
layout: index
title: Fluent OpenStack client for Java
---
<div class="mainheader-pre">
<div class="jumbotron mainheader">
<div class="container">
<div class="row">
<div class="col-md-5">
<h1>OpenStack4j</h1>
<p style="font-weight:200; color: #eee; margin-left:40px;">Fluent OpenStack SDK for Java</p>
</div>
<div class="col-md-6" style="margin-top:30px;">
<span style="margin-left:30px;">
<a href="/learn" class="btn btn-default btn-success btn-lg"><span class="glyphicon glyphicon-book"> </span>
Docs</a>
<a href="https://javadoc.io/doc/com.github.openstack4j.core/openstack4j-core" class="btn btn-default btn-info btn-lg" target="_blank"><span
class="glyphicon glyphicon-info-sign"> </span> JavaDoc</a>
<a href="/learn/getting-started" class="btn btn-warning btn-lg"><span
class="glyphicon glyphicon-save"> </span> Install</a>
</span>
</div>
</div>
</div>
</div>
<div class="header-bottom"></div>
</div>
<!-- Info -->
<div class="row-fluid">
<div class="container">
<div class="section-divider">
<span class="text">Take Control of Your Cloud</span>
</div>
</div>
</div>
<div class="row-fluid">
<div class="container about-section">
<div class="row-fluid">
<span class="span12">OpenStack4j is an open source OpenStack client which allows provisioning and control of an OpenStack system.
<br><br>
</span>
</div>
<div class="slideshow">
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-lock"></span> Identity V2</div>
<p>The Identity (Keystone) V2 service provides the central directory of users, tenants, service
endpoints
and authorization. </p>
<p><a href="/learn/identity/identity-v2" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Identity V2 Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-lock"></span> Identity V3</div>
<p>The Identity (Keystone) V3 service provides the central directory of users, groups, regions, service,
endpoints, role management and authorization. </p>
<p><a href="/learn/identity/identity-v3" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Identity V3 Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-cog"></span> Compute</div>
<p>The Compute (Nova) service provides management to Servers (running virtual machines), VM Management,
Flavors and diagnostics. The API makes day to day management tasks breeze.</p>
<p><a href="/learn/compute" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Compute Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-cloud-upload"></span> Image</div>
<p>The Image (Glance) service provides discovery, registration and delivery services for disk and server
images. Stored images can be used as a template for quickly booting new instances.</p>
<p><a href="/learn/image" class="btn btn-xs btn-inverse"><span class="glyphicon glyphicon-book"> </span>
Image Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-signal"></span> Network</div>
<p>The Network (Neutron) service provides "network connectivity as a service". The OpenStack4j
implementation supports Routers, Ports, Subnets and Interface management.</p>
<p><a href="/learn/network" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Network Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-hdd"></span> Block Storage</div>
<p>Block Storage (Cinder) Service is a block-level storage solution that enables you to mount drives to
scale storage. OpenStack4j implementation fully supports all major operations.</p>
<p><a href="/learn/blockstorage" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Block Storage Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-save"></span> Object Storage</div>
<p>Object Storage (Swift) provides online object storage for files and media which can be shared
globally or kept private for adhoc storage.
<p><a href="/learn/objectstorage" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Object Storage Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-stats"></span> Telemetry</div>
<p>Telemetry (Ceilometer) delivers metering and statistic measurements against OpenStack core
components. This is ideal for customer billing, account and reporting of resources.</p>
<p><a href="/learn/blockstorage" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Block Storage Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-align-justify"></span> Orchestration</div>
<p>Orchestration (Heat) is a service that you can use to orchestrate multiple composite cloud
applications. Using OpenStack4j you can control Stacks, Templates, Resources and Events.</p>
<p><a href="/learn/orchestration" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> Orchestration Guide</a></p>
</div>
<div class="span4 multi-items">
<div class="imageLabel"><span class="glyphicon glyphicon-align-justify"></span> DNS</div>
<p>DNS (Designate) is a multi-tenant DNSaaS service for OpenStack. Using OpenStack4j you can control Zones and Recordsets.</p>
<p><a href="/learn/dns-v2" class="btn btn-xs btn-inverse"><span
class="glyphicon glyphicon-book"> </span> DNS Guide</a></p>
</div>
</div>
</div>
</div>
<!-- Our users -->
<div class="container">
<div class="row-fluid">
<div class="section-divider">
<span class="text">Growing User Community</span>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<ul class="cloud-inline">
<li><img src="/assets/img/gslab.png" alt="Great Software Lab" title="GS Lab" class="cloud-img">
</li>
<li><img src="/assets/img/ibm.png" alt="IBM Research Labs" title="IBM Research Labs" class="cloud-img">
</li>
<li><img src="/assets/img/dorado.jpg" alt="Dorado Software" title="Dorado Software" class="cloud-img">
</li>
<li><img src="/assets/img/oracle.png" alt="Oracle" title="Oracle" class="cloud-img"></li>
<li><img src="/assets/img/Samsung.jpg" alt="Samsung" title="Samsung" class="cloud-img"></li>
<li><img src="/assets/img/sap.png" alt="SAP" title="SAP" class="cloud-img"></li>
</ul>
<ul class="cloud-inline">
<li><h3>And More!</h3></li>
</ul>
</div>
</div>
</div>
<!-- Code Examples -->
<div class="container">
<div class="row-fluid">
<div class="section-divider">
<span class="text">100% Fluent API</span>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading"><span class="glyphicon glyphicon-lock"/><strong>Identity</strong></span>
</div>
<div class="panel-body">
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// V2 authentication</span>
<span class="nc">OSClientV2</span> <span class="n">os</span> <span class="o">=</span> <span class="nc">OSFactory</span><span class="o">.</span><span class="na">builderV2</span><span class="o">()</span>
<span class="o">.</span><span class="na">endpoint</span><span class="o">(</span><span class="s">"http://127.0.0.1:5000/v2.0"</span><span class="o">)</span>
<span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"admin"</span><span class="o">, </span><span class="s">"secret"</span><span class="o">)</span>
<span class="o">.</span><span class="na">tenantName</span><span class="o">(</span><span class="s">"admin"</span><span class="o">)</span>
<span class="o">.</span><span class="na">authenticate</span><span class="o">();</span>
<span class="c1">// V3 authentication</span>
<span class="nc">OSClientV3</span> <span class="n">os</span> <span class="o">=</span> <span class="nc">OSFactory</span><span class="o">.</span><span class="na">builderV3</span><span class="o">()</span>
<span class="o">.</span><span class="na">endpoint</span><span class="o">(</span><span class="s">"http://127.0.0.1:5000/v3"</span><span class="o">)</span>
<span class="o">.</span><span class="na">credentials</span><span class="o">(</span><span class="s">"admin"</span><span class="o">,</span> <span class="s">"secret"</span><span class="o">,</span> <span class="nc">Identifier</span><span class="o">.</span><span class="na">byName</span><span class="o">(</span><span class="s">"Default"</span><span class="o">))</span>
<span class="o">.</span><span class="na">scopeToProject</span><span class="o">(</span><span class="nc">Identifier</span><span class="o">.</span><span class="na">byName</span><span class="o">(</span><span class="s">"admin"</span><span class="o">))</span>
<span class="o">.</span><span class="na">authenticate</span><span class="o">();</span>
</code></pre></div></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading"><span class="glyphicon glyphicon-cog"/><strong>Compute</strong></span>
</div>
<div class="panel-body">
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a Server Model Object</span>
<span class="nc">Server</span> <span class="n">server</span> <span class="o">=</span> <span class="nc">Builders</span><span class="o">.</span><span class="na">server</span><span class="o">()</span>
<span class="o">.</span><span class="na">name</span><span class="o">(</span><span class="s">"Ubuntu 2"</span><span class="o">)</span>
<span class="o">.</span><span class="na">flavor</span><span class="o">(</span><span class="s">"large"</span><span class="o">)</span>
<span class="o">.</span><span class="na">image</span><span class="o">(</span><span class="s">"imageId"</span><span class="o">)</span>
<span class="o">.</span><span class="na">build</span><span class="o">();</span>
<span class="c1">// Boot the Server</span>
<span class="nc">Server</span> <span class="n">server</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="na">compute</span><span class="o">().</span><span class="na">servers</span><span class="o">().</span><span class="na">boot</span><span class="o">(</span><span class="n">server</span><span class="o">);</span>
<span class="c1">// Create a Snapshot</span>
<span class="n">os</span><span class="o">.</span><span class="na">compute</span><span class="o">().</span><span class="na">servers</span><span class="o">().</span><span class="na">createSnapshot</span><span class="o">(</span><span class="s">"id"</span><span class="o">,</span> <span class="s">"name"</span><span class="o">);</span>
</code></pre></div></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading"><span
class="glyphicon glyphicon-cloud-upload"/><strong>Image</strong></span>
</div>
<div class="panel-body">
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create an Image</span>
<span class="nc">Image</span> <span class="n">image</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="na">images</span><span class="o">().</span><span class="na">create</span><span class="o">(</span><span class="nc">Builders</span><span class="o">.</span><span class="na">image</span><span class="o">()</span>
<span class="o">.</span><span class="na">name</span><span class="o">(</span><span class="s">"Cirros 0.3.0 x64"</span><span class="o">)</span>
<span class="o">.</span><span class="na">isPublic</span><span class="o">(</span><span class="kc">true</span><span class="o">)</span>
<span class="o">.</span><span class="na">containerFormat</span><span class="o">(</span><span class="nc">ContainerFormat</span><span class="o">.</span><span class="na">BARE</span><span class="o">)</span>
<span class="o">.</span><span class="na">diskFormat</span><span class="o">(</span><span class="nc">DiskFormat</span><span class="o">.</span><span class="na">QCOW2</span><span class="o">)</span>
<span class="o">.</span><span class="na">build</span><span class="o">()</span>
<span class="o">),</span> <span class="nc">Payloads</span><span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="k">new</span> <span class="nc">File</span><span class="o">(</span><span class="s">"cirros.img"</span><span class="o">)));</span>
</code></pre></div></div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading"><span class="glyphicon glyphicon-signal"/><strong>Network</strong></span>
</div>
<div class="panel-body">
<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a Port</span>
<span class="nc">Port</span> <span class="n">port</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="na">networking</span><span class="o">().</span><span class="na">port</span><span class="o">()</span>
<span class="o">.</span><span class="na">create</span><span class="o">(</span><span class="nc">Builders</span><span class="o">.</span><span class="na">port</span><span class="o">()</span>
<span class="o">.</span><span class="na">name</span><span class="o">(</span><span class="s">"port1"</span><span class="o">)</span>
<span class="o">.</span><span class="na">networkId</span><span class="o">(</span><span class="s">"networkId"</span><span class="o">)</span>
<span class="o">.</span><span class="na">fixedIp</span><span class="o">(</span><span class="s">"52.51.1.253"</span><span class="o">,</span> <span class="s">"subnetId"</span><span class="o">)</span>
<span class="o">.</span><span class="na">build</span><span class="o">());</span>
</code></pre></div></div>
</div>
</div>
</div>
</div>