google-cloud-os_login-v1 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +1 -1
- data/README.md +4 -4
- data/lib/google/cloud/os_login/v1/os_login_service/client.rb +109 -15
- data/lib/google/cloud/os_login/v1/os_login_service/credentials.rb +3 -1
- data/lib/google/cloud/os_login/v1/os_login_service/rest/client.rb +817 -0
- data/lib/google/cloud/os_login/v1/os_login_service/rest/service_stub.rb +464 -0
- data/lib/google/cloud/os_login/v1/os_login_service/rest.rb +55 -0
- data/lib/google/cloud/os_login/v1/os_login_service.rb +7 -1
- data/lib/google/cloud/os_login/v1/rest.rb +37 -0
- data/lib/google/cloud/os_login/v1/version.rb +1 -1
- data/lib/google/cloud/os_login/v1.rb +7 -2
- data/lib/google/cloud/oslogin/v1/oslogin_pb.rb +6 -0
- data/lib/google/cloud/oslogin/v1/oslogin_services_pb.rb +3 -2
- data/proto_docs/google/api/client.rb +318 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/cloud/oslogin/v1/oslogin.rb +27 -12
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +0 -2
- metadata +15 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e4c709002d1b400fba3a1c212af14736200d8d09e07e25f0add825e5c5802a68
|
4
|
+
data.tar.gz: 9eeeeee9acc498e7b00abfca8ea376b974cf9a513c02f97049557f2a1d5f28a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c74bca4bd419523a4a44f39bb76cb9a33f8c4dd5239d081a15237627448466c58274e62e429ee5cc134e71a4e83d478057529a87841ef99557acaa71e9e041a
|
7
|
+
data.tar.gz: 2913d6f6441c969cf2a6e48189b421cf9e4ba1c9e588f9c19bc78a00828db7f11bde22043e0b863b5491ddfa67470085dfa4285b548aace9c3b2b693bbc48d51
|
data/AUTHENTICATION.md
CHANGED
@@ -114,7 +114,7 @@ credentials are discovered.
|
|
114
114
|
To configure your system for this, simply:
|
115
115
|
|
116
116
|
1. [Download and install the Cloud SDK](https://cloud.google.com/sdk)
|
117
|
-
2. Authenticate using OAuth 2.0 `$ gcloud auth login`
|
117
|
+
2. Authenticate using OAuth 2.0 `$ gcloud auth application-default login`
|
118
118
|
3. Write code as if already authenticated.
|
119
119
|
|
120
120
|
**NOTE:** This is _not_ recommended for running in production. The Cloud SDK
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Ruby Client for the Cloud OS Login V1 API
|
2
2
|
|
3
|
-
|
3
|
+
You can use OS Login to manage access to your VM instances using IAM roles.
|
4
4
|
|
5
5
|
Use OS Login to manage SSH access to your instances using IAM without having to create and manage individual SSH keys. OS Login maintains a consistent Linux user identity across VM instances and is the recommended way to manage many users across multiple instances or projects.
|
6
6
|
|
@@ -33,8 +33,8 @@ In order to use this library, you first need to go through the following steps:
|
|
33
33
|
require "google/cloud/os_login/v1"
|
34
34
|
|
35
35
|
client = ::Google::Cloud::OsLogin::V1::OsLoginService::Client.new
|
36
|
-
request = ::Google::Cloud::OsLogin::V1::
|
37
|
-
response = client.
|
36
|
+
request = ::Google::Cloud::OsLogin::V1::CreateSshPublicKeyRequest.new # (request fields as keyword arguments...)
|
37
|
+
response = client.create_ssh_public_key request
|
38
38
|
```
|
39
39
|
|
40
40
|
View the [Client Library Documentation](https://cloud.google.com/ruby/docs/reference/google-cloud-os_login-v1/latest)
|
@@ -46,7 +46,7 @@ for general usage information.
|
|
46
46
|
## Enabling Logging
|
47
47
|
|
48
48
|
To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
|
49
|
-
The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/
|
49
|
+
The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/current/stdlibs/logger/Logger.html) as shown below,
|
50
50
|
or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
|
51
51
|
that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
|
52
52
|
and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
|
@@ -177,6 +177,93 @@ module Google
|
|
177
177
|
|
178
178
|
# Service calls
|
179
179
|
|
180
|
+
##
|
181
|
+
# Create an SSH public key
|
182
|
+
#
|
183
|
+
# @overload create_ssh_public_key(request, options = nil)
|
184
|
+
# Pass arguments to `create_ssh_public_key` via a request object, either of type
|
185
|
+
# {::Google::Cloud::OsLogin::V1::CreateSshPublicKeyRequest} or an equivalent Hash.
|
186
|
+
#
|
187
|
+
# @param request [::Google::Cloud::OsLogin::V1::CreateSshPublicKeyRequest, ::Hash]
|
188
|
+
# A request object representing the call parameters. Required. To specify no
|
189
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
190
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
191
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
192
|
+
#
|
193
|
+
# @overload create_ssh_public_key(parent: nil, ssh_public_key: nil)
|
194
|
+
# Pass arguments to `create_ssh_public_key` via keyword arguments. Note that at
|
195
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
196
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
197
|
+
#
|
198
|
+
# @param parent [::String]
|
199
|
+
# Required. The unique ID for the user in format `users/{user}`.
|
200
|
+
# @param ssh_public_key [::Google::Cloud::OsLogin::Common::SshPublicKey, ::Hash]
|
201
|
+
# Required. The SSH public key and expiration time.
|
202
|
+
#
|
203
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
204
|
+
# @yieldparam response [::Google::Cloud::OsLogin::Common::SshPublicKey]
|
205
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
206
|
+
#
|
207
|
+
# @return [::Google::Cloud::OsLogin::Common::SshPublicKey]
|
208
|
+
#
|
209
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
210
|
+
#
|
211
|
+
# @example Basic example
|
212
|
+
# require "google/cloud/os_login/v1"
|
213
|
+
#
|
214
|
+
# # Create a client object. The client can be reused for multiple calls.
|
215
|
+
# client = Google::Cloud::OsLogin::V1::OsLoginService::Client.new
|
216
|
+
#
|
217
|
+
# # Create a request. To set request fields, pass in keyword arguments.
|
218
|
+
# request = Google::Cloud::OsLogin::V1::CreateSshPublicKeyRequest.new
|
219
|
+
#
|
220
|
+
# # Call the create_ssh_public_key method.
|
221
|
+
# result = client.create_ssh_public_key request
|
222
|
+
#
|
223
|
+
# # The returned object is of type Google::Cloud::OsLogin::Common::SshPublicKey.
|
224
|
+
# p result
|
225
|
+
#
|
226
|
+
def create_ssh_public_key request, options = nil
|
227
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
228
|
+
|
229
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::OsLogin::V1::CreateSshPublicKeyRequest
|
230
|
+
|
231
|
+
# Converts hash and nil to an options object
|
232
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
233
|
+
|
234
|
+
# Customize the options with defaults
|
235
|
+
metadata = @config.rpcs.create_ssh_public_key.metadata.to_h
|
236
|
+
|
237
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
238
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
239
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
240
|
+
gapic_version: ::Google::Cloud::OsLogin::V1::VERSION
|
241
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
242
|
+
|
243
|
+
header_params = {}
|
244
|
+
if request.parent
|
245
|
+
header_params["parent"] = request.parent
|
246
|
+
end
|
247
|
+
|
248
|
+
request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
249
|
+
metadata[:"x-goog-request-params"] ||= request_params_header
|
250
|
+
|
251
|
+
options.apply_defaults timeout: @config.rpcs.create_ssh_public_key.timeout,
|
252
|
+
metadata: metadata,
|
253
|
+
retry_policy: @config.rpcs.create_ssh_public_key.retry_policy
|
254
|
+
|
255
|
+
options.apply_defaults timeout: @config.timeout,
|
256
|
+
metadata: @config.metadata,
|
257
|
+
retry_policy: @config.retry_policy
|
258
|
+
|
259
|
+
@os_login_service_stub.call_rpc :create_ssh_public_key, request, options: options do |response, operation|
|
260
|
+
yield response, operation if block_given?
|
261
|
+
return response
|
262
|
+
end
|
263
|
+
rescue ::GRPC::BadStatus => e
|
264
|
+
raise ::Google::Cloud::Error.from_error(e)
|
265
|
+
end
|
266
|
+
|
180
267
|
##
|
181
268
|
# Deletes a POSIX account.
|
182
269
|
#
|
@@ -196,9 +283,9 @@ module Google
|
|
196
283
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
197
284
|
#
|
198
285
|
# @param name [::String]
|
199
|
-
# Required. A reference to the POSIX account to update. POSIX accounts are
|
200
|
-
# by the project ID they are associated with. A reference to the
|
201
|
-
# account is in format `users/{user}/projects/{project}`.
|
286
|
+
# Required. A reference to the POSIX account to update. POSIX accounts are
|
287
|
+
# identified by the project ID they are associated with. A reference to the
|
288
|
+
# POSIX account is in format `users/{user}/projects/{project}`.
|
202
289
|
#
|
203
290
|
# @yield [response, operation] Access the result along with the RPC operation
|
204
291
|
# @yieldparam response [::Google::Protobuf::Empty]
|
@@ -283,9 +370,9 @@ module Google
|
|
283
370
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
284
371
|
#
|
285
372
|
# @param name [::String]
|
286
|
-
# Required. The fingerprint of the public key to update. Public keys are
|
287
|
-
# their SHA-256 fingerprint. The fingerprint of the public key
|
288
|
-
# `users/{user}/sshPublicKeys/{fingerprint}`.
|
373
|
+
# Required. The fingerprint of the public key to update. Public keys are
|
374
|
+
# identified by their SHA-256 fingerprint. The fingerprint of the public key
|
375
|
+
# is in format `users/{user}/sshPublicKeys/{fingerprint}`.
|
289
376
|
#
|
290
377
|
# @yield [response, operation] Access the result along with the RPC operation
|
291
378
|
# @yieldparam response [::Google::Protobuf::Empty]
|
@@ -460,9 +547,9 @@ module Google
|
|
460
547
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
461
548
|
#
|
462
549
|
# @param name [::String]
|
463
|
-
# Required. The fingerprint of the public key to retrieve. Public keys are
|
464
|
-
# by their SHA-256 fingerprint. The fingerprint of the public key
|
465
|
-
# format `users/{user}/sshPublicKeys/{fingerprint}`.
|
550
|
+
# Required. The fingerprint of the public key to retrieve. Public keys are
|
551
|
+
# identified by their SHA-256 fingerprint. The fingerprint of the public key
|
552
|
+
# is in format `users/{user}/sshPublicKeys/{fingerprint}`.
|
466
553
|
#
|
467
554
|
# @yield [response, operation] Access the result along with the RPC operation
|
468
555
|
# @yieldparam response [::Google::Cloud::OsLogin::Common::SshPublicKey]
|
@@ -639,9 +726,9 @@ module Google
|
|
639
726
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
640
727
|
#
|
641
728
|
# @param name [::String]
|
642
|
-
# Required. The fingerprint of the public key to update. Public keys are
|
643
|
-
# their SHA-256 fingerprint. The fingerprint of the public key
|
644
|
-
# `users/{user}/sshPublicKeys/{fingerprint}`.
|
729
|
+
# Required. The fingerprint of the public key to update. Public keys are
|
730
|
+
# identified by their SHA-256 fingerprint. The fingerprint of the public key
|
731
|
+
# is in format `users/{user}/sshPublicKeys/{fingerprint}`.
|
645
732
|
# @param ssh_public_key [::Google::Cloud::OsLogin::Common::SshPublicKey, ::Hash]
|
646
733
|
# Required. The SSH public key and expiration time.
|
647
734
|
# @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
|
@@ -727,17 +814,17 @@ module Google
|
|
727
814
|
# @example
|
728
815
|
#
|
729
816
|
# # Modify the global config, setting the timeout for
|
730
|
-
# #
|
817
|
+
# # create_ssh_public_key to 20 seconds,
|
731
818
|
# # and all remaining timeouts to 10 seconds.
|
732
819
|
# ::Google::Cloud::OsLogin::V1::OsLoginService::Client.configure do |config|
|
733
820
|
# config.timeout = 10.0
|
734
|
-
# config.rpcs.
|
821
|
+
# config.rpcs.create_ssh_public_key.timeout = 20.0
|
735
822
|
# end
|
736
823
|
#
|
737
824
|
# # Apply the above configuration only to a new client.
|
738
825
|
# client = ::Google::Cloud::OsLogin::V1::OsLoginService::Client.new do |config|
|
739
826
|
# config.timeout = 10.0
|
740
|
-
# config.rpcs.
|
827
|
+
# config.rpcs.create_ssh_public_key.timeout = 20.0
|
741
828
|
# end
|
742
829
|
#
|
743
830
|
# @!attribute [rw] endpoint
|
@@ -846,6 +933,11 @@ module Google
|
|
846
933
|
# trigger a retry.
|
847
934
|
#
|
848
935
|
class Rpcs
|
936
|
+
##
|
937
|
+
# RPC-specific configuration for `create_ssh_public_key`
|
938
|
+
# @return [::Gapic::Config::Method]
|
939
|
+
#
|
940
|
+
attr_reader :create_ssh_public_key
|
849
941
|
##
|
850
942
|
# RPC-specific configuration for `delete_posix_account`
|
851
943
|
# @return [::Gapic::Config::Method]
|
@@ -879,6 +971,8 @@ module Google
|
|
879
971
|
|
880
972
|
# @private
|
881
973
|
def initialize parent_rpcs = nil
|
974
|
+
create_ssh_public_key_config = parent_rpcs.create_ssh_public_key if parent_rpcs.respond_to? :create_ssh_public_key
|
975
|
+
@create_ssh_public_key = ::Gapic::Config::Method.new create_ssh_public_key_config
|
882
976
|
delete_posix_account_config = parent_rpcs.delete_posix_account if parent_rpcs.respond_to? :delete_posix_account
|
883
977
|
@delete_posix_account = ::Gapic::Config::Method.new delete_posix_account_config
|
884
978
|
delete_ssh_public_key_config = parent_rpcs.delete_ssh_public_key if parent_rpcs.respond_to? :delete_ssh_public_key
|
@@ -27,7 +27,9 @@ module Google
|
|
27
27
|
class Credentials < ::Google::Auth::Credentials
|
28
28
|
self.scope = [
|
29
29
|
"https://www.googleapis.com/auth/cloud-platform",
|
30
|
-
"https://www.googleapis.com/auth/
|
30
|
+
"https://www.googleapis.com/auth/cloud-platform.read-only",
|
31
|
+
"https://www.googleapis.com/auth/compute",
|
32
|
+
"https://www.googleapis.com/auth/compute.readonly"
|
31
33
|
]
|
32
34
|
self.env_vars = [
|
33
35
|
"OS_LOGIN_CREDENTIALS",
|