Class CloudShellServiceClient
- All Implemented Interfaces:
BackgroundResource,AutoCloseable
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:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) {
EnvironmentName name = EnvironmentName.of("[USER]", "[ENVIRONMENT]");
Environment response = cloudShellServiceClient.getEnvironment(name);
}
Note: close() needs to be called on the CloudShellServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
| Method | Description | Method Variants |
|---|---|---|
GetEnvironment |
Gets an environment. Returns NOT_FOUND if the environment does not exist. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
StartEnvironment |
Starts an existing environment, allowing clients to connect to it. The returned operation will contain an instance of StartEnvironmentMetadata in its metadata field. Users can wait for the environment to start by polling this operation via GetOperation. Once the environment has finished starting and is ready to accept connections, the operation will contain a StartEnvironmentResponse in its response field. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
AuthorizeEnvironment |
Sends OAuth credentials to a running environment on behalf of a user. When this completes, the environment will be authorized to run various Google Cloud command line tools without requiring the user to manually authenticate. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
AddPublicKey |
Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same content already exists, this will error with ALREADY_EXISTS. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
RemovePublicKey |
Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key. If a key with the same content is not present, this will error with NOT_FOUND. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return 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 CloudShellServiceSettings to create(). For example:
To customize credentials:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
CloudShellServiceSettings cloudShellServiceSettings =
CloudShellServiceSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
CloudShellServiceClient cloudShellServiceClient =
CloudShellServiceClient.create(cloudShellServiceSettings);
To customize the endpoint:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
CloudShellServiceSettings cloudShellServiceSettings =
CloudShellServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
CloudShellServiceClient cloudShellServiceClient =
CloudShellServiceClient.create(cloudShellServiceSettings);
To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
CloudShellServiceSettings cloudShellServiceSettings =
CloudShellServiceSettings.newHttpJsonBuilder().build();
CloudShellServiceClient cloudShellServiceClient =
CloudShellServiceClient.create(cloudShellServiceSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructs an instance of CloudShellServiceClient, using the given settings.protected -
Method Summary
Modifier and TypeMethodDescriptionaddPublicKeyAsync(AddPublicKeyRequest request) Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH.Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH.Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH.Sends OAuth credentials to a running environment on behalf of a user.Sends OAuth credentials to a running environment on behalf of a user.final OperationCallable<AuthorizeEnvironmentRequest,AuthorizeEnvironmentResponse, AuthorizeEnvironmentMetadata> Sends OAuth credentials to a running environment on behalf of a user.booleanawaitTermination(long duration, TimeUnit unit) final voidclose()static final CloudShellServiceClientcreate()Constructs an instance of CloudShellServiceClient with default settings.static final CloudShellServiceClientcreate(CloudShellServiceSettings settings) Constructs an instance of CloudShellServiceClient, using the given settings.static final CloudShellServiceClientcreate(CloudShellServiceStub stub) Constructs an instance of CloudShellServiceClient, using the given stub for making calls.final EnvironmentGets an environment.final EnvironmentgetEnvironment(GetEnvironmentRequest request) Gets an environment.final EnvironmentgetEnvironment(String name) Gets an environment.Gets an environment.final OperationsClientReturns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.final OperationsClientReturns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.getStub()booleanbooleanRemoves a public SSH key from an environment.Removes a public SSH key from an environment.Removes a public SSH key from an environment.voidshutdown()voidStarts an existing environment, allowing clients to connect to it.Starts an existing environment, allowing clients to connect to it.Starts an existing environment, allowing clients to connect to it.
-
Constructor Details
-
CloudShellServiceClient
Constructs an instance of CloudShellServiceClient, 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.- Throws:
IOException
-
CloudShellServiceClient
-
-
Method Details
-
create
Constructs an instance of CloudShellServiceClient with default settings.- Throws:
IOException
-
create
public static final CloudShellServiceClient create(CloudShellServiceSettings settings) throws IOException Constructs an instance of CloudShellServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.- Throws:
IOException
-
create
Constructs an instance of CloudShellServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(CloudShellServiceSettings). -
getSettings
-
getStub
-
getOperationsClient
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call. -
getHttpJsonOperationsClient
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call. -
getEnvironment
Gets an environment. Returns NOT_FOUND if the environment does not exist.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { EnvironmentName name = EnvironmentName.of("[USER]", "[ENVIRONMENT]"); Environment response = cloudShellServiceClient.getEnvironment(name); }- Parameters:
name- Required. Name of the requested resource, for example `users/me/environments/default` or `users/someone@example.com/environments/default`.- Throws:
ApiException- if the remote call fails
-
getEnvironment
Gets an environment. Returns NOT_FOUND if the environment does not exist.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { String name = EnvironmentName.of("[USER]", "[ENVIRONMENT]").toString(); Environment response = cloudShellServiceClient.getEnvironment(name); }- Parameters:
name- Required. Name of the requested resource, for example `users/me/environments/default` or `users/someone@example.com/environments/default`.- Throws:
ApiException- if the remote call fails
-
getEnvironment
Gets an environment. Returns NOT_FOUND if the environment does not exist.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { GetEnvironmentRequest request = GetEnvironmentRequest.newBuilder() .setName(EnvironmentName.of("[USER]", "[ENVIRONMENT]").toString()) .build(); Environment response = cloudShellServiceClient.getEnvironment(request); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
getEnvironmentCallable
Gets an environment. Returns NOT_FOUND if the environment does not exist.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { GetEnvironmentRequest request = GetEnvironmentRequest.newBuilder() .setName(EnvironmentName.of("[USER]", "[ENVIRONMENT]").toString()) .build(); ApiFuture<Environment> future = cloudShellServiceClient.getEnvironmentCallable().futureCall(request); // Do something. Environment response = future.get(); } -
startEnvironmentAsync
public final OperationFuture<StartEnvironmentResponse,StartEnvironmentMetadata> startEnvironmentAsync(StartEnvironmentRequest request) Starts an existing environment, allowing clients to connect to it. The returned operation will contain an instance of StartEnvironmentMetadata in its metadata field. Users can wait for the environment to start by polling this operation via GetOperation. Once the environment has finished starting and is ready to accept connections, the operation will contain a StartEnvironmentResponse in its response field.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { StartEnvironmentRequest request = StartEnvironmentRequest.newBuilder() .setName("name3373707") .setAccessToken("accessToken-1042689291") .addAllPublicKeys(new ArrayList<String>()) .build(); StartEnvironmentResponse response = cloudShellServiceClient.startEnvironmentAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
startEnvironmentOperationCallable
public final OperationCallable<StartEnvironmentRequest,StartEnvironmentResponse, startEnvironmentOperationCallable()StartEnvironmentMetadata> Starts an existing environment, allowing clients to connect to it. The returned operation will contain an instance of StartEnvironmentMetadata in its metadata field. Users can wait for the environment to start by polling this operation via GetOperation. Once the environment has finished starting and is ready to accept connections, the operation will contain a StartEnvironmentResponse in its response field.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { StartEnvironmentRequest request = StartEnvironmentRequest.newBuilder() .setName("name3373707") .setAccessToken("accessToken-1042689291") .addAllPublicKeys(new ArrayList<String>()) .build(); OperationFuture<StartEnvironmentResponse, StartEnvironmentMetadata> future = cloudShellServiceClient.startEnvironmentOperationCallable().futureCall(request); // Do something. StartEnvironmentResponse response = future.get(); } -
startEnvironmentCallable
Starts an existing environment, allowing clients to connect to it. The returned operation will contain an instance of StartEnvironmentMetadata in its metadata field. Users can wait for the environment to start by polling this operation via GetOperation. Once the environment has finished starting and is ready to accept connections, the operation will contain a StartEnvironmentResponse in its response field.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { StartEnvironmentRequest request = StartEnvironmentRequest.newBuilder() .setName("name3373707") .setAccessToken("accessToken-1042689291") .addAllPublicKeys(new ArrayList<String>()) .build(); ApiFuture<Operation> future = cloudShellServiceClient.startEnvironmentCallable().futureCall(request); // Do something. Operation response = future.get(); } -
authorizeEnvironmentAsync
public final OperationFuture<AuthorizeEnvironmentResponse,AuthorizeEnvironmentMetadata> authorizeEnvironmentAsync(AuthorizeEnvironmentRequest request) Sends OAuth credentials to a running environment on behalf of a user. When this completes, the environment will be authorized to run various Google Cloud command line tools without requiring the user to manually authenticate.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { AuthorizeEnvironmentRequest request = AuthorizeEnvironmentRequest.newBuilder() .setName("name3373707") .setAccessToken("accessToken-1042689291") .setIdToken("idToken1642509726") .setExpireTime(Timestamp.newBuilder().build()) .build(); AuthorizeEnvironmentResponse response = cloudShellServiceClient.authorizeEnvironmentAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
authorizeEnvironmentOperationCallable
public final OperationCallable<AuthorizeEnvironmentRequest,AuthorizeEnvironmentResponse, authorizeEnvironmentOperationCallable()AuthorizeEnvironmentMetadata> Sends OAuth credentials to a running environment on behalf of a user. When this completes, the environment will be authorized to run various Google Cloud command line tools without requiring the user to manually authenticate.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { AuthorizeEnvironmentRequest request = AuthorizeEnvironmentRequest.newBuilder() .setName("name3373707") .setAccessToken("accessToken-1042689291") .setIdToken("idToken1642509726") .setExpireTime(Timestamp.newBuilder().build()) .build(); OperationFuture<AuthorizeEnvironmentResponse, AuthorizeEnvironmentMetadata> future = cloudShellServiceClient.authorizeEnvironmentOperationCallable().futureCall(request); // Do something. AuthorizeEnvironmentResponse response = future.get(); } -
authorizeEnvironmentCallable
Sends OAuth credentials to a running environment on behalf of a user. When this completes, the environment will be authorized to run various Google Cloud command line tools without requiring the user to manually authenticate.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { AuthorizeEnvironmentRequest request = AuthorizeEnvironmentRequest.newBuilder() .setName("name3373707") .setAccessToken("accessToken-1042689291") .setIdToken("idToken1642509726") .setExpireTime(Timestamp.newBuilder().build()) .build(); ApiFuture<Operation> future = cloudShellServiceClient.authorizeEnvironmentCallable().futureCall(request); // Do something. Operation response = future.get(); } -
addPublicKeyAsync
public final OperationFuture<AddPublicKeyResponse,AddPublicKeyMetadata> addPublicKeyAsync(AddPublicKeyRequest request) Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same content already exists, this will error with ALREADY_EXISTS.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { AddPublicKeyRequest request = AddPublicKeyRequest.newBuilder() .setEnvironment("environment-85904877") .setKey("key106079") .build(); AddPublicKeyResponse response = cloudShellServiceClient.addPublicKeyAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
addPublicKeyOperationCallable
public final OperationCallable<AddPublicKeyRequest,AddPublicKeyResponse, addPublicKeyOperationCallable()AddPublicKeyMetadata> Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same content already exists, this will error with ALREADY_EXISTS.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { AddPublicKeyRequest request = AddPublicKeyRequest.newBuilder() .setEnvironment("environment-85904877") .setKey("key106079") .build(); OperationFuture<AddPublicKeyResponse, AddPublicKeyMetadata> future = cloudShellServiceClient.addPublicKeyOperationCallable().futureCall(request); // Do something. AddPublicKeyResponse response = future.get(); } -
addPublicKeyCallable
Adds a public SSH key to an environment, allowing clients with the corresponding private key to connect to that environment via SSH. If a key with the same content already exists, this will error with ALREADY_EXISTS.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { AddPublicKeyRequest request = AddPublicKeyRequest.newBuilder() .setEnvironment("environment-85904877") .setKey("key106079") .build(); ApiFuture<Operation> future = cloudShellServiceClient.addPublicKeyCallable().futureCall(request); // Do something. Operation response = future.get(); } -
removePublicKeyAsync
public final OperationFuture<RemovePublicKeyResponse,RemovePublicKeyMetadata> removePublicKeyAsync(RemovePublicKeyRequest request) Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key. If a key with the same content is not present, this will error with NOT_FOUND.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { RemovePublicKeyRequest request = RemovePublicKeyRequest.newBuilder() .setEnvironment("environment-85904877") .setKey("key106079") .build(); RemovePublicKeyResponse response = cloudShellServiceClient.removePublicKeyAsync(request).get(); }- Parameters:
request- The request object containing all of the parameters for the API call.- Throws:
ApiException- if the remote call fails
-
removePublicKeyOperationCallable
public final OperationCallable<RemovePublicKeyRequest,RemovePublicKeyResponse, removePublicKeyOperationCallable()RemovePublicKeyMetadata> Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key. If a key with the same content is not present, this will error with NOT_FOUND.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { RemovePublicKeyRequest request = RemovePublicKeyRequest.newBuilder() .setEnvironment("environment-85904877") .setKey("key106079") .build(); OperationFuture<RemovePublicKeyResponse, RemovePublicKeyMetadata> future = cloudShellServiceClient.removePublicKeyOperationCallable().futureCall(request); // Do something. RemovePublicKeyResponse response = future.get(); } -
removePublicKeyCallable
Removes a public SSH key from an environment. Clients will no longer be able to connect to the environment using the corresponding private key. If a key with the same content is not present, this will error with NOT_FOUND.Sample code:
// This snippet has been automatically generated and should be regarded as a code template only. // It will require modifications to work: // - It may require correct/in-range values for request initialization. // - It may require specifying regional endpoints when creating the service client as shown in // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library try (CloudShellServiceClient cloudShellServiceClient = CloudShellServiceClient.create()) { RemovePublicKeyRequest request = RemovePublicKeyRequest.newBuilder() .setEnvironment("environment-85904877") .setKey("key106079") .build(); ApiFuture<Operation> future = cloudShellServiceClient.removePublicKeyCallable().futureCall(request); // Do something. Operation response = future.get(); } -
close
public final void close()- Specified by:
closein interfaceAutoCloseable
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceBackgroundResource
-
isShutdown
public boolean isShutdown()- Specified by:
isShutdownin interfaceBackgroundResource
-
isTerminated
public boolean isTerminated()- Specified by:
isTerminatedin interfaceBackgroundResource
-
shutdownNow
public void shutdownNow()- Specified by:
shutdownNowin interfaceBackgroundResource
-
awaitTermination
- Specified by:
awaitTerminationin interfaceBackgroundResource- Throws:
InterruptedException
-