Cloud Shell V1 API - Class Google::Cloud::Shell::V1::CloudShellService::Client (v0.4.0)

Reference documentation and code samples for the Cloud Shell V1 API class Google::Cloud::Shell::V1::CloudShellService::Client.

Client for the CloudShellService service.

API for interacting with Google Cloud Shell. Each user of Cloud Shell has at least one environment, which has the ID "default". Environment consists of a Docker image defining what is installed on the environment and a home directory containing the user's data that will remain across sessions. Clients use this API to start and fetch information about their environment, which can then be used to connect to that environment via a separate SSH client.

Inherits

  • Object

Methods

.configure

def self.configure() { |config| ... } -> Client::Configuration

Configure the CloudShellService Client class.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter
Example
# Modify the configuration for all CloudShellService clients
::Google::Cloud::Shell::V1::CloudShellService::Client.configure do |config|
  config.timeout = 10.0
end

#add_public_key

def add_public_key(request, options = nil) -> ::Gapic::Operation
def add_public_key(environment: nil, key: nil) -> ::Gapic::Operation

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.

Overloads
def add_public_key(request, options = nil) -> ::Gapic::Operation
Pass arguments to add_public_key via a request object, either of type AddPublicKeyRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Shell::V1::AddPublicKeyRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def add_public_key(environment: nil, key: nil) -> ::Gapic::Operation
Pass arguments to add_public_key via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • environment (::String) — Environment this key should be added to, e.g. users/me/environments/default.
  • key (::String) — Key that should be added to the environment. Supported formats are ssh-dss (see RFC4253), ssh-rsa (see RFC4253), ecdsa-sha2-nistp256 (see RFC5656), ecdsa-sha2-nistp384 (see RFC5656) and ecdsa-sha2-nistp521 (see RFC5656). It should be structured as <format> <content>, where <content> part is encoded with Base64.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/shell/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Shell::V1::CloudShellService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Shell::V1::AddPublicKeyRequest.new

# Call the add_public_key method.
result = client.add_public_key request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#authorize_environment

def authorize_environment(request, options = nil) -> ::Gapic::Operation
def authorize_environment(name: nil, access_token: nil, id_token: nil, expire_time: nil) -> ::Gapic::Operation

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.

Overloads
def authorize_environment(request, options = nil) -> ::Gapic::Operation
Pass arguments to authorize_environment via a request object, either of type AuthorizeEnvironmentRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Shell::V1::AuthorizeEnvironmentRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def authorize_environment(name: nil, access_token: nil, id_token: nil, expire_time: nil) -> ::Gapic::Operation
Pass arguments to authorize_environment via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • name (::String) — Name of the resource that should receive the credentials, for example users/me/environments/default or users/someone@example.com/environments/default.
  • access_token (::String) — The OAuth access token that should be sent to the environment.
  • id_token (::String) — The OAuth ID token that should be sent to the environment.
  • expire_time (::Google::Protobuf::Timestamp, ::Hash) — The time when the credentials expire. If not set, defaults to one hour from when the server received the request.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/shell/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Shell::V1::CloudShellService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Shell::V1::AuthorizeEnvironmentRequest.new

# Call the authorize_environment method.
result = client.authorize_environment request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#configure

def configure() { |config| ... } -> Client::Configuration

Configure the CloudShellService Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on Client.configure.

See Configuration for a description of the configuration fields.

Yields
  • (config) — Configure the Client client.
Yield Parameter

#get_environment

def get_environment(request, options = nil) -> ::Google::Cloud::Shell::V1::Environment
def get_environment(name: nil) -> ::Google::Cloud::Shell::V1::Environment

Gets an environment. Returns NOT_FOUND if the environment does not exist.

Overloads
def get_environment(request, options = nil) -> ::Google::Cloud::Shell::V1::Environment
Pass arguments to get_environment via a request object, either of type GetEnvironmentRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Shell::V1::GetEnvironmentRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def get_environment(name: nil) -> ::Google::Cloud::Shell::V1::Environment
Pass arguments to get_environment via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameter
  • name (::String) — Required. Name of the requested resource, for example users/me/environments/default or users/someone@example.com/environments/default.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/shell/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Shell::V1::CloudShellService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Shell::V1::GetEnvironmentRequest.new

# Call the get_environment method.
result = client.get_environment request

# The returned object is of type Google::Cloud::Shell::V1::Environment.
p result

#initialize

def initialize() { |config| ... } -> Client

Create a new CloudShellService client object.

Yields
  • (config) — Configure the CloudShellService client.
Yield Parameter
Returns
  • (Client) — a new instance of Client
Example
# Create a client using the default configuration
client = ::Google::Cloud::Shell::V1::CloudShellService::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Shell::V1::CloudShellService::Client.new do |config|
  config.timeout = 10.0
end

#operations_client

def operations_client() -> ::Google::Cloud::Shell::V1::CloudShellService::Operations

Get the associated client for long-running operations.

#remove_public_key

def remove_public_key(request, options = nil) -> ::Gapic::Operation
def remove_public_key(environment: nil, key: nil) -> ::Gapic::Operation

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.

Overloads
def remove_public_key(request, options = nil) -> ::Gapic::Operation
Pass arguments to remove_public_key via a request object, either of type RemovePublicKeyRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Shell::V1::RemovePublicKeyRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def remove_public_key(environment: nil, key: nil) -> ::Gapic::Operation
Pass arguments to remove_public_key via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • environment (::String) — Environment this key should be removed from, e.g. users/me/environments/default.
  • key (::String) — Key that should be removed from the environment.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/shell/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Shell::V1::CloudShellService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Shell::V1::RemovePublicKeyRequest.new

# Call the remove_public_key method.
result = client.remove_public_key request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end

#start_environment

def start_environment(request, options = nil) -> ::Gapic::Operation
def start_environment(name: nil, access_token: nil, public_keys: nil) -> ::Gapic::Operation

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.

Overloads
def start_environment(request, options = nil) -> ::Gapic::Operation
Pass arguments to start_environment via a request object, either of type StartEnvironmentRequest or an equivalent Hash.
Parameters
  • request (::Google::Cloud::Shell::V1::StartEnvironmentRequest, ::Hash) — A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
  • options (::Gapic::CallOptions, ::Hash) — Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
def start_environment(name: nil, access_token: nil, public_keys: nil) -> ::Gapic::Operation
Pass arguments to start_environment via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above).
Parameters
  • name (::String) — Name of the resource that should be started, for example users/me/environments/default or users/someone@example.com/environments/default.
  • access_token (::String) — The initial access token passed to the environment. If this is present and valid, the environment will be pre-authenticated with gcloud so that the user can run gcloud commands in Cloud Shell without having to log in. This code can be updated later by calling AuthorizeEnvironment.
  • public_keys (::Array<::String>) — Public keys that should be added to the environment before it is started.
Yields
  • (response, operation) — Access the result along with the RPC operation
Yield Parameters
  • response (::Gapic::Operation)
  • operation (::GRPC::ActiveCall::Operation)
Returns
  • (::Gapic::Operation)
Raises
  • (::Google::Cloud::Error) — if the RPC is aborted.
Example

Basic example

require "google/cloud/shell/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Shell::V1::CloudShellService::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Shell::V1::StartEnvironmentRequest.new

# Call the start_environment method.
result = client.start_environment request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end