google-cloud-managed_identities-v1 0.1.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.
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