google-apis-workloadmanager_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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