google-apis-iap_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
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
+ module Google
16
+ module Apis
17
+ module IapV1
18
+ # Version of the google-apis-iap_v1 gem
19
+ GEM_VERSION = "0.1.0"
20
+
21
+ # Version of the code generator used to generate this client
22
+ GENERATOR_VERSION = "0.1.1"
23
+
24
+ # Revision of the discovery document this client was generated from
25
+ REVISION = "20201204"
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,394 @@
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 IapV1
24
+
25
+ class AccessDeniedPageSettings
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class AccessSettings
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class ApplicationSettings
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
43
+ class Binding
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class Brand
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class CorsSettings
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class CsmSettings
62
+ class Representation < Google::Apis::Core::JsonRepresentation; end
63
+
64
+ include Google::Apis::Core::JsonObjectSupport
65
+ end
66
+
67
+ class Empty
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class Expr
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class GcipSettings
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class GetIamPolicyRequest
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class GetPolicyOptions
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class IapSettings
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
103
+ class IdentityAwareProxyClient
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
109
+ class ListBrandsResponse
110
+ class Representation < Google::Apis::Core::JsonRepresentation; end
111
+
112
+ include Google::Apis::Core::JsonObjectSupport
113
+ end
114
+
115
+ class ListIdentityAwareProxyClientsResponse
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
121
+ class OAuthSettings
122
+ class Representation < Google::Apis::Core::JsonRepresentation; end
123
+
124
+ include Google::Apis::Core::JsonObjectSupport
125
+ end
126
+
127
+ class Policy
128
+ class Representation < Google::Apis::Core::JsonRepresentation; end
129
+
130
+ include Google::Apis::Core::JsonObjectSupport
131
+ end
132
+
133
+ class PolicyDelegationSettings
134
+ class Representation < Google::Apis::Core::JsonRepresentation; end
135
+
136
+ include Google::Apis::Core::JsonObjectSupport
137
+ end
138
+
139
+ class PolicyName
140
+ class Representation < Google::Apis::Core::JsonRepresentation; end
141
+
142
+ include Google::Apis::Core::JsonObjectSupport
143
+ end
144
+
145
+ class ResetIdentityAwareProxyClientSecretRequest
146
+ class Representation < Google::Apis::Core::JsonRepresentation; end
147
+
148
+ include Google::Apis::Core::JsonObjectSupport
149
+ end
150
+
151
+ class Resource
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class SetIamPolicyRequest
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
163
+ class TestIamPermissionsRequest
164
+ class Representation < Google::Apis::Core::JsonRepresentation; end
165
+
166
+ include Google::Apis::Core::JsonObjectSupport
167
+ end
168
+
169
+ class TestIamPermissionsResponse
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
175
+ class AccessDeniedPageSettings
176
+ # @private
177
+ class Representation < Google::Apis::Core::JsonRepresentation
178
+ property :access_denied_page_uri, as: 'accessDeniedPageUri'
179
+ end
180
+ end
181
+
182
+ class AccessSettings
183
+ # @private
184
+ class Representation < Google::Apis::Core::JsonRepresentation
185
+ property :cors_settings, as: 'corsSettings', class: Google::Apis::IapV1::CorsSettings, decorator: Google::Apis::IapV1::CorsSettings::Representation
186
+
187
+ property :gcip_settings, as: 'gcipSettings', class: Google::Apis::IapV1::GcipSettings, decorator: Google::Apis::IapV1::GcipSettings::Representation
188
+
189
+ property :oauth_settings, as: 'oauthSettings', class: Google::Apis::IapV1::OAuthSettings, decorator: Google::Apis::IapV1::OAuthSettings::Representation
190
+
191
+ property :policy_delegation_settings, as: 'policyDelegationSettings', class: Google::Apis::IapV1::PolicyDelegationSettings, decorator: Google::Apis::IapV1::PolicyDelegationSettings::Representation
192
+
193
+ end
194
+ end
195
+
196
+ class ApplicationSettings
197
+ # @private
198
+ class Representation < Google::Apis::Core::JsonRepresentation
199
+ property :access_denied_page_settings, as: 'accessDeniedPageSettings', class: Google::Apis::IapV1::AccessDeniedPageSettings, decorator: Google::Apis::IapV1::AccessDeniedPageSettings::Representation
200
+
201
+ property :cookie_domain, as: 'cookieDomain'
202
+ property :csm_settings, as: 'csmSettings', class: Google::Apis::IapV1::CsmSettings, decorator: Google::Apis::IapV1::CsmSettings::Representation
203
+
204
+ end
205
+ end
206
+
207
+ class Binding
208
+ # @private
209
+ class Representation < Google::Apis::Core::JsonRepresentation
210
+ property :condition, as: 'condition', class: Google::Apis::IapV1::Expr, decorator: Google::Apis::IapV1::Expr::Representation
211
+
212
+ collection :members, as: 'members'
213
+ property :role, as: 'role'
214
+ end
215
+ end
216
+
217
+ class Brand
218
+ # @private
219
+ class Representation < Google::Apis::Core::JsonRepresentation
220
+ property :application_title, as: 'applicationTitle'
221
+ property :name, as: 'name'
222
+ property :org_internal_only, as: 'orgInternalOnly'
223
+ property :support_email, as: 'supportEmail'
224
+ end
225
+ end
226
+
227
+ class CorsSettings
228
+ # @private
229
+ class Representation < Google::Apis::Core::JsonRepresentation
230
+ property :allow_http_options, as: 'allowHttpOptions'
231
+ end
232
+ end
233
+
234
+ class CsmSettings
235
+ # @private
236
+ class Representation < Google::Apis::Core::JsonRepresentation
237
+ property :rctoken_aud, as: 'rctokenAud'
238
+ end
239
+ end
240
+
241
+ class Empty
242
+ # @private
243
+ class Representation < Google::Apis::Core::JsonRepresentation
244
+ end
245
+ end
246
+
247
+ class Expr
248
+ # @private
249
+ class Representation < Google::Apis::Core::JsonRepresentation
250
+ property :description, as: 'description'
251
+ property :expression, as: 'expression'
252
+ property :location, as: 'location'
253
+ property :title, as: 'title'
254
+ end
255
+ end
256
+
257
+ class GcipSettings
258
+ # @private
259
+ class Representation < Google::Apis::Core::JsonRepresentation
260
+ property :login_page_uri, as: 'loginPageUri'
261
+ collection :tenant_ids, as: 'tenantIds'
262
+ end
263
+ end
264
+
265
+ class GetIamPolicyRequest
266
+ # @private
267
+ class Representation < Google::Apis::Core::JsonRepresentation
268
+ property :options, as: 'options', class: Google::Apis::IapV1::GetPolicyOptions, decorator: Google::Apis::IapV1::GetPolicyOptions::Representation
269
+
270
+ end
271
+ end
272
+
273
+ class GetPolicyOptions
274
+ # @private
275
+ class Representation < Google::Apis::Core::JsonRepresentation
276
+ property :requested_policy_version, as: 'requestedPolicyVersion'
277
+ end
278
+ end
279
+
280
+ class IapSettings
281
+ # @private
282
+ class Representation < Google::Apis::Core::JsonRepresentation
283
+ property :access_settings, as: 'accessSettings', class: Google::Apis::IapV1::AccessSettings, decorator: Google::Apis::IapV1::AccessSettings::Representation
284
+
285
+ property :application_settings, as: 'applicationSettings', class: Google::Apis::IapV1::ApplicationSettings, decorator: Google::Apis::IapV1::ApplicationSettings::Representation
286
+
287
+ property :name, as: 'name'
288
+ end
289
+ end
290
+
291
+ class IdentityAwareProxyClient
292
+ # @private
293
+ class Representation < Google::Apis::Core::JsonRepresentation
294
+ property :display_name, as: 'displayName'
295
+ property :name, as: 'name'
296
+ property :secret, as: 'secret'
297
+ end
298
+ end
299
+
300
+ class ListBrandsResponse
301
+ # @private
302
+ class Representation < Google::Apis::Core::JsonRepresentation
303
+ collection :brands, as: 'brands', class: Google::Apis::IapV1::Brand, decorator: Google::Apis::IapV1::Brand::Representation
304
+
305
+ end
306
+ end
307
+
308
+ class ListIdentityAwareProxyClientsResponse
309
+ # @private
310
+ class Representation < Google::Apis::Core::JsonRepresentation
311
+ collection :identity_aware_proxy_clients, as: 'identityAwareProxyClients', class: Google::Apis::IapV1::IdentityAwareProxyClient, decorator: Google::Apis::IapV1::IdentityAwareProxyClient::Representation
312
+
313
+ property :next_page_token, as: 'nextPageToken'
314
+ end
315
+ end
316
+
317
+ class OAuthSettings
318
+ # @private
319
+ class Representation < Google::Apis::Core::JsonRepresentation
320
+ property :login_hint, as: 'loginHint'
321
+ end
322
+ end
323
+
324
+ class Policy
325
+ # @private
326
+ class Representation < Google::Apis::Core::JsonRepresentation
327
+ collection :bindings, as: 'bindings', class: Google::Apis::IapV1::Binding, decorator: Google::Apis::IapV1::Binding::Representation
328
+
329
+ property :etag, :base64 => true, as: 'etag'
330
+ property :version, as: 'version'
331
+ end
332
+ end
333
+
334
+ class PolicyDelegationSettings
335
+ # @private
336
+ class Representation < Google::Apis::Core::JsonRepresentation
337
+ property :iam_permission, as: 'iamPermission'
338
+ property :iam_service_name, as: 'iamServiceName'
339
+ property :policy_name, as: 'policyName', class: Google::Apis::IapV1::PolicyName, decorator: Google::Apis::IapV1::PolicyName::Representation
340
+
341
+ property :resource, as: 'resource', class: Google::Apis::IapV1::Resource, decorator: Google::Apis::IapV1::Resource::Representation
342
+
343
+ end
344
+ end
345
+
346
+ class PolicyName
347
+ # @private
348
+ class Representation < Google::Apis::Core::JsonRepresentation
349
+ property :id, as: 'id'
350
+ property :region, as: 'region'
351
+ property :type, as: 'type'
352
+ end
353
+ end
354
+
355
+ class ResetIdentityAwareProxyClientSecretRequest
356
+ # @private
357
+ class Representation < Google::Apis::Core::JsonRepresentation
358
+ end
359
+ end
360
+
361
+ class Resource
362
+ # @private
363
+ class Representation < Google::Apis::Core::JsonRepresentation
364
+ hash :labels, as: 'labels'
365
+ property :name, as: 'name'
366
+ property :service, as: 'service'
367
+ property :type, as: 'type'
368
+ end
369
+ end
370
+
371
+ class SetIamPolicyRequest
372
+ # @private
373
+ class Representation < Google::Apis::Core::JsonRepresentation
374
+ property :policy, as: 'policy', class: Google::Apis::IapV1::Policy, decorator: Google::Apis::IapV1::Policy::Representation
375
+
376
+ end
377
+ end
378
+
379
+ class TestIamPermissionsRequest
380
+ # @private
381
+ class Representation < Google::Apis::Core::JsonRepresentation
382
+ collection :permissions, as: 'permissions'
383
+ end
384
+ end
385
+
386
+ class TestIamPermissionsResponse
387
+ # @private
388
+ class Representation < Google::Apis::Core::JsonRepresentation
389
+ collection :permissions, as: 'permissions'
390
+ end
391
+ end
392
+ end
393
+ end
394
+ end
@@ -0,0 +1,524 @@
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 IapV1
23
+ # Cloud Identity-Aware Proxy API
24
+ #
25
+ # Controls access to cloud applications running on Google Cloud Platform.
26
+ #
27
+ # @example
28
+ # require 'google/apis/iap_v1'
29
+ #
30
+ # Iap = Google::Apis::IapV1 # Alias the module
31
+ # service = Iap::CloudIAPService.new
32
+ #
33
+ # @see https://cloud.google.com/iap
34
+ class CloudIAPService < 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://iap.googleapis.com/', '',
47
+ client_name: 'google-apis-iap_v1',
48
+ client_version: Google::Apis::IapV1::GEM_VERSION)
49
+ @batch_path = 'batch'
50
+ end
51
+
52
+ # Constructs a new OAuth brand for the project if one does not exist. The
53
+ # created brand is "internal only", meaning that OAuth clients created under it
54
+ # only accept requests from users who belong to the same G Suite organization as
55
+ # the project. The brand is created in an un-reviewed status. NOTE: The "
56
+ # internal only" status can be manually changed in the Google Cloud console.
57
+ # Requires that a brand does not already exist for the project, and that the
58
+ # specified support email is owned by the caller.
59
+ # @param [String] parent
60
+ # Required. GCP Project number/id under which the brand is to be created. In the
61
+ # following format: projects/`project_number/id`.
62
+ # @param [Google::Apis::IapV1::Brand] brand_object
63
+ # @param [String] fields
64
+ # Selector specifying which fields to include in a partial response.
65
+ # @param [String] quota_user
66
+ # Available to use for quota purposes for server-side applications. Can be any
67
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
68
+ # @param [Google::Apis::RequestOptions] options
69
+ # Request-specific options
70
+ #
71
+ # @yield [result, err] Result & error if block supplied
72
+ # @yieldparam result [Google::Apis::IapV1::Brand] parsed result object
73
+ # @yieldparam err [StandardError] error object if request failed
74
+ #
75
+ # @return [Google::Apis::IapV1::Brand]
76
+ #
77
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
78
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
79
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
80
+ def create_project_brand(parent, brand_object = nil, fields: nil, quota_user: nil, options: nil, &block)
81
+ command = make_simple_command(:post, 'v1/{+parent}/brands', options)
82
+ command.request_representation = Google::Apis::IapV1::Brand::Representation
83
+ command.request_object = brand_object
84
+ command.response_representation = Google::Apis::IapV1::Brand::Representation
85
+ command.response_class = Google::Apis::IapV1::Brand
86
+ command.params['parent'] = parent unless parent.nil?
87
+ command.query['fields'] = fields unless fields.nil?
88
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
89
+ execute_or_queue_command(command, &block)
90
+ end
91
+
92
+ # Retrieves the OAuth brand of the project.
93
+ # @param [String] name
94
+ # Required. Name of the brand to be fetched. In the following format: projects/`
95
+ # project_number/id`/brands/`brand`.
96
+ # @param [String] fields
97
+ # Selector specifying which fields to include in a partial response.
98
+ # @param [String] quota_user
99
+ # Available to use for quota purposes for server-side applications. Can be any
100
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
101
+ # @param [Google::Apis::RequestOptions] options
102
+ # Request-specific options
103
+ #
104
+ # @yield [result, err] Result & error if block supplied
105
+ # @yieldparam result [Google::Apis::IapV1::Brand] parsed result object
106
+ # @yieldparam err [StandardError] error object if request failed
107
+ #
108
+ # @return [Google::Apis::IapV1::Brand]
109
+ #
110
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
111
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
112
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
113
+ def get_project_brand(name, fields: nil, quota_user: nil, options: nil, &block)
114
+ command = make_simple_command(:get, 'v1/{+name}', options)
115
+ command.response_representation = Google::Apis::IapV1::Brand::Representation
116
+ command.response_class = Google::Apis::IapV1::Brand
117
+ command.params['name'] = name unless name.nil?
118
+ command.query['fields'] = fields unless fields.nil?
119
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
120
+ execute_or_queue_command(command, &block)
121
+ end
122
+
123
+ # Lists the existing brands for the project.
124
+ # @param [String] parent
125
+ # Required. GCP Project number/id. In the following format: projects/`
126
+ # project_number/id`.
127
+ # @param [String] fields
128
+ # Selector specifying which fields to include in a partial response.
129
+ # @param [String] quota_user
130
+ # Available to use for quota purposes for server-side applications. Can be any
131
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
132
+ # @param [Google::Apis::RequestOptions] options
133
+ # Request-specific options
134
+ #
135
+ # @yield [result, err] Result & error if block supplied
136
+ # @yieldparam result [Google::Apis::IapV1::ListBrandsResponse] parsed result object
137
+ # @yieldparam err [StandardError] error object if request failed
138
+ #
139
+ # @return [Google::Apis::IapV1::ListBrandsResponse]
140
+ #
141
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
142
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
143
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
144
+ def list_project_brands(parent, fields: nil, quota_user: nil, options: nil, &block)
145
+ command = make_simple_command(:get, 'v1/{+parent}/brands', options)
146
+ command.response_representation = Google::Apis::IapV1::ListBrandsResponse::Representation
147
+ command.response_class = Google::Apis::IapV1::ListBrandsResponse
148
+ command.params['parent'] = parent unless parent.nil?
149
+ command.query['fields'] = fields unless fields.nil?
150
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
151
+ execute_or_queue_command(command, &block)
152
+ end
153
+
154
+ # Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned by IAP.
155
+ # Requires that the brand for the project exists and that it is set for
156
+ # internal-only use.
157
+ # @param [String] parent
158
+ # Required. Path to create the client in. In the following format: projects/`
159
+ # project_number/id`/brands/`brand`. The project must belong to a G Suite
160
+ # account.
161
+ # @param [Google::Apis::IapV1::IdentityAwareProxyClient] identity_aware_proxy_client_object
162
+ # @param [String] fields
163
+ # Selector specifying which fields to include in a partial response.
164
+ # @param [String] quota_user
165
+ # Available to use for quota purposes for server-side applications. Can be any
166
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
167
+ # @param [Google::Apis::RequestOptions] options
168
+ # Request-specific options
169
+ #
170
+ # @yield [result, err] Result & error if block supplied
171
+ # @yieldparam result [Google::Apis::IapV1::IdentityAwareProxyClient] parsed result object
172
+ # @yieldparam err [StandardError] error object if request failed
173
+ #
174
+ # @return [Google::Apis::IapV1::IdentityAwareProxyClient]
175
+ #
176
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
177
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
178
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
179
+ def create_project_brand_identity_aware_proxy_client(parent, identity_aware_proxy_client_object = nil, fields: nil, quota_user: nil, options: nil, &block)
180
+ command = make_simple_command(:post, 'v1/{+parent}/identityAwareProxyClients', options)
181
+ command.request_representation = Google::Apis::IapV1::IdentityAwareProxyClient::Representation
182
+ command.request_object = identity_aware_proxy_client_object
183
+ command.response_representation = Google::Apis::IapV1::IdentityAwareProxyClient::Representation
184
+ command.response_class = Google::Apis::IapV1::IdentityAwareProxyClient
185
+ command.params['parent'] = parent unless parent.nil?
186
+ command.query['fields'] = fields unless fields.nil?
187
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
188
+ execute_or_queue_command(command, &block)
189
+ end
190
+
191
+ # Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing
192
+ # obsolete clients, managing the number of clients in a given project, and
193
+ # cleaning up after tests. Requires that the client is owned by IAP.
194
+ # @param [String] name
195
+ # Required. Name of the Identity Aware Proxy client to be deleted. In the
196
+ # following format: projects/`project_number/id`/brands/`brand`/
197
+ # identityAwareProxyClients/`client_id`.
198
+ # @param [String] fields
199
+ # Selector specifying which fields to include in a partial response.
200
+ # @param [String] quota_user
201
+ # Available to use for quota purposes for server-side applications. Can be any
202
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
203
+ # @param [Google::Apis::RequestOptions] options
204
+ # Request-specific options
205
+ #
206
+ # @yield [result, err] Result & error if block supplied
207
+ # @yieldparam result [Google::Apis::IapV1::Empty] parsed result object
208
+ # @yieldparam err [StandardError] error object if request failed
209
+ #
210
+ # @return [Google::Apis::IapV1::Empty]
211
+ #
212
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
213
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
214
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
215
+ def delete_project_brand_identity_aware_proxy_client(name, fields: nil, quota_user: nil, options: nil, &block)
216
+ command = make_simple_command(:delete, 'v1/{+name}', options)
217
+ command.response_representation = Google::Apis::IapV1::Empty::Representation
218
+ command.response_class = Google::Apis::IapV1::Empty
219
+ command.params['name'] = name unless name.nil?
220
+ command.query['fields'] = fields unless fields.nil?
221
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
222
+ execute_or_queue_command(command, &block)
223
+ end
224
+
225
+ # Retrieves an Identity Aware Proxy (IAP) OAuth client. Requires that the client
226
+ # is owned by IAP.
227
+ # @param [String] name
228
+ # Required. Name of the Identity Aware Proxy client to be fetched. In the
229
+ # following format: projects/`project_number/id`/brands/`brand`/
230
+ # identityAwareProxyClients/`client_id`.
231
+ # @param [String] fields
232
+ # Selector specifying which fields to include in a partial response.
233
+ # @param [String] quota_user
234
+ # Available to use for quota purposes for server-side applications. Can be any
235
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
236
+ # @param [Google::Apis::RequestOptions] options
237
+ # Request-specific options
238
+ #
239
+ # @yield [result, err] Result & error if block supplied
240
+ # @yieldparam result [Google::Apis::IapV1::IdentityAwareProxyClient] parsed result object
241
+ # @yieldparam err [StandardError] error object if request failed
242
+ #
243
+ # @return [Google::Apis::IapV1::IdentityAwareProxyClient]
244
+ #
245
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
246
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
247
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
248
+ def get_project_brand_identity_aware_proxy_client(name, fields: nil, quota_user: nil, options: nil, &block)
249
+ command = make_simple_command(:get, 'v1/{+name}', options)
250
+ command.response_representation = Google::Apis::IapV1::IdentityAwareProxyClient::Representation
251
+ command.response_class = Google::Apis::IapV1::IdentityAwareProxyClient
252
+ command.params['name'] = name unless name.nil?
253
+ command.query['fields'] = fields unless fields.nil?
254
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
255
+ execute_or_queue_command(command, &block)
256
+ end
257
+
258
+ # Lists the existing clients for the brand.
259
+ # @param [String] parent
260
+ # Required. Full brand path. In the following format: projects/`project_number/
261
+ # id`/brands/`brand`.
262
+ # @param [Fixnum] page_size
263
+ # The maximum number of clients to return. The service may return fewer than
264
+ # this value. If unspecified, at most 100 clients will be returned. The maximum
265
+ # value is 1000; values above 1000 will be coerced to 1000.
266
+ # @param [String] page_token
267
+ # A page token, received from a previous `ListIdentityAwareProxyClients` call.
268
+ # Provide this to retrieve the subsequent page. When paginating, all other
269
+ # parameters provided to `ListIdentityAwareProxyClients` must match the call
270
+ # that provided the page token.
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::IapV1::ListIdentityAwareProxyClientsResponse] parsed result object
281
+ # @yieldparam err [StandardError] error object if request failed
282
+ #
283
+ # @return [Google::Apis::IapV1::ListIdentityAwareProxyClientsResponse]
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 list_project_brand_identity_aware_proxy_clients(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
289
+ command = make_simple_command(:get, 'v1/{+parent}/identityAwareProxyClients', options)
290
+ command.response_representation = Google::Apis::IapV1::ListIdentityAwareProxyClientsResponse::Representation
291
+ command.response_class = Google::Apis::IapV1::ListIdentityAwareProxyClientsResponse
292
+ command.params['parent'] = parent unless parent.nil?
293
+ command.query['pageSize'] = page_size unless page_size.nil?
294
+ command.query['pageToken'] = page_token unless page_token.nil?
295
+ command.query['fields'] = fields unless fields.nil?
296
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
297
+ execute_or_queue_command(command, &block)
298
+ end
299
+
300
+ # Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the secret
301
+ # was compromised. Requires that the client is owned by IAP.
302
+ # @param [String] name
303
+ # Required. Name of the Identity Aware Proxy client to that will have its secret
304
+ # reset. In the following format: projects/`project_number/id`/brands/`brand`/
305
+ # identityAwareProxyClients/`client_id`.
306
+ # @param [Google::Apis::IapV1::ResetIdentityAwareProxyClientSecretRequest] reset_identity_aware_proxy_client_secret_request_object
307
+ # @param [String] fields
308
+ # Selector specifying which fields to include in a partial response.
309
+ # @param [String] quota_user
310
+ # Available to use for quota purposes for server-side applications. Can be any
311
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
312
+ # @param [Google::Apis::RequestOptions] options
313
+ # Request-specific options
314
+ #
315
+ # @yield [result, err] Result & error if block supplied
316
+ # @yieldparam result [Google::Apis::IapV1::IdentityAwareProxyClient] parsed result object
317
+ # @yieldparam err [StandardError] error object if request failed
318
+ #
319
+ # @return [Google::Apis::IapV1::IdentityAwareProxyClient]
320
+ #
321
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
322
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
323
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
324
+ def reset_project_brand_identity_aware_proxy_client_secret(name, reset_identity_aware_proxy_client_secret_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
325
+ command = make_simple_command(:post, 'v1/{+name}:resetSecret', options)
326
+ command.request_representation = Google::Apis::IapV1::ResetIdentityAwareProxyClientSecretRequest::Representation
327
+ command.request_object = reset_identity_aware_proxy_client_secret_request_object
328
+ command.response_representation = Google::Apis::IapV1::IdentityAwareProxyClient::Representation
329
+ command.response_class = Google::Apis::IapV1::IdentityAwareProxyClient
330
+ command.params['name'] = name unless name.nil?
331
+ command.query['fields'] = fields unless fields.nil?
332
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
333
+ execute_or_queue_command(command, &block)
334
+ end
335
+
336
+ # Gets the access control policy for an Identity-Aware Proxy protected resource.
337
+ # More information about managing access via IAP can be found at: https://cloud.
338
+ # google.com/iap/docs/managing-access#managing_access_via_the_api
339
+ # @param [String] resource
340
+ # REQUIRED: The resource for which the policy is being requested. See the
341
+ # operation documentation for the appropriate value for this field.
342
+ # @param [Google::Apis::IapV1::GetIamPolicyRequest] get_iam_policy_request_object
343
+ # @param [String] fields
344
+ # Selector specifying which fields to include in a partial response.
345
+ # @param [String] quota_user
346
+ # Available to use for quota purposes for server-side applications. Can be any
347
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
348
+ # @param [Google::Apis::RequestOptions] options
349
+ # Request-specific options
350
+ #
351
+ # @yield [result, err] Result & error if block supplied
352
+ # @yieldparam result [Google::Apis::IapV1::Policy] parsed result object
353
+ # @yieldparam err [StandardError] error object if request failed
354
+ #
355
+ # @return [Google::Apis::IapV1::Policy]
356
+ #
357
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
358
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
359
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
360
+ def get_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
361
+ command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
362
+ command.request_representation = Google::Apis::IapV1::GetIamPolicyRequest::Representation
363
+ command.request_object = get_iam_policy_request_object
364
+ command.response_representation = Google::Apis::IapV1::Policy::Representation
365
+ command.response_class = Google::Apis::IapV1::Policy
366
+ command.params['resource'] = resource unless resource.nil?
367
+ command.query['fields'] = fields unless fields.nil?
368
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
369
+ execute_or_queue_command(command, &block)
370
+ end
371
+
372
+ # Gets the IAP settings on a particular IAP protected resource.
373
+ # @param [String] name
374
+ # Required. The resource name for which to retrieve the settings. Authorization:
375
+ # Requires the `getSettings` permission for the associated resource.
376
+ # @param [String] fields
377
+ # Selector specifying which fields to include in a partial response.
378
+ # @param [String] quota_user
379
+ # Available to use for quota purposes for server-side applications. Can be any
380
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
381
+ # @param [Google::Apis::RequestOptions] options
382
+ # Request-specific options
383
+ #
384
+ # @yield [result, err] Result & error if block supplied
385
+ # @yieldparam result [Google::Apis::IapV1::IapSettings] parsed result object
386
+ # @yieldparam err [StandardError] error object if request failed
387
+ #
388
+ # @return [Google::Apis::IapV1::IapSettings]
389
+ #
390
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
391
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
392
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
393
+ def get_iap_settings(name, fields: nil, quota_user: nil, options: nil, &block)
394
+ command = make_simple_command(:get, 'v1/{+name}:iapSettings', options)
395
+ command.response_representation = Google::Apis::IapV1::IapSettings::Representation
396
+ command.response_class = Google::Apis::IapV1::IapSettings
397
+ command.params['name'] = name unless name.nil?
398
+ command.query['fields'] = fields unless fields.nil?
399
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
400
+ execute_or_queue_command(command, &block)
401
+ end
402
+
403
+ # Sets the access control policy for an Identity-Aware Proxy protected resource.
404
+ # Replaces any existing policy. More information about managing access via IAP
405
+ # can be found at: https://cloud.google.com/iap/docs/managing-access#
406
+ # managing_access_via_the_api
407
+ # @param [String] resource
408
+ # REQUIRED: The resource for which the policy is being specified. See the
409
+ # operation documentation for the appropriate value for this field.
410
+ # @param [Google::Apis::IapV1::SetIamPolicyRequest] set_iam_policy_request_object
411
+ # @param [String] fields
412
+ # Selector specifying which fields to include in a partial response.
413
+ # @param [String] quota_user
414
+ # Available to use for quota purposes for server-side applications. Can be any
415
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
416
+ # @param [Google::Apis::RequestOptions] options
417
+ # Request-specific options
418
+ #
419
+ # @yield [result, err] Result & error if block supplied
420
+ # @yieldparam result [Google::Apis::IapV1::Policy] parsed result object
421
+ # @yieldparam err [StandardError] error object if request failed
422
+ #
423
+ # @return [Google::Apis::IapV1::Policy]
424
+ #
425
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
426
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
427
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
428
+ def set_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
429
+ command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
430
+ command.request_representation = Google::Apis::IapV1::SetIamPolicyRequest::Representation
431
+ command.request_object = set_iam_policy_request_object
432
+ command.response_representation = Google::Apis::IapV1::Policy::Representation
433
+ command.response_class = Google::Apis::IapV1::Policy
434
+ command.params['resource'] = resource unless resource.nil?
435
+ command.query['fields'] = fields unless fields.nil?
436
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
437
+ execute_or_queue_command(command, &block)
438
+ end
439
+
440
+ # Returns permissions that a caller has on the Identity-Aware Proxy protected
441
+ # resource. More information about managing access via IAP can be found at:
442
+ # https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
443
+ # @param [String] resource
444
+ # REQUIRED: The resource for which the policy detail is being requested. See the
445
+ # operation documentation for the appropriate value for this field.
446
+ # @param [Google::Apis::IapV1::TestIamPermissionsRequest] test_iam_permissions_request_object
447
+ # @param [String] fields
448
+ # Selector specifying which fields to include in a partial response.
449
+ # @param [String] quota_user
450
+ # Available to use for quota purposes for server-side applications. Can be any
451
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
452
+ # @param [Google::Apis::RequestOptions] options
453
+ # Request-specific options
454
+ #
455
+ # @yield [result, err] Result & error if block supplied
456
+ # @yieldparam result [Google::Apis::IapV1::TestIamPermissionsResponse] parsed result object
457
+ # @yieldparam err [StandardError] error object if request failed
458
+ #
459
+ # @return [Google::Apis::IapV1::TestIamPermissionsResponse]
460
+ #
461
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
462
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
463
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
464
+ def test_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
465
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
466
+ command.request_representation = Google::Apis::IapV1::TestIamPermissionsRequest::Representation
467
+ command.request_object = test_iam_permissions_request_object
468
+ command.response_representation = Google::Apis::IapV1::TestIamPermissionsResponse::Representation
469
+ command.response_class = Google::Apis::IapV1::TestIamPermissionsResponse
470
+ command.params['resource'] = resource unless resource.nil?
471
+ command.query['fields'] = fields unless fields.nil?
472
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
473
+ execute_or_queue_command(command, &block)
474
+ end
475
+
476
+ # Updates the IAP settings on a particular IAP protected resource. It replaces
477
+ # all fields unless the `update_mask` is set.
478
+ # @param [String] name
479
+ # Required. The resource name of the IAP protected resource.
480
+ # @param [Google::Apis::IapV1::IapSettings] iap_settings_object
481
+ # @param [String] update_mask
482
+ # The field mask specifying which IAP settings should be updated. If omitted,
483
+ # the all of the settings are updated. See https://developers.google.com/
484
+ # protocol-buffers/docs/reference/google.protobuf#fieldmask
485
+ # @param [String] fields
486
+ # Selector specifying which fields to include in a partial response.
487
+ # @param [String] quota_user
488
+ # Available to use for quota purposes for server-side applications. Can be any
489
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
490
+ # @param [Google::Apis::RequestOptions] options
491
+ # Request-specific options
492
+ #
493
+ # @yield [result, err] Result & error if block supplied
494
+ # @yieldparam result [Google::Apis::IapV1::IapSettings] parsed result object
495
+ # @yieldparam err [StandardError] error object if request failed
496
+ #
497
+ # @return [Google::Apis::IapV1::IapSettings]
498
+ #
499
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
500
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
501
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
502
+ def update_iap_settings(name, iap_settings_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
503
+ command = make_simple_command(:patch, 'v1/{+name}:iapSettings', options)
504
+ command.request_representation = Google::Apis::IapV1::IapSettings::Representation
505
+ command.request_object = iap_settings_object
506
+ command.response_representation = Google::Apis::IapV1::IapSettings::Representation
507
+ command.response_class = Google::Apis::IapV1::IapSettings
508
+ command.params['name'] = name unless name.nil?
509
+ command.query['updateMask'] = update_mask unless update_mask.nil?
510
+ command.query['fields'] = fields unless fields.nil?
511
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
512
+ execute_or_queue_command(command, &block)
513
+ end
514
+
515
+ protected
516
+
517
+ def apply_command_defaults(command)
518
+ command.query['key'] = key unless key.nil?
519
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
520
+ end
521
+ end
522
+ end
523
+ end
524
+ end