Class GatewayServiceClient

public class GatewayServiceClient implements BackgroundResource

Service Description: Gateway service is a public API which works as a Kubernetes resource model proxy between end users and registered Kubernetes clusters. Each RPC in this service matches with an HTTP verb. End user will initiate kubectl commands against the Gateway service, and Gateway service will forward user requests to clusters.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   HttpBody response = gatewayServiceClient.getResource(request);
 }
 

Note: close() needs to be called on the GatewayServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of GatewayServiceSettings to create(). For example:

To customize credentials:


 GatewayServiceSettings gatewayServiceSettings =
     GatewayServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create(gatewayServiceSettings);
 

To customize the endpoint:


 GatewayServiceSettings gatewayServiceSettings =
     GatewayServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create(gatewayServiceSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > GatewayServiceClient

Implements

BackgroundResource

Static Methods

create()

public static final GatewayServiceClient create()

Constructs an instance of GatewayServiceClient with default settings.

Returns
TypeDescription
GatewayServiceClient
Exceptions
TypeDescription
IOException

create(GatewayServiceSettings settings)

public static final GatewayServiceClient create(GatewayServiceSettings settings)

Constructs an instance of GatewayServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsGatewayServiceSettings
Returns
TypeDescription
GatewayServiceClient
Exceptions
TypeDescription
IOException

create(GatewayServiceStub stub)

public static final GatewayServiceClient create(GatewayServiceStub stub)

Constructs an instance of GatewayServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(GatewayServiceSettings).

Parameter
NameDescription
stubGatewayServiceStub
Returns
TypeDescription
GatewayServiceClient

Constructors

GatewayServiceClient(GatewayServiceSettings settings)

protected GatewayServiceClient(GatewayServiceSettings settings)

Constructs an instance of GatewayServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsGatewayServiceSettings

GatewayServiceClient(GatewayServiceStub stub)

protected GatewayServiceClient(GatewayServiceStub stub)
Parameter
NameDescription
stubGatewayServiceStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

deleteResource(HttpBody request)

public final HttpBody deleteResource(HttpBody request)

DeleteResource performs an HTTP DELETE on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   HttpBody response = gatewayServiceClient.deleteResource(request);
 }
 
Parameter
NameDescription
requestcom.google.api.HttpBody

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.api.HttpBody

deleteResourceCallable()

public final UnaryCallable<HttpBody,HttpBody> deleteResourceCallable()

DeleteResource performs an HTTP DELETE on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   ApiFuture<HttpBody> future =
       gatewayServiceClient.deleteResourceCallable().futureCall(request);
   // Do something.
   HttpBody response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.api.HttpBody,com.google.api.HttpBody>

getResource(HttpBody request)

public final HttpBody getResource(HttpBody request)

GetResource performs an HTTP GET request on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   HttpBody response = gatewayServiceClient.getResource(request);
 }
 
Parameter
NameDescription
requestcom.google.api.HttpBody

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.api.HttpBody

getResourceCallable()

public final UnaryCallable<HttpBody,HttpBody> getResourceCallable()

GetResource performs an HTTP GET request on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   ApiFuture<HttpBody> future = gatewayServiceClient.getResourceCallable().futureCall(request);
   // Do something.
   HttpBody response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.api.HttpBody,com.google.api.HttpBody>

getSettings()

public final GatewayServiceSettings getSettings()
Returns
TypeDescription
GatewayServiceSettings

getStub()

public GatewayServiceStub getStub()
Returns
TypeDescription
GatewayServiceStub

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

patchResource(HttpBody request)

public final HttpBody patchResource(HttpBody request)

PatchResource performs an HTTP PATCH on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   HttpBody response = gatewayServiceClient.patchResource(request);
 }
 
Parameter
NameDescription
requestcom.google.api.HttpBody

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.api.HttpBody

patchResourceCallable()

public final UnaryCallable<HttpBody,HttpBody> patchResourceCallable()

PatchResource performs an HTTP PATCH on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   ApiFuture<HttpBody> future = gatewayServiceClient.patchResourceCallable().futureCall(request);
   // Do something.
   HttpBody response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.api.HttpBody,com.google.api.HttpBody>

postResource(HttpBody request)

public final HttpBody postResource(HttpBody request)

PostResource performs an HTTP POST on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   HttpBody response = gatewayServiceClient.postResource(request);
 }
 
Parameter
NameDescription
requestcom.google.api.HttpBody

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.api.HttpBody

postResourceCallable()

public final UnaryCallable<HttpBody,HttpBody> postResourceCallable()

PostResource performs an HTTP POST on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   ApiFuture<HttpBody> future = gatewayServiceClient.postResourceCallable().futureCall(request);
   // Do something.
   HttpBody response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.api.HttpBody,com.google.api.HttpBody>

putResource(HttpBody request)

public final HttpBody putResource(HttpBody request)

PutResource performs an HTTP PUT on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   HttpBody response = gatewayServiceClient.putResource(request);
 }
 
Parameter
NameDescription
requestcom.google.api.HttpBody

The request object containing all of the parameters for the API call.

Returns
TypeDescription
com.google.api.HttpBody

putResourceCallable()

public final UnaryCallable<HttpBody,HttpBody> putResourceCallable()

PutResource performs an HTTP PUT on the Kubernetes API Server.

Sample code:


 try (GatewayServiceClient gatewayServiceClient = GatewayServiceClient.create()) {
   HttpBody request =
       HttpBody.newBuilder()
           .setContentType("contentType-389131437")
           .setData(ByteString.EMPTY)
           .addAllExtensions(new ArrayList<Any>())
           .build();
   ApiFuture<HttpBody> future = gatewayServiceClient.putResourceCallable().futureCall(request);
   // Do something.
   HttpBody response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<com.google.api.HttpBody,com.google.api.HttpBody>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()