class Google::Apis::CloudshellV1::CloudShellService

Cloud Shell API

Allows users to start, configure, and connect to interactive shell sessions

running in the cloud.

@example

require 'google/apis/cloudshell_v1'

Cloudshell = Google::Apis::CloudshellV1 # Alias the module
service = Cloudshell::CloudShellService.new

@see cloud.google.com/shell/docs/

Attributes

key[RW]

@return [String]

API key. Your API key identifies your project and provides you with API access,
quota, and reports. Required unless you provide an OAuth 2.0 token.
quota_user[RW]

@return [String]

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/google/apis/cloudshell_v1/service.rb, line 46
def initialize
  super('https://cloudshell.googleapis.com/', '',
        client_name: 'google-apis-cloudshell_v1',
        client_version: Google::Apis::CloudshellV1::GEM_VERSION)
  @batch_path = 'batch'
end

Public Instance Methods

add_environment_public_key(environment, add_public_key_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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. @param [String] environment

Environment this key should be added to, e.g. `users/me/environments/default`.

@param [Google::Apis::CloudshellV1::AddPublicKeyRequest] add_public_key_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Operation] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Operation]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 226
def add_environment_public_key(environment, add_public_key_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+environment}:addPublicKey', options)
  command.request_representation = Google::Apis::CloudshellV1::AddPublicKeyRequest::Representation
  command.request_object = add_public_key_request_object
  command.response_representation = Google::Apis::CloudshellV1::Operation::Representation
  command.response_class = Google::Apis::CloudshellV1::Operation
  command.params['environment'] = environment unless environment.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
authorize_environment(name, authorize_environment_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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. @param [String] name

Name of the resource that should receive the credentials, for example `users/
me/environments/default` or `users/someone@example.com/environments/default`.

@param [Google::Apis::CloudshellV1::AuthorizeEnvironmentRequest] authorize_environment_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Operation] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Operation]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 262
def authorize_environment(name, authorize_environment_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:authorize', options)
  command.request_representation = Google::Apis::CloudshellV1::AuthorizeEnvironmentRequest::Representation
  command.request_object = authorize_environment_request_object
  command.response_representation = Google::Apis::CloudshellV1::Operation::Representation
  command.response_class = Google::Apis::CloudshellV1::Operation
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. @param [String] name

The name of the operation resource to be cancelled.

@param [Google::Apis::CloudshellV1::CancelOperationRequest] cancel_operation_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Empty] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Empty]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 81
def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:cancel', options)
  command.request_representation = Google::Apis::CloudshellV1::CancelOperationRequest::Representation
  command.request_object = cancel_operation_request_object
  command.response_representation = Google::Apis::CloudshellV1::Empty::Representation
  command.response_class = Google::Apis::CloudshellV1::Empty
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
delete_operation(name, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code. UNIMPLEMENTED`. @param [String] name

The name of the operation resource to be deleted.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Empty] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Empty]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 116
def delete_operation(name, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:delete, 'v1/{+name}', options)
  command.response_representation = Google::Apis::CloudshellV1::Empty::Representation
  command.response_class = Google::Apis::CloudshellV1::Empty
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
get_operation(name, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. @param [String] name

The name of the operation resource.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Operation] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Operation]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 147
def get_operation(name, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v1/{+name}', options)
  command.response_representation = Google::Apis::CloudshellV1::Operation::Representation
  command.response_class = Google::Apis::CloudshellV1::Operation
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
get_user_environment(name, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Gets an environment. Returns NOT_FOUND if the environment does not exist. @param [String] name

Required. Name of the requested resource, for example `users/me/environments/
default` or `users/someone@example.com/environments/default`.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Environment] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Environment]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 295
def get_user_environment(name, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v1/{+name}', options)
  command.response_representation = Google::Apis::CloudshellV1::Environment::Representation
  command.response_class = Google::Apis::CloudshellV1::Environment
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
list_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `“/v1/`name=users/*`/operations”` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id. @param [String] name

The name of the operation's parent resource.

@param [String] filter

The standard list filter.

@param [Fixnum] page_size

The standard list page size.

@param [String] page_token

The standard list page token.

@param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::ListOperationsResponse] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::ListOperationsResponse]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 190
def list_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:get, 'v1/{+name}', options)
  command.response_representation = Google::Apis::CloudshellV1::ListOperationsResponse::Representation
  command.response_class = Google::Apis::CloudshellV1::ListOperationsResponse
  command.params['name'] = name unless name.nil?
  command.query['filter'] = filter unless filter.nil?
  command.query['pageSize'] = page_size unless page_size.nil?
  command.query['pageToken'] = page_token unless page_token.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
remove_environment_public_key(environment, remove_public_key_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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. @param [String] environment

Environment this key should be removed from, e.g. `users/me/environments/
default`.

@param [Google::Apis::CloudshellV1::RemovePublicKeyRequest] remove_public_key_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Operation] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Operation]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 329
def remove_environment_public_key(environment, remove_public_key_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+environment}:removePublicKey', options)
  command.request_representation = Google::Apis::CloudshellV1::RemovePublicKeyRequest::Representation
  command.request_object = remove_public_key_request_object
  command.response_representation = Google::Apis::CloudshellV1::Operation::Representation
  command.response_class = Google::Apis::CloudshellV1::Operation
  command.params['environment'] = environment unless environment.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end
start_environment(name, start_environment_request_object = nil, fields: nil, quota_user: nil, options: nil, &block) click to toggle source

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. @param [String] name

Name of the resource that should be started, for example `users/me/
environments/default` or `users/someone@example.com/environments/default`.

@param [Google::Apis::CloudshellV1::StartEnvironmentRequest] start_environment_request_object @param [String] fields

Selector specifying which fields to include in a partial response.

@param [String] quota_user

Available to use for quota purposes for server-side applications. Can be any
arbitrary string assigned to a user, but should not exceed 40 characters.

@param [Google::Apis::RequestOptions] options

Request-specific options

@yield [result, err] Result & error if block supplied @yieldparam result [Google::Apis::CloudshellV1::Operation] parsed result object @yieldparam err [StandardError] error object if request failed

@return [Google::Apis::CloudshellV1::Operation]

@raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification @raise [Google::Apis::AuthorizationError] Authorization is required

# File lib/google/apis/cloudshell_v1/service.rb, line 368
def start_environment(name, start_environment_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
  command = make_simple_command(:post, 'v1/{+name}:start', options)
  command.request_representation = Google::Apis::CloudshellV1::StartEnvironmentRequest::Representation
  command.request_object = start_environment_request_object
  command.response_representation = Google::Apis::CloudshellV1::Operation::Representation
  command.response_class = Google::Apis::CloudshellV1::Operation
  command.params['name'] = name unless name.nil?
  command.query['fields'] = fields unless fields.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
  execute_or_queue_command(command, &block)
end

Protected Instance Methods

apply_command_defaults(command) click to toggle source
# File lib/google/apis/cloudshell_v1/service.rb, line 382
def apply_command_defaults(command)
  command.query['key'] = key unless key.nil?
  command.query['quotaUser'] = quota_user unless quota_user.nil?
end