google-cloud-managed_identities-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-managed_identities-v1.rb +21 -0
  7. data/lib/google/cloud/managed_identities/v1.rb +38 -0
  8. data/lib/google/cloud/managed_identities/v1/managed_identities_service.rb +81 -0
  9. data/lib/google/cloud/managed_identities/v1/managed_identities_service/client.rb +1160 -0
  10. data/lib/google/cloud/managed_identities/v1/managed_identities_service/credentials.rb +51 -0
  11. data/lib/google/cloud/managed_identities/v1/managed_identities_service/operations.rb +570 -0
  12. data/lib/google/cloud/managed_identities/v1/managed_identities_service/paths.rb +69 -0
  13. data/lib/google/cloud/managed_identities/v1/version.rb +28 -0
  14. data/lib/google/cloud/managedidentities/v1/managed_identities_service_pb.rb +97 -0
  15. data/lib/google/cloud/managedidentities/v1/managed_identities_service_services_pb.rb +96 -0
  16. data/lib/google/cloud/managedidentities/v1/resource_pb.rb +84 -0
  17. data/proto_docs/README.md +4 -0
  18. data/proto_docs/google/api/field_behavior.rb +59 -0
  19. data/proto_docs/google/api/resource.rb +283 -0
  20. data/proto_docs/google/cloud/managedidentities/v1/managed_identities_service.rb +253 -0
  21. data/proto_docs/google/cloud/managedidentities/v1/resource.rb +218 -0
  22. data/proto_docs/google/longrunning/operations.rb +150 -0
  23. data/proto_docs/google/protobuf/any.rb +138 -0
  24. data/proto_docs/google/protobuf/empty.rb +36 -0
  25. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  26. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  27. data/proto_docs/google/rpc/status.rb +46 -0
  28. metadata +210 -0
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/cloud/managed_identities/v1"
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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/cloud/managed_identities/v1/managed_identities_service"
20
+ require "google/cloud/managed_identities/v1/version"
21
+
22
+ module Google
23
+ module Cloud
24
+ module ManagedIdentities
25
+ ##
26
+ # To load this package, including all its services, and instantiate a client:
27
+ #
28
+ # require "google/cloud/managed_identities/v1"
29
+ # client = ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.new
30
+ #
31
+ module V1
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ helper_path = ::File.join __dir__, "v1", "_helpers.rb"
38
+ require "google/cloud/managed_identities/v1/_helpers" if ::File.file? helper_path
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/managed_identities/v1/version"
24
+
25
+ require "google/cloud/managed_identities/v1/managed_identities_service/credentials"
26
+ require "google/cloud/managed_identities/v1/managed_identities_service/paths"
27
+ require "google/cloud/managed_identities/v1/managed_identities_service/operations"
28
+ require "google/cloud/managed_identities/v1/managed_identities_service/client"
29
+
30
+ module Google
31
+ module Cloud
32
+ module ManagedIdentities
33
+ module V1
34
+ ##
35
+ # ## API Overview
36
+ #
37
+ # The `managedidentites.googleapis.com` service implements the Google Cloud
38
+ # Managed Identites API for identity services
39
+ # (e.g. Microsoft Active Directory).
40
+ #
41
+ # The Managed Identities service provides methods to manage
42
+ # (create/read/update/delete) domains, reset managed identities admin password,
43
+ # add/remove domain controllers in GCP regions and add/remove VPC peering.
44
+ #
45
+ # ## Data Model
46
+ #
47
+ # The Managed Identities service exposes the following resources:
48
+ #
49
+ # * Locations as global, named as follows:
50
+ # `projects/{project_id}/locations/global`.
51
+ #
52
+ # * Domains, named as follows:
53
+ # `/projects/{project_id}/locations/global/domain/{domain_name}`.
54
+ #
55
+ # The `{domain_name}` refers to fully qualified domain name in the customer
56
+ # project e.g. mydomain.myorganization.com, with the following restrictions:
57
+ #
58
+ # * Must contain only lowercase letters, numbers, periods and hyphens.
59
+ # * Must start with a letter.
60
+ # * Must contain between 2-64 characters.
61
+ # * Must end with a number or a letter.
62
+ # * Must not start with period.
63
+ # * First segement length (mydomain form example above) shouldn't exceed
64
+ # 15 chars.
65
+ # * The last segment cannot be fully numeric.
66
+ # * Must be unique within the customer project.
67
+ #
68
+ # To load this service and instantiate a client:
69
+ #
70
+ # require "google/cloud/managed_identities/v1/managed_identities_service"
71
+ # client = ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.new
72
+ #
73
+ module ManagedIdentitiesService
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+
80
+ helper_path = ::File.join __dir__, "managed_identities_service", "helpers.rb"
81
+ require "google/cloud/managed_identities/v1/managed_identities_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,1160 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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/cloud/errors"
20
+ require "google/cloud/managedidentities/v1/managed_identities_service_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module ManagedIdentities
25
+ module V1
26
+ module ManagedIdentitiesService
27
+ ##
28
+ # Client for the ManagedIdentitiesService service.
29
+ #
30
+ # ## API Overview
31
+ #
32
+ # The `managedidentites.googleapis.com` service implements the Google Cloud
33
+ # Managed Identites API for identity services
34
+ # (e.g. Microsoft Active Directory).
35
+ #
36
+ # The Managed Identities service provides methods to manage
37
+ # (create/read/update/delete) domains, reset managed identities admin password,
38
+ # add/remove domain controllers in GCP regions and add/remove VPC peering.
39
+ #
40
+ # ## Data Model
41
+ #
42
+ # The Managed Identities service exposes the following resources:
43
+ #
44
+ # * Locations as global, named as follows:
45
+ # `projects/{project_id}/locations/global`.
46
+ #
47
+ # * Domains, named as follows:
48
+ # `/projects/{project_id}/locations/global/domain/{domain_name}`.
49
+ #
50
+ # The `{domain_name}` refers to fully qualified domain name in the customer
51
+ # project e.g. mydomain.myorganization.com, with the following restrictions:
52
+ #
53
+ # * Must contain only lowercase letters, numbers, periods and hyphens.
54
+ # * Must start with a letter.
55
+ # * Must contain between 2-64 characters.
56
+ # * Must end with a number or a letter.
57
+ # * Must not start with period.
58
+ # * First segement length (mydomain form example above) shouldn't exceed
59
+ # 15 chars.
60
+ # * The last segment cannot be fully numeric.
61
+ # * Must be unique within the customer project.
62
+ #
63
+ class Client
64
+ include Paths
65
+
66
+ # @private
67
+ attr_reader :managed_identities_service_stub
68
+
69
+ ##
70
+ # Configure the ManagedIdentitiesService Client class.
71
+ #
72
+ # See {::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client::Configuration}
73
+ # for a description of the configuration fields.
74
+ #
75
+ # ## Example
76
+ #
77
+ # To modify the configuration for all ManagedIdentitiesService clients:
78
+ #
79
+ # ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.configure do |config|
80
+ # config.timeout = 10.0
81
+ # end
82
+ #
83
+ # @yield [config] Configure the Client client.
84
+ # @yieldparam config [Client::Configuration]
85
+ #
86
+ # @return [Client::Configuration]
87
+ #
88
+ def self.configure
89
+ @configure ||= begin
90
+ namespace = ["Google", "Cloud", "ManagedIdentities", "V1"]
91
+ parent_config = while namespace.any?
92
+ parent_name = namespace.join "::"
93
+ parent_const = const_get parent_name
94
+ break parent_const.configure if parent_const&.respond_to? :configure
95
+ namespace.pop
96
+ end
97
+ default_config = Client::Configuration.new parent_config
98
+
99
+ default_config.rpcs.create_microsoft_ad_domain.timeout = 60.0
100
+
101
+ default_config.rpcs.reset_admin_password.timeout = 60.0
102
+
103
+ default_config.rpcs.list_domains.timeout = 60.0
104
+
105
+ default_config.rpcs.get_domain.timeout = 60.0
106
+
107
+ default_config.rpcs.update_domain.timeout = 60.0
108
+
109
+ default_config.rpcs.delete_domain.timeout = 60.0
110
+
111
+ default_config.rpcs.attach_trust.timeout = 60.0
112
+
113
+ default_config.rpcs.reconfigure_trust.timeout = 60.0
114
+
115
+ default_config.rpcs.detach_trust.timeout = 60.0
116
+
117
+ default_config.rpcs.validate_trust.timeout = 60.0
118
+
119
+ default_config
120
+ end
121
+ yield @configure if block_given?
122
+ @configure
123
+ end
124
+
125
+ ##
126
+ # Configure the ManagedIdentitiesService Client instance.
127
+ #
128
+ # The configuration is set to the derived mode, meaning that values can be changed,
129
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
130
+ # should be made on {Client.configure}.
131
+ #
132
+ # See {::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client::Configuration}
133
+ # for a description of the configuration fields.
134
+ #
135
+ # @yield [config] Configure the Client client.
136
+ # @yieldparam config [Client::Configuration]
137
+ #
138
+ # @return [Client::Configuration]
139
+ #
140
+ def configure
141
+ yield @config if block_given?
142
+ @config
143
+ end
144
+
145
+ ##
146
+ # Create a new ManagedIdentitiesService client object.
147
+ #
148
+ # ## Examples
149
+ #
150
+ # To create a new ManagedIdentitiesService client with the default
151
+ # configuration:
152
+ #
153
+ # client = ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.new
154
+ #
155
+ # To create a new ManagedIdentitiesService client with a custom
156
+ # configuration:
157
+ #
158
+ # client = ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.new do |config|
159
+ # config.timeout = 10.0
160
+ # end
161
+ #
162
+ # @yield [config] Configure the ManagedIdentitiesService client.
163
+ # @yieldparam config [Client::Configuration]
164
+ #
165
+ def initialize
166
+ # These require statements are intentionally placed here to initialize
167
+ # the gRPC module only when it's required.
168
+ # See https://github.com/googleapis/toolkit/issues/446
169
+ require "gapic/grpc"
170
+ require "google/cloud/managedidentities/v1/managed_identities_service_services_pb"
171
+
172
+ # Create the configuration object
173
+ @config = Configuration.new Client.configure
174
+
175
+ # Yield the configuration if needed
176
+ yield @config if block_given?
177
+
178
+ # Create credentials
179
+ credentials = @config.credentials
180
+ credentials ||= Credentials.default scope: @config.scope
181
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
182
+ credentials = Credentials.new credentials, scope: @config.scope
183
+ end
184
+ @quota_project_id = @config.quota_project
185
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
186
+
187
+ @operations_client = Operations.new do |config|
188
+ config.credentials = credentials
189
+ config.endpoint = @config.endpoint
190
+ end
191
+
192
+ @managed_identities_service_stub = ::Gapic::ServiceStub.new(
193
+ ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Stub,
194
+ credentials: credentials,
195
+ endpoint: @config.endpoint,
196
+ channel_args: @config.channel_args,
197
+ interceptors: @config.interceptors
198
+ )
199
+ end
200
+
201
+ ##
202
+ # Get the associated client for long-running operations.
203
+ #
204
+ # @return [::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Operations]
205
+ #
206
+ attr_reader :operations_client
207
+
208
+ # Service calls
209
+
210
+ ##
211
+ # Creates a Microsoft AD domain.
212
+ #
213
+ # @overload create_microsoft_ad_domain(request, options = nil)
214
+ # Pass arguments to `create_microsoft_ad_domain` via a request object, either of type
215
+ # {::Google::Cloud::ManagedIdentities::V1::CreateMicrosoftAdDomainRequest} or an equivalent Hash.
216
+ #
217
+ # @param request [::Google::Cloud::ManagedIdentities::V1::CreateMicrosoftAdDomainRequest, ::Hash]
218
+ # A request object representing the call parameters. Required. To specify no
219
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
220
+ # @param options [::Gapic::CallOptions, ::Hash]
221
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
222
+ #
223
+ # @overload create_microsoft_ad_domain(parent: nil, domain_name: nil, domain: nil)
224
+ # Pass arguments to `create_microsoft_ad_domain` via keyword arguments. Note that at
225
+ # least one keyword argument is required. To specify no parameters, or to keep all
226
+ # the default parameter values, pass an empty Hash as a request object (see above).
227
+ #
228
+ # @param parent [::String]
229
+ # Required. The resource project name and location using the form:
230
+ # `projects/{project_id}/locations/global`
231
+ # @param domain_name [::String]
232
+ # Required. The fully qualified domain name.
233
+ # e.g. mydomain.myorganization.com, with the following restrictions:
234
+ #
235
+ # * Must contain only lowercase letters, numbers, periods and hyphens.
236
+ # * Must start with a letter.
237
+ # * Must contain between 2-64 characters.
238
+ # * Must end with a number or a letter.
239
+ # * Must not start with period.
240
+ # * First segement length (mydomain form example above) shouldn't exceed
241
+ # 15 chars.
242
+ # * The last segment cannot be fully numeric.
243
+ # * Must be unique within the customer project.
244
+ # @param domain [::Google::Cloud::ManagedIdentities::V1::Domain, ::Hash]
245
+ # Required. A Managed Identity domain resource.
246
+ #
247
+ # @yield [response, operation] Access the result along with the RPC operation
248
+ # @yieldparam response [::Gapic::Operation]
249
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
250
+ #
251
+ # @return [::Gapic::Operation]
252
+ #
253
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
254
+ #
255
+ def create_microsoft_ad_domain request, options = nil
256
+ raise ::ArgumentError, "request must be provided" if request.nil?
257
+
258
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::CreateMicrosoftAdDomainRequest
259
+
260
+ # Converts hash and nil to an options object
261
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
262
+
263
+ # Customize the options with defaults
264
+ metadata = @config.rpcs.create_microsoft_ad_domain.metadata.to_h
265
+
266
+ # Set x-goog-api-client and x-goog-user-project headers
267
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
268
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
269
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
270
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
271
+
272
+ header_params = {
273
+ "parent" => request.parent
274
+ }
275
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
276
+ metadata[:"x-goog-request-params"] ||= request_params_header
277
+
278
+ options.apply_defaults timeout: @config.rpcs.create_microsoft_ad_domain.timeout,
279
+ metadata: metadata,
280
+ retry_policy: @config.rpcs.create_microsoft_ad_domain.retry_policy
281
+ options.apply_defaults metadata: @config.metadata,
282
+ retry_policy: @config.retry_policy
283
+
284
+ @managed_identities_service_stub.call_rpc :create_microsoft_ad_domain, request, options: options do |response, operation|
285
+ response = ::Gapic::Operation.new response, @operations_client, options: options
286
+ yield response, operation if block_given?
287
+ return response
288
+ end
289
+ rescue ::GRPC::BadStatus => e
290
+ raise ::Google::Cloud::Error.from_error(e)
291
+ end
292
+
293
+ ##
294
+ # Resets a domain's administrator password.
295
+ #
296
+ # @overload reset_admin_password(request, options = nil)
297
+ # Pass arguments to `reset_admin_password` via a request object, either of type
298
+ # {::Google::Cloud::ManagedIdentities::V1::ResetAdminPasswordRequest} or an equivalent Hash.
299
+ #
300
+ # @param request [::Google::Cloud::ManagedIdentities::V1::ResetAdminPasswordRequest, ::Hash]
301
+ # A request object representing the call parameters. Required. To specify no
302
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
303
+ # @param options [::Gapic::CallOptions, ::Hash]
304
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
305
+ #
306
+ # @overload reset_admin_password(name: nil)
307
+ # Pass arguments to `reset_admin_password` via keyword arguments. Note that at
308
+ # least one keyword argument is required. To specify no parameters, or to keep all
309
+ # the default parameter values, pass an empty Hash as a request object (see above).
310
+ #
311
+ # @param name [::String]
312
+ # Required. The domain resource name using the form:
313
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
314
+ #
315
+ # @yield [response, operation] Access the result along with the RPC operation
316
+ # @yieldparam response [::Google::Cloud::ManagedIdentities::V1::ResetAdminPasswordResponse]
317
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
318
+ #
319
+ # @return [::Google::Cloud::ManagedIdentities::V1::ResetAdminPasswordResponse]
320
+ #
321
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
322
+ #
323
+ def reset_admin_password request, options = nil
324
+ raise ::ArgumentError, "request must be provided" if request.nil?
325
+
326
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::ResetAdminPasswordRequest
327
+
328
+ # Converts hash and nil to an options object
329
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
330
+
331
+ # Customize the options with defaults
332
+ metadata = @config.rpcs.reset_admin_password.metadata.to_h
333
+
334
+ # Set x-goog-api-client and x-goog-user-project headers
335
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
336
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
337
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
338
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
339
+
340
+ header_params = {
341
+ "name" => request.name
342
+ }
343
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
344
+ metadata[:"x-goog-request-params"] ||= request_params_header
345
+
346
+ options.apply_defaults timeout: @config.rpcs.reset_admin_password.timeout,
347
+ metadata: metadata,
348
+ retry_policy: @config.rpcs.reset_admin_password.retry_policy
349
+ options.apply_defaults metadata: @config.metadata,
350
+ retry_policy: @config.retry_policy
351
+
352
+ @managed_identities_service_stub.call_rpc :reset_admin_password, request, options: options do |response, operation|
353
+ yield response, operation if block_given?
354
+ return response
355
+ end
356
+ rescue ::GRPC::BadStatus => e
357
+ raise ::Google::Cloud::Error.from_error(e)
358
+ end
359
+
360
+ ##
361
+ # Lists domains in a project.
362
+ #
363
+ # @overload list_domains(request, options = nil)
364
+ # Pass arguments to `list_domains` via a request object, either of type
365
+ # {::Google::Cloud::ManagedIdentities::V1::ListDomainsRequest} or an equivalent Hash.
366
+ #
367
+ # @param request [::Google::Cloud::ManagedIdentities::V1::ListDomainsRequest, ::Hash]
368
+ # A request object representing the call parameters. Required. To specify no
369
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
370
+ # @param options [::Gapic::CallOptions, ::Hash]
371
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
372
+ #
373
+ # @overload list_domains(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
374
+ # Pass arguments to `list_domains` via keyword arguments. Note that at
375
+ # least one keyword argument is required. To specify no parameters, or to keep all
376
+ # the default parameter values, pass an empty Hash as a request object (see above).
377
+ #
378
+ # @param parent [::String]
379
+ # Required. The resource name of the domain location using the form:
380
+ # `projects/{project_id}/locations/global`
381
+ # @param page_size [::Integer]
382
+ # Optional. The maximum number of items to return.
383
+ # If not specified, a default value of 1000 will be used.
384
+ # Regardless of the page_size value, the response may include a partial list.
385
+ # Callers should rely on a response's
386
+ # {::Google::Cloud::ManagedIdentities::V1::ListDomainsResponse#next_page_token next_page_token}
387
+ # to determine if there are additional results to list.
388
+ # @param page_token [::String]
389
+ # Optional. The `next_page_token` value returned from a previous ListDomainsRequest
390
+ # request, if any.
391
+ # @param filter [::String]
392
+ # Optional. A filter specifying constraints of a list operation.
393
+ # For example, `Domain.fqdn="mydomain.myorginization"`.
394
+ # @param order_by [::String]
395
+ # Optional. Specifies the ordering of results. See
396
+ # [Sorting
397
+ # order](https://cloud.google.com/apis/design/design_patterns#sorting_order)
398
+ # for more information.
399
+ #
400
+ # @yield [response, operation] Access the result along with the RPC operation
401
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::ManagedIdentities::V1::Domain>]
402
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
403
+ #
404
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::ManagedIdentities::V1::Domain>]
405
+ #
406
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
407
+ #
408
+ def list_domains request, options = nil
409
+ raise ::ArgumentError, "request must be provided" if request.nil?
410
+
411
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::ListDomainsRequest
412
+
413
+ # Converts hash and nil to an options object
414
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
415
+
416
+ # Customize the options with defaults
417
+ metadata = @config.rpcs.list_domains.metadata.to_h
418
+
419
+ # Set x-goog-api-client and x-goog-user-project headers
420
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
421
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
422
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
423
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
424
+
425
+ header_params = {
426
+ "parent" => request.parent
427
+ }
428
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
429
+ metadata[:"x-goog-request-params"] ||= request_params_header
430
+
431
+ options.apply_defaults timeout: @config.rpcs.list_domains.timeout,
432
+ metadata: metadata,
433
+ retry_policy: @config.rpcs.list_domains.retry_policy
434
+ options.apply_defaults metadata: @config.metadata,
435
+ retry_policy: @config.retry_policy
436
+
437
+ @managed_identities_service_stub.call_rpc :list_domains, request, options: options do |response, operation|
438
+ response = ::Gapic::PagedEnumerable.new @managed_identities_service_stub, :list_domains, request, response, operation, options
439
+ yield response, operation if block_given?
440
+ return response
441
+ end
442
+ rescue ::GRPC::BadStatus => e
443
+ raise ::Google::Cloud::Error.from_error(e)
444
+ end
445
+
446
+ ##
447
+ # Gets information about a domain.
448
+ #
449
+ # @overload get_domain(request, options = nil)
450
+ # Pass arguments to `get_domain` via a request object, either of type
451
+ # {::Google::Cloud::ManagedIdentities::V1::GetDomainRequest} or an equivalent Hash.
452
+ #
453
+ # @param request [::Google::Cloud::ManagedIdentities::V1::GetDomainRequest, ::Hash]
454
+ # A request object representing the call parameters. Required. To specify no
455
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
456
+ # @param options [::Gapic::CallOptions, ::Hash]
457
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
458
+ #
459
+ # @overload get_domain(name: nil)
460
+ # Pass arguments to `get_domain` via keyword arguments. Note that at
461
+ # least one keyword argument is required. To specify no parameters, or to keep all
462
+ # the default parameter values, pass an empty Hash as a request object (see above).
463
+ #
464
+ # @param name [::String]
465
+ # Required. The domain resource name using the form:
466
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
467
+ #
468
+ # @yield [response, operation] Access the result along with the RPC operation
469
+ # @yieldparam response [::Google::Cloud::ManagedIdentities::V1::Domain]
470
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
471
+ #
472
+ # @return [::Google::Cloud::ManagedIdentities::V1::Domain]
473
+ #
474
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
475
+ #
476
+ def get_domain request, options = nil
477
+ raise ::ArgumentError, "request must be provided" if request.nil?
478
+
479
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::GetDomainRequest
480
+
481
+ # Converts hash and nil to an options object
482
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
483
+
484
+ # Customize the options with defaults
485
+ metadata = @config.rpcs.get_domain.metadata.to_h
486
+
487
+ # Set x-goog-api-client and x-goog-user-project headers
488
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
489
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
490
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
491
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
492
+
493
+ header_params = {
494
+ "name" => request.name
495
+ }
496
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
497
+ metadata[:"x-goog-request-params"] ||= request_params_header
498
+
499
+ options.apply_defaults timeout: @config.rpcs.get_domain.timeout,
500
+ metadata: metadata,
501
+ retry_policy: @config.rpcs.get_domain.retry_policy
502
+ options.apply_defaults metadata: @config.metadata,
503
+ retry_policy: @config.retry_policy
504
+
505
+ @managed_identities_service_stub.call_rpc :get_domain, request, options: options do |response, operation|
506
+ yield response, operation if block_given?
507
+ return response
508
+ end
509
+ rescue ::GRPC::BadStatus => e
510
+ raise ::Google::Cloud::Error.from_error(e)
511
+ end
512
+
513
+ ##
514
+ # Updates the metadata and configuration of a domain.
515
+ #
516
+ # @overload update_domain(request, options = nil)
517
+ # Pass arguments to `update_domain` via a request object, either of type
518
+ # {::Google::Cloud::ManagedIdentities::V1::UpdateDomainRequest} or an equivalent Hash.
519
+ #
520
+ # @param request [::Google::Cloud::ManagedIdentities::V1::UpdateDomainRequest, ::Hash]
521
+ # A request object representing the call parameters. Required. To specify no
522
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
523
+ # @param options [::Gapic::CallOptions, ::Hash]
524
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
525
+ #
526
+ # @overload update_domain(update_mask: nil, domain: nil)
527
+ # Pass arguments to `update_domain` via keyword arguments. Note that at
528
+ # least one keyword argument is required. To specify no parameters, or to keep all
529
+ # the default parameter values, pass an empty Hash as a request object (see above).
530
+ #
531
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
532
+ # Required. Mask of fields to update. At least one path must be supplied in this
533
+ # field. The elements of the repeated paths field may only include
534
+ # fields from {::Google::Cloud::ManagedIdentities::V1::Domain Domain}:
535
+ # * `labels`
536
+ # * `locations`
537
+ # * `authorized_networks`
538
+ # @param domain [::Google::Cloud::ManagedIdentities::V1::Domain, ::Hash]
539
+ # Required. Domain message with updated fields. Only supported fields specified in
540
+ # update_mask are updated.
541
+ #
542
+ # @yield [response, operation] Access the result along with the RPC operation
543
+ # @yieldparam response [::Gapic::Operation]
544
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
545
+ #
546
+ # @return [::Gapic::Operation]
547
+ #
548
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
549
+ #
550
+ def update_domain request, options = nil
551
+ raise ::ArgumentError, "request must be provided" if request.nil?
552
+
553
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::UpdateDomainRequest
554
+
555
+ # Converts hash and nil to an options object
556
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
557
+
558
+ # Customize the options with defaults
559
+ metadata = @config.rpcs.update_domain.metadata.to_h
560
+
561
+ # Set x-goog-api-client and x-goog-user-project headers
562
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
563
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
564
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
565
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
566
+
567
+ header_params = {
568
+ "domain.name" => request.domain.name
569
+ }
570
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
571
+ metadata[:"x-goog-request-params"] ||= request_params_header
572
+
573
+ options.apply_defaults timeout: @config.rpcs.update_domain.timeout,
574
+ metadata: metadata,
575
+ retry_policy: @config.rpcs.update_domain.retry_policy
576
+ options.apply_defaults metadata: @config.metadata,
577
+ retry_policy: @config.retry_policy
578
+
579
+ @managed_identities_service_stub.call_rpc :update_domain, request, options: options do |response, operation|
580
+ response = ::Gapic::Operation.new response, @operations_client, options: options
581
+ yield response, operation if block_given?
582
+ return response
583
+ end
584
+ rescue ::GRPC::BadStatus => e
585
+ raise ::Google::Cloud::Error.from_error(e)
586
+ end
587
+
588
+ ##
589
+ # Deletes a domain.
590
+ #
591
+ # @overload delete_domain(request, options = nil)
592
+ # Pass arguments to `delete_domain` via a request object, either of type
593
+ # {::Google::Cloud::ManagedIdentities::V1::DeleteDomainRequest} or an equivalent Hash.
594
+ #
595
+ # @param request [::Google::Cloud::ManagedIdentities::V1::DeleteDomainRequest, ::Hash]
596
+ # A request object representing the call parameters. Required. To specify no
597
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
598
+ # @param options [::Gapic::CallOptions, ::Hash]
599
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
600
+ #
601
+ # @overload delete_domain(name: nil)
602
+ # Pass arguments to `delete_domain` via keyword arguments. Note that at
603
+ # least one keyword argument is required. To specify no parameters, or to keep all
604
+ # the default parameter values, pass an empty Hash as a request object (see above).
605
+ #
606
+ # @param name [::String]
607
+ # Required. The domain resource name using the form:
608
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
609
+ #
610
+ # @yield [response, operation] Access the result along with the RPC operation
611
+ # @yieldparam response [::Gapic::Operation]
612
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
613
+ #
614
+ # @return [::Gapic::Operation]
615
+ #
616
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
617
+ #
618
+ def delete_domain request, options = nil
619
+ raise ::ArgumentError, "request must be provided" if request.nil?
620
+
621
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::DeleteDomainRequest
622
+
623
+ # Converts hash and nil to an options object
624
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
625
+
626
+ # Customize the options with defaults
627
+ metadata = @config.rpcs.delete_domain.metadata.to_h
628
+
629
+ # Set x-goog-api-client and x-goog-user-project headers
630
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
631
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
632
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
633
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
634
+
635
+ header_params = {
636
+ "name" => request.name
637
+ }
638
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
639
+ metadata[:"x-goog-request-params"] ||= request_params_header
640
+
641
+ options.apply_defaults timeout: @config.rpcs.delete_domain.timeout,
642
+ metadata: metadata,
643
+ retry_policy: @config.rpcs.delete_domain.retry_policy
644
+ options.apply_defaults metadata: @config.metadata,
645
+ retry_policy: @config.retry_policy
646
+
647
+ @managed_identities_service_stub.call_rpc :delete_domain, request, options: options do |response, operation|
648
+ response = ::Gapic::Operation.new response, @operations_client, options: options
649
+ yield response, operation if block_given?
650
+ return response
651
+ end
652
+ rescue ::GRPC::BadStatus => e
653
+ raise ::Google::Cloud::Error.from_error(e)
654
+ end
655
+
656
+ ##
657
+ # Adds an AD trust to a domain.
658
+ #
659
+ # @overload attach_trust(request, options = nil)
660
+ # Pass arguments to `attach_trust` via a request object, either of type
661
+ # {::Google::Cloud::ManagedIdentities::V1::AttachTrustRequest} or an equivalent Hash.
662
+ #
663
+ # @param request [::Google::Cloud::ManagedIdentities::V1::AttachTrustRequest, ::Hash]
664
+ # A request object representing the call parameters. Required. To specify no
665
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
666
+ # @param options [::Gapic::CallOptions, ::Hash]
667
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
668
+ #
669
+ # @overload attach_trust(name: nil, trust: nil)
670
+ # Pass arguments to `attach_trust` via keyword arguments. Note that at
671
+ # least one keyword argument is required. To specify no parameters, or to keep all
672
+ # the default parameter values, pass an empty Hash as a request object (see above).
673
+ #
674
+ # @param name [::String]
675
+ # Required. The resource domain name, project name and location using the form:
676
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
677
+ # @param trust [::Google::Cloud::ManagedIdentities::V1::Trust, ::Hash]
678
+ # Required. The domain trust resource.
679
+ #
680
+ # @yield [response, operation] Access the result along with the RPC operation
681
+ # @yieldparam response [::Gapic::Operation]
682
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
683
+ #
684
+ # @return [::Gapic::Operation]
685
+ #
686
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
687
+ #
688
+ def attach_trust request, options = nil
689
+ raise ::ArgumentError, "request must be provided" if request.nil?
690
+
691
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::AttachTrustRequest
692
+
693
+ # Converts hash and nil to an options object
694
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
695
+
696
+ # Customize the options with defaults
697
+ metadata = @config.rpcs.attach_trust.metadata.to_h
698
+
699
+ # Set x-goog-api-client and x-goog-user-project headers
700
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
701
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
702
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
703
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
704
+
705
+ header_params = {
706
+ "name" => request.name
707
+ }
708
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
709
+ metadata[:"x-goog-request-params"] ||= request_params_header
710
+
711
+ options.apply_defaults timeout: @config.rpcs.attach_trust.timeout,
712
+ metadata: metadata,
713
+ retry_policy: @config.rpcs.attach_trust.retry_policy
714
+ options.apply_defaults metadata: @config.metadata,
715
+ retry_policy: @config.retry_policy
716
+
717
+ @managed_identities_service_stub.call_rpc :attach_trust, request, options: options do |response, operation|
718
+ response = ::Gapic::Operation.new response, @operations_client, options: options
719
+ yield response, operation if block_given?
720
+ return response
721
+ end
722
+ rescue ::GRPC::BadStatus => e
723
+ raise ::Google::Cloud::Error.from_error(e)
724
+ end
725
+
726
+ ##
727
+ # Updates the DNS conditional forwarder.
728
+ #
729
+ # @overload reconfigure_trust(request, options = nil)
730
+ # Pass arguments to `reconfigure_trust` via a request object, either of type
731
+ # {::Google::Cloud::ManagedIdentities::V1::ReconfigureTrustRequest} or an equivalent Hash.
732
+ #
733
+ # @param request [::Google::Cloud::ManagedIdentities::V1::ReconfigureTrustRequest, ::Hash]
734
+ # A request object representing the call parameters. Required. To specify no
735
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
736
+ # @param options [::Gapic::CallOptions, ::Hash]
737
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
738
+ #
739
+ # @overload reconfigure_trust(name: nil, target_domain_name: nil, target_dns_ip_addresses: nil)
740
+ # Pass arguments to `reconfigure_trust` via keyword arguments. Note that at
741
+ # least one keyword argument is required. To specify no parameters, or to keep all
742
+ # the default parameter values, pass an empty Hash as a request object (see above).
743
+ #
744
+ # @param name [::String]
745
+ # Required. The resource domain name, project name and location using the form:
746
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
747
+ # @param target_domain_name [::String]
748
+ # Required. The fully-qualified target domain name which will be in trust with current
749
+ # domain.
750
+ # @param target_dns_ip_addresses [::Array<::String>]
751
+ # Required. The target DNS server IP addresses to resolve the remote domain involved
752
+ # in the trust.
753
+ #
754
+ # @yield [response, operation] Access the result along with the RPC operation
755
+ # @yieldparam response [::Gapic::Operation]
756
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
757
+ #
758
+ # @return [::Gapic::Operation]
759
+ #
760
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
761
+ #
762
+ def reconfigure_trust request, options = nil
763
+ raise ::ArgumentError, "request must be provided" if request.nil?
764
+
765
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::ReconfigureTrustRequest
766
+
767
+ # Converts hash and nil to an options object
768
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
769
+
770
+ # Customize the options with defaults
771
+ metadata = @config.rpcs.reconfigure_trust.metadata.to_h
772
+
773
+ # Set x-goog-api-client and x-goog-user-project headers
774
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
775
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
776
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
777
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
778
+
779
+ header_params = {
780
+ "name" => request.name
781
+ }
782
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
783
+ metadata[:"x-goog-request-params"] ||= request_params_header
784
+
785
+ options.apply_defaults timeout: @config.rpcs.reconfigure_trust.timeout,
786
+ metadata: metadata,
787
+ retry_policy: @config.rpcs.reconfigure_trust.retry_policy
788
+ options.apply_defaults metadata: @config.metadata,
789
+ retry_policy: @config.retry_policy
790
+
791
+ @managed_identities_service_stub.call_rpc :reconfigure_trust, request, options: options do |response, operation|
792
+ response = ::Gapic::Operation.new response, @operations_client, options: options
793
+ yield response, operation if block_given?
794
+ return response
795
+ end
796
+ rescue ::GRPC::BadStatus => e
797
+ raise ::Google::Cloud::Error.from_error(e)
798
+ end
799
+
800
+ ##
801
+ # Removes an AD trust.
802
+ #
803
+ # @overload detach_trust(request, options = nil)
804
+ # Pass arguments to `detach_trust` via a request object, either of type
805
+ # {::Google::Cloud::ManagedIdentities::V1::DetachTrustRequest} or an equivalent Hash.
806
+ #
807
+ # @param request [::Google::Cloud::ManagedIdentities::V1::DetachTrustRequest, ::Hash]
808
+ # A request object representing the call parameters. Required. To specify no
809
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
810
+ # @param options [::Gapic::CallOptions, ::Hash]
811
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
812
+ #
813
+ # @overload detach_trust(name: nil, trust: nil)
814
+ # Pass arguments to `detach_trust` via keyword arguments. Note that at
815
+ # least one keyword argument is required. To specify no parameters, or to keep all
816
+ # the default parameter values, pass an empty Hash as a request object (see above).
817
+ #
818
+ # @param name [::String]
819
+ # Required. The resource domain name, project name, and location using the form:
820
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
821
+ # @param trust [::Google::Cloud::ManagedIdentities::V1::Trust, ::Hash]
822
+ # Required. The domain trust resource to removed.
823
+ #
824
+ # @yield [response, operation] Access the result along with the RPC operation
825
+ # @yieldparam response [::Gapic::Operation]
826
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
827
+ #
828
+ # @return [::Gapic::Operation]
829
+ #
830
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
831
+ #
832
+ def detach_trust request, options = nil
833
+ raise ::ArgumentError, "request must be provided" if request.nil?
834
+
835
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::DetachTrustRequest
836
+
837
+ # Converts hash and nil to an options object
838
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
839
+
840
+ # Customize the options with defaults
841
+ metadata = @config.rpcs.detach_trust.metadata.to_h
842
+
843
+ # Set x-goog-api-client and x-goog-user-project headers
844
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
845
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
846
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
847
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
848
+
849
+ header_params = {
850
+ "name" => request.name
851
+ }
852
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
853
+ metadata[:"x-goog-request-params"] ||= request_params_header
854
+
855
+ options.apply_defaults timeout: @config.rpcs.detach_trust.timeout,
856
+ metadata: metadata,
857
+ retry_policy: @config.rpcs.detach_trust.retry_policy
858
+ options.apply_defaults metadata: @config.metadata,
859
+ retry_policy: @config.retry_policy
860
+
861
+ @managed_identities_service_stub.call_rpc :detach_trust, request, options: options do |response, operation|
862
+ response = ::Gapic::Operation.new response, @operations_client, options: options
863
+ yield response, operation if block_given?
864
+ return response
865
+ end
866
+ rescue ::GRPC::BadStatus => e
867
+ raise ::Google::Cloud::Error.from_error(e)
868
+ end
869
+
870
+ ##
871
+ # Validates a trust state, that the target domain is reachable, and that the
872
+ # target domain is able to accept incoming trust requests.
873
+ #
874
+ # @overload validate_trust(request, options = nil)
875
+ # Pass arguments to `validate_trust` via a request object, either of type
876
+ # {::Google::Cloud::ManagedIdentities::V1::ValidateTrustRequest} or an equivalent Hash.
877
+ #
878
+ # @param request [::Google::Cloud::ManagedIdentities::V1::ValidateTrustRequest, ::Hash]
879
+ # A request object representing the call parameters. Required. To specify no
880
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
881
+ # @param options [::Gapic::CallOptions, ::Hash]
882
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
883
+ #
884
+ # @overload validate_trust(name: nil, trust: nil)
885
+ # Pass arguments to `validate_trust` via keyword arguments. Note that at
886
+ # least one keyword argument is required. To specify no parameters, or to keep all
887
+ # the default parameter values, pass an empty Hash as a request object (see above).
888
+ #
889
+ # @param name [::String]
890
+ # Required. The resource domain name, project name, and location using the form:
891
+ # `projects/{project_id}/locations/global/domains/{domain_name}`
892
+ # @param trust [::Google::Cloud::ManagedIdentities::V1::Trust, ::Hash]
893
+ # Required. The domain trust to validate trust state for.
894
+ #
895
+ # @yield [response, operation] Access the result along with the RPC operation
896
+ # @yieldparam response [::Gapic::Operation]
897
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
898
+ #
899
+ # @return [::Gapic::Operation]
900
+ #
901
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
902
+ #
903
+ def validate_trust request, options = nil
904
+ raise ::ArgumentError, "request must be provided" if request.nil?
905
+
906
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ManagedIdentities::V1::ValidateTrustRequest
907
+
908
+ # Converts hash and nil to an options object
909
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
910
+
911
+ # Customize the options with defaults
912
+ metadata = @config.rpcs.validate_trust.metadata.to_h
913
+
914
+ # Set x-goog-api-client and x-goog-user-project headers
915
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
916
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
917
+ gapic_version: ::Google::Cloud::ManagedIdentities::V1::VERSION
918
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
919
+
920
+ header_params = {
921
+ "name" => request.name
922
+ }
923
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
924
+ metadata[:"x-goog-request-params"] ||= request_params_header
925
+
926
+ options.apply_defaults timeout: @config.rpcs.validate_trust.timeout,
927
+ metadata: metadata,
928
+ retry_policy: @config.rpcs.validate_trust.retry_policy
929
+ options.apply_defaults metadata: @config.metadata,
930
+ retry_policy: @config.retry_policy
931
+
932
+ @managed_identities_service_stub.call_rpc :validate_trust, request, options: options do |response, operation|
933
+ response = ::Gapic::Operation.new response, @operations_client, options: options
934
+ yield response, operation if block_given?
935
+ return response
936
+ end
937
+ rescue ::GRPC::BadStatus => e
938
+ raise ::Google::Cloud::Error.from_error(e)
939
+ end
940
+
941
+ ##
942
+ # Configuration class for the ManagedIdentitiesService API.
943
+ #
944
+ # This class represents the configuration for ManagedIdentitiesService,
945
+ # providing control over timeouts, retry behavior, logging, transport
946
+ # parameters, and other low-level controls. Certain parameters can also be
947
+ # applied individually to specific RPCs. See
948
+ # {::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client::Configuration::Rpcs}
949
+ # for a list of RPCs that can be configured independently.
950
+ #
951
+ # Configuration can be applied globally to all clients, or to a single client
952
+ # on construction.
953
+ #
954
+ # # Examples
955
+ #
956
+ # To modify the global config, setting the timeout for create_microsoft_ad_domain
957
+ # to 20 seconds, and all remaining timeouts to 10 seconds:
958
+ #
959
+ # ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.configure do |config|
960
+ # config.timeout = 10.0
961
+ # config.rpcs.create_microsoft_ad_domain.timeout = 20.0
962
+ # end
963
+ #
964
+ # To apply the above configuration only to a new client:
965
+ #
966
+ # client = ::Google::Cloud::ManagedIdentities::V1::ManagedIdentitiesService::Client.new do |config|
967
+ # config.timeout = 10.0
968
+ # config.rpcs.create_microsoft_ad_domain.timeout = 20.0
969
+ # end
970
+ #
971
+ # @!attribute [rw] endpoint
972
+ # The hostname or hostname:port of the service endpoint.
973
+ # Defaults to `"managedidentities.googleapis.com"`.
974
+ # @return [::String]
975
+ # @!attribute [rw] credentials
976
+ # Credentials to send with calls. You may provide any of the following types:
977
+ # * (`String`) The path to a service account key file in JSON format
978
+ # * (`Hash`) A service account key as a Hash
979
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
980
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
981
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
982
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
983
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
984
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
985
+ # * (`nil`) indicating no credentials
986
+ # @return [::Object]
987
+ # @!attribute [rw] scope
988
+ # The OAuth scopes
989
+ # @return [::Array<::String>]
990
+ # @!attribute [rw] lib_name
991
+ # The library name as recorded in instrumentation and logging
992
+ # @return [::String]
993
+ # @!attribute [rw] lib_version
994
+ # The library version as recorded in instrumentation and logging
995
+ # @return [::String]
996
+ # @!attribute [rw] channel_args
997
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
998
+ # `GRPC::Core::Channel` object is provided as the credential.
999
+ # @return [::Hash]
1000
+ # @!attribute [rw] interceptors
1001
+ # An array of interceptors that are run before calls are executed.
1002
+ # @return [::Array<::GRPC::ClientInterceptor>]
1003
+ # @!attribute [rw] timeout
1004
+ # The call timeout in seconds.
1005
+ # @return [::Numeric]
1006
+ # @!attribute [rw] metadata
1007
+ # Additional gRPC headers to be sent with the call.
1008
+ # @return [::Hash{::Symbol=>::String}]
1009
+ # @!attribute [rw] retry_policy
1010
+ # The retry policy. The value is a hash with the following keys:
1011
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1012
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1013
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1014
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1015
+ # trigger a retry.
1016
+ # @return [::Hash]
1017
+ # @!attribute [rw] quota_project
1018
+ # A separate project against which to charge quota.
1019
+ # @return [::String]
1020
+ #
1021
+ class Configuration
1022
+ extend ::Gapic::Config
1023
+
1024
+ config_attr :endpoint, "managedidentities.googleapis.com", ::String
1025
+ config_attr :credentials, nil do |value|
1026
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1027
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1028
+ allowed.any? { |klass| klass === value }
1029
+ end
1030
+ config_attr :scope, nil, ::String, ::Array, nil
1031
+ config_attr :lib_name, nil, ::String, nil
1032
+ config_attr :lib_version, nil, ::String, nil
1033
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1034
+ config_attr :interceptors, nil, ::Array, nil
1035
+ config_attr :timeout, nil, ::Numeric, nil
1036
+ config_attr :metadata, nil, ::Hash, nil
1037
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1038
+ config_attr :quota_project, nil, ::String, nil
1039
+
1040
+ # @private
1041
+ def initialize parent_config = nil
1042
+ @parent_config = parent_config unless parent_config.nil?
1043
+
1044
+ yield self if block_given?
1045
+ end
1046
+
1047
+ ##
1048
+ # Configurations for individual RPCs
1049
+ # @return [Rpcs]
1050
+ #
1051
+ def rpcs
1052
+ @rpcs ||= begin
1053
+ parent_rpcs = nil
1054
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1055
+ Rpcs.new parent_rpcs
1056
+ end
1057
+ end
1058
+
1059
+ ##
1060
+ # Configuration RPC class for the ManagedIdentitiesService API.
1061
+ #
1062
+ # Includes fields providing the configuration for each RPC in this service.
1063
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1064
+ # the following configuration fields:
1065
+ #
1066
+ # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
1067
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1068
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1069
+ # include the following keys:
1070
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1071
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1072
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1073
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1074
+ # trigger a retry.
1075
+ #
1076
+ class Rpcs
1077
+ ##
1078
+ # RPC-specific configuration for `create_microsoft_ad_domain`
1079
+ # @return [::Gapic::Config::Method]
1080
+ #
1081
+ attr_reader :create_microsoft_ad_domain
1082
+ ##
1083
+ # RPC-specific configuration for `reset_admin_password`
1084
+ # @return [::Gapic::Config::Method]
1085
+ #
1086
+ attr_reader :reset_admin_password
1087
+ ##
1088
+ # RPC-specific configuration for `list_domains`
1089
+ # @return [::Gapic::Config::Method]
1090
+ #
1091
+ attr_reader :list_domains
1092
+ ##
1093
+ # RPC-specific configuration for `get_domain`
1094
+ # @return [::Gapic::Config::Method]
1095
+ #
1096
+ attr_reader :get_domain
1097
+ ##
1098
+ # RPC-specific configuration for `update_domain`
1099
+ # @return [::Gapic::Config::Method]
1100
+ #
1101
+ attr_reader :update_domain
1102
+ ##
1103
+ # RPC-specific configuration for `delete_domain`
1104
+ # @return [::Gapic::Config::Method]
1105
+ #
1106
+ attr_reader :delete_domain
1107
+ ##
1108
+ # RPC-specific configuration for `attach_trust`
1109
+ # @return [::Gapic::Config::Method]
1110
+ #
1111
+ attr_reader :attach_trust
1112
+ ##
1113
+ # RPC-specific configuration for `reconfigure_trust`
1114
+ # @return [::Gapic::Config::Method]
1115
+ #
1116
+ attr_reader :reconfigure_trust
1117
+ ##
1118
+ # RPC-specific configuration for `detach_trust`
1119
+ # @return [::Gapic::Config::Method]
1120
+ #
1121
+ attr_reader :detach_trust
1122
+ ##
1123
+ # RPC-specific configuration for `validate_trust`
1124
+ # @return [::Gapic::Config::Method]
1125
+ #
1126
+ attr_reader :validate_trust
1127
+
1128
+ # @private
1129
+ def initialize parent_rpcs = nil
1130
+ create_microsoft_ad_domain_config = parent_rpcs&.create_microsoft_ad_domain if parent_rpcs&.respond_to? :create_microsoft_ad_domain
1131
+ @create_microsoft_ad_domain = ::Gapic::Config::Method.new create_microsoft_ad_domain_config
1132
+ reset_admin_password_config = parent_rpcs&.reset_admin_password if parent_rpcs&.respond_to? :reset_admin_password
1133
+ @reset_admin_password = ::Gapic::Config::Method.new reset_admin_password_config
1134
+ list_domains_config = parent_rpcs&.list_domains if parent_rpcs&.respond_to? :list_domains
1135
+ @list_domains = ::Gapic::Config::Method.new list_domains_config
1136
+ get_domain_config = parent_rpcs&.get_domain if parent_rpcs&.respond_to? :get_domain
1137
+ @get_domain = ::Gapic::Config::Method.new get_domain_config
1138
+ update_domain_config = parent_rpcs&.update_domain if parent_rpcs&.respond_to? :update_domain
1139
+ @update_domain = ::Gapic::Config::Method.new update_domain_config
1140
+ delete_domain_config = parent_rpcs&.delete_domain if parent_rpcs&.respond_to? :delete_domain
1141
+ @delete_domain = ::Gapic::Config::Method.new delete_domain_config
1142
+ attach_trust_config = parent_rpcs&.attach_trust if parent_rpcs&.respond_to? :attach_trust
1143
+ @attach_trust = ::Gapic::Config::Method.new attach_trust_config
1144
+ reconfigure_trust_config = parent_rpcs&.reconfigure_trust if parent_rpcs&.respond_to? :reconfigure_trust
1145
+ @reconfigure_trust = ::Gapic::Config::Method.new reconfigure_trust_config
1146
+ detach_trust_config = parent_rpcs&.detach_trust if parent_rpcs&.respond_to? :detach_trust
1147
+ @detach_trust = ::Gapic::Config::Method.new detach_trust_config
1148
+ validate_trust_config = parent_rpcs&.validate_trust if parent_rpcs&.respond_to? :validate_trust
1149
+ @validate_trust = ::Gapic::Config::Method.new validate_trust_config
1150
+
1151
+ yield self if block_given?
1152
+ end
1153
+ end
1154
+ end
1155
+ end
1156
+ end
1157
+ end
1158
+ end
1159
+ end
1160
+ end