Public/Private OpenStack Cloud Support
Hosted and sponsored by:
Take Control of Your Cloud
OpenStack4j is an open source OpenStack client which allows provisioning and control of an OpenStack system. The library and has been broken out into several major API abstractions:
Growing User Community
And More!
100% Fluent API
Identity
// V2 authentication OSClientV2 os = OSFactory.builderV2() .endpoint("http://127.0.0.1:5000/v2.0") .credentials("admin","secret") .tenantName("admin") .authenticate(); // V3 authentication OSClientV3 os = OSFactory.builderV3() .endpoint("http://127.0.0.1:5000/v3") .credentials("admin", "secret", Identifier.byName("Default")) .scopeToProject(Identifier.byName("admin")) .authenticate();
Compute
// Create a Server Model Object Server server = Builders.server() .name("Ubuntu 2") .flavor("large") .image("imageId") .build(); // Boot the Server Server server = os.compute().servers().boot(server); // Create a Snapshot os.compute().servers().createSnapshot("id", "name");
Image
// Create an Image Image image = os.images().create(Builders.image() .name("Cirros 0.3.0 x64") .isPublic(true) .containerFormat(ContainerFormat.BARE) .diskFormat(DiskFormat.QCOW2) .build() ), Payloads.create(new File("cirros.img")));
Network
// Create a Port Port port = os.networking().port() .create(Builders.port() .name("port1") .networkId("networkId") .fixedIp("52.51.1.253", "subnetId") .build());