Voyager Client API

Voyager Client Library

License

License

Categories

Categories

Java Languages CLI User Interface
GroupId

GroupId

com.appscode.voyager
ArtifactId

ArtifactId

client-java-parent
Last Version

Last Version

0.1.0
Release Date

Release Date

Type

Type

pom
Description

Description

Voyager Client API
Voyager Client Library
Project URL

Project URL

https://github.com/voyager-client/java
Source Code Management

Source Code Management

https://github.com/voyager-client/java

Download client-java-parent

How to add to project

<!-- https://jarcasting.com/artifacts/com.appscode.voyager/client-java-parent/ -->
<dependency>
    <groupId>com.appscode.voyager</groupId>
    <artifactId>client-java-parent</artifactId>
    <version>0.1.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.appscode.voyager/client-java-parent/
implementation 'com.appscode.voyager:client-java-parent:0.1.0'
// https://jarcasting.com/artifacts/com.appscode.voyager/client-java-parent/
implementation ("com.appscode.voyager:client-java-parent:0.1.0")
'com.appscode.voyager:client-java-parent:pom:0.1.0'
<dependency org="com.appscode.voyager" name="client-java-parent" rev="0.1.0">
  <artifact name="client-java-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.appscode.voyager', module='client-java-parent', version='0.1.0')
)
libraryDependencies += "com.appscode.voyager" % "client-java-parent" % "0.1.0"
[com.appscode.voyager/client-java-parent "0.1.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • util
  • examples
  • kubernetes

Voyager Java Client

Build Status Client Capabilities Maven Central

Official Java client for the Voyager by AppsCode - Secure HAProxy Ingress Controller for Kubernetes.

Installation

To install the Java client library to your local Maven repository, simply execute:

git clone --recursive https://github.com/voyager-client/java
cd java
mvn install

Refer to the official documentation for more information.

Maven users

Add this dependency to your project's POM:

<dependency>
    <groupId>com.appscode.voyager</groupId>
    <artifactId>client-java</artifactId>
    <version>0.1.0</version>
    <scope>compile</scope>
</dependency>

Gradle users

compile 'com.appscode.voyager:client-java:0.1.0'

Others

At first generate the JAR by executing:

git clone --recursive https://github.com/voyager-client/java
cd java
mvn package

Then manually install the following JARs:

  • target/client-java-1.0.0-SNAPSHOT.jar
  • target/lib/*.jar

Example

list all pods:

import com.appscode.voyager.client.ApiClient;
import com.appscode.voyager.client.ApiException;
import com.appscode.voyager.client.Configuration;
import com.appscode.voyager.client.apis.VoyagerAppscodeComV1beta1Api;
import com.appscode.voyager.client.models.V1beta1Ingress;
import com.appscode.voyager.client.models.V1beta1IngressList;
import com.appscode.voyager.client.util.Config;
import java.io.IOException;

public class Example {
  public static void main(String[] args) throws IOException, ApiException {
    ApiClient client = Config.defaultClient();
    Configuration.setDefaultApiClient(client);

    VoyagerAppscodeComV1beta1Api api = new VoyagerAppscodeComV1beta1Api();
    V1beta1IngressList list =
        api.listIngressForAllNamespaces(null, null, null, null, null, null, null, null, null);
    for (V1beta1Ingress item : list.getItems()) {
      System.out.println(item.getMetadata().getName());
    }
  }
}

watch on ingress object:

import com.appscode.voyager.client.ApiClient;
import com.appscode.voyager.client.ApiException;
import com.appscode.voyager.client.Configuration;
import com.appscode.voyager.client.apis.VoyagerAppscodeComV1beta1Api;
import com.appscode.voyager.client.models.V1beta1Ingress;
import com.appscode.voyager.client.util.Config;
import com.appscode.voyager.client.util.Watch;
import com.google.gson.reflect.TypeToken;
import java.io.IOException;
import java.util.concurrent.TimeUnit;

public class WatchExample {
  public static void main(String[] args) throws IOException, ApiException {
    ApiClient client = Config.defaultClient();
    client.getHttpClient().setReadTimeout(60, TimeUnit.SECONDS);
    Configuration.setDefaultApiClient(client);

    VoyagerAppscodeComV1beta1Api api = new VoyagerAppscodeComV1beta1Api();

    Watch<V1beta1Ingress> watch =
        Watch.createWatch(
            client,
            api.listIngressForAllNamespacesCall(
                null, null, null, null, null, "false", null, null, Boolean.TRUE, null, null),
            new TypeToken<Watch.Response<V1beta1Ingress>>() {}.getType());

    for (Watch.Response<V1beta1Ingress> item : watch) {
      System.out.printf("%s : %s%n", item.type, item.object.getMetadata().getName());
    }
  }
}

More examples can be found in examples folder. To run examples, run this command:

mvn exec:java -Dexec.mainClass="com.appscode.voyager.client.examples.Example"

Documentation

All APIs and Models' documentation can be found at the Generated client's README file

Compatibility

Kubernetes 1.4 Kubernetes 1.5 Kubernetes 1.6 Kubernetes 1.7 Kubernetes 1.8 Kubernetes 1.9
java-client 0.1.0 + + + + -

Key:

  • Exactly the same features / API objects in both java-client and the Kubernetes version.
  • + java-client has features or api objects that may not be present in the Kubernetes cluster, but everything they have in common will work.
  • - The Kubernetes cluster has features the java-client library can't use (additional API objects, etc).

See the CHANGELOG for a detailed description of changes between java-client versions.

Community, Support, Discussion

We use Slack for public discussions. To chit chat with us or the rest of the community, join us in the AppsCode Slack team channel #general. To sign up, use our Slack inviter.

If you have any problem with the package or any suggestions, please file an issue.

Development

Update client

To update the client clone the gen repo and run this command at the root of this repo:

../gen/openapi/autoupdate.sh

Versions

Version
0.1.0