google-apis-cloudcontrolspartner_v1 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google/apis/cloudcontrolspartner_v1/classes.rb +928 -0
- data/lib/google/apis/cloudcontrolspartner_v1/gem_version.rb +28 -0
- data/lib/google/apis/cloudcontrolspartner_v1/representations.rb +432 -0
- data/lib/google/apis/cloudcontrolspartner_v1/service.rb +444 -0
- data/lib/google/apis/cloudcontrolspartner_v1.rb +37 -0
- data/lib/google-apis-cloudcontrolspartner_v1.rb +15 -0
- metadata +82 -0
@@ -0,0 +1,928 @@
|
|
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 CloudcontrolspartnerV1
|
24
|
+
|
25
|
+
# Details about the Access request.
|
26
|
+
class AccessApprovalRequest
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# Identifier. Format: `organizations/`organization`/locations/`location`/
|
30
|
+
# customers/`customer`/workloads/`workload`/accessApprovalRequests/`
|
31
|
+
# access_approval_request``
|
32
|
+
# Corresponds to the JSON property `name`
|
33
|
+
# @return [String]
|
34
|
+
attr_accessor :name
|
35
|
+
|
36
|
+
# The time at which approval was requested.
|
37
|
+
# Corresponds to the JSON property `requestTime`
|
38
|
+
# @return [String]
|
39
|
+
attr_accessor :request_time
|
40
|
+
|
41
|
+
# The requested expiration for the approval. If the request is approved, access
|
42
|
+
# will be granted from the time of approval until the expiration time.
|
43
|
+
# Corresponds to the JSON property `requestedExpirationTime`
|
44
|
+
# @return [String]
|
45
|
+
attr_accessor :requested_expiration_time
|
46
|
+
|
47
|
+
# Reason for the access.
|
48
|
+
# Corresponds to the JSON property `requestedReason`
|
49
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::AccessReason]
|
50
|
+
attr_accessor :requested_reason
|
51
|
+
|
52
|
+
def initialize(**args)
|
53
|
+
update!(**args)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Update properties of this object
|
57
|
+
def update!(**args)
|
58
|
+
@name = args[:name] if args.key?(:name)
|
59
|
+
@request_time = args[:request_time] if args.key?(:request_time)
|
60
|
+
@requested_expiration_time = args[:requested_expiration_time] if args.key?(:requested_expiration_time)
|
61
|
+
@requested_reason = args[:requested_reason] if args.key?(:requested_reason)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# Reason for the access.
|
66
|
+
class AccessReason
|
67
|
+
include Google::Apis::Core::Hashable
|
68
|
+
|
69
|
+
# More detail about certain reason types. See comments for each type above.
|
70
|
+
# Corresponds to the JSON property `detail`
|
71
|
+
# @return [String]
|
72
|
+
attr_accessor :detail
|
73
|
+
|
74
|
+
# Type of access justification.
|
75
|
+
# Corresponds to the JSON property `type`
|
76
|
+
# @return [String]
|
77
|
+
attr_accessor :type
|
78
|
+
|
79
|
+
def initialize(**args)
|
80
|
+
update!(**args)
|
81
|
+
end
|
82
|
+
|
83
|
+
# Update properties of this object
|
84
|
+
def update!(**args)
|
85
|
+
@detail = args[:detail] if args.key?(:detail)
|
86
|
+
@type = args[:type] if args.key?(:type)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# Information around the error that occurred if the connection state is anything
|
91
|
+
# other than available or unspecified
|
92
|
+
class ConnectionError
|
93
|
+
include Google::Apis::Core::Hashable
|
94
|
+
|
95
|
+
# The error domain for the error
|
96
|
+
# Corresponds to the JSON property `errorDomain`
|
97
|
+
# @return [String]
|
98
|
+
attr_accessor :error_domain
|
99
|
+
|
100
|
+
# The error message for the error
|
101
|
+
# Corresponds to the JSON property `errorMessage`
|
102
|
+
# @return [String]
|
103
|
+
attr_accessor :error_message
|
104
|
+
|
105
|
+
def initialize(**args)
|
106
|
+
update!(**args)
|
107
|
+
end
|
108
|
+
|
109
|
+
# Update properties of this object
|
110
|
+
def update!(**args)
|
111
|
+
@error_domain = args[:error_domain] if args.key?(:error_domain)
|
112
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
# Remediation instructions to resolve violation via cloud console
|
117
|
+
class Console
|
118
|
+
include Google::Apis::Core::Hashable
|
119
|
+
|
120
|
+
# Additional urls for more information about steps
|
121
|
+
# Corresponds to the JSON property `additionalLinks`
|
122
|
+
# @return [Array<String>]
|
123
|
+
attr_accessor :additional_links
|
124
|
+
|
125
|
+
# Link to console page where violations can be resolved
|
126
|
+
# Corresponds to the JSON property `consoleUris`
|
127
|
+
# @return [Array<String>]
|
128
|
+
attr_accessor :console_uris
|
129
|
+
|
130
|
+
# Steps to resolve violation via cloud console
|
131
|
+
# Corresponds to the JSON property `steps`
|
132
|
+
# @return [Array<String>]
|
133
|
+
attr_accessor :steps
|
134
|
+
|
135
|
+
def initialize(**args)
|
136
|
+
update!(**args)
|
137
|
+
end
|
138
|
+
|
139
|
+
# Update properties of this object
|
140
|
+
def update!(**args)
|
141
|
+
@additional_links = args[:additional_links] if args.key?(:additional_links)
|
142
|
+
@console_uris = args[:console_uris] if args.key?(:console_uris)
|
143
|
+
@steps = args[:steps] if args.key?(:steps)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
# Contains metadata around a Cloud Controls Partner Customer
|
148
|
+
class Customer
|
149
|
+
include Google::Apis::Core::Hashable
|
150
|
+
|
151
|
+
# Container for customer onboarding steps
|
152
|
+
# Corresponds to the JSON property `customerOnboardingState`
|
153
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::CustomerOnboardingState]
|
154
|
+
attr_accessor :customer_onboarding_state
|
155
|
+
|
156
|
+
# The customer organization's display name. E.g. "google.com".
|
157
|
+
# Corresponds to the JSON property `displayName`
|
158
|
+
# @return [String]
|
159
|
+
attr_accessor :display_name
|
160
|
+
|
161
|
+
# Indicates whether a customer is fully onboarded
|
162
|
+
# Corresponds to the JSON property `isOnboarded`
|
163
|
+
# @return [Boolean]
|
164
|
+
attr_accessor :is_onboarded
|
165
|
+
alias_method :is_onboarded?, :is_onboarded
|
166
|
+
|
167
|
+
# Identifier. Format: `organizations/`organization`/locations/`location`/
|
168
|
+
# customers/`customer``
|
169
|
+
# Corresponds to the JSON property `name`
|
170
|
+
# @return [String]
|
171
|
+
attr_accessor :name
|
172
|
+
|
173
|
+
def initialize(**args)
|
174
|
+
update!(**args)
|
175
|
+
end
|
176
|
+
|
177
|
+
# Update properties of this object
|
178
|
+
def update!(**args)
|
179
|
+
@customer_onboarding_state = args[:customer_onboarding_state] if args.key?(:customer_onboarding_state)
|
180
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
181
|
+
@is_onboarded = args[:is_onboarded] if args.key?(:is_onboarded)
|
182
|
+
@name = args[:name] if args.key?(:name)
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
# Container for customer onboarding steps
|
187
|
+
class CustomerOnboardingState
|
188
|
+
include Google::Apis::Core::Hashable
|
189
|
+
|
190
|
+
# List of customer onboarding steps
|
191
|
+
# Corresponds to the JSON property `onboardingSteps`
|
192
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::CustomerOnboardingStep>]
|
193
|
+
attr_accessor :onboarding_steps
|
194
|
+
|
195
|
+
def initialize(**args)
|
196
|
+
update!(**args)
|
197
|
+
end
|
198
|
+
|
199
|
+
# Update properties of this object
|
200
|
+
def update!(**args)
|
201
|
+
@onboarding_steps = args[:onboarding_steps] if args.key?(:onboarding_steps)
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
205
|
+
# Container for customer onboarding information
|
206
|
+
class CustomerOnboardingStep
|
207
|
+
include Google::Apis::Core::Hashable
|
208
|
+
|
209
|
+
# Output only. Current state of the step
|
210
|
+
# Corresponds to the JSON property `completionState`
|
211
|
+
# @return [String]
|
212
|
+
attr_accessor :completion_state
|
213
|
+
|
214
|
+
# The completion time of the onboarding step
|
215
|
+
# Corresponds to the JSON property `completionTime`
|
216
|
+
# @return [String]
|
217
|
+
attr_accessor :completion_time
|
218
|
+
|
219
|
+
# The starting time of the onboarding step
|
220
|
+
# Corresponds to the JSON property `startTime`
|
221
|
+
# @return [String]
|
222
|
+
attr_accessor :start_time
|
223
|
+
|
224
|
+
# The onboarding step
|
225
|
+
# Corresponds to the JSON property `step`
|
226
|
+
# @return [String]
|
227
|
+
attr_accessor :step
|
228
|
+
|
229
|
+
def initialize(**args)
|
230
|
+
update!(**args)
|
231
|
+
end
|
232
|
+
|
233
|
+
# Update properties of this object
|
234
|
+
def update!(**args)
|
235
|
+
@completion_state = args[:completion_state] if args.key?(:completion_state)
|
236
|
+
@completion_time = args[:completion_time] if args.key?(:completion_time)
|
237
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
238
|
+
@step = args[:step] if args.key?(:step)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
# Details about the EKM connection
|
243
|
+
class EkmConnection
|
244
|
+
include Google::Apis::Core::Hashable
|
245
|
+
|
246
|
+
# Information around the error that occurred if the connection state is anything
|
247
|
+
# other than available or unspecified
|
248
|
+
# Corresponds to the JSON property `connectionError`
|
249
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::ConnectionError]
|
250
|
+
attr_accessor :connection_error
|
251
|
+
|
252
|
+
# Resource name of the EKM connection in the format: projects/`project`/
|
253
|
+
# locations/`location`/ekmConnections/`ekm_connection`
|
254
|
+
# Corresponds to the JSON property `connectionName`
|
255
|
+
# @return [String]
|
256
|
+
attr_accessor :connection_name
|
257
|
+
|
258
|
+
# Output only. The connection state
|
259
|
+
# Corresponds to the JSON property `connectionState`
|
260
|
+
# @return [String]
|
261
|
+
attr_accessor :connection_state
|
262
|
+
|
263
|
+
def initialize(**args)
|
264
|
+
update!(**args)
|
265
|
+
end
|
266
|
+
|
267
|
+
# Update properties of this object
|
268
|
+
def update!(**args)
|
269
|
+
@connection_error = args[:connection_error] if args.key?(:connection_error)
|
270
|
+
@connection_name = args[:connection_name] if args.key?(:connection_name)
|
271
|
+
@connection_state = args[:connection_state] if args.key?(:connection_state)
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
# The EKM connections associated with a workload
|
276
|
+
class EkmConnections
|
277
|
+
include Google::Apis::Core::Hashable
|
278
|
+
|
279
|
+
# The EKM connections associated with the workload
|
280
|
+
# Corresponds to the JSON property `ekmConnections`
|
281
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::EkmConnection>]
|
282
|
+
attr_accessor :ekm_connections
|
283
|
+
|
284
|
+
# Identifier. Format: `organizations/`organization`/locations/`location`/
|
285
|
+
# customers/`customer`/workloads/`workload`/ekmConnections`
|
286
|
+
# Corresponds to the JSON property `name`
|
287
|
+
# @return [String]
|
288
|
+
attr_accessor :name
|
289
|
+
|
290
|
+
def initialize(**args)
|
291
|
+
update!(**args)
|
292
|
+
end
|
293
|
+
|
294
|
+
# Update properties of this object
|
295
|
+
def update!(**args)
|
296
|
+
@ekm_connections = args[:ekm_connections] if args.key?(:ekm_connections)
|
297
|
+
@name = args[:name] if args.key?(:name)
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
301
|
+
# Holds information needed by Mudbray to use partner EKMs for workloads.
|
302
|
+
class EkmMetadata
|
303
|
+
include Google::Apis::Core::Hashable
|
304
|
+
|
305
|
+
# Endpoint for sending requests to the EKM for key provisioning during Assured
|
306
|
+
# Workload creation.
|
307
|
+
# Corresponds to the JSON property `ekmEndpointUri`
|
308
|
+
# @return [String]
|
309
|
+
attr_accessor :ekm_endpoint_uri
|
310
|
+
|
311
|
+
# The Cloud EKM partner.
|
312
|
+
# Corresponds to the JSON property `ekmSolution`
|
313
|
+
# @return [String]
|
314
|
+
attr_accessor :ekm_solution
|
315
|
+
|
316
|
+
def initialize(**args)
|
317
|
+
update!(**args)
|
318
|
+
end
|
319
|
+
|
320
|
+
# Update properties of this object
|
321
|
+
def update!(**args)
|
322
|
+
@ekm_endpoint_uri = args[:ekm_endpoint_uri] if args.key?(:ekm_endpoint_uri)
|
323
|
+
@ekm_solution = args[:ekm_solution] if args.key?(:ekm_solution)
|
324
|
+
end
|
325
|
+
end
|
326
|
+
|
327
|
+
# Remediation instructions to resolve violation via gcloud cli
|
328
|
+
class Gcloud
|
329
|
+
include Google::Apis::Core::Hashable
|
330
|
+
|
331
|
+
# Additional urls for more information about steps
|
332
|
+
# Corresponds to the JSON property `additionalLinks`
|
333
|
+
# @return [Array<String>]
|
334
|
+
attr_accessor :additional_links
|
335
|
+
|
336
|
+
# Gcloud command to resolve violation
|
337
|
+
# Corresponds to the JSON property `gcloudCommands`
|
338
|
+
# @return [Array<String>]
|
339
|
+
attr_accessor :gcloud_commands
|
340
|
+
|
341
|
+
# Steps to resolve violation via gcloud cli
|
342
|
+
# Corresponds to the JSON property `steps`
|
343
|
+
# @return [Array<String>]
|
344
|
+
attr_accessor :steps
|
345
|
+
|
346
|
+
def initialize(**args)
|
347
|
+
update!(**args)
|
348
|
+
end
|
349
|
+
|
350
|
+
# Update properties of this object
|
351
|
+
def update!(**args)
|
352
|
+
@additional_links = args[:additional_links] if args.key?(:additional_links)
|
353
|
+
@gcloud_commands = args[:gcloud_commands] if args.key?(:gcloud_commands)
|
354
|
+
@steps = args[:steps] if args.key?(:steps)
|
355
|
+
end
|
356
|
+
end
|
357
|
+
|
358
|
+
# Instructions to remediate violation
|
359
|
+
class Instructions
|
360
|
+
include Google::Apis::Core::Hashable
|
361
|
+
|
362
|
+
# Remediation instructions to resolve violation via cloud console
|
363
|
+
# Corresponds to the JSON property `consoleInstructions`
|
364
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::Console]
|
365
|
+
attr_accessor :console_instructions
|
366
|
+
|
367
|
+
# Remediation instructions to resolve violation via gcloud cli
|
368
|
+
# Corresponds to the JSON property `gcloudInstructions`
|
369
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::Gcloud]
|
370
|
+
attr_accessor :gcloud_instructions
|
371
|
+
|
372
|
+
def initialize(**args)
|
373
|
+
update!(**args)
|
374
|
+
end
|
375
|
+
|
376
|
+
# Update properties of this object
|
377
|
+
def update!(**args)
|
378
|
+
@console_instructions = args[:console_instructions] if args.key?(:console_instructions)
|
379
|
+
@gcloud_instructions = args[:gcloud_instructions] if args.key?(:gcloud_instructions)
|
380
|
+
end
|
381
|
+
end
|
382
|
+
|
383
|
+
# Response message for list access requests.
|
384
|
+
class ListAccessApprovalRequestsResponse
|
385
|
+
include Google::Apis::Core::Hashable
|
386
|
+
|
387
|
+
# List of access approval requests
|
388
|
+
# Corresponds to the JSON property `accessApprovalRequests`
|
389
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::AccessApprovalRequest>]
|
390
|
+
attr_accessor :access_approval_requests
|
391
|
+
|
392
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
393
|
+
# field is omitted, there are no subsequent pages.
|
394
|
+
# Corresponds to the JSON property `nextPageToken`
|
395
|
+
# @return [String]
|
396
|
+
attr_accessor :next_page_token
|
397
|
+
|
398
|
+
# Locations that could not be reached.
|
399
|
+
# Corresponds to the JSON property `unreachable`
|
400
|
+
# @return [Array<String>]
|
401
|
+
attr_accessor :unreachable
|
402
|
+
|
403
|
+
def initialize(**args)
|
404
|
+
update!(**args)
|
405
|
+
end
|
406
|
+
|
407
|
+
# Update properties of this object
|
408
|
+
def update!(**args)
|
409
|
+
@access_approval_requests = args[:access_approval_requests] if args.key?(:access_approval_requests)
|
410
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
411
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
412
|
+
end
|
413
|
+
end
|
414
|
+
|
415
|
+
# Response message for list customer Customers requests
|
416
|
+
class ListCustomersResponse
|
417
|
+
include Google::Apis::Core::Hashable
|
418
|
+
|
419
|
+
# List of customers
|
420
|
+
# Corresponds to the JSON property `customers`
|
421
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::Customer>]
|
422
|
+
attr_accessor :customers
|
423
|
+
|
424
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
425
|
+
# field is omitted, there are no subsequent pages.
|
426
|
+
# Corresponds to the JSON property `nextPageToken`
|
427
|
+
# @return [String]
|
428
|
+
attr_accessor :next_page_token
|
429
|
+
|
430
|
+
# Locations that could not be reached.
|
431
|
+
# Corresponds to the JSON property `unreachable`
|
432
|
+
# @return [Array<String>]
|
433
|
+
attr_accessor :unreachable
|
434
|
+
|
435
|
+
def initialize(**args)
|
436
|
+
update!(**args)
|
437
|
+
end
|
438
|
+
|
439
|
+
# Update properties of this object
|
440
|
+
def update!(**args)
|
441
|
+
@customers = args[:customers] if args.key?(:customers)
|
442
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
443
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
444
|
+
end
|
445
|
+
end
|
446
|
+
|
447
|
+
# Response message for list customer violation requests
|
448
|
+
class ListViolationsResponse
|
449
|
+
include Google::Apis::Core::Hashable
|
450
|
+
|
451
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
452
|
+
# field is omitted, there are no subsequent pages.
|
453
|
+
# Corresponds to the JSON property `nextPageToken`
|
454
|
+
# @return [String]
|
455
|
+
attr_accessor :next_page_token
|
456
|
+
|
457
|
+
# Workloads that could not be reached due to permission errors or any other
|
458
|
+
# error. Ref: https://google.aip.dev/217
|
459
|
+
# Corresponds to the JSON property `unreachable`
|
460
|
+
# @return [Array<String>]
|
461
|
+
attr_accessor :unreachable
|
462
|
+
|
463
|
+
# List of violation
|
464
|
+
# Corresponds to the JSON property `violations`
|
465
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::Violation>]
|
466
|
+
attr_accessor :violations
|
467
|
+
|
468
|
+
def initialize(**args)
|
469
|
+
update!(**args)
|
470
|
+
end
|
471
|
+
|
472
|
+
# Update properties of this object
|
473
|
+
def update!(**args)
|
474
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
475
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
476
|
+
@violations = args[:violations] if args.key?(:violations)
|
477
|
+
end
|
478
|
+
end
|
479
|
+
|
480
|
+
# Response message for list customer workloads requests.
|
481
|
+
class ListWorkloadsResponse
|
482
|
+
include Google::Apis::Core::Hashable
|
483
|
+
|
484
|
+
# A token that can be sent as `page_token` to retrieve the next page. If this
|
485
|
+
# field is omitted, there are no subsequent pages.
|
486
|
+
# Corresponds to the JSON property `nextPageToken`
|
487
|
+
# @return [String]
|
488
|
+
attr_accessor :next_page_token
|
489
|
+
|
490
|
+
# Locations that could not be reached.
|
491
|
+
# Corresponds to the JSON property `unreachable`
|
492
|
+
# @return [Array<String>]
|
493
|
+
attr_accessor :unreachable
|
494
|
+
|
495
|
+
# List of customer workloads
|
496
|
+
# Corresponds to the JSON property `workloads`
|
497
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::Workload>]
|
498
|
+
attr_accessor :workloads
|
499
|
+
|
500
|
+
def initialize(**args)
|
501
|
+
update!(**args)
|
502
|
+
end
|
503
|
+
|
504
|
+
# Update properties of this object
|
505
|
+
def update!(**args)
|
506
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
507
|
+
@unreachable = args[:unreachable] if args.key?(:unreachable)
|
508
|
+
@workloads = args[:workloads] if args.key?(:workloads)
|
509
|
+
end
|
510
|
+
end
|
511
|
+
|
512
|
+
# Represents the metadata of the long-running operation.
|
513
|
+
class OperationMetadata
|
514
|
+
include Google::Apis::Core::Hashable
|
515
|
+
|
516
|
+
# Output only. API version used to start the operation.
|
517
|
+
# Corresponds to the JSON property `apiVersion`
|
518
|
+
# @return [String]
|
519
|
+
attr_accessor :api_version
|
520
|
+
|
521
|
+
# Output only. The time the operation was created.
|
522
|
+
# Corresponds to the JSON property `createTime`
|
523
|
+
# @return [String]
|
524
|
+
attr_accessor :create_time
|
525
|
+
|
526
|
+
# Output only. The time the operation finished running.
|
527
|
+
# Corresponds to the JSON property `endTime`
|
528
|
+
# @return [String]
|
529
|
+
attr_accessor :end_time
|
530
|
+
|
531
|
+
# Output only. Identifies whether the user has requested cancellation of the
|
532
|
+
# operation. Operations that have been cancelled successfully have Operation.
|
533
|
+
# error value with a google.rpc.Status.code of 1, corresponding to `Code.
|
534
|
+
# CANCELLED`.
|
535
|
+
# Corresponds to the JSON property `requestedCancellation`
|
536
|
+
# @return [Boolean]
|
537
|
+
attr_accessor :requested_cancellation
|
538
|
+
alias_method :requested_cancellation?, :requested_cancellation
|
539
|
+
|
540
|
+
# Output only. Human-readable status of the operation, if any.
|
541
|
+
# Corresponds to the JSON property `statusMessage`
|
542
|
+
# @return [String]
|
543
|
+
attr_accessor :status_message
|
544
|
+
|
545
|
+
# Output only. Server-defined resource path for the target of the operation.
|
546
|
+
# Corresponds to the JSON property `target`
|
547
|
+
# @return [String]
|
548
|
+
attr_accessor :target
|
549
|
+
|
550
|
+
# Output only. Name of the verb executed by the operation.
|
551
|
+
# Corresponds to the JSON property `verb`
|
552
|
+
# @return [String]
|
553
|
+
attr_accessor :verb
|
554
|
+
|
555
|
+
def initialize(**args)
|
556
|
+
update!(**args)
|
557
|
+
end
|
558
|
+
|
559
|
+
# Update properties of this object
|
560
|
+
def update!(**args)
|
561
|
+
@api_version = args[:api_version] if args.key?(:api_version)
|
562
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
563
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
564
|
+
@requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
|
565
|
+
@status_message = args[:status_message] if args.key?(:status_message)
|
566
|
+
@target = args[:target] if args.key?(:target)
|
567
|
+
@verb = args[:verb] if args.key?(:verb)
|
568
|
+
end
|
569
|
+
end
|
570
|
+
|
571
|
+
# Message describing Partner resource
|
572
|
+
class Partner
|
573
|
+
include Google::Apis::Core::Hashable
|
574
|
+
|
575
|
+
# Output only. Time the resource was created
|
576
|
+
# Corresponds to the JSON property `createTime`
|
577
|
+
# @return [String]
|
578
|
+
attr_accessor :create_time
|
579
|
+
|
580
|
+
# List of Google Cloud supported EKM partners supported by the partner
|
581
|
+
# Corresponds to the JSON property `ekmSolutions`
|
582
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::EkmMetadata>]
|
583
|
+
attr_accessor :ekm_solutions
|
584
|
+
|
585
|
+
# Identifier. The resource name of the partner. Format: `organizations/`
|
586
|
+
# organization`/locations/`location`/partner` Example: "organizations/123456/
|
587
|
+
# locations/us-central1/partner"
|
588
|
+
# Corresponds to the JSON property `name`
|
589
|
+
# @return [String]
|
590
|
+
attr_accessor :name
|
591
|
+
|
592
|
+
# List of Google Cloud regions that the partner sells services to customers.
|
593
|
+
# Valid Google Cloud regions found here: https://cloud.google.com/compute/docs/
|
594
|
+
# regions-zones
|
595
|
+
# Corresponds to the JSON property `operatedCloudRegions`
|
596
|
+
# @return [Array<String>]
|
597
|
+
attr_accessor :operated_cloud_regions
|
598
|
+
|
599
|
+
# Google Cloud project ID in the partner's Google Cloud organization for
|
600
|
+
# receiving enhanced Logs for Partners.
|
601
|
+
# Corresponds to the JSON property `partnerProjectId`
|
602
|
+
# @return [String]
|
603
|
+
attr_accessor :partner_project_id
|
604
|
+
|
605
|
+
# List of SKUs the partner is offering
|
606
|
+
# Corresponds to the JSON property `skus`
|
607
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::Sku>]
|
608
|
+
attr_accessor :skus
|
609
|
+
|
610
|
+
# Output only. The last time the resource was updated
|
611
|
+
# Corresponds to the JSON property `updateTime`
|
612
|
+
# @return [String]
|
613
|
+
attr_accessor :update_time
|
614
|
+
|
615
|
+
def initialize(**args)
|
616
|
+
update!(**args)
|
617
|
+
end
|
618
|
+
|
619
|
+
# Update properties of this object
|
620
|
+
def update!(**args)
|
621
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
622
|
+
@ekm_solutions = args[:ekm_solutions] if args.key?(:ekm_solutions)
|
623
|
+
@name = args[:name] if args.key?(:name)
|
624
|
+
@operated_cloud_regions = args[:operated_cloud_regions] if args.key?(:operated_cloud_regions)
|
625
|
+
@partner_project_id = args[:partner_project_id] if args.key?(:partner_project_id)
|
626
|
+
@skus = args[:skus] if args.key?(:skus)
|
627
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
628
|
+
end
|
629
|
+
end
|
630
|
+
|
631
|
+
# The permissions granted to the partner for a workload
|
632
|
+
class PartnerPermissions
|
633
|
+
include Google::Apis::Core::Hashable
|
634
|
+
|
635
|
+
# Identifier. Format: `organizations/`organization`/locations/`location`/
|
636
|
+
# customers/`customer`/workloads/`workload`/partnerPermissions`
|
637
|
+
# Corresponds to the JSON property `name`
|
638
|
+
# @return [String]
|
639
|
+
attr_accessor :name
|
640
|
+
|
641
|
+
# The partner permissions granted for the workload
|
642
|
+
# Corresponds to the JSON property `partnerPermissions`
|
643
|
+
# @return [Array<String>]
|
644
|
+
attr_accessor :partner_permissions
|
645
|
+
|
646
|
+
def initialize(**args)
|
647
|
+
update!(**args)
|
648
|
+
end
|
649
|
+
|
650
|
+
# Update properties of this object
|
651
|
+
def update!(**args)
|
652
|
+
@name = args[:name] if args.key?(:name)
|
653
|
+
@partner_permissions = args[:partner_permissions] if args.key?(:partner_permissions)
|
654
|
+
end
|
655
|
+
end
|
656
|
+
|
657
|
+
# Represents remediation guidance to resolve compliance violation for
|
658
|
+
# AssuredWorkload
|
659
|
+
class Remediation
|
660
|
+
include Google::Apis::Core::Hashable
|
661
|
+
|
662
|
+
# Values that can resolve the violation For example: for list org policy
|
663
|
+
# violations, this will either be the list of allowed or denied values
|
664
|
+
# Corresponds to the JSON property `compliantValues`
|
665
|
+
# @return [Array<String>]
|
666
|
+
attr_accessor :compliant_values
|
667
|
+
|
668
|
+
# Instructions to remediate violation
|
669
|
+
# Corresponds to the JSON property `instructions`
|
670
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::Instructions]
|
671
|
+
attr_accessor :instructions
|
672
|
+
|
673
|
+
# Output only. Remediation type based on the type of org policy values violated
|
674
|
+
# Corresponds to the JSON property `remediationType`
|
675
|
+
# @return [String]
|
676
|
+
attr_accessor :remediation_type
|
677
|
+
|
678
|
+
def initialize(**args)
|
679
|
+
update!(**args)
|
680
|
+
end
|
681
|
+
|
682
|
+
# Update properties of this object
|
683
|
+
def update!(**args)
|
684
|
+
@compliant_values = args[:compliant_values] if args.key?(:compliant_values)
|
685
|
+
@instructions = args[:instructions] if args.key?(:instructions)
|
686
|
+
@remediation_type = args[:remediation_type] if args.key?(:remediation_type)
|
687
|
+
end
|
688
|
+
end
|
689
|
+
|
690
|
+
# Represents the SKU a partner owns inside Google Cloud to sell to customers.
|
691
|
+
class Sku
|
692
|
+
include Google::Apis::Core::Hashable
|
693
|
+
|
694
|
+
# Display name of the product identified by the SKU. A partner may want to show
|
695
|
+
# partner branded names for their offerings such as local sovereign cloud
|
696
|
+
# solutions.
|
697
|
+
# Corresponds to the JSON property `displayName`
|
698
|
+
# @return [String]
|
699
|
+
attr_accessor :display_name
|
700
|
+
|
701
|
+
# Argentum product SKU, that is associated with the partner offerings to
|
702
|
+
# customers used by Syntro for billing purposes. SKUs can represent resold
|
703
|
+
# Google products or support services.
|
704
|
+
# Corresponds to the JSON property `id`
|
705
|
+
# @return [String]
|
706
|
+
attr_accessor :id
|
707
|
+
|
708
|
+
def initialize(**args)
|
709
|
+
update!(**args)
|
710
|
+
end
|
711
|
+
|
712
|
+
# Update properties of this object
|
713
|
+
def update!(**args)
|
714
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
715
|
+
@id = args[:id] if args.key?(:id)
|
716
|
+
end
|
717
|
+
end
|
718
|
+
|
719
|
+
# Details of resource Violation
|
720
|
+
class Violation
|
721
|
+
include Google::Apis::Core::Hashable
|
722
|
+
|
723
|
+
# Output only. Time of the event which triggered the Violation.
|
724
|
+
# Corresponds to the JSON property `beginTime`
|
725
|
+
# @return [String]
|
726
|
+
attr_accessor :begin_time
|
727
|
+
|
728
|
+
# Output only. Category under which this violation is mapped. e.g. Location,
|
729
|
+
# Service Usage, Access, Encryption, etc.
|
730
|
+
# Corresponds to the JSON property `category`
|
731
|
+
# @return [String]
|
732
|
+
attr_accessor :category
|
733
|
+
|
734
|
+
# Output only. Description for the Violation. e.g. OrgPolicy gcp.
|
735
|
+
# resourceLocations has non compliant value.
|
736
|
+
# Corresponds to the JSON property `description`
|
737
|
+
# @return [String]
|
738
|
+
attr_accessor :description
|
739
|
+
|
740
|
+
# The folder_id of the violation
|
741
|
+
# Corresponds to the JSON property `folderId`
|
742
|
+
# @return [Fixnum]
|
743
|
+
attr_accessor :folder_id
|
744
|
+
|
745
|
+
# Identifier. Format: `organizations/`organization`/locations/`location`/
|
746
|
+
# customers/`customer`/workloads/`workload`/violations/`violation``
|
747
|
+
# Corresponds to the JSON property `name`
|
748
|
+
# @return [String]
|
749
|
+
attr_accessor :name
|
750
|
+
|
751
|
+
# Output only. Immutable. Name of the OrgPolicy which was modified with non-
|
752
|
+
# compliant change and resulted this violation. Format: `projects/`
|
753
|
+
# project_number`/policies/`constraint_name`` `folders/`folder_id`/policies/`
|
754
|
+
# constraint_name`` `organizations/`organization_id`/policies/`constraint_name``
|
755
|
+
# Corresponds to the JSON property `nonCompliantOrgPolicy`
|
756
|
+
# @return [String]
|
757
|
+
attr_accessor :non_compliant_org_policy
|
758
|
+
|
759
|
+
# Represents remediation guidance to resolve compliance violation for
|
760
|
+
# AssuredWorkload
|
761
|
+
# Corresponds to the JSON property `remediation`
|
762
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::Remediation]
|
763
|
+
attr_accessor :remediation
|
764
|
+
|
765
|
+
# Output only. Time of the event which fixed the Violation. If the violation is
|
766
|
+
# ACTIVE this will be empty.
|
767
|
+
# Corresponds to the JSON property `resolveTime`
|
768
|
+
# @return [String]
|
769
|
+
attr_accessor :resolve_time
|
770
|
+
|
771
|
+
# Output only. State of the violation
|
772
|
+
# Corresponds to the JSON property `state`
|
773
|
+
# @return [String]
|
774
|
+
attr_accessor :state
|
775
|
+
|
776
|
+
# Output only. The last time when the Violation record was updated.
|
777
|
+
# Corresponds to the JSON property `updateTime`
|
778
|
+
# @return [String]
|
779
|
+
attr_accessor :update_time
|
780
|
+
|
781
|
+
def initialize(**args)
|
782
|
+
update!(**args)
|
783
|
+
end
|
784
|
+
|
785
|
+
# Update properties of this object
|
786
|
+
def update!(**args)
|
787
|
+
@begin_time = args[:begin_time] if args.key?(:begin_time)
|
788
|
+
@category = args[:category] if args.key?(:category)
|
789
|
+
@description = args[:description] if args.key?(:description)
|
790
|
+
@folder_id = args[:folder_id] if args.key?(:folder_id)
|
791
|
+
@name = args[:name] if args.key?(:name)
|
792
|
+
@non_compliant_org_policy = args[:non_compliant_org_policy] if args.key?(:non_compliant_org_policy)
|
793
|
+
@remediation = args[:remediation] if args.key?(:remediation)
|
794
|
+
@resolve_time = args[:resolve_time] if args.key?(:resolve_time)
|
795
|
+
@state = args[:state] if args.key?(:state)
|
796
|
+
@update_time = args[:update_time] if args.key?(:update_time)
|
797
|
+
end
|
798
|
+
end
|
799
|
+
|
800
|
+
# Contains metadata around the [Workload resource](https://cloud.google.com/
|
801
|
+
# assured-workloads/docs/reference/rest/Shared.Types/Workload) in the Assured
|
802
|
+
# Workloads API.
|
803
|
+
class Workload
|
804
|
+
include Google::Apis::Core::Hashable
|
805
|
+
|
806
|
+
# Output only. Time the resource was created.
|
807
|
+
# Corresponds to the JSON property `createTime`
|
808
|
+
# @return [String]
|
809
|
+
attr_accessor :create_time
|
810
|
+
|
811
|
+
# Output only. The name of container folder of the assured workload
|
812
|
+
# Corresponds to the JSON property `folder`
|
813
|
+
# @return [String]
|
814
|
+
attr_accessor :folder
|
815
|
+
|
816
|
+
# Output only. Folder id this workload is associated with
|
817
|
+
# Corresponds to the JSON property `folderId`
|
818
|
+
# @return [Fixnum]
|
819
|
+
attr_accessor :folder_id
|
820
|
+
|
821
|
+
# Indicates whether a workload is fully onboarded.
|
822
|
+
# Corresponds to the JSON property `isOnboarded`
|
823
|
+
# @return [Boolean]
|
824
|
+
attr_accessor :is_onboarded
|
825
|
+
alias_method :is_onboarded?, :is_onboarded
|
826
|
+
|
827
|
+
# The project id of the key management project for the workload
|
828
|
+
# Corresponds to the JSON property `keyManagementProjectId`
|
829
|
+
# @return [String]
|
830
|
+
attr_accessor :key_management_project_id
|
831
|
+
|
832
|
+
# The Google Cloud location of the workload
|
833
|
+
# Corresponds to the JSON property `location`
|
834
|
+
# @return [String]
|
835
|
+
attr_accessor :location
|
836
|
+
|
837
|
+
# Identifier. Format: `organizations/`organization`/locations/`location`/
|
838
|
+
# customers/`customer`/workloads/`workload``
|
839
|
+
# Corresponds to the JSON property `name`
|
840
|
+
# @return [String]
|
841
|
+
attr_accessor :name
|
842
|
+
|
843
|
+
# Partner associated with this workload.
|
844
|
+
# Corresponds to the JSON property `partner`
|
845
|
+
# @return [String]
|
846
|
+
attr_accessor :partner
|
847
|
+
|
848
|
+
# Container for workload onboarding steps.
|
849
|
+
# Corresponds to the JSON property `workloadOnboardingState`
|
850
|
+
# @return [Google::Apis::CloudcontrolspartnerV1::WorkloadOnboardingState]
|
851
|
+
attr_accessor :workload_onboarding_state
|
852
|
+
|
853
|
+
def initialize(**args)
|
854
|
+
update!(**args)
|
855
|
+
end
|
856
|
+
|
857
|
+
# Update properties of this object
|
858
|
+
def update!(**args)
|
859
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
860
|
+
@folder = args[:folder] if args.key?(:folder)
|
861
|
+
@folder_id = args[:folder_id] if args.key?(:folder_id)
|
862
|
+
@is_onboarded = args[:is_onboarded] if args.key?(:is_onboarded)
|
863
|
+
@key_management_project_id = args[:key_management_project_id] if args.key?(:key_management_project_id)
|
864
|
+
@location = args[:location] if args.key?(:location)
|
865
|
+
@name = args[:name] if args.key?(:name)
|
866
|
+
@partner = args[:partner] if args.key?(:partner)
|
867
|
+
@workload_onboarding_state = args[:workload_onboarding_state] if args.key?(:workload_onboarding_state)
|
868
|
+
end
|
869
|
+
end
|
870
|
+
|
871
|
+
# Container for workload onboarding steps.
|
872
|
+
class WorkloadOnboardingState
|
873
|
+
include Google::Apis::Core::Hashable
|
874
|
+
|
875
|
+
# List of workload onboarding steps.
|
876
|
+
# Corresponds to the JSON property `onboardingSteps`
|
877
|
+
# @return [Array<Google::Apis::CloudcontrolspartnerV1::WorkloadOnboardingStep>]
|
878
|
+
attr_accessor :onboarding_steps
|
879
|
+
|
880
|
+
def initialize(**args)
|
881
|
+
update!(**args)
|
882
|
+
end
|
883
|
+
|
884
|
+
# Update properties of this object
|
885
|
+
def update!(**args)
|
886
|
+
@onboarding_steps = args[:onboarding_steps] if args.key?(:onboarding_steps)
|
887
|
+
end
|
888
|
+
end
|
889
|
+
|
890
|
+
# Container for workload onboarding information.
|
891
|
+
class WorkloadOnboardingStep
|
892
|
+
include Google::Apis::Core::Hashable
|
893
|
+
|
894
|
+
# Output only. The completion state of the onboarding step.
|
895
|
+
# Corresponds to the JSON property `completionState`
|
896
|
+
# @return [String]
|
897
|
+
attr_accessor :completion_state
|
898
|
+
|
899
|
+
# The completion time of the onboarding step.
|
900
|
+
# Corresponds to the JSON property `completionTime`
|
901
|
+
# @return [String]
|
902
|
+
attr_accessor :completion_time
|
903
|
+
|
904
|
+
# The starting time of the onboarding step.
|
905
|
+
# Corresponds to the JSON property `startTime`
|
906
|
+
# @return [String]
|
907
|
+
attr_accessor :start_time
|
908
|
+
|
909
|
+
# The onboarding step.
|
910
|
+
# Corresponds to the JSON property `step`
|
911
|
+
# @return [String]
|
912
|
+
attr_accessor :step
|
913
|
+
|
914
|
+
def initialize(**args)
|
915
|
+
update!(**args)
|
916
|
+
end
|
917
|
+
|
918
|
+
# Update properties of this object
|
919
|
+
def update!(**args)
|
920
|
+
@completion_state = args[:completion_state] if args.key?(:completion_state)
|
921
|
+
@completion_time = args[:completion_time] if args.key?(:completion_time)
|
922
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
923
|
+
@step = args[:step] if args.key?(:step)
|
924
|
+
end
|
925
|
+
end
|
926
|
+
end
|
927
|
+
end
|
928
|
+
end
|