google-iam-credentials-v1 0.3.5 → 0.5.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 +13 -8
- data/lib/google/iam/credentials/v1/common_pb.rb +2 -1
- data/lib/google/iam/credentials/v1/iam_credentials/rest/client.rb +655 -0
- data/lib/google/iam/credentials/v1/iam_credentials/rest/service_stub.rb +288 -0
- data/lib/google/iam/credentials/v1/iam_credentials/rest.rb +60 -0
- data/lib/google/iam/credentials/v1/iam_credentials.rb +7 -1
- data/lib/google/iam/credentials/v1/iamcredentials_pb.rb +2 -1
- data/lib/google/iam/credentials/v1/rest.rb +37 -0
- data/lib/google/iam/credentials/v1/version.rb +1 -1
- data/lib/google/iam/credentials/v1.rb +8 -1
- data/proto_docs/google/api/client.rb +318 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- metadata +19 -13
@@ -0,0 +1,288 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2023 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
require "google/iam/credentials/v1/iamcredentials_pb"
|
20
|
+
|
21
|
+
module Google
|
22
|
+
module Iam
|
23
|
+
module Credentials
|
24
|
+
module V1
|
25
|
+
module IAMCredentials
|
26
|
+
module Rest
|
27
|
+
##
|
28
|
+
# REST service stub for the IAMCredentials service.
|
29
|
+
# Service stub contains baseline method implementations
|
30
|
+
# including transcoding, making the REST call, and deserialing the response.
|
31
|
+
#
|
32
|
+
class ServiceStub
|
33
|
+
def initialize endpoint:, credentials:
|
34
|
+
# These require statements are intentionally placed here to initialize
|
35
|
+
# the REST modules only when it's required.
|
36
|
+
require "gapic/rest"
|
37
|
+
|
38
|
+
@client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
|
39
|
+
numeric_enums: true,
|
40
|
+
raise_faraday_errors: false
|
41
|
+
end
|
42
|
+
|
43
|
+
##
|
44
|
+
# Baseline implementation for the generate_access_token REST call
|
45
|
+
#
|
46
|
+
# @param request_pb [::Google::Iam::Credentials::V1::GenerateAccessTokenRequest]
|
47
|
+
# A request object representing the call parameters. Required.
|
48
|
+
# @param options [::Gapic::CallOptions]
|
49
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
50
|
+
#
|
51
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
52
|
+
# @yieldparam result [::Google::Iam::Credentials::V1::GenerateAccessTokenResponse]
|
53
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
54
|
+
#
|
55
|
+
# @return [::Google::Iam::Credentials::V1::GenerateAccessTokenResponse]
|
56
|
+
# A result object deserialized from the server's reply
|
57
|
+
def generate_access_token request_pb, options = nil
|
58
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
59
|
+
|
60
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_generate_access_token_request request_pb
|
61
|
+
query_string_params = if query_string_params.any?
|
62
|
+
query_string_params.to_h { |p| p.split("=", 2) }
|
63
|
+
else
|
64
|
+
{}
|
65
|
+
end
|
66
|
+
|
67
|
+
response = @client_stub.make_http_request(
|
68
|
+
verb,
|
69
|
+
uri: uri,
|
70
|
+
body: body || "",
|
71
|
+
params: query_string_params,
|
72
|
+
options: options
|
73
|
+
)
|
74
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
75
|
+
result = ::Google::Iam::Credentials::V1::GenerateAccessTokenResponse.decode_json response.body, ignore_unknown_fields: true
|
76
|
+
|
77
|
+
yield result, operation if block_given?
|
78
|
+
result
|
79
|
+
end
|
80
|
+
|
81
|
+
##
|
82
|
+
# Baseline implementation for the generate_id_token REST call
|
83
|
+
#
|
84
|
+
# @param request_pb [::Google::Iam::Credentials::V1::GenerateIdTokenRequest]
|
85
|
+
# A request object representing the call parameters. Required.
|
86
|
+
# @param options [::Gapic::CallOptions]
|
87
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
88
|
+
#
|
89
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
90
|
+
# @yieldparam result [::Google::Iam::Credentials::V1::GenerateIdTokenResponse]
|
91
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
92
|
+
#
|
93
|
+
# @return [::Google::Iam::Credentials::V1::GenerateIdTokenResponse]
|
94
|
+
# A result object deserialized from the server's reply
|
95
|
+
def generate_id_token request_pb, options = nil
|
96
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
97
|
+
|
98
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_generate_id_token_request request_pb
|
99
|
+
query_string_params = if query_string_params.any?
|
100
|
+
query_string_params.to_h { |p| p.split("=", 2) }
|
101
|
+
else
|
102
|
+
{}
|
103
|
+
end
|
104
|
+
|
105
|
+
response = @client_stub.make_http_request(
|
106
|
+
verb,
|
107
|
+
uri: uri,
|
108
|
+
body: body || "",
|
109
|
+
params: query_string_params,
|
110
|
+
options: options
|
111
|
+
)
|
112
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
113
|
+
result = ::Google::Iam::Credentials::V1::GenerateIdTokenResponse.decode_json response.body, ignore_unknown_fields: true
|
114
|
+
|
115
|
+
yield result, operation if block_given?
|
116
|
+
result
|
117
|
+
end
|
118
|
+
|
119
|
+
##
|
120
|
+
# Baseline implementation for the sign_blob REST call
|
121
|
+
#
|
122
|
+
# @param request_pb [::Google::Iam::Credentials::V1::SignBlobRequest]
|
123
|
+
# A request object representing the call parameters. Required.
|
124
|
+
# @param options [::Gapic::CallOptions]
|
125
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
126
|
+
#
|
127
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
128
|
+
# @yieldparam result [::Google::Iam::Credentials::V1::SignBlobResponse]
|
129
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
130
|
+
#
|
131
|
+
# @return [::Google::Iam::Credentials::V1::SignBlobResponse]
|
132
|
+
# A result object deserialized from the server's reply
|
133
|
+
def sign_blob request_pb, options = nil
|
134
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
135
|
+
|
136
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_sign_blob_request request_pb
|
137
|
+
query_string_params = if query_string_params.any?
|
138
|
+
query_string_params.to_h { |p| p.split("=", 2) }
|
139
|
+
else
|
140
|
+
{}
|
141
|
+
end
|
142
|
+
|
143
|
+
response = @client_stub.make_http_request(
|
144
|
+
verb,
|
145
|
+
uri: uri,
|
146
|
+
body: body || "",
|
147
|
+
params: query_string_params,
|
148
|
+
options: options
|
149
|
+
)
|
150
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
151
|
+
result = ::Google::Iam::Credentials::V1::SignBlobResponse.decode_json response.body, ignore_unknown_fields: true
|
152
|
+
|
153
|
+
yield result, operation if block_given?
|
154
|
+
result
|
155
|
+
end
|
156
|
+
|
157
|
+
##
|
158
|
+
# Baseline implementation for the sign_jwt REST call
|
159
|
+
#
|
160
|
+
# @param request_pb [::Google::Iam::Credentials::V1::SignJwtRequest]
|
161
|
+
# A request object representing the call parameters. Required.
|
162
|
+
# @param options [::Gapic::CallOptions]
|
163
|
+
# Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
|
164
|
+
#
|
165
|
+
# @yield [result, operation] Access the result along with the TransportOperation object
|
166
|
+
# @yieldparam result [::Google::Iam::Credentials::V1::SignJwtResponse]
|
167
|
+
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
168
|
+
#
|
169
|
+
# @return [::Google::Iam::Credentials::V1::SignJwtResponse]
|
170
|
+
# A result object deserialized from the server's reply
|
171
|
+
def sign_jwt request_pb, options = nil
|
172
|
+
raise ::ArgumentError, "request must be provided" if request_pb.nil?
|
173
|
+
|
174
|
+
verb, uri, query_string_params, body = ServiceStub.transcode_sign_jwt_request request_pb
|
175
|
+
query_string_params = if query_string_params.any?
|
176
|
+
query_string_params.to_h { |p| p.split("=", 2) }
|
177
|
+
else
|
178
|
+
{}
|
179
|
+
end
|
180
|
+
|
181
|
+
response = @client_stub.make_http_request(
|
182
|
+
verb,
|
183
|
+
uri: uri,
|
184
|
+
body: body || "",
|
185
|
+
params: query_string_params,
|
186
|
+
options: options
|
187
|
+
)
|
188
|
+
operation = ::Gapic::Rest::TransportOperation.new response
|
189
|
+
result = ::Google::Iam::Credentials::V1::SignJwtResponse.decode_json response.body, ignore_unknown_fields: true
|
190
|
+
|
191
|
+
yield result, operation if block_given?
|
192
|
+
result
|
193
|
+
end
|
194
|
+
|
195
|
+
##
|
196
|
+
# @private
|
197
|
+
#
|
198
|
+
# GRPC transcoding helper method for the generate_access_token REST call
|
199
|
+
#
|
200
|
+
# @param request_pb [::Google::Iam::Credentials::V1::GenerateAccessTokenRequest]
|
201
|
+
# A request object representing the call parameters. Required.
|
202
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
203
|
+
# Uri, Body, Query string parameters
|
204
|
+
def self.transcode_generate_access_token_request request_pb
|
205
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
206
|
+
.with_bindings(
|
207
|
+
uri_method: :post,
|
208
|
+
uri_template: "/v1/{name}:generateAccessToken",
|
209
|
+
body: "*",
|
210
|
+
matches: [
|
211
|
+
["name", %r{^projects/[^/]+/serviceAccounts/[^/]+/?$}, false]
|
212
|
+
]
|
213
|
+
)
|
214
|
+
transcoder.transcode request_pb
|
215
|
+
end
|
216
|
+
|
217
|
+
##
|
218
|
+
# @private
|
219
|
+
#
|
220
|
+
# GRPC transcoding helper method for the generate_id_token REST call
|
221
|
+
#
|
222
|
+
# @param request_pb [::Google::Iam::Credentials::V1::GenerateIdTokenRequest]
|
223
|
+
# A request object representing the call parameters. Required.
|
224
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
225
|
+
# Uri, Body, Query string parameters
|
226
|
+
def self.transcode_generate_id_token_request request_pb
|
227
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
228
|
+
.with_bindings(
|
229
|
+
uri_method: :post,
|
230
|
+
uri_template: "/v1/{name}:generateIdToken",
|
231
|
+
body: "*",
|
232
|
+
matches: [
|
233
|
+
["name", %r{^projects/[^/]+/serviceAccounts/[^/]+/?$}, false]
|
234
|
+
]
|
235
|
+
)
|
236
|
+
transcoder.transcode request_pb
|
237
|
+
end
|
238
|
+
|
239
|
+
##
|
240
|
+
# @private
|
241
|
+
#
|
242
|
+
# GRPC transcoding helper method for the sign_blob REST call
|
243
|
+
#
|
244
|
+
# @param request_pb [::Google::Iam::Credentials::V1::SignBlobRequest]
|
245
|
+
# A request object representing the call parameters. Required.
|
246
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
247
|
+
# Uri, Body, Query string parameters
|
248
|
+
def self.transcode_sign_blob_request request_pb
|
249
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
250
|
+
.with_bindings(
|
251
|
+
uri_method: :post,
|
252
|
+
uri_template: "/v1/{name}:signBlob",
|
253
|
+
body: "*",
|
254
|
+
matches: [
|
255
|
+
["name", %r{^projects/[^/]+/serviceAccounts/[^/]+/?$}, false]
|
256
|
+
]
|
257
|
+
)
|
258
|
+
transcoder.transcode request_pb
|
259
|
+
end
|
260
|
+
|
261
|
+
##
|
262
|
+
# @private
|
263
|
+
#
|
264
|
+
# GRPC transcoding helper method for the sign_jwt REST call
|
265
|
+
#
|
266
|
+
# @param request_pb [::Google::Iam::Credentials::V1::SignJwtRequest]
|
267
|
+
# A request object representing the call parameters. Required.
|
268
|
+
# @return [Array(String, [String, nil], Hash{String => String})]
|
269
|
+
# Uri, Body, Query string parameters
|
270
|
+
def self.transcode_sign_jwt_request request_pb
|
271
|
+
transcoder = Gapic::Rest::GrpcTranscoder.new
|
272
|
+
.with_bindings(
|
273
|
+
uri_method: :post,
|
274
|
+
uri_template: "/v1/{name}:signJwt",
|
275
|
+
body: "*",
|
276
|
+
matches: [
|
277
|
+
["name", %r{^projects/[^/]+/serviceAccounts/[^/]+/?$}, false]
|
278
|
+
]
|
279
|
+
)
|
280
|
+
transcoder.transcode request_pb
|
281
|
+
end
|
282
|
+
end
|
283
|
+
end
|
284
|
+
end
|
285
|
+
end
|
286
|
+
end
|
287
|
+
end
|
288
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2023 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
require "gapic/rest"
|
20
|
+
require "gapic/config"
|
21
|
+
require "gapic/config/method"
|
22
|
+
|
23
|
+
require "google/iam/credentials/v1/version"
|
24
|
+
|
25
|
+
require "google/iam/credentials/v1/iam_credentials/credentials"
|
26
|
+
require "google/iam/credentials/v1/iam_credentials/paths"
|
27
|
+
require "google/iam/credentials/v1/iam_credentials/rest/client"
|
28
|
+
|
29
|
+
module Google
|
30
|
+
module Iam
|
31
|
+
module Credentials
|
32
|
+
module V1
|
33
|
+
##
|
34
|
+
# A service account is a special type of Google account that belongs to your
|
35
|
+
# application or a virtual machine (VM), instead of to an individual end user.
|
36
|
+
# Your application assumes the identity of the service account to call Google
|
37
|
+
# APIs, so that the users aren't directly involved.
|
38
|
+
#
|
39
|
+
# Service account credentials are used to temporarily assume the identity
|
40
|
+
# of the service account. Supported credential types include OAuth 2.0 access
|
41
|
+
# tokens, OpenID Connect ID tokens, self-signed JSON Web Tokens (JWTs), and
|
42
|
+
# more.
|
43
|
+
#
|
44
|
+
# To load this service and instantiate a REST client:
|
45
|
+
#
|
46
|
+
# require "google/iam/credentials/v1/iam_credentials/rest"
|
47
|
+
# client = ::Google::Iam::Credentials::V1::IAMCredentials::Rest::Client.new
|
48
|
+
#
|
49
|
+
module IAMCredentials
|
50
|
+
# Client for the REST transport
|
51
|
+
module Rest
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
helper_path = ::File.join __dir__, "rest", "helpers.rb"
|
60
|
+
require "google/iam/credentials/v1/iam_credentials/rest/helpers" if ::File.file? helper_path
|
@@ -25,6 +25,7 @@ require "google/iam/credentials/v1/version"
|
|
25
25
|
require "google/iam/credentials/v1/iam_credentials/credentials"
|
26
26
|
require "google/iam/credentials/v1/iam_credentials/paths"
|
27
27
|
require "google/iam/credentials/v1/iam_credentials/client"
|
28
|
+
require "google/iam/credentials/v1/iam_credentials/rest"
|
28
29
|
|
29
30
|
module Google
|
30
31
|
module Iam
|
@@ -41,11 +42,16 @@ module Google
|
|
41
42
|
# tokens, OpenID Connect ID tokens, self-signed JSON Web Tokens (JWTs), and
|
42
43
|
# more.
|
43
44
|
#
|
44
|
-
#
|
45
|
+
# @example Load this service and instantiate a gRPC client
|
45
46
|
#
|
46
47
|
# require "google/iam/credentials/v1/iam_credentials"
|
47
48
|
# client = ::Google::Iam::Credentials::V1::IAMCredentials::Client.new
|
48
49
|
#
|
50
|
+
# @example Load this service and instantiate a REST client
|
51
|
+
#
|
52
|
+
# require "google/iam/credentials/v1/iam_credentials/rest"
|
53
|
+
# client = ::Google::Iam::Credentials::V1::IAMCredentials::Rest::Client.new
|
54
|
+
#
|
49
55
|
module IAMCredentials
|
50
56
|
end
|
51
57
|
end
|
@@ -1,10 +1,11 @@
|
|
1
1
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
2
|
# source: google/iam/credentials/v1/iamcredentials.proto
|
3
3
|
|
4
|
+
require 'google/protobuf'
|
5
|
+
|
4
6
|
require 'google/api/annotations_pb'
|
5
7
|
require 'google/api/client_pb'
|
6
8
|
require 'google/iam/credentials/v1/common_pb'
|
7
|
-
require 'google/protobuf'
|
8
9
|
|
9
10
|
Google::Protobuf::DescriptorPool.generated_pool.build do
|
10
11
|
add_file("google/iam/credentials/v1/iamcredentials.proto", :syntax => :proto3) do
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2023 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
require "google/iam/credentials/v1/iam_credentials/rest"
|
20
|
+
require "google/iam/credentials/v1/version"
|
21
|
+
|
22
|
+
module Google
|
23
|
+
module Iam
|
24
|
+
module Credentials
|
25
|
+
##
|
26
|
+
# To load just the REST part of this package, including all its services, and instantiate a REST client:
|
27
|
+
#
|
28
|
+
# @example
|
29
|
+
#
|
30
|
+
# require "google/iam/credentials/v1/rest"
|
31
|
+
# client = ::Google::Iam::Credentials::V1::IAMCredentials::Rest::Client.new
|
32
|
+
#
|
33
|
+
module V1
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -23,11 +23,18 @@ module Google
|
|
23
23
|
module Iam
|
24
24
|
module Credentials
|
25
25
|
##
|
26
|
-
#
|
26
|
+
# API client module.
|
27
|
+
#
|
28
|
+
# @example Load this package, including all its services, and instantiate a gRPC client
|
27
29
|
#
|
28
30
|
# require "google/iam/credentials/v1"
|
29
31
|
# client = ::Google::Iam::Credentials::V1::IAMCredentials::Client.new
|
30
32
|
#
|
33
|
+
# @example Load this package, including all its services, and instantiate a REST client
|
34
|
+
#
|
35
|
+
# require "google/iam/credentials/v1"
|
36
|
+
# client = ::Google::Iam::Credentials::V1::IAMCredentials::Rest::Client.new
|
37
|
+
#
|
31
38
|
module V1
|
32
39
|
end
|
33
40
|
end
|