google-apis-iam_v2beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,232 @@
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 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module IamV2beta
24
+
25
+ class GoogleIamAdminV1AuditData
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class GoogleIamAdminV1AuditDataPermissionDelta
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class GoogleIamV1BindingDelta
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class GoogleIamV1LoggingAuditData
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class GoogleIamV1PolicyDelta
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class GoogleIamV2betaDenyRule
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class GoogleIamV2betaListPoliciesResponse
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class GoogleIamV2betaPolicy
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class GoogleIamV2betaPolicyOperationMetadata
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class GoogleIamV2betaPolicyRule
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class GoogleLongrunningOperation
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class GoogleRpcStatus
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class GoogleTypeExpr
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class GoogleIamAdminV1AuditData
104
+ # @private
105
+ class Representation < Google::Apis::Core::JsonRepresentation
106
+ property :permission_delta, as: 'permissionDelta', class: Google::Apis::IamV2beta::GoogleIamAdminV1AuditDataPermissionDelta, decorator: Google::Apis::IamV2beta::GoogleIamAdminV1AuditDataPermissionDelta::Representation
107
+
108
+ end
109
+ end
110
+
111
+ class GoogleIamAdminV1AuditDataPermissionDelta
112
+ # @private
113
+ class Representation < Google::Apis::Core::JsonRepresentation
114
+ collection :added_permissions, as: 'addedPermissions'
115
+ collection :removed_permissions, as: 'removedPermissions'
116
+ end
117
+ end
118
+
119
+ class GoogleIamV1BindingDelta
120
+ # @private
121
+ class Representation < Google::Apis::Core::JsonRepresentation
122
+ property :action, as: 'action'
123
+ property :condition, as: 'condition', class: Google::Apis::IamV2beta::GoogleTypeExpr, decorator: Google::Apis::IamV2beta::GoogleTypeExpr::Representation
124
+
125
+ property :member, as: 'member'
126
+ property :role, as: 'role'
127
+ end
128
+ end
129
+
130
+ class GoogleIamV1LoggingAuditData
131
+ # @private
132
+ class Representation < Google::Apis::Core::JsonRepresentation
133
+ property :policy_delta, as: 'policyDelta', class: Google::Apis::IamV2beta::GoogleIamV1PolicyDelta, decorator: Google::Apis::IamV2beta::GoogleIamV1PolicyDelta::Representation
134
+
135
+ end
136
+ end
137
+
138
+ class GoogleIamV1PolicyDelta
139
+ # @private
140
+ class Representation < Google::Apis::Core::JsonRepresentation
141
+ collection :binding_deltas, as: 'bindingDeltas', class: Google::Apis::IamV2beta::GoogleIamV1BindingDelta, decorator: Google::Apis::IamV2beta::GoogleIamV1BindingDelta::Representation
142
+
143
+ end
144
+ end
145
+
146
+ class GoogleIamV2betaDenyRule
147
+ # @private
148
+ class Representation < Google::Apis::Core::JsonRepresentation
149
+ property :denial_condition, as: 'denialCondition', class: Google::Apis::IamV2beta::GoogleTypeExpr, decorator: Google::Apis::IamV2beta::GoogleTypeExpr::Representation
150
+
151
+ collection :denied_permissions, as: 'deniedPermissions'
152
+ collection :denied_principals, as: 'deniedPrincipals'
153
+ collection :exception_permissions, as: 'exceptionPermissions'
154
+ collection :exception_principals, as: 'exceptionPrincipals'
155
+ end
156
+ end
157
+
158
+ class GoogleIamV2betaListPoliciesResponse
159
+ # @private
160
+ class Representation < Google::Apis::Core::JsonRepresentation
161
+ property :next_page_token, as: 'nextPageToken'
162
+ collection :policies, as: 'policies', class: Google::Apis::IamV2beta::GoogleIamV2betaPolicy, decorator: Google::Apis::IamV2beta::GoogleIamV2betaPolicy::Representation
163
+
164
+ end
165
+ end
166
+
167
+ class GoogleIamV2betaPolicy
168
+ # @private
169
+ class Representation < Google::Apis::Core::JsonRepresentation
170
+ hash :annotations, as: 'annotations'
171
+ property :create_time, as: 'createTime'
172
+ property :delete_time, as: 'deleteTime'
173
+ property :display_name, as: 'displayName'
174
+ property :etag, as: 'etag'
175
+ property :kind, as: 'kind'
176
+ property :name, as: 'name'
177
+ collection :rules, as: 'rules', class: Google::Apis::IamV2beta::GoogleIamV2betaPolicyRule, decorator: Google::Apis::IamV2beta::GoogleIamV2betaPolicyRule::Representation
178
+
179
+ property :uid, as: 'uid'
180
+ property :update_time, as: 'updateTime'
181
+ end
182
+ end
183
+
184
+ class GoogleIamV2betaPolicyOperationMetadata
185
+ # @private
186
+ class Representation < Google::Apis::Core::JsonRepresentation
187
+ property :create_time, as: 'createTime'
188
+ end
189
+ end
190
+
191
+ class GoogleIamV2betaPolicyRule
192
+ # @private
193
+ class Representation < Google::Apis::Core::JsonRepresentation
194
+ property :deny_rule, as: 'denyRule', class: Google::Apis::IamV2beta::GoogleIamV2betaDenyRule, decorator: Google::Apis::IamV2beta::GoogleIamV2betaDenyRule::Representation
195
+
196
+ property :description, as: 'description'
197
+ end
198
+ end
199
+
200
+ class GoogleLongrunningOperation
201
+ # @private
202
+ class Representation < Google::Apis::Core::JsonRepresentation
203
+ property :done, as: 'done'
204
+ property :error, as: 'error', class: Google::Apis::IamV2beta::GoogleRpcStatus, decorator: Google::Apis::IamV2beta::GoogleRpcStatus::Representation
205
+
206
+ hash :metadata, as: 'metadata'
207
+ property :name, as: 'name'
208
+ hash :response, as: 'response'
209
+ end
210
+ end
211
+
212
+ class GoogleRpcStatus
213
+ # @private
214
+ class Representation < Google::Apis::Core::JsonRepresentation
215
+ property :code, as: 'code'
216
+ collection :details, as: 'details'
217
+ property :message, as: 'message'
218
+ end
219
+ end
220
+
221
+ class GoogleTypeExpr
222
+ # @private
223
+ class Representation < Google::Apis::Core::JsonRepresentation
224
+ property :description, as: 'description'
225
+ property :expression, as: 'expression'
226
+ property :location, as: 'location'
227
+ property :title, as: 'title'
228
+ end
229
+ end
230
+ end
231
+ end
232
+ end
@@ -0,0 +1,307 @@
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 IamV2beta
23
+ # Identity and Access Management (IAM) API
24
+ #
25
+ # Manages identity and access control for Google Cloud Platform resources,
26
+ # including the creation of service accounts, which you can use to authenticate
27
+ # to Google and make API calls.
28
+ #
29
+ # @example
30
+ # require 'google/apis/iam_v2beta'
31
+ #
32
+ # Iam = Google::Apis::IamV2beta # Alias the module
33
+ # service = Iam::IamService.new
34
+ #
35
+ # @see https://cloud.google.com/iam/
36
+ class IamService < Google::Apis::Core::BaseService
37
+ # @return [String]
38
+ # API key. Your API key identifies your project and provides you with API access,
39
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
40
+ attr_accessor :key
41
+
42
+ # @return [String]
43
+ # Available to use for quota purposes for server-side applications. Can be any
44
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
45
+ attr_accessor :quota_user
46
+
47
+ def initialize
48
+ super('https://iam.googleapis.com/', '',
49
+ client_name: 'google-apis-iam_v2beta',
50
+ client_version: Google::Apis::IamV2beta::GEM_VERSION)
51
+ @batch_path = 'batch'
52
+ end
53
+
54
+ # Creates a policy.
55
+ # @param [String] parent
56
+ # Required. The resource that the policy is attached to, along with the kind of
57
+ # policy to create. Format: `policies/`attachment-point`/denypolicies` The
58
+ # attachment point is identified by its URL-encoded full resource name, which
59
+ # means that the forward-slash character, `/`, must be written as `%2F`. For
60
+ # example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/
61
+ # denypolicies`. For organizations and folders, use the numeric ID in the full
62
+ # resource name. For projects, you can use the alphanumeric or the numeric ID.
63
+ # @param [Google::Apis::IamV2beta::GoogleIamV2betaPolicy] google_iam_v2beta_policy_object
64
+ # @param [String] policy_id
65
+ # The ID to use for this policy, which will become the final component of the
66
+ # policy's resource name. The ID must contain 3 to 63 characters. It can contain
67
+ # lowercase letters and numbers, as well as dashes (`-`) and periods (`.`). The
68
+ # first character must be a lowercase letter.
69
+ # @param [String] fields
70
+ # Selector specifying which fields to include in a partial response.
71
+ # @param [String] quota_user
72
+ # Available to use for quota purposes for server-side applications. Can be any
73
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
74
+ # @param [Google::Apis::RequestOptions] options
75
+ # Request-specific options
76
+ #
77
+ # @yield [result, err] Result & error if block supplied
78
+ # @yieldparam result [Google::Apis::IamV2beta::GoogleLongrunningOperation] parsed result object
79
+ # @yieldparam err [StandardError] error object if request failed
80
+ #
81
+ # @return [Google::Apis::IamV2beta::GoogleLongrunningOperation]
82
+ #
83
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
84
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
85
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
86
+ def create_policy_policy(parent, google_iam_v2beta_policy_object = nil, policy_id: nil, fields: nil, quota_user: nil, options: nil, &block)
87
+ command = make_simple_command(:post, 'v2beta/{+parent}', options)
88
+ command.request_representation = Google::Apis::IamV2beta::GoogleIamV2betaPolicy::Representation
89
+ command.request_object = google_iam_v2beta_policy_object
90
+ command.response_representation = Google::Apis::IamV2beta::GoogleLongrunningOperation::Representation
91
+ command.response_class = Google::Apis::IamV2beta::GoogleLongrunningOperation
92
+ command.params['parent'] = parent unless parent.nil?
93
+ command.query['policyId'] = policy_id unless policy_id.nil?
94
+ command.query['fields'] = fields unless fields.nil?
95
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
96
+ execute_or_queue_command(command, &block)
97
+ end
98
+
99
+ # Deletes a policy. This action is permanent.
100
+ # @param [String] name
101
+ # Required. The resource name of the policy to delete. Format: `policies/`
102
+ # attachment-point`/denypolicies/`policy-id`` Use the URL-encoded full resource
103
+ # name, which means that the forward-slash character, `/`, must be written as `%
104
+ # 2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%
105
+ # 2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the
106
+ # numeric ID in the full resource name. For projects, you can use the
107
+ # alphanumeric or the numeric ID.
108
+ # @param [String] etag
109
+ # Optional. The expected `etag` of the policy to delete. If the value does not
110
+ # match the value that is stored in IAM, the request fails with a `409` error
111
+ # code and `ABORTED` status. If you omit this field, the policy is deleted
112
+ # regardless of its current `etag`.
113
+ # @param [String] fields
114
+ # Selector specifying which fields to include in a partial response.
115
+ # @param [String] quota_user
116
+ # Available to use for quota purposes for server-side applications. Can be any
117
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
118
+ # @param [Google::Apis::RequestOptions] options
119
+ # Request-specific options
120
+ #
121
+ # @yield [result, err] Result & error if block supplied
122
+ # @yieldparam result [Google::Apis::IamV2beta::GoogleLongrunningOperation] parsed result object
123
+ # @yieldparam err [StandardError] error object if request failed
124
+ #
125
+ # @return [Google::Apis::IamV2beta::GoogleLongrunningOperation]
126
+ #
127
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
128
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
129
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
130
+ def delete_policy(name, etag: nil, fields: nil, quota_user: nil, options: nil, &block)
131
+ command = make_simple_command(:delete, 'v2beta/{+name}', options)
132
+ command.response_representation = Google::Apis::IamV2beta::GoogleLongrunningOperation::Representation
133
+ command.response_class = Google::Apis::IamV2beta::GoogleLongrunningOperation
134
+ command.params['name'] = name unless name.nil?
135
+ command.query['etag'] = etag unless etag.nil?
136
+ command.query['fields'] = fields unless fields.nil?
137
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
138
+ execute_or_queue_command(command, &block)
139
+ end
140
+
141
+ # Gets a policy.
142
+ # @param [String] name
143
+ # Required. The resource name of the policy to retrieve. Format: `policies/`
144
+ # attachment-point`/denypolicies/`policy-id`` Use the URL-encoded full resource
145
+ # name, which means that the forward-slash character, `/`, must be written as `%
146
+ # 2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%
147
+ # 2Fmy-project/denypolicies/my-policy`. For organizations and folders, use the
148
+ # numeric ID in the full resource name. For projects, you can use the
149
+ # alphanumeric or the numeric ID.
150
+ # @param [String] fields
151
+ # Selector specifying which fields to include in a partial response.
152
+ # @param [String] quota_user
153
+ # Available to use for quota purposes for server-side applications. Can be any
154
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
155
+ # @param [Google::Apis::RequestOptions] options
156
+ # Request-specific options
157
+ #
158
+ # @yield [result, err] Result & error if block supplied
159
+ # @yieldparam result [Google::Apis::IamV2beta::GoogleIamV2betaPolicy] parsed result object
160
+ # @yieldparam err [StandardError] error object if request failed
161
+ #
162
+ # @return [Google::Apis::IamV2beta::GoogleIamV2betaPolicy]
163
+ #
164
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
165
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
166
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
167
+ def get_policy(name, fields: nil, quota_user: nil, options: nil, &block)
168
+ command = make_simple_command(:get, 'v2beta/{+name}', options)
169
+ command.response_representation = Google::Apis::IamV2beta::GoogleIamV2betaPolicy::Representation
170
+ command.response_class = Google::Apis::IamV2beta::GoogleIamV2betaPolicy
171
+ command.params['name'] = name unless name.nil?
172
+ command.query['fields'] = fields unless fields.nil?
173
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
174
+ execute_or_queue_command(command, &block)
175
+ end
176
+
177
+ # Retrieves the policies of the specified kind that are attached to a resource.
178
+ # The response lists only policy metadata. In particular, policy rules are
179
+ # omitted.
180
+ # @param [String] parent
181
+ # Required. The resource that the policy is attached to, along with the kind of
182
+ # policy to list. Format: `policies/`attachment-point`/denypolicies` The
183
+ # attachment point is identified by its URL-encoded full resource name, which
184
+ # means that the forward-slash character, `/`, must be written as `%2F`. For
185
+ # example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/
186
+ # denypolicies`. For organizations and folders, use the numeric ID in the full
187
+ # resource name. For projects, you can use the alphanumeric or the numeric ID.
188
+ # @param [Fixnum] page_size
189
+ # The maximum number of policies to return. IAM ignores this value and uses the
190
+ # value 1000.
191
+ # @param [String] page_token
192
+ # A page token received in a ListPoliciesResponse. Provide this token to
193
+ # retrieve the next page.
194
+ # @param [String] fields
195
+ # Selector specifying which fields to include in a partial response.
196
+ # @param [String] quota_user
197
+ # Available to use for quota purposes for server-side applications. Can be any
198
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
199
+ # @param [Google::Apis::RequestOptions] options
200
+ # Request-specific options
201
+ #
202
+ # @yield [result, err] Result & error if block supplied
203
+ # @yieldparam result [Google::Apis::IamV2beta::GoogleIamV2betaListPoliciesResponse] parsed result object
204
+ # @yieldparam err [StandardError] error object if request failed
205
+ #
206
+ # @return [Google::Apis::IamV2beta::GoogleIamV2betaListPoliciesResponse]
207
+ #
208
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
209
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
210
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
211
+ def list_policy_policies(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
212
+ command = make_simple_command(:get, 'v2beta/{+parent}', options)
213
+ command.response_representation = Google::Apis::IamV2beta::GoogleIamV2betaListPoliciesResponse::Representation
214
+ command.response_class = Google::Apis::IamV2beta::GoogleIamV2betaListPoliciesResponse
215
+ command.params['parent'] = parent unless parent.nil?
216
+ command.query['pageSize'] = page_size unless page_size.nil?
217
+ command.query['pageToken'] = page_token unless page_token.nil?
218
+ command.query['fields'] = fields unless fields.nil?
219
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
220
+ execute_or_queue_command(command, &block)
221
+ end
222
+
223
+ # Updates the specified policy. You can update only the rules and the display
224
+ # name for the policy. To update a policy, you should use a read-modify-write
225
+ # loop: 1. Use GetPolicy to read the current version of the policy. 2. Modify
226
+ # the policy as needed. 3. Use `UpdatePolicy` to write the updated policy. This
227
+ # pattern helps prevent conflicts between concurrent updates.
228
+ # @param [String] name
229
+ # Immutable. The resource name of the `Policy`, which must be unique. Format: `
230
+ # policies/`attachment-point`/denypolicies/`policy-id`` The attachment point is
231
+ # identified by its URL-encoded full resource name, which means that the forward-
232
+ # slash character, `/`, must be written as `%2F`. For example, `policies/
233
+ # cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-
234
+ # deny-policy`. For organizations and folders, use the numeric ID in the full
235
+ # resource name. For projects, requests can use the alphanumeric or the numeric
236
+ # ID. Responses always contain the numeric ID.
237
+ # @param [Google::Apis::IamV2beta::GoogleIamV2betaPolicy] google_iam_v2beta_policy_object
238
+ # @param [String] fields
239
+ # Selector specifying which fields to include in a partial response.
240
+ # @param [String] quota_user
241
+ # Available to use for quota purposes for server-side applications. Can be any
242
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
243
+ # @param [Google::Apis::RequestOptions] options
244
+ # Request-specific options
245
+ #
246
+ # @yield [result, err] Result & error if block supplied
247
+ # @yieldparam result [Google::Apis::IamV2beta::GoogleLongrunningOperation] parsed result object
248
+ # @yieldparam err [StandardError] error object if request failed
249
+ #
250
+ # @return [Google::Apis::IamV2beta::GoogleLongrunningOperation]
251
+ #
252
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
253
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
254
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
255
+ def update_policy(name, google_iam_v2beta_policy_object = nil, fields: nil, quota_user: nil, options: nil, &block)
256
+ command = make_simple_command(:put, 'v2beta/{+name}', options)
257
+ command.request_representation = Google::Apis::IamV2beta::GoogleIamV2betaPolicy::Representation
258
+ command.request_object = google_iam_v2beta_policy_object
259
+ command.response_representation = Google::Apis::IamV2beta::GoogleLongrunningOperation::Representation
260
+ command.response_class = Google::Apis::IamV2beta::GoogleLongrunningOperation
261
+ command.params['name'] = name unless name.nil?
262
+ command.query['fields'] = fields unless fields.nil?
263
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
264
+ execute_or_queue_command(command, &block)
265
+ end
266
+
267
+ # Gets the latest state of a long-running operation. Clients can use this method
268
+ # to poll the operation result at intervals as recommended by the API service.
269
+ # @param [String] name
270
+ # The name of the operation resource.
271
+ # @param [String] fields
272
+ # Selector specifying which fields to include in a partial response.
273
+ # @param [String] quota_user
274
+ # Available to use for quota purposes for server-side applications. Can be any
275
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
276
+ # @param [Google::Apis::RequestOptions] options
277
+ # Request-specific options
278
+ #
279
+ # @yield [result, err] Result & error if block supplied
280
+ # @yieldparam result [Google::Apis::IamV2beta::GoogleLongrunningOperation] parsed result object
281
+ # @yieldparam err [StandardError] error object if request failed
282
+ #
283
+ # @return [Google::Apis::IamV2beta::GoogleLongrunningOperation]
284
+ #
285
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
286
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
287
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
288
+ def get_policy_operation(name, fields: nil, quota_user: nil, options: nil, &block)
289
+ command = make_simple_command(:get, 'v2beta/{+name}', options)
290
+ command.response_representation = Google::Apis::IamV2beta::GoogleLongrunningOperation::Representation
291
+ command.response_class = Google::Apis::IamV2beta::GoogleLongrunningOperation
292
+ command.params['name'] = name unless name.nil?
293
+ command.query['fields'] = fields unless fields.nil?
294
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
295
+ execute_or_queue_command(command, &block)
296
+ end
297
+
298
+ protected
299
+
300
+ def apply_command_defaults(command)
301
+ command.query['key'] = key unless key.nil?
302
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
303
+ end
304
+ end
305
+ end
306
+ end
307
+ end
@@ -0,0 +1,38 @@
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/iam_v2beta/service.rb'
16
+ require 'google/apis/iam_v2beta/classes.rb'
17
+ require 'google/apis/iam_v2beta/representations.rb'
18
+ require 'google/apis/iam_v2beta/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # Identity and Access Management (IAM) API
23
+ #
24
+ # Manages identity and access control for Google Cloud Platform resources,
25
+ # including the creation of service accounts, which you can use to authenticate
26
+ # to Google and make API calls.
27
+ #
28
+ # @see https://cloud.google.com/iam/
29
+ module IamV2beta
30
+ # Version of the Identity and Access Management (IAM) API this client connects to.
31
+ # This is NOT the gem version.
32
+ VERSION = 'V2beta'
33
+
34
+ # See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
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/iam_v2beta"
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: google-apis-iam_v2beta
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Google LLC
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-04-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: google-apis-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.4'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 2.a
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.4'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.a
33
+ description: This is the simple REST client for Identity and Access Management (IAM)
34
+ API V2beta. Simple REST clients are Ruby client libraries that provide access to
35
+ Google services via their HTTP REST API endpoints. These libraries are generated
36
+ and updated automatically based on the discovery documents published by the service,
37
+ and they handle most concerns such as authentication, pagination, retry, timeouts,
38
+ and logging. You can use this client to access the Identity and Access Management
39
+ (IAM) API, but note that some services may provide a separate modern client that
40
+ is easier to use.
41
+ email: googleapis-packages@google.com
42
+ executables: []
43
+ extensions: []
44
+ extra_rdoc_files: []
45
+ files:
46
+ - ".yardopts"
47
+ - CHANGELOG.md
48
+ - LICENSE.md
49
+ - OVERVIEW.md
50
+ - lib/google-apis-iam_v2beta.rb
51
+ - lib/google/apis/iam_v2beta.rb
52
+ - lib/google/apis/iam_v2beta/classes.rb
53
+ - lib/google/apis/iam_v2beta/gem_version.rb
54
+ - lib/google/apis/iam_v2beta/representations.rb
55
+ - lib/google/apis/iam_v2beta/service.rb
56
+ homepage: https://github.com/google/google-api-ruby-client
57
+ licenses:
58
+ - Apache-2.0
59
+ metadata:
60
+ bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
61
+ changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-iam_v2beta/CHANGELOG.md
62
+ documentation_uri: https://googleapis.dev/ruby/google-apis-iam_v2beta/v0.1.0
63
+ source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-iam_v2beta
64
+ post_install_message:
65
+ rdoc_options: []
66
+ require_paths:
67
+ - lib
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '2.5'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ requirements: []
79
+ rubygems_version: 3.3.5
80
+ signing_key:
81
+ specification_version: 4
82
+ summary: Simple REST client for Identity and Access Management (IAM) API V2beta
83
+ test_files: []