google-apis-workloadmanager_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.
@@ -0,0 +1,784 @@
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 WorkloadmanagerV1
24
+
25
+ # The request message for Operations.CancelOperation.
26
+ class CancelOperationRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # A generic empty message that you can re-use to avoid defining duplicated empty
39
+ # messages in your APIs. A typical example is to use it as the request or the
40
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
41
+ # protobuf.Empty) returns (google.protobuf.Empty); `
42
+ class Empty
43
+ include Google::Apis::Core::Hashable
44
+
45
+ def initialize(**args)
46
+ update!(**args)
47
+ end
48
+
49
+ # Update properties of this object
50
+ def update!(**args)
51
+ end
52
+ end
53
+
54
+ # Message describing Evaluation object
55
+ class Evaluation
56
+ include Google::Apis::Core::Hashable
57
+
58
+ # Output only. [Output only] Create time stamp
59
+ # Corresponds to the JSON property `createTime`
60
+ # @return [String]
61
+ attr_accessor :create_time
62
+
63
+ # Description of the Evaluation
64
+ # Corresponds to the JSON property `description`
65
+ # @return [String]
66
+ attr_accessor :description
67
+
68
+ # Labels as key value pairs
69
+ # Corresponds to the JSON property `labels`
70
+ # @return [Hash<String,String>]
71
+ attr_accessor :labels
72
+
73
+ # name of resource names have the form 'projects/`project_id`/locations/`
74
+ # location_id`/evaluations/`evaluation_id`'
75
+ # Corresponds to the JSON property `name`
76
+ # @return [String]
77
+ attr_accessor :name
78
+
79
+ # Message describing resource filters
80
+ # Corresponds to the JSON property `resourceFilter`
81
+ # @return [Google::Apis::WorkloadmanagerV1::ResourceFilter]
82
+ attr_accessor :resource_filter
83
+
84
+ # Message describing resource status
85
+ # Corresponds to the JSON property `resourceStatus`
86
+ # @return [Google::Apis::WorkloadmanagerV1::ResourceStatus]
87
+ attr_accessor :resource_status
88
+
89
+ # the name of the rule
90
+ # Corresponds to the JSON property `ruleNames`
91
+ # @return [Array<String>]
92
+ attr_accessor :rule_names
93
+
94
+ # Output only. [Output only] The updated rule ids if exist.
95
+ # Corresponds to the JSON property `ruleVersions`
96
+ # @return [Array<String>]
97
+ attr_accessor :rule_versions
98
+
99
+ # Output only. [Output only] Update time stamp
100
+ # Corresponds to the JSON property `updateTime`
101
+ # @return [String]
102
+ attr_accessor :update_time
103
+
104
+ def initialize(**args)
105
+ update!(**args)
106
+ end
107
+
108
+ # Update properties of this object
109
+ def update!(**args)
110
+ @create_time = args[:create_time] if args.key?(:create_time)
111
+ @description = args[:description] if args.key?(:description)
112
+ @labels = args[:labels] if args.key?(:labels)
113
+ @name = args[:name] if args.key?(:name)
114
+ @resource_filter = args[:resource_filter] if args.key?(:resource_filter)
115
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
116
+ @rule_names = args[:rule_names] if args.key?(:rule_names)
117
+ @rule_versions = args[:rule_versions] if args.key?(:rule_versions)
118
+ @update_time = args[:update_time] if args.key?(:update_time)
119
+ end
120
+ end
121
+
122
+ # Message describing compute engine instance filter
123
+ class GceInstanceFilter
124
+ include Google::Apis::Core::Hashable
125
+
126
+ # Service account of compute engine
127
+ # Corresponds to the JSON property `serviceAccounts`
128
+ # @return [Array<String>]
129
+ attr_accessor :service_accounts
130
+
131
+ def initialize(**args)
132
+ update!(**args)
133
+ end
134
+
135
+ # Update properties of this object
136
+ def update!(**args)
137
+ @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
138
+ end
139
+ end
140
+
141
+ # A presentation of host resource usage where the workload runs.
142
+ class Insight
143
+ include Google::Apis::Core::Hashable
144
+
145
+ # The schema of SAP system discovery data.
146
+ # Corresponds to the JSON property `sapDiscovery`
147
+ # @return [Google::Apis::WorkloadmanagerV1::SapDiscovery]
148
+ attr_accessor :sap_discovery
149
+
150
+ # A presentation of SAP workload insight. The schema of SAP workloads validation
151
+ # related data.
152
+ # Corresponds to the JSON property `sapValidation`
153
+ # @return [Google::Apis::WorkloadmanagerV1::SapValidation]
154
+ attr_accessor :sap_validation
155
+
156
+ # Output only. [Output only] Create time stamp
157
+ # Corresponds to the JSON property `sentTime`
158
+ # @return [String]
159
+ attr_accessor :sent_time
160
+
161
+ def initialize(**args)
162
+ update!(**args)
163
+ end
164
+
165
+ # Update properties of this object
166
+ def update!(**args)
167
+ @sap_discovery = args[:sap_discovery] if args.key?(:sap_discovery)
168
+ @sap_validation = args[:sap_validation] if args.key?(:sap_validation)
169
+ @sent_time = args[:sent_time] if args.key?(:sent_time)
170
+ end
171
+ end
172
+
173
+ # Message for response to listing Evaluations
174
+ class ListEvaluationsResponse
175
+ include Google::Apis::Core::Hashable
176
+
177
+ # The list of Evaluation
178
+ # Corresponds to the JSON property `evaluations`
179
+ # @return [Array<Google::Apis::WorkloadmanagerV1::Evaluation>]
180
+ attr_accessor :evaluations
181
+
182
+ # A token identifying a page of results the server should return.
183
+ # Corresponds to the JSON property `nextPageToken`
184
+ # @return [String]
185
+ attr_accessor :next_page_token
186
+
187
+ # Locations that could not be reached.
188
+ # Corresponds to the JSON property `unreachable`
189
+ # @return [Array<String>]
190
+ attr_accessor :unreachable
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ @evaluations = args[:evaluations] if args.key?(:evaluations)
199
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
200
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
201
+ end
202
+ end
203
+
204
+ # The response message for Locations.ListLocations.
205
+ class ListLocationsResponse
206
+ include Google::Apis::Core::Hashable
207
+
208
+ # A list of locations that matches the specified filter in the request.
209
+ # Corresponds to the JSON property `locations`
210
+ # @return [Array<Google::Apis::WorkloadmanagerV1::Location>]
211
+ attr_accessor :locations
212
+
213
+ # The standard List next-page token.
214
+ # Corresponds to the JSON property `nextPageToken`
215
+ # @return [String]
216
+ attr_accessor :next_page_token
217
+
218
+ def initialize(**args)
219
+ update!(**args)
220
+ end
221
+
222
+ # Update properties of this object
223
+ def update!(**args)
224
+ @locations = args[:locations] if args.key?(:locations)
225
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
226
+ end
227
+ end
228
+
229
+ # The response message for Operations.ListOperations.
230
+ class ListOperationsResponse
231
+ include Google::Apis::Core::Hashable
232
+
233
+ # The standard List next-page token.
234
+ # Corresponds to the JSON property `nextPageToken`
235
+ # @return [String]
236
+ attr_accessor :next_page_token
237
+
238
+ # A list of operations that matches the specified filter in the request.
239
+ # Corresponds to the JSON property `operations`
240
+ # @return [Array<Google::Apis::WorkloadmanagerV1::Operation>]
241
+ attr_accessor :operations
242
+
243
+ def initialize(**args)
244
+ update!(**args)
245
+ end
246
+
247
+ # Update properties of this object
248
+ def update!(**args)
249
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
250
+ @operations = args[:operations] if args.key?(:operations)
251
+ end
252
+ end
253
+
254
+ # A resource that represents Google Cloud Platform location.
255
+ class Location
256
+ include Google::Apis::Core::Hashable
257
+
258
+ # The friendly name for this location, typically a nearby city name. For example,
259
+ # "Tokyo".
260
+ # Corresponds to the JSON property `displayName`
261
+ # @return [String]
262
+ attr_accessor :display_name
263
+
264
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
265
+ # region": "us-east1"`
266
+ # Corresponds to the JSON property `labels`
267
+ # @return [Hash<String,String>]
268
+ attr_accessor :labels
269
+
270
+ # The canonical id for this location. For example: `"us-east1"`.
271
+ # Corresponds to the JSON property `locationId`
272
+ # @return [String]
273
+ attr_accessor :location_id
274
+
275
+ # Service-specific metadata. For example the available capacity at the given
276
+ # location.
277
+ # Corresponds to the JSON property `metadata`
278
+ # @return [Hash<String,Object>]
279
+ attr_accessor :metadata
280
+
281
+ # Resource name for the location, which may vary between implementations. For
282
+ # example: `"projects/example-project/locations/us-east1"`
283
+ # Corresponds to the JSON property `name`
284
+ # @return [String]
285
+ attr_accessor :name
286
+
287
+ def initialize(**args)
288
+ update!(**args)
289
+ end
290
+
291
+ # Update properties of this object
292
+ def update!(**args)
293
+ @display_name = args[:display_name] if args.key?(:display_name)
294
+ @labels = args[:labels] if args.key?(:labels)
295
+ @location_id = args[:location_id] if args.key?(:location_id)
296
+ @metadata = args[:metadata] if args.key?(:metadata)
297
+ @name = args[:name] if args.key?(:name)
298
+ end
299
+ end
300
+
301
+ # This resource represents a long-running operation that is the result of a
302
+ # network API call.
303
+ class Operation
304
+ include Google::Apis::Core::Hashable
305
+
306
+ # If the value is `false`, it means the operation is still in progress. If `true`
307
+ # , the operation is completed, and either `error` or `response` is available.
308
+ # Corresponds to the JSON property `done`
309
+ # @return [Boolean]
310
+ attr_accessor :done
311
+ alias_method :done?, :done
312
+
313
+ # The `Status` type defines a logical error model that is suitable for different
314
+ # programming environments, including REST APIs and RPC APIs. It is used by [
315
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
316
+ # data: error code, error message, and error details. You can find out more
317
+ # about this error model and how to work with it in the [API Design Guide](https:
318
+ # //cloud.google.com/apis/design/errors).
319
+ # Corresponds to the JSON property `error`
320
+ # @return [Google::Apis::WorkloadmanagerV1::Status]
321
+ attr_accessor :error
322
+
323
+ # Service-specific metadata associated with the operation. It typically contains
324
+ # progress information and common metadata such as create time. Some services
325
+ # might not provide such metadata. Any method that returns a long-running
326
+ # operation should document the metadata type, if any.
327
+ # Corresponds to the JSON property `metadata`
328
+ # @return [Hash<String,Object>]
329
+ attr_accessor :metadata
330
+
331
+ # The server-assigned name, which is only unique within the same service that
332
+ # originally returns it. If you use the default HTTP mapping, the `name` should
333
+ # be a resource name ending with `operations/`unique_id``.
334
+ # Corresponds to the JSON property `name`
335
+ # @return [String]
336
+ attr_accessor :name
337
+
338
+ # The normal response of the operation in case of success. If the original
339
+ # method returns no data on success, such as `Delete`, the response is `google.
340
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
341
+ # the response should be the resource. For other methods, the response should
342
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
343
+ # example, if the original method name is `TakeSnapshot()`, the inferred
344
+ # response type is `TakeSnapshotResponse`.
345
+ # Corresponds to the JSON property `response`
346
+ # @return [Hash<String,Object>]
347
+ attr_accessor :response
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @done = args[:done] if args.key?(:done)
356
+ @error = args[:error] if args.key?(:error)
357
+ @metadata = args[:metadata] if args.key?(:metadata)
358
+ @name = args[:name] if args.key?(:name)
359
+ @response = args[:response] if args.key?(:response)
360
+ end
361
+ end
362
+
363
+ # Represents the metadata of the long-running operation.
364
+ class OperationMetadata
365
+ include Google::Apis::Core::Hashable
366
+
367
+ # Output only. API version used to start the operation.
368
+ # Corresponds to the JSON property `apiVersion`
369
+ # @return [String]
370
+ attr_accessor :api_version
371
+
372
+ # Output only. The time the operation was created.
373
+ # Corresponds to the JSON property `createTime`
374
+ # @return [String]
375
+ attr_accessor :create_time
376
+
377
+ # Output only. The time the operation finished running.
378
+ # Corresponds to the JSON property `endTime`
379
+ # @return [String]
380
+ attr_accessor :end_time
381
+
382
+ # Output only. Identifies whether the user has requested cancellation of the
383
+ # operation. Operations that have been cancelled successfully have Operation.
384
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
385
+ # CANCELLED`.
386
+ # Corresponds to the JSON property `requestedCancellation`
387
+ # @return [Boolean]
388
+ attr_accessor :requested_cancellation
389
+ alias_method :requested_cancellation?, :requested_cancellation
390
+
391
+ # Output only. Human-readable status of the operation, if any.
392
+ # Corresponds to the JSON property `statusMessage`
393
+ # @return [String]
394
+ attr_accessor :status_message
395
+
396
+ # Output only. Server-defined resource path for the target of the operation.
397
+ # Corresponds to the JSON property `target`
398
+ # @return [String]
399
+ attr_accessor :target
400
+
401
+ # Output only. Name of the verb executed by the operation.
402
+ # Corresponds to the JSON property `verb`
403
+ # @return [String]
404
+ attr_accessor :verb
405
+
406
+ def initialize(**args)
407
+ update!(**args)
408
+ end
409
+
410
+ # Update properties of this object
411
+ def update!(**args)
412
+ @api_version = args[:api_version] if args.key?(:api_version)
413
+ @create_time = args[:create_time] if args.key?(:create_time)
414
+ @end_time = args[:end_time] if args.key?(:end_time)
415
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
416
+ @status_message = args[:status_message] if args.key?(:status_message)
417
+ @target = args[:target] if args.key?(:target)
418
+ @verb = args[:verb] if args.key?(:verb)
419
+ end
420
+ end
421
+
422
+ # Message describing resource filters
423
+ class ResourceFilter
424
+ include Google::Apis::Core::Hashable
425
+
426
+ # Message describing compute engine instance filter
427
+ # Corresponds to the JSON property `gceInstanceFilter`
428
+ # @return [Google::Apis::WorkloadmanagerV1::GceInstanceFilter]
429
+ attr_accessor :gce_instance_filter
430
+
431
+ # The label used for filter resource
432
+ # Corresponds to the JSON property `inclusionLabels`
433
+ # @return [Hash<String,String>]
434
+ attr_accessor :inclusion_labels
435
+
436
+ # The id pattern for filter resource
437
+ # Corresponds to the JSON property `resourceIdPatterns`
438
+ # @return [Array<String>]
439
+ attr_accessor :resource_id_patterns
440
+
441
+ # The scopes of evaluation resource
442
+ # Corresponds to the JSON property `scopes`
443
+ # @return [Array<String>]
444
+ attr_accessor :scopes
445
+
446
+ def initialize(**args)
447
+ update!(**args)
448
+ end
449
+
450
+ # Update properties of this object
451
+ def update!(**args)
452
+ @gce_instance_filter = args[:gce_instance_filter] if args.key?(:gce_instance_filter)
453
+ @inclusion_labels = args[:inclusion_labels] if args.key?(:inclusion_labels)
454
+ @resource_id_patterns = args[:resource_id_patterns] if args.key?(:resource_id_patterns)
455
+ @scopes = args[:scopes] if args.key?(:scopes)
456
+ end
457
+ end
458
+
459
+ # Message describing resource status
460
+ class ResourceStatus
461
+ include Google::Apis::Core::Hashable
462
+
463
+ # the new version of rule id if exists
464
+ # Corresponds to the JSON property `rulesNewerVersions`
465
+ # @return [Array<String>]
466
+ attr_accessor :rules_newer_versions
467
+
468
+ # State of the resource
469
+ # Corresponds to the JSON property `state`
470
+ # @return [String]
471
+ attr_accessor :state
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @rules_newer_versions = args[:rules_newer_versions] if args.key?(:rules_newer_versions)
480
+ @state = args[:state] if args.key?(:state)
481
+ end
482
+ end
483
+
484
+ # The schema of SAP system discovery data.
485
+ class SapDiscovery
486
+ include Google::Apis::Core::Hashable
487
+
488
+ # Message describing the system component.
489
+ # Corresponds to the JSON property `applicationLayer`
490
+ # @return [Google::Apis::WorkloadmanagerV1::SapDiscoveryComponent]
491
+ attr_accessor :application_layer
492
+
493
+ # Message describing the system component.
494
+ # Corresponds to the JSON property `databaseLayer`
495
+ # @return [Google::Apis::WorkloadmanagerV1::SapDiscoveryComponent]
496
+ attr_accessor :database_layer
497
+
498
+ # Message describing SAP discovery system metadata
499
+ # Corresponds to the JSON property `metadata`
500
+ # @return [Google::Apis::WorkloadmanagerV1::SapDiscoveryMetadata]
501
+ attr_accessor :metadata
502
+
503
+ # A combination of database SID, database instance URI and tenant DB name to
504
+ # make a unique identifier per-system.
505
+ # Corresponds to the JSON property `systemId`
506
+ # @return [String]
507
+ attr_accessor :system_id
508
+
509
+ # Unix timestamp this system has been updated last.
510
+ # Corresponds to the JSON property `updateTime`
511
+ # @return [String]
512
+ attr_accessor :update_time
513
+
514
+ def initialize(**args)
515
+ update!(**args)
516
+ end
517
+
518
+ # Update properties of this object
519
+ def update!(**args)
520
+ @application_layer = args[:application_layer] if args.key?(:application_layer)
521
+ @database_layer = args[:database_layer] if args.key?(:database_layer)
522
+ @metadata = args[:metadata] if args.key?(:metadata)
523
+ @system_id = args[:system_id] if args.key?(:system_id)
524
+ @update_time = args[:update_time] if args.key?(:update_time)
525
+ end
526
+ end
527
+
528
+ # Message describing the system component.
529
+ class SapDiscoveryComponent
530
+ include Google::Apis::Core::Hashable
531
+
532
+ # The component is a SAP application.
533
+ # Corresponds to the JSON property `applicationType`
534
+ # @return [String]
535
+ attr_accessor :application_type
536
+
537
+ # The component is a SAP database.
538
+ # Corresponds to the JSON property `databaseType`
539
+ # @return [String]
540
+ attr_accessor :database_type
541
+
542
+ # Pantheon Project in which the resources reside.
543
+ # Corresponds to the JSON property `hostProject`
544
+ # @return [String]
545
+ attr_accessor :host_project
546
+
547
+ # The resources in a component.
548
+ # Corresponds to the JSON property `resources`
549
+ # @return [Array<Google::Apis::WorkloadmanagerV1::SapDiscoveryResource>]
550
+ attr_accessor :resources
551
+
552
+ # The sap identifier, used by the SAP software and helps differentiate systems
553
+ # for customers.
554
+ # Corresponds to the JSON property `sid`
555
+ # @return [String]
556
+ attr_accessor :sid
557
+
558
+ def initialize(**args)
559
+ update!(**args)
560
+ end
561
+
562
+ # Update properties of this object
563
+ def update!(**args)
564
+ @application_type = args[:application_type] if args.key?(:application_type)
565
+ @database_type = args[:database_type] if args.key?(:database_type)
566
+ @host_project = args[:host_project] if args.key?(:host_project)
567
+ @resources = args[:resources] if args.key?(:resources)
568
+ @sid = args[:sid] if args.key?(:sid)
569
+ end
570
+ end
571
+
572
+ # Message describing SAP discovery system metadata
573
+ class SapDiscoveryMetadata
574
+ include Google::Apis::Core::Hashable
575
+
576
+ # Customer region string for customer's use. Does not represent GCP region.
577
+ # Corresponds to the JSON property `customerRegion`
578
+ # @return [String]
579
+ attr_accessor :customer_region
580
+
581
+ # Customer defined, something like "E-commerce pre prod"
582
+ # Corresponds to the JSON property `definedSystem`
583
+ # @return [String]
584
+ attr_accessor :defined_system
585
+
586
+ # Should be "prod", "QA", "dev", "staging", etc.
587
+ # Corresponds to the JSON property `environmentType`
588
+ # @return [String]
589
+ attr_accessor :environment_type
590
+
591
+ # This sap product name
592
+ # Corresponds to the JSON property `sapProduct`
593
+ # @return [String]
594
+ attr_accessor :sap_product
595
+
596
+ def initialize(**args)
597
+ update!(**args)
598
+ end
599
+
600
+ # Update properties of this object
601
+ def update!(**args)
602
+ @customer_region = args[:customer_region] if args.key?(:customer_region)
603
+ @defined_system = args[:defined_system] if args.key?(:defined_system)
604
+ @environment_type = args[:environment_type] if args.key?(:environment_type)
605
+ @sap_product = args[:sap_product] if args.key?(:sap_product)
606
+ end
607
+ end
608
+
609
+ # Message describing a resource.
610
+ class SapDiscoveryResource
611
+ include Google::Apis::Core::Hashable
612
+
613
+ # A list of resource URIs related to this resource.
614
+ # Corresponds to the JSON property `relatedResources`
615
+ # @return [Array<String>]
616
+ attr_accessor :related_resources
617
+
618
+ # ComputeInstance, ComputeDisk, VPC, Bare Metal server, etc.
619
+ # Corresponds to the JSON property `resourceKind`
620
+ # @return [String]
621
+ attr_accessor :resource_kind
622
+
623
+ # The type of this resource.
624
+ # Corresponds to the JSON property `resourceType`
625
+ # @return [String]
626
+ attr_accessor :resource_type
627
+
628
+ # URI of the resource, includes project, location, and name.
629
+ # Corresponds to the JSON property `resourceUri`
630
+ # @return [String]
631
+ attr_accessor :resource_uri
632
+
633
+ # Unix timestamp of when this resource last had its discovery data updated.
634
+ # Corresponds to the JSON property `updateTime`
635
+ # @return [String]
636
+ attr_accessor :update_time
637
+
638
+ def initialize(**args)
639
+ update!(**args)
640
+ end
641
+
642
+ # Update properties of this object
643
+ def update!(**args)
644
+ @related_resources = args[:related_resources] if args.key?(:related_resources)
645
+ @resource_kind = args[:resource_kind] if args.key?(:resource_kind)
646
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
647
+ @resource_uri = args[:resource_uri] if args.key?(:resource_uri)
648
+ @update_time = args[:update_time] if args.key?(:update_time)
649
+ end
650
+ end
651
+
652
+ # A presentation of SAP workload insight. The schema of SAP workloads validation
653
+ # related data.
654
+ class SapValidation
655
+ include Google::Apis::Core::Hashable
656
+
657
+ # A list of SAP validation metrics data.
658
+ # Corresponds to the JSON property `validationDetails`
659
+ # @return [Array<Google::Apis::WorkloadmanagerV1::SapValidationValidationDetail>]
660
+ attr_accessor :validation_details
661
+
662
+ def initialize(**args)
663
+ update!(**args)
664
+ end
665
+
666
+ # Update properties of this object
667
+ def update!(**args)
668
+ @validation_details = args[:validation_details] if args.key?(:validation_details)
669
+ end
670
+ end
671
+
672
+ # Message describing the SAP validation metrics.
673
+ class SapValidationValidationDetail
674
+ include Google::Apis::Core::Hashable
675
+
676
+ # The pairs of metrics data: field name & field value.
677
+ # Corresponds to the JSON property `details`
678
+ # @return [Hash<String,String>]
679
+ attr_accessor :details
680
+
681
+ # The SAP system that the validation data is from.
682
+ # Corresponds to the JSON property `sapValidationType`
683
+ # @return [String]
684
+ attr_accessor :sap_validation_type
685
+
686
+ def initialize(**args)
687
+ update!(**args)
688
+ end
689
+
690
+ # Update properties of this object
691
+ def update!(**args)
692
+ @details = args[:details] if args.key?(:details)
693
+ @sap_validation_type = args[:sap_validation_type] if args.key?(:sap_validation_type)
694
+ end
695
+ end
696
+
697
+ # The `Status` type defines a logical error model that is suitable for different
698
+ # programming environments, including REST APIs and RPC APIs. It is used by [
699
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
700
+ # data: error code, error message, and error details. You can find out more
701
+ # about this error model and how to work with it in the [API Design Guide](https:
702
+ # //cloud.google.com/apis/design/errors).
703
+ class Status
704
+ include Google::Apis::Core::Hashable
705
+
706
+ # The status code, which should be an enum value of google.rpc.Code.
707
+ # Corresponds to the JSON property `code`
708
+ # @return [Fixnum]
709
+ attr_accessor :code
710
+
711
+ # A list of messages that carry the error details. There is a common set of
712
+ # message types for APIs to use.
713
+ # Corresponds to the JSON property `details`
714
+ # @return [Array<Hash<String,Object>>]
715
+ attr_accessor :details
716
+
717
+ # A developer-facing error message, which should be in English. Any user-facing
718
+ # error message should be localized and sent in the google.rpc.Status.details
719
+ # field, or localized by the client.
720
+ # Corresponds to the JSON property `message`
721
+ # @return [String]
722
+ attr_accessor :message
723
+
724
+ def initialize(**args)
725
+ update!(**args)
726
+ end
727
+
728
+ # Update properties of this object
729
+ def update!(**args)
730
+ @code = args[:code] if args.key?(:code)
731
+ @details = args[:details] if args.key?(:details)
732
+ @message = args[:message] if args.key?(:message)
733
+ end
734
+ end
735
+
736
+ # Request for sending the data insights.
737
+ class WriteInsightRequest
738
+ include Google::Apis::Core::Hashable
739
+
740
+ # A presentation of host resource usage where the workload runs.
741
+ # Corresponds to the JSON property `insight`
742
+ # @return [Google::Apis::WorkloadmanagerV1::Insight]
743
+ attr_accessor :insight
744
+
745
+ # Optional. An optional request ID to identify requests. Specify a unique
746
+ # request ID so that if you must retry your request, the server will know to
747
+ # ignore the request if it has already been completed. The server will guarantee
748
+ # that for at least 60 minutes since the first request. For example, consider a
749
+ # situation where you make an initial request and t he request times out. If you
750
+ # make the request again with the same request ID, the server can check if
751
+ # original operation with the same request ID was received, and if so, will
752
+ # ignore the second request. This prevents clients from accidentally creating
753
+ # duplicate commitments. The request ID must be a valid UUID with the exception
754
+ # that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
755
+ # Corresponds to the JSON property `requestId`
756
+ # @return [String]
757
+ attr_accessor :request_id
758
+
759
+ def initialize(**args)
760
+ update!(**args)
761
+ end
762
+
763
+ # Update properties of this object
764
+ def update!(**args)
765
+ @insight = args[:insight] if args.key?(:insight)
766
+ @request_id = args[:request_id] if args.key?(:request_id)
767
+ end
768
+ end
769
+
770
+ # The response for write insights request.
771
+ class WriteInsightResponse
772
+ include Google::Apis::Core::Hashable
773
+
774
+ def initialize(**args)
775
+ update!(**args)
776
+ end
777
+
778
+ # Update properties of this object
779
+ def update!(**args)
780
+ end
781
+ end
782
+ end
783
+ end
784
+ end