google-apis-gkehub_v1beta1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,742 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module GkehubV1beta1
23
+ # GKE Hub
24
+ #
25
+ #
26
+ #
27
+ # @example
28
+ # require 'google/apis/gkehub_v1beta1'
29
+ #
30
+ # Gkehub = Google::Apis::GkehubV1beta1 # Alias the module
31
+ # service = Gkehub::GKEHubService.new
32
+ #
33
+ # @see https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster
34
+ class GKEHubService < Google::Apis::Core::BaseService
35
+ # @return [String]
36
+ # API key. Your API key identifies your project and provides you with API access,
37
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
38
+ attr_accessor :key
39
+
40
+ # @return [String]
41
+ # Available to use for quota purposes for server-side applications. Can be any
42
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
43
+ attr_accessor :quota_user
44
+
45
+ def initialize
46
+ super('https://gkehub.googleapis.com/', '',
47
+ client_name: 'google-apis-gkehub_v1beta1',
48
+ client_version: Google::Apis::GkehubV1beta1::GEM_VERSION)
49
+ @batch_path = 'batch'
50
+ end
51
+
52
+ # Gets information about a location.
53
+ # @param [String] name
54
+ # Resource name for the location.
55
+ # @param [String] fields
56
+ # Selector specifying which fields to include in a partial response.
57
+ # @param [String] quota_user
58
+ # Available to use for quota purposes for server-side applications. Can be any
59
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
60
+ # @param [Google::Apis::RequestOptions] options
61
+ # Request-specific options
62
+ #
63
+ # @yield [result, err] Result & error if block supplied
64
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Location] parsed result object
65
+ # @yieldparam err [StandardError] error object if request failed
66
+ #
67
+ # @return [Google::Apis::GkehubV1beta1::Location]
68
+ #
69
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
70
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
71
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
72
+ def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block)
73
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
74
+ command.response_representation = Google::Apis::GkehubV1beta1::Location::Representation
75
+ command.response_class = Google::Apis::GkehubV1beta1::Location
76
+ command.params['name'] = name unless name.nil?
77
+ command.query['fields'] = fields unless fields.nil?
78
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
79
+ execute_or_queue_command(command, &block)
80
+ end
81
+
82
+ # Lists information about the supported locations for this service.
83
+ # @param [String] name
84
+ # The resource that owns the locations collection, if applicable.
85
+ # @param [String] filter
86
+ # A filter to narrow down results to a preferred subset. The filtering language
87
+ # accepts strings like "displayName=tokyo", and is documented in more detail in [
88
+ # AIP-160](https://google.aip.dev/160).
89
+ # @param [Fixnum] page_size
90
+ # The maximum number of results to return. If not set, the service will select a
91
+ # default.
92
+ # @param [String] page_token
93
+ # A page token received from the `next_page_token` field in the response. Send
94
+ # that page token to receive the subsequent page.
95
+ # @param [String] fields
96
+ # Selector specifying which fields to include in a partial response.
97
+ # @param [String] quota_user
98
+ # Available to use for quota purposes for server-side applications. Can be any
99
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
100
+ # @param [Google::Apis::RequestOptions] options
101
+ # Request-specific options
102
+ #
103
+ # @yield [result, err] Result & error if block supplied
104
+ # @yieldparam result [Google::Apis::GkehubV1beta1::ListLocationsResponse] parsed result object
105
+ # @yieldparam err [StandardError] error object if request failed
106
+ #
107
+ # @return [Google::Apis::GkehubV1beta1::ListLocationsResponse]
108
+ #
109
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
110
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
111
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
112
+ def list_project_locations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
113
+ command = make_simple_command(:get, 'v1beta1/{+name}/locations', options)
114
+ command.response_representation = Google::Apis::GkehubV1beta1::ListLocationsResponse::Representation
115
+ command.response_class = Google::Apis::GkehubV1beta1::ListLocationsResponse
116
+ command.params['name'] = name unless name.nil?
117
+ command.query['filter'] = filter unless filter.nil?
118
+ command.query['pageSize'] = page_size unless page_size.nil?
119
+ command.query['pageToken'] = page_token unless page_token.nil?
120
+ command.query['fields'] = fields unless fields.nil?
121
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
122
+ execute_or_queue_command(command, &block)
123
+ end
124
+
125
+ # Adds a new Membership.
126
+ # @param [String] parent
127
+ # Required. The parent (project and location) where the Memberships will be
128
+ # created. Specified in the format `projects/*/locations/*`.
129
+ # @param [Google::Apis::GkehubV1beta1::Membership] membership_object
130
+ # @param [String] membership_id
131
+ # Required. Client chosen ID for the membership. `membership_id` must be a valid
132
+ # RFC 1123 compliant DNS label: 1. At most 63 characters in length 2. It must
133
+ # consist of lower case alphanumeric characters or `-` 3. It must start and end
134
+ # with an alphanumeric character Which can be expressed as the regex: `[a-z0-9]([
135
+ # -a-z0-9]*[a-z0-9])?`, with a maximum length of 63 characters.
136
+ # @param [String] fields
137
+ # Selector specifying which fields to include in a partial response.
138
+ # @param [String] quota_user
139
+ # Available to use for quota purposes for server-side applications. Can be any
140
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
141
+ # @param [Google::Apis::RequestOptions] options
142
+ # Request-specific options
143
+ #
144
+ # @yield [result, err] Result & error if block supplied
145
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Operation] parsed result object
146
+ # @yieldparam err [StandardError] error object if request failed
147
+ #
148
+ # @return [Google::Apis::GkehubV1beta1::Operation]
149
+ #
150
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
151
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
152
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
153
+ def create_project_location_membership(parent, membership_object = nil, membership_id: nil, fields: nil, quota_user: nil, options: nil, &block)
154
+ command = make_simple_command(:post, 'v1beta1/{+parent}/memberships', options)
155
+ command.request_representation = Google::Apis::GkehubV1beta1::Membership::Representation
156
+ command.request_object = membership_object
157
+ command.response_representation = Google::Apis::GkehubV1beta1::Operation::Representation
158
+ command.response_class = Google::Apis::GkehubV1beta1::Operation
159
+ command.params['parent'] = parent unless parent.nil?
160
+ command.query['membershipId'] = membership_id unless membership_id.nil?
161
+ command.query['fields'] = fields unless fields.nil?
162
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
163
+ execute_or_queue_command(command, &block)
164
+ end
165
+
166
+ # Removes a Membership.
167
+ # @param [String] name
168
+ # Required. The Membership resource name in the format `projects/*/locations/*/
169
+ # memberships/*`.
170
+ # @param [String] fields
171
+ # Selector specifying which fields to include in a partial response.
172
+ # @param [String] quota_user
173
+ # Available to use for quota purposes for server-side applications. Can be any
174
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
175
+ # @param [Google::Apis::RequestOptions] options
176
+ # Request-specific options
177
+ #
178
+ # @yield [result, err] Result & error if block supplied
179
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Operation] parsed result object
180
+ # @yieldparam err [StandardError] error object if request failed
181
+ #
182
+ # @return [Google::Apis::GkehubV1beta1::Operation]
183
+ #
184
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
185
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
186
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
187
+ def delete_project_location_membership(name, fields: nil, quota_user: nil, options: nil, &block)
188
+ command = make_simple_command(:delete, 'v1beta1/{+name}', options)
189
+ command.response_representation = Google::Apis::GkehubV1beta1::Operation::Representation
190
+ command.response_class = Google::Apis::GkehubV1beta1::Operation
191
+ command.params['name'] = name unless name.nil?
192
+ command.query['fields'] = fields unless fields.nil?
193
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
194
+ execute_or_queue_command(command, &block)
195
+ end
196
+
197
+ # Generates the manifest for deployment of the GKE connect agent.
198
+ # @param [String] name
199
+ # Required. The Membership resource name the Agent will associate with, in the
200
+ # format `projects/*/locations/*/memberships/*`.
201
+ # @param [String] connect_agent_name
202
+ # Do not set.
203
+ # @param [String] connect_agent_namespace
204
+ # Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`.
205
+ # The Connect Agent is authorized automatically when run in the default
206
+ # namespace. Otherwise, explicit authorization must be granted with an
207
+ # additional IAM binding.
208
+ # @param [String] connect_agent_proxy
209
+ # Optional. URI of a proxy if connectivity from the agent to gkeconnect.
210
+ # googleapis.com requires the use of a proxy. Format must be in the form `http(s)
211
+ # ://`proxy_address``, depending on the HTTP/HTTPS protocol supported by the
212
+ # proxy. This will direct the connect agent's outbound traffic through a HTTP(S)
213
+ # proxy.
214
+ # @param [String] image_pull_secret_content
215
+ # Optional. The image pull secret content for the registry, if not public.
216
+ # @param [Boolean] is_upgrade
217
+ # Optional. If true, generate the resources for upgrade only. Some resources
218
+ # generated only for installation (e.g. secrets) will be excluded.
219
+ # @param [String] registry
220
+ # Optional. The registry to fetch the connect agent image from. Defaults to gcr.
221
+ # io/gkeconnect.
222
+ # @param [String] version
223
+ # Optional. The Connect agent version to use. Defaults to the most current
224
+ # version.
225
+ # @param [String] fields
226
+ # Selector specifying which fields to include in a partial response.
227
+ # @param [String] quota_user
228
+ # Available to use for quota purposes for server-side applications. Can be any
229
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
230
+ # @param [Google::Apis::RequestOptions] options
231
+ # Request-specific options
232
+ #
233
+ # @yield [result, err] Result & error if block supplied
234
+ # @yieldparam result [Google::Apis::GkehubV1beta1::GenerateConnectManifestResponse] parsed result object
235
+ # @yieldparam err [StandardError] error object if request failed
236
+ #
237
+ # @return [Google::Apis::GkehubV1beta1::GenerateConnectManifestResponse]
238
+ #
239
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
240
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
241
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
242
+ def generate_project_location_membership_connect_manifest(name, connect_agent_name: nil, connect_agent_namespace: nil, connect_agent_proxy: nil, image_pull_secret_content: nil, is_upgrade: nil, registry: nil, version: nil, fields: nil, quota_user: nil, options: nil, &block)
243
+ command = make_simple_command(:get, 'v1beta1/{+name}:generateConnectManifest', options)
244
+ command.response_representation = Google::Apis::GkehubV1beta1::GenerateConnectManifestResponse::Representation
245
+ command.response_class = Google::Apis::GkehubV1beta1::GenerateConnectManifestResponse
246
+ command.params['name'] = name unless name.nil?
247
+ command.query['connectAgent.name'] = connect_agent_name unless connect_agent_name.nil?
248
+ command.query['connectAgent.namespace'] = connect_agent_namespace unless connect_agent_namespace.nil?
249
+ command.query['connectAgent.proxy'] = connect_agent_proxy unless connect_agent_proxy.nil?
250
+ command.query['imagePullSecretContent'] = image_pull_secret_content unless image_pull_secret_content.nil?
251
+ command.query['isUpgrade'] = is_upgrade unless is_upgrade.nil?
252
+ command.query['registry'] = registry unless registry.nil?
253
+ command.query['version'] = version unless version.nil?
254
+ command.query['fields'] = fields unless fields.nil?
255
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
256
+ execute_or_queue_command(command, &block)
257
+ end
258
+
259
+ # GenerateExclusivityManifest generates the manifests to update the exclusivity
260
+ # artifacts in the cluster if needed. Exclusivity artifacts include the
261
+ # Membership custom resource definition (CRD) and the singleton Membership
262
+ # custom resource (CR). Combined with ValidateExclusivity, exclusivity artifacts
263
+ # guarantee that a Kubernetes cluster is only registered to a single GKE Hub.
264
+ # The Membership CRD is versioned, and may require conversion when the GKE Hub
265
+ # API server begins serving a newer version of the CRD and corresponding CR. The
266
+ # response will be the converted CRD and CR if there are any differences between
267
+ # the versions.
268
+ # @param [String] name
269
+ # Required. The Membership resource name in the format `projects/*/locations/*/
270
+ # memberships/*`.
271
+ # @param [String] cr_manifest
272
+ # Optional. The YAML manifest of the membership CR retrieved by `kubectl get
273
+ # memberships membership`. Leave empty if the resource does not exist.
274
+ # @param [String] crd_manifest
275
+ # Optional. The YAML manifest of the membership CRD retrieved by `kubectl get
276
+ # customresourcedefinitions membership`. Leave empty if the resource does not
277
+ # exist.
278
+ # @param [String] fields
279
+ # Selector specifying which fields to include in a partial response.
280
+ # @param [String] quota_user
281
+ # Available to use for quota purposes for server-side applications. Can be any
282
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
283
+ # @param [Google::Apis::RequestOptions] options
284
+ # Request-specific options
285
+ #
286
+ # @yield [result, err] Result & error if block supplied
287
+ # @yieldparam result [Google::Apis::GkehubV1beta1::GenerateExclusivityManifestResponse] parsed result object
288
+ # @yieldparam err [StandardError] error object if request failed
289
+ #
290
+ # @return [Google::Apis::GkehubV1beta1::GenerateExclusivityManifestResponse]
291
+ #
292
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
293
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
294
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
295
+ def generate_project_location_membership_exclusivity_manifest(name, cr_manifest: nil, crd_manifest: nil, fields: nil, quota_user: nil, options: nil, &block)
296
+ command = make_simple_command(:get, 'v1beta1/{+name}:generateExclusivityManifest', options)
297
+ command.response_representation = Google::Apis::GkehubV1beta1::GenerateExclusivityManifestResponse::Representation
298
+ command.response_class = Google::Apis::GkehubV1beta1::GenerateExclusivityManifestResponse
299
+ command.params['name'] = name unless name.nil?
300
+ command.query['crManifest'] = cr_manifest unless cr_manifest.nil?
301
+ command.query['crdManifest'] = crd_manifest unless crd_manifest.nil?
302
+ command.query['fields'] = fields unless fields.nil?
303
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
304
+ execute_or_queue_command(command, &block)
305
+ end
306
+
307
+ # Gets the details of a Membership.
308
+ # @param [String] name
309
+ # Required. The Membership resource name in the format `projects/*/locations/*/
310
+ # memberships/*`.
311
+ # @param [String] fields
312
+ # Selector specifying which fields to include in a partial response.
313
+ # @param [String] quota_user
314
+ # Available to use for quota purposes for server-side applications. Can be any
315
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
316
+ # @param [Google::Apis::RequestOptions] options
317
+ # Request-specific options
318
+ #
319
+ # @yield [result, err] Result & error if block supplied
320
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Membership] parsed result object
321
+ # @yieldparam err [StandardError] error object if request failed
322
+ #
323
+ # @return [Google::Apis::GkehubV1beta1::Membership]
324
+ #
325
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
326
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
327
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
328
+ def get_project_location_membership(name, fields: nil, quota_user: nil, options: nil, &block)
329
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
330
+ command.response_representation = Google::Apis::GkehubV1beta1::Membership::Representation
331
+ command.response_class = Google::Apis::GkehubV1beta1::Membership
332
+ command.params['name'] = name unless name.nil?
333
+ command.query['fields'] = fields unless fields.nil?
334
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
335
+ execute_or_queue_command(command, &block)
336
+ end
337
+
338
+ # Gets the access control policy for a resource. Returns an empty policy if the
339
+ # resource exists and does not have a policy set.
340
+ # @param [String] resource
341
+ # REQUIRED: The resource for which the policy is being requested. See the
342
+ # operation documentation for the appropriate value for this field.
343
+ # @param [Fixnum] options_requested_policy_version
344
+ # Optional. The policy format version to be returned. Valid values are 0, 1, and
345
+ # 3. Requests specifying an invalid value will be rejected. Requests for
346
+ # policies with any conditional bindings must specify version 3. Policies
347
+ # without any conditional bindings may specify any valid value or leave the
348
+ # field unset. To learn which resources support conditions in their IAM policies,
349
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
350
+ # resource-policies).
351
+ # @param [String] fields
352
+ # Selector specifying which fields to include in a partial response.
353
+ # @param [String] quota_user
354
+ # Available to use for quota purposes for server-side applications. Can be any
355
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
356
+ # @param [Google::Apis::RequestOptions] options
357
+ # Request-specific options
358
+ #
359
+ # @yield [result, err] Result & error if block supplied
360
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Policy] parsed result object
361
+ # @yieldparam err [StandardError] error object if request failed
362
+ #
363
+ # @return [Google::Apis::GkehubV1beta1::Policy]
364
+ #
365
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
366
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
367
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
368
+ def get_project_location_membership_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, options: nil, &block)
369
+ command = make_simple_command(:get, 'v1beta1/{+resource}:getIamPolicy', options)
370
+ command.response_representation = Google::Apis::GkehubV1beta1::Policy::Representation
371
+ command.response_class = Google::Apis::GkehubV1beta1::Policy
372
+ command.params['resource'] = resource unless resource.nil?
373
+ command.query['options.requestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil?
374
+ command.query['fields'] = fields unless fields.nil?
375
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
376
+ execute_or_queue_command(command, &block)
377
+ end
378
+
379
+ # Lists Memberships in a given project and location.
380
+ # @param [String] parent
381
+ # Required. The parent (project and location) where the Memberships will be
382
+ # listed. Specified in the format `projects/*/locations/*`.
383
+ # @param [String] filter
384
+ # Optional. Lists Memberships that match the filter expression, following the
385
+ # syntax outlined in https://google.aip.dev/160. Examples: - Name is `bar` in
386
+ # project `foo-proj` and location `global`: name = "projects/foo-proj/locations/
387
+ # global/membership/bar" - Memberships that have a label called `foo`: labels.
388
+ # foo:* - Memberships that have a label called `foo` whose value is `bar`:
389
+ # labels.foo = bar - Memberships in the CREATING state: state = CREATING
390
+ # @param [String] order_by
391
+ # Optional. One or more fields to compare and use to sort the output. See https:/
392
+ # /google.aip.dev/132#ordering.
393
+ # @param [Fixnum] page_size
394
+ # Optional. When requesting a 'page' of resources, `page_size` specifies number
395
+ # of resources to return. If unspecified or set to 0, all resources will be
396
+ # returned.
397
+ # @param [String] page_token
398
+ # Optional. Token returned by previous call to `ListMemberships` which specifies
399
+ # the position in the list from where to continue listing the resources.
400
+ # @param [String] fields
401
+ # Selector specifying which fields to include in a partial response.
402
+ # @param [String] quota_user
403
+ # Available to use for quota purposes for server-side applications. Can be any
404
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
405
+ # @param [Google::Apis::RequestOptions] options
406
+ # Request-specific options
407
+ #
408
+ # @yield [result, err] Result & error if block supplied
409
+ # @yieldparam result [Google::Apis::GkehubV1beta1::ListMembershipsResponse] parsed result object
410
+ # @yieldparam err [StandardError] error object if request failed
411
+ #
412
+ # @return [Google::Apis::GkehubV1beta1::ListMembershipsResponse]
413
+ #
414
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
415
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
416
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
417
+ def list_project_location_memberships(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
418
+ command = make_simple_command(:get, 'v1beta1/{+parent}/memberships', options)
419
+ command.response_representation = Google::Apis::GkehubV1beta1::ListMembershipsResponse::Representation
420
+ command.response_class = Google::Apis::GkehubV1beta1::ListMembershipsResponse
421
+ command.params['parent'] = parent unless parent.nil?
422
+ command.query['filter'] = filter unless filter.nil?
423
+ command.query['orderBy'] = order_by unless order_by.nil?
424
+ command.query['pageSize'] = page_size unless page_size.nil?
425
+ command.query['pageToken'] = page_token unless page_token.nil?
426
+ command.query['fields'] = fields unless fields.nil?
427
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
428
+ execute_or_queue_command(command, &block)
429
+ end
430
+
431
+ # Updates an existing Membership.
432
+ # @param [String] name
433
+ # Required. The membership resource name in the format: `projects/[project_id]/
434
+ # locations/global/memberships/[membership_id]`
435
+ # @param [Google::Apis::GkehubV1beta1::Membership] membership_object
436
+ # @param [String] update_mask
437
+ # Required. Mask of fields to update. At least one field path must be specified
438
+ # in this mask.
439
+ # @param [String] fields
440
+ # Selector specifying which fields to include in a partial response.
441
+ # @param [String] quota_user
442
+ # Available to use for quota purposes for server-side applications. Can be any
443
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
444
+ # @param [Google::Apis::RequestOptions] options
445
+ # Request-specific options
446
+ #
447
+ # @yield [result, err] Result & error if block supplied
448
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Operation] parsed result object
449
+ # @yieldparam err [StandardError] error object if request failed
450
+ #
451
+ # @return [Google::Apis::GkehubV1beta1::Operation]
452
+ #
453
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
454
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
455
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
456
+ def patch_project_location_membership(name, membership_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
457
+ command = make_simple_command(:patch, 'v1beta1/{+name}', options)
458
+ command.request_representation = Google::Apis::GkehubV1beta1::Membership::Representation
459
+ command.request_object = membership_object
460
+ command.response_representation = Google::Apis::GkehubV1beta1::Operation::Representation
461
+ command.response_class = Google::Apis::GkehubV1beta1::Operation
462
+ command.params['name'] = name unless name.nil?
463
+ command.query['updateMask'] = update_mask unless update_mask.nil?
464
+ command.query['fields'] = fields unless fields.nil?
465
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
466
+ execute_or_queue_command(command, &block)
467
+ end
468
+
469
+ # Sets the access control policy on the specified resource. Replaces any
470
+ # existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `
471
+ # PERMISSION_DENIED` errors.
472
+ # @param [String] resource
473
+ # REQUIRED: The resource for which the policy is being specified. See the
474
+ # operation documentation for the appropriate value for this field.
475
+ # @param [Google::Apis::GkehubV1beta1::SetIamPolicyRequest] set_iam_policy_request_object
476
+ # @param [String] fields
477
+ # Selector specifying which fields to include in a partial response.
478
+ # @param [String] quota_user
479
+ # Available to use for quota purposes for server-side applications. Can be any
480
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
481
+ # @param [Google::Apis::RequestOptions] options
482
+ # Request-specific options
483
+ #
484
+ # @yield [result, err] Result & error if block supplied
485
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Policy] parsed result object
486
+ # @yieldparam err [StandardError] error object if request failed
487
+ #
488
+ # @return [Google::Apis::GkehubV1beta1::Policy]
489
+ #
490
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
491
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
492
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
493
+ def set_membership_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
494
+ command = make_simple_command(:post, 'v1beta1/{+resource}:setIamPolicy', options)
495
+ command.request_representation = Google::Apis::GkehubV1beta1::SetIamPolicyRequest::Representation
496
+ command.request_object = set_iam_policy_request_object
497
+ command.response_representation = Google::Apis::GkehubV1beta1::Policy::Representation
498
+ command.response_class = Google::Apis::GkehubV1beta1::Policy
499
+ command.params['resource'] = resource unless resource.nil?
500
+ command.query['fields'] = fields unless fields.nil?
501
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
502
+ execute_or_queue_command(command, &block)
503
+ end
504
+
505
+ # Returns permissions that a caller has on the specified resource. If the
506
+ # resource does not exist, this will return an empty set of permissions, not a `
507
+ # NOT_FOUND` error. Note: This operation is designed to be used for building
508
+ # permission-aware UIs and command-line tools, not for authorization checking.
509
+ # This operation may "fail open" without warning.
510
+ # @param [String] resource
511
+ # REQUIRED: The resource for which the policy detail is being requested. See the
512
+ # operation documentation for the appropriate value for this field.
513
+ # @param [Google::Apis::GkehubV1beta1::TestIamPermissionsRequest] test_iam_permissions_request_object
514
+ # @param [String] fields
515
+ # Selector specifying which fields to include in a partial response.
516
+ # @param [String] quota_user
517
+ # Available to use for quota purposes for server-side applications. Can be any
518
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
519
+ # @param [Google::Apis::RequestOptions] options
520
+ # Request-specific options
521
+ #
522
+ # @yield [result, err] Result & error if block supplied
523
+ # @yieldparam result [Google::Apis::GkehubV1beta1::TestIamPermissionsResponse] parsed result object
524
+ # @yieldparam err [StandardError] error object if request failed
525
+ #
526
+ # @return [Google::Apis::GkehubV1beta1::TestIamPermissionsResponse]
527
+ #
528
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
529
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
530
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
531
+ def test_membership_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
532
+ command = make_simple_command(:post, 'v1beta1/{+resource}:testIamPermissions', options)
533
+ command.request_representation = Google::Apis::GkehubV1beta1::TestIamPermissionsRequest::Representation
534
+ command.request_object = test_iam_permissions_request_object
535
+ command.response_representation = Google::Apis::GkehubV1beta1::TestIamPermissionsResponse::Representation
536
+ command.response_class = Google::Apis::GkehubV1beta1::TestIamPermissionsResponse
537
+ command.params['resource'] = resource unless resource.nil?
538
+ command.query['fields'] = fields unless fields.nil?
539
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
540
+ execute_or_queue_command(command, &block)
541
+ end
542
+
543
+ # ValidateExclusivity validates the state of exclusivity in the cluster. The
544
+ # validation does not depend on an existing Hub membership resource.
545
+ # @param [String] parent
546
+ # Required. The parent (project and location) where the Memberships will be
547
+ # created. Specified in the format `projects/*/locations/*`.
548
+ # @param [String] cr_manifest
549
+ # Optional. The YAML of the membership CR in the cluster. Empty if the
550
+ # membership CR does not exist.
551
+ # @param [String] intended_membership
552
+ # Required. The intended membership name under the `parent`. This method only
553
+ # does validation in anticipation of a CreateMembership call with the same name.
554
+ # @param [String] fields
555
+ # Selector specifying which fields to include in a partial response.
556
+ # @param [String] quota_user
557
+ # Available to use for quota purposes for server-side applications. Can be any
558
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
559
+ # @param [Google::Apis::RequestOptions] options
560
+ # Request-specific options
561
+ #
562
+ # @yield [result, err] Result & error if block supplied
563
+ # @yieldparam result [Google::Apis::GkehubV1beta1::ValidateExclusivityResponse] parsed result object
564
+ # @yieldparam err [StandardError] error object if request failed
565
+ #
566
+ # @return [Google::Apis::GkehubV1beta1::ValidateExclusivityResponse]
567
+ #
568
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
569
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
570
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
571
+ def validate_project_location_membership_exclusivity(parent, cr_manifest: nil, intended_membership: nil, fields: nil, quota_user: nil, options: nil, &block)
572
+ command = make_simple_command(:get, 'v1beta1/{+parent}/memberships:validateExclusivity', options)
573
+ command.response_representation = Google::Apis::GkehubV1beta1::ValidateExclusivityResponse::Representation
574
+ command.response_class = Google::Apis::GkehubV1beta1::ValidateExclusivityResponse
575
+ command.params['parent'] = parent unless parent.nil?
576
+ command.query['crManifest'] = cr_manifest unless cr_manifest.nil?
577
+ command.query['intendedMembership'] = intended_membership unless intended_membership.nil?
578
+ command.query['fields'] = fields unless fields.nil?
579
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
580
+ execute_or_queue_command(command, &block)
581
+ end
582
+
583
+ # Starts asynchronous cancellation on a long-running operation. The server makes
584
+ # a best effort to cancel the operation, but success is not guaranteed. If the
585
+ # server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
586
+ # Clients can use Operations.GetOperation or other methods to check whether the
587
+ # cancellation succeeded or whether the operation completed despite cancellation.
588
+ # On successful cancellation, the operation is not deleted; instead, it becomes
589
+ # an operation with an Operation.error value with a google.rpc.Status.code of 1,
590
+ # corresponding to `Code.CANCELLED`.
591
+ # @param [String] name
592
+ # The name of the operation resource to be cancelled.
593
+ # @param [Google::Apis::GkehubV1beta1::CancelOperationRequest] cancel_operation_request_object
594
+ # @param [String] fields
595
+ # Selector specifying which fields to include in a partial response.
596
+ # @param [String] quota_user
597
+ # Available to use for quota purposes for server-side applications. Can be any
598
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
599
+ # @param [Google::Apis::RequestOptions] options
600
+ # Request-specific options
601
+ #
602
+ # @yield [result, err] Result & error if block supplied
603
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Empty] parsed result object
604
+ # @yieldparam err [StandardError] error object if request failed
605
+ #
606
+ # @return [Google::Apis::GkehubV1beta1::Empty]
607
+ #
608
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
609
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
610
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
611
+ def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
612
+ command = make_simple_command(:post, 'v1beta1/{+name}:cancel', options)
613
+ command.request_representation = Google::Apis::GkehubV1beta1::CancelOperationRequest::Representation
614
+ command.request_object = cancel_operation_request_object
615
+ command.response_representation = Google::Apis::GkehubV1beta1::Empty::Representation
616
+ command.response_class = Google::Apis::GkehubV1beta1::Empty
617
+ command.params['name'] = name unless name.nil?
618
+ command.query['fields'] = fields unless fields.nil?
619
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
620
+ execute_or_queue_command(command, &block)
621
+ end
622
+
623
+ # Deletes a long-running operation. This method indicates that the client is no
624
+ # longer interested in the operation result. It does not cancel the operation.
625
+ # If the server doesn't support this method, it returns `google.rpc.Code.
626
+ # UNIMPLEMENTED`.
627
+ # @param [String] name
628
+ # The name of the operation resource to be deleted.
629
+ # @param [String] fields
630
+ # Selector specifying which fields to include in a partial response.
631
+ # @param [String] quota_user
632
+ # Available to use for quota purposes for server-side applications. Can be any
633
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
634
+ # @param [Google::Apis::RequestOptions] options
635
+ # Request-specific options
636
+ #
637
+ # @yield [result, err] Result & error if block supplied
638
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Empty] parsed result object
639
+ # @yieldparam err [StandardError] error object if request failed
640
+ #
641
+ # @return [Google::Apis::GkehubV1beta1::Empty]
642
+ #
643
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
644
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
645
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
646
+ def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
647
+ command = make_simple_command(:delete, 'v1beta1/{+name}', options)
648
+ command.response_representation = Google::Apis::GkehubV1beta1::Empty::Representation
649
+ command.response_class = Google::Apis::GkehubV1beta1::Empty
650
+ command.params['name'] = name unless name.nil?
651
+ command.query['fields'] = fields unless fields.nil?
652
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
653
+ execute_or_queue_command(command, &block)
654
+ end
655
+
656
+ # Gets the latest state of a long-running operation. Clients can use this method
657
+ # to poll the operation result at intervals as recommended by the API service.
658
+ # @param [String] name
659
+ # The name of the operation resource.
660
+ # @param [String] fields
661
+ # Selector specifying which fields to include in a partial response.
662
+ # @param [String] quota_user
663
+ # Available to use for quota purposes for server-side applications. Can be any
664
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
665
+ # @param [Google::Apis::RequestOptions] options
666
+ # Request-specific options
667
+ #
668
+ # @yield [result, err] Result & error if block supplied
669
+ # @yieldparam result [Google::Apis::GkehubV1beta1::Operation] parsed result object
670
+ # @yieldparam err [StandardError] error object if request failed
671
+ #
672
+ # @return [Google::Apis::GkehubV1beta1::Operation]
673
+ #
674
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
675
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
676
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
677
+ def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
678
+ command = make_simple_command(:get, 'v1beta1/{+name}', options)
679
+ command.response_representation = Google::Apis::GkehubV1beta1::Operation::Representation
680
+ command.response_class = Google::Apis::GkehubV1beta1::Operation
681
+ command.params['name'] = name unless name.nil?
682
+ command.query['fields'] = fields unless fields.nil?
683
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
684
+ execute_or_queue_command(command, &block)
685
+ end
686
+
687
+ # Lists operations that match the specified filter in the request. If the server
688
+ # doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name`
689
+ # binding allows API services to override the binding to use different resource
690
+ # name schemes, such as `users/*/operations`. To override the binding, API
691
+ # services can add a binding such as `"/v1/`name=users/*`/operations"` to their
692
+ # service configuration. For backwards compatibility, the default name includes
693
+ # the operations collection id, however overriding users must ensure the name
694
+ # binding is the parent resource, without the operations collection id.
695
+ # @param [String] name
696
+ # The name of the operation's parent resource.
697
+ # @param [String] filter
698
+ # The standard list filter.
699
+ # @param [Fixnum] page_size
700
+ # The standard list page size.
701
+ # @param [String] page_token
702
+ # The standard list page token.
703
+ # @param [String] fields
704
+ # Selector specifying which fields to include in a partial response.
705
+ # @param [String] quota_user
706
+ # Available to use for quota purposes for server-side applications. Can be any
707
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
708
+ # @param [Google::Apis::RequestOptions] options
709
+ # Request-specific options
710
+ #
711
+ # @yield [result, err] Result & error if block supplied
712
+ # @yieldparam result [Google::Apis::GkehubV1beta1::ListOperationsResponse] parsed result object
713
+ # @yieldparam err [StandardError] error object if request failed
714
+ #
715
+ # @return [Google::Apis::GkehubV1beta1::ListOperationsResponse]
716
+ #
717
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
718
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
719
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
720
+ def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
721
+ command = make_simple_command(:get, 'v1beta1/{+name}/operations', options)
722
+ command.response_representation = Google::Apis::GkehubV1beta1::ListOperationsResponse::Representation
723
+ command.response_class = Google::Apis::GkehubV1beta1::ListOperationsResponse
724
+ command.params['name'] = name unless name.nil?
725
+ command.query['filter'] = filter unless filter.nil?
726
+ command.query['pageSize'] = page_size unless page_size.nil?
727
+ command.query['pageToken'] = page_token unless page_token.nil?
728
+ command.query['fields'] = fields unless fields.nil?
729
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
730
+ execute_or_queue_command(command, &block)
731
+ end
732
+
733
+ protected
734
+
735
+ def apply_command_defaults(command)
736
+ command.query['key'] = key unless key.nil?
737
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
738
+ end
739
+ end
740
+ end
741
+ end
742
+ end