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.
@@ -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
- # To load this service and instantiate a client:
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
@@ -21,7 +21,7 @@ module Google
21
21
  module Iam
22
22
  module Credentials
23
23
  module V1
24
- VERSION = "0.3.5"
24
+ VERSION = "0.5.0"
25
25
  end
26
26
  end
27
27
  end
@@ -23,11 +23,18 @@ module Google
23
23
  module Iam
24
24
  module Credentials
25
25
  ##
26
- # To load this package, including all its services, and instantiate a client:
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