google-apis-apim_v1alpha 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,890 @@
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 ApimV1alpha
24
+
25
+ # Message describing ApiObservation object
26
+ class ApiObservation
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The number of observed API Operations.
30
+ # Corresponds to the JSON property `apiOperationCount`
31
+ # @return [Fixnum]
32
+ attr_accessor :api_operation_count
33
+
34
+ # Create time stamp
35
+ # Corresponds to the JSON property `createTime`
36
+ # @return [String]
37
+ attr_accessor :create_time
38
+
39
+ # The hostname of requests processed for this Observation.
40
+ # Corresponds to the JSON property `hostname`
41
+ # @return [String]
42
+ attr_accessor :hostname
43
+
44
+ # Last event detected time stamp
45
+ # Corresponds to the JSON property `lastEventDetectedTime`
46
+ # @return [String]
47
+ attr_accessor :last_event_detected_time
48
+
49
+ # Identifier. Name of resource
50
+ # Corresponds to the JSON property `name`
51
+ # @return [String]
52
+ attr_accessor :name
53
+
54
+ # The IP address (IPv4 or IPv6) of the origin server that the request was sent
55
+ # to. This field can include port information. Examples: `"192.168.1.1"`, `"10.0.
56
+ # 0.1:80"`, `"FE80::0202:B3FF:FE1E:8329"`.
57
+ # Corresponds to the JSON property `serverIps`
58
+ # @return [Array<String>]
59
+ attr_accessor :server_ips
60
+
61
+ # Location of the Observation Source, for example "us-central1" or "europe-west1.
62
+ # "
63
+ # Corresponds to the JSON property `sourceLocations`
64
+ # @return [Array<String>]
65
+ attr_accessor :source_locations
66
+
67
+ # Style of ApiObservation
68
+ # Corresponds to the JSON property `style`
69
+ # @return [String]
70
+ attr_accessor :style
71
+
72
+ # User-defined tags to organize and sort
73
+ # Corresponds to the JSON property `tags`
74
+ # @return [Array<String>]
75
+ attr_accessor :tags
76
+
77
+ # Update time stamp
78
+ # Corresponds to the JSON property `updateTime`
79
+ # @return [String]
80
+ attr_accessor :update_time
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @api_operation_count = args[:api_operation_count] if args.key?(:api_operation_count)
89
+ @create_time = args[:create_time] if args.key?(:create_time)
90
+ @hostname = args[:hostname] if args.key?(:hostname)
91
+ @last_event_detected_time = args[:last_event_detected_time] if args.key?(:last_event_detected_time)
92
+ @name = args[:name] if args.key?(:name)
93
+ @server_ips = args[:server_ips] if args.key?(:server_ips)
94
+ @source_locations = args[:source_locations] if args.key?(:source_locations)
95
+ @style = args[:style] if args.key?(:style)
96
+ @tags = args[:tags] if args.key?(:tags)
97
+ @update_time = args[:update_time] if args.key?(:update_time)
98
+ end
99
+ end
100
+
101
+ # Message describing ApiOperation object
102
+ class ApiOperation
103
+ include Google::Apis::Core::Hashable
104
+
105
+ # The number of occurrences of this API Operation.
106
+ # Corresponds to the JSON property `count`
107
+ # @return [Fixnum]
108
+ attr_accessor :count
109
+
110
+ # First seen time stamp
111
+ # Corresponds to the JSON property `firstSeenTime`
112
+ # @return [String]
113
+ attr_accessor :first_seen_time
114
+
115
+ # An HTTP-based API Operation, sometimes called a "REST" Operation.
116
+ # Corresponds to the JSON property `httpOperation`
117
+ # @return [Google::Apis::ApimV1alpha::HttpOperation]
118
+ attr_accessor :http_operation
119
+
120
+ # Last seen time stamp
121
+ # Corresponds to the JSON property `lastSeenTime`
122
+ # @return [String]
123
+ attr_accessor :last_seen_time
124
+
125
+ # Identifier. Name of resource
126
+ # Corresponds to the JSON property `name`
127
+ # @return [String]
128
+ attr_accessor :name
129
+
130
+ def initialize(**args)
131
+ update!(**args)
132
+ end
133
+
134
+ # Update properties of this object
135
+ def update!(**args)
136
+ @count = args[:count] if args.key?(:count)
137
+ @first_seen_time = args[:first_seen_time] if args.key?(:first_seen_time)
138
+ @http_operation = args[:http_operation] if args.key?(:http_operation)
139
+ @last_seen_time = args[:last_seen_time] if args.key?(:last_seen_time)
140
+ @name = args[:name] if args.key?(:name)
141
+ end
142
+ end
143
+
144
+ # The request message for Operations.CancelOperation.
145
+ class CancelOperationRequest
146
+ include Google::Apis::Core::Hashable
147
+
148
+ def initialize(**args)
149
+ update!(**args)
150
+ end
151
+
152
+ # Update properties of this object
153
+ def update!(**args)
154
+ end
155
+ end
156
+
157
+ # Message for disabling an ObservationJob
158
+ class DisableObservationJobRequest
159
+ include Google::Apis::Core::Hashable
160
+
161
+ def initialize(**args)
162
+ update!(**args)
163
+ end
164
+
165
+ # Update properties of this object
166
+ def update!(**args)
167
+ end
168
+ end
169
+
170
+ # A generic empty message that you can re-use to avoid defining duplicated empty
171
+ # messages in your APIs. A typical example is to use it as the request or the
172
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
173
+ # protobuf.Empty) returns (google.protobuf.Empty); `
174
+ class Empty
175
+ include Google::Apis::Core::Hashable
176
+
177
+ def initialize(**args)
178
+ update!(**args)
179
+ end
180
+
181
+ # Update properties of this object
182
+ def update!(**args)
183
+ end
184
+ end
185
+
186
+ # Message for enabling an ObservationJob
187
+ class EnableObservationJobRequest
188
+ include Google::Apis::Core::Hashable
189
+
190
+ def initialize(**args)
191
+ update!(**args)
192
+ end
193
+
194
+ # Update properties of this object
195
+ def update!(**args)
196
+ end
197
+ end
198
+
199
+ # The GCLB observation source.
200
+ class GclbObservationSource
201
+ include Google::Apis::Core::Hashable
202
+
203
+ # Required. The VPC networks where traffic will be observed. All load balancers
204
+ # within this network will be observed. Currently, this is limited to only one
205
+ # network.
206
+ # Corresponds to the JSON property `pscNetworkConfigs`
207
+ # @return [Array<Google::Apis::ApimV1alpha::GclbObservationSourcePscNetworkConfig>]
208
+ attr_accessor :psc_network_configs
209
+
210
+ def initialize(**args)
211
+ update!(**args)
212
+ end
213
+
214
+ # Update properties of this object
215
+ def update!(**args)
216
+ @psc_network_configs = args[:psc_network_configs] if args.key?(:psc_network_configs)
217
+ end
218
+ end
219
+
220
+ # Network information for setting up a PSC connection.
221
+ class GclbObservationSourcePscNetworkConfig
222
+ include Google::Apis::Core::Hashable
223
+
224
+ # Required. The VPC network. Format: `projects/`project_id`/global/networks/`
225
+ # network``
226
+ # Corresponds to the JSON property `network`
227
+ # @return [String]
228
+ attr_accessor :network
229
+
230
+ # Required. The subnetwork in the source region that will be used to connect to
231
+ # the Cloud Load Balancers via PSC NEGs. Must belong to `network`. Format:
232
+ # projects/`project_id`/regions/`region`/subnetworks/`subnet`
233
+ # Corresponds to the JSON property `subnetwork`
234
+ # @return [String]
235
+ attr_accessor :subnetwork
236
+
237
+ def initialize(**args)
238
+ update!(**args)
239
+ end
240
+
241
+ # Update properties of this object
242
+ def update!(**args)
243
+ @network = args[:network] if args.key?(:network)
244
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
245
+ end
246
+ end
247
+
248
+ # An HTTP-based API Operation, sometimes called a "REST" Operation.
249
+ class HttpOperation
250
+ include Google::Apis::Core::Hashable
251
+
252
+ # HTTP Method.
253
+ # Corresponds to the JSON property `method`
254
+ # @return [String]
255
+ attr_accessor :method_prop
256
+
257
+ # Path of the HTTP request.
258
+ # Corresponds to the JSON property `path`
259
+ # @return [String]
260
+ attr_accessor :path
261
+
262
+ # Path params of HttpOperation
263
+ # Corresponds to the JSON property `pathParams`
264
+ # @return [Array<Google::Apis::ApimV1alpha::HttpOperationPathParam>]
265
+ attr_accessor :path_params
266
+
267
+ # Query params of HttpOperation
268
+ # Corresponds to the JSON property `queryParams`
269
+ # @return [Hash<String,Google::Apis::ApimV1alpha::HttpOperationQueryParam>]
270
+ attr_accessor :query_params
271
+
272
+ # An aggregation of HTTP requests.
273
+ # Corresponds to the JSON property `request`
274
+ # @return [Google::Apis::ApimV1alpha::HttpOperationHttpRequest]
275
+ attr_accessor :request
276
+
277
+ # An aggregation of HTTP responses.
278
+ # Corresponds to the JSON property `response`
279
+ # @return [Google::Apis::ApimV1alpha::HttpOperationHttpResponse]
280
+ attr_accessor :response
281
+
282
+ def initialize(**args)
283
+ update!(**args)
284
+ end
285
+
286
+ # Update properties of this object
287
+ def update!(**args)
288
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
289
+ @path = args[:path] if args.key?(:path)
290
+ @path_params = args[:path_params] if args.key?(:path_params)
291
+ @query_params = args[:query_params] if args.key?(:query_params)
292
+ @request = args[:request] if args.key?(:request)
293
+ @response = args[:response] if args.key?(:response)
294
+ end
295
+ end
296
+
297
+ # An aggregation of HTTP header occurrences.
298
+ class HttpOperationHeader
299
+ include Google::Apis::Core::Hashable
300
+
301
+ # The number of occurrences of this Header across transactions.
302
+ # Corresponds to the JSON property `count`
303
+ # @return [Fixnum]
304
+ attr_accessor :count
305
+
306
+ # Data type of header
307
+ # Corresponds to the JSON property `dataType`
308
+ # @return [String]
309
+ attr_accessor :data_type
310
+
311
+ # Header name.
312
+ # Corresponds to the JSON property `name`
313
+ # @return [String]
314
+ attr_accessor :name
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ @count = args[:count] if args.key?(:count)
323
+ @data_type = args[:data_type] if args.key?(:data_type)
324
+ @name = args[:name] if args.key?(:name)
325
+ end
326
+ end
327
+
328
+ # An aggregation of HTTP requests.
329
+ class HttpOperationHttpRequest
330
+ include Google::Apis::Core::Hashable
331
+
332
+ # Unordered map from header name to header metadata
333
+ # Corresponds to the JSON property `headers`
334
+ # @return [Hash<String,Google::Apis::ApimV1alpha::HttpOperationHeader>]
335
+ attr_accessor :headers
336
+
337
+ def initialize(**args)
338
+ update!(**args)
339
+ end
340
+
341
+ # Update properties of this object
342
+ def update!(**args)
343
+ @headers = args[:headers] if args.key?(:headers)
344
+ end
345
+ end
346
+
347
+ # An aggregation of HTTP responses.
348
+ class HttpOperationHttpResponse
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # Unordered map from header name to header metadata
352
+ # Corresponds to the JSON property `headers`
353
+ # @return [Hash<String,Google::Apis::ApimV1alpha::HttpOperationHeader>]
354
+ attr_accessor :headers
355
+
356
+ # Map of status code to observed count
357
+ # Corresponds to the JSON property `responseCodes`
358
+ # @return [Hash<String,Fixnum>]
359
+ attr_accessor :response_codes
360
+
361
+ def initialize(**args)
362
+ update!(**args)
363
+ end
364
+
365
+ # Update properties of this object
366
+ def update!(**args)
367
+ @headers = args[:headers] if args.key?(:headers)
368
+ @response_codes = args[:response_codes] if args.key?(:response_codes)
369
+ end
370
+ end
371
+
372
+ # HTTP Path parameter.
373
+ class HttpOperationPathParam
374
+ include Google::Apis::Core::Hashable
375
+
376
+ # Data type of path param
377
+ # Corresponds to the JSON property `dataType`
378
+ # @return [String]
379
+ attr_accessor :data_type
380
+
381
+ # Segment location in the path, 1-indexed
382
+ # Corresponds to the JSON property `position`
383
+ # @return [Fixnum]
384
+ attr_accessor :position
385
+
386
+ def initialize(**args)
387
+ update!(**args)
388
+ end
389
+
390
+ # Update properties of this object
391
+ def update!(**args)
392
+ @data_type = args[:data_type] if args.key?(:data_type)
393
+ @position = args[:position] if args.key?(:position)
394
+ end
395
+ end
396
+
397
+ # An aggregation of HTTP query parameter occurrences.
398
+ class HttpOperationQueryParam
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # The number of occurrences of this query parameter across transactions.
402
+ # Corresponds to the JSON property `count`
403
+ # @return [Fixnum]
404
+ attr_accessor :count
405
+
406
+ # Data type of path param
407
+ # Corresponds to the JSON property `dataType`
408
+ # @return [String]
409
+ attr_accessor :data_type
410
+
411
+ # Name of query param
412
+ # Corresponds to the JSON property `name`
413
+ # @return [String]
414
+ attr_accessor :name
415
+
416
+ def initialize(**args)
417
+ update!(**args)
418
+ end
419
+
420
+ # Update properties of this object
421
+ def update!(**args)
422
+ @count = args[:count] if args.key?(:count)
423
+ @data_type = args[:data_type] if args.key?(:data_type)
424
+ @name = args[:name] if args.key?(:name)
425
+ end
426
+ end
427
+
428
+ # Message for response to listing ApiObservations
429
+ class ListApiObservationsResponse
430
+ include Google::Apis::Core::Hashable
431
+
432
+ # The ApiObservation from the specified project and location and ObservationJobs.
433
+ # Corresponds to the JSON property `apiObservations`
434
+ # @return [Array<Google::Apis::ApimV1alpha::ApiObservation>]
435
+ attr_accessor :api_observations
436
+
437
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
438
+ # field is omitted, there are no subsequent pages.
439
+ # Corresponds to the JSON property `nextPageToken`
440
+ # @return [String]
441
+ attr_accessor :next_page_token
442
+
443
+ def initialize(**args)
444
+ update!(**args)
445
+ end
446
+
447
+ # Update properties of this object
448
+ def update!(**args)
449
+ @api_observations = args[:api_observations] if args.key?(:api_observations)
450
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
451
+ end
452
+ end
453
+
454
+ # Message for response to listing ApiOperations
455
+ class ListApiOperationsResponse
456
+ include Google::Apis::Core::Hashable
457
+
458
+ # The ApiOperations from the specified project and location and ObservationJob
459
+ # and ApiObservation.
460
+ # Corresponds to the JSON property `apiOperations`
461
+ # @return [Array<Google::Apis::ApimV1alpha::ApiOperation>]
462
+ attr_accessor :api_operations
463
+
464
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
465
+ # field is omitted, there are no subsequent pages.
466
+ # Corresponds to the JSON property `nextPageToken`
467
+ # @return [String]
468
+ attr_accessor :next_page_token
469
+
470
+ def initialize(**args)
471
+ update!(**args)
472
+ end
473
+
474
+ # Update properties of this object
475
+ def update!(**args)
476
+ @api_operations = args[:api_operations] if args.key?(:api_operations)
477
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
478
+ end
479
+ end
480
+
481
+ # The response message for Locations.ListLocations.
482
+ class ListLocationsResponse
483
+ include Google::Apis::Core::Hashable
484
+
485
+ # A list of locations that matches the specified filter in the request.
486
+ # Corresponds to the JSON property `locations`
487
+ # @return [Array<Google::Apis::ApimV1alpha::Location>]
488
+ attr_accessor :locations
489
+
490
+ # The standard List next-page token.
491
+ # Corresponds to the JSON property `nextPageToken`
492
+ # @return [String]
493
+ attr_accessor :next_page_token
494
+
495
+ def initialize(**args)
496
+ update!(**args)
497
+ end
498
+
499
+ # Update properties of this object
500
+ def update!(**args)
501
+ @locations = args[:locations] if args.key?(:locations)
502
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
503
+ end
504
+ end
505
+
506
+ # Message for response to listing ObservationJobs
507
+ class ListObservationJobsResponse
508
+ include Google::Apis::Core::Hashable
509
+
510
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
511
+ # field is omitted, there are no subsequent pages.
512
+ # Corresponds to the JSON property `nextPageToken`
513
+ # @return [String]
514
+ attr_accessor :next_page_token
515
+
516
+ # The ObservationJob from the specified project and location.
517
+ # Corresponds to the JSON property `observationJobs`
518
+ # @return [Array<Google::Apis::ApimV1alpha::ObservationJob>]
519
+ attr_accessor :observation_jobs
520
+
521
+ # Locations that could not be reached.
522
+ # Corresponds to the JSON property `unreachable`
523
+ # @return [Array<String>]
524
+ attr_accessor :unreachable
525
+
526
+ def initialize(**args)
527
+ update!(**args)
528
+ end
529
+
530
+ # Update properties of this object
531
+ def update!(**args)
532
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
533
+ @observation_jobs = args[:observation_jobs] if args.key?(:observation_jobs)
534
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
535
+ end
536
+ end
537
+
538
+ # Message for response to listing ObservationSources
539
+ class ListObservationSourcesResponse
540
+ include Google::Apis::Core::Hashable
541
+
542
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
543
+ # field is omitted, there are no subsequent pages.
544
+ # Corresponds to the JSON property `nextPageToken`
545
+ # @return [String]
546
+ attr_accessor :next_page_token
547
+
548
+ # The ObservationSource from the specified project and location.
549
+ # Corresponds to the JSON property `observationSources`
550
+ # @return [Array<Google::Apis::ApimV1alpha::ObservationSource>]
551
+ attr_accessor :observation_sources
552
+
553
+ # Locations that could not be reached.
554
+ # Corresponds to the JSON property `unreachable`
555
+ # @return [Array<String>]
556
+ attr_accessor :unreachable
557
+
558
+ def initialize(**args)
559
+ update!(**args)
560
+ end
561
+
562
+ # Update properties of this object
563
+ def update!(**args)
564
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
565
+ @observation_sources = args[:observation_sources] if args.key?(:observation_sources)
566
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
567
+ end
568
+ end
569
+
570
+ # The response message for Operations.ListOperations.
571
+ class ListOperationsResponse
572
+ include Google::Apis::Core::Hashable
573
+
574
+ # The standard List next-page token.
575
+ # Corresponds to the JSON property `nextPageToken`
576
+ # @return [String]
577
+ attr_accessor :next_page_token
578
+
579
+ # A list of operations that matches the specified filter in the request.
580
+ # Corresponds to the JSON property `operations`
581
+ # @return [Array<Google::Apis::ApimV1alpha::Operation>]
582
+ attr_accessor :operations
583
+
584
+ def initialize(**args)
585
+ update!(**args)
586
+ end
587
+
588
+ # Update properties of this object
589
+ def update!(**args)
590
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
591
+ @operations = args[:operations] if args.key?(:operations)
592
+ end
593
+ end
594
+
595
+ # A resource that represents a Google Cloud location.
596
+ class Location
597
+ include Google::Apis::Core::Hashable
598
+
599
+ # The friendly name for this location, typically a nearby city name. For example,
600
+ # "Tokyo".
601
+ # Corresponds to the JSON property `displayName`
602
+ # @return [String]
603
+ attr_accessor :display_name
604
+
605
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
606
+ # region": "us-east1"`
607
+ # Corresponds to the JSON property `labels`
608
+ # @return [Hash<String,String>]
609
+ attr_accessor :labels
610
+
611
+ # The canonical id for this location. For example: `"us-east1"`.
612
+ # Corresponds to the JSON property `locationId`
613
+ # @return [String]
614
+ attr_accessor :location_id
615
+
616
+ # Service-specific metadata. For example the available capacity at the given
617
+ # location.
618
+ # Corresponds to the JSON property `metadata`
619
+ # @return [Hash<String,Object>]
620
+ attr_accessor :metadata
621
+
622
+ # Resource name for the location, which may vary between implementations. For
623
+ # example: `"projects/example-project/locations/us-east1"`
624
+ # Corresponds to the JSON property `name`
625
+ # @return [String]
626
+ attr_accessor :name
627
+
628
+ def initialize(**args)
629
+ update!(**args)
630
+ end
631
+
632
+ # Update properties of this object
633
+ def update!(**args)
634
+ @display_name = args[:display_name] if args.key?(:display_name)
635
+ @labels = args[:labels] if args.key?(:labels)
636
+ @location_id = args[:location_id] if args.key?(:location_id)
637
+ @metadata = args[:metadata] if args.key?(:metadata)
638
+ @name = args[:name] if args.key?(:name)
639
+ end
640
+ end
641
+
642
+ # Message describing ObservationJob object
643
+ class ObservationJob
644
+ include Google::Apis::Core::Hashable
645
+
646
+ # Output only. [Output only] Create time stamp
647
+ # Corresponds to the JSON property `createTime`
648
+ # @return [String]
649
+ attr_accessor :create_time
650
+
651
+ # Identifier. name of resource Format: projects/`project`/locations/`location`/
652
+ # observationJobs/`observation_job`
653
+ # Corresponds to the JSON property `name`
654
+ # @return [String]
655
+ attr_accessor :name
656
+
657
+ # Optional. These should be of the same kind of source.
658
+ # Corresponds to the JSON property `sources`
659
+ # @return [Array<String>]
660
+ attr_accessor :sources
661
+
662
+ # Output only. The observation job state
663
+ # Corresponds to the JSON property `state`
664
+ # @return [String]
665
+ attr_accessor :state
666
+
667
+ # Output only. [Output only] Update time stamp
668
+ # Corresponds to the JSON property `updateTime`
669
+ # @return [String]
670
+ attr_accessor :update_time
671
+
672
+ def initialize(**args)
673
+ update!(**args)
674
+ end
675
+
676
+ # Update properties of this object
677
+ def update!(**args)
678
+ @create_time = args[:create_time] if args.key?(:create_time)
679
+ @name = args[:name] if args.key?(:name)
680
+ @sources = args[:sources] if args.key?(:sources)
681
+ @state = args[:state] if args.key?(:state)
682
+ @update_time = args[:update_time] if args.key?(:update_time)
683
+ end
684
+ end
685
+
686
+ # Observation source configuration types
687
+ class ObservationSource
688
+ include Google::Apis::Core::Hashable
689
+
690
+ # Output only. [Output only] Create time stamp
691
+ # Corresponds to the JSON property `createTime`
692
+ # @return [String]
693
+ attr_accessor :create_time
694
+
695
+ # The GCLB observation source.
696
+ # Corresponds to the JSON property `gclbObservationSource`
697
+ # @return [Google::Apis::ApimV1alpha::GclbObservationSource]
698
+ attr_accessor :gclb_observation_source
699
+
700
+ # Identifier. name of resource For MVP, each region can only have 1 source.
701
+ # Corresponds to the JSON property `name`
702
+ # @return [String]
703
+ attr_accessor :name
704
+
705
+ # Output only. The observation source state
706
+ # Corresponds to the JSON property `state`
707
+ # @return [String]
708
+ attr_accessor :state
709
+
710
+ # Output only. [Output only] Update time stamp
711
+ # Corresponds to the JSON property `updateTime`
712
+ # @return [String]
713
+ attr_accessor :update_time
714
+
715
+ def initialize(**args)
716
+ update!(**args)
717
+ end
718
+
719
+ # Update properties of this object
720
+ def update!(**args)
721
+ @create_time = args[:create_time] if args.key?(:create_time)
722
+ @gclb_observation_source = args[:gclb_observation_source] if args.key?(:gclb_observation_source)
723
+ @name = args[:name] if args.key?(:name)
724
+ @state = args[:state] if args.key?(:state)
725
+ @update_time = args[:update_time] if args.key?(:update_time)
726
+ end
727
+ end
728
+
729
+ # This resource represents a long-running operation that is the result of a
730
+ # network API call.
731
+ class Operation
732
+ include Google::Apis::Core::Hashable
733
+
734
+ # If the value is `false`, it means the operation is still in progress. If `true`
735
+ # , the operation is completed, and either `error` or `response` is available.
736
+ # Corresponds to the JSON property `done`
737
+ # @return [Boolean]
738
+ attr_accessor :done
739
+ alias_method :done?, :done
740
+
741
+ # The `Status` type defines a logical error model that is suitable for different
742
+ # programming environments, including REST APIs and RPC APIs. It is used by [
743
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
744
+ # data: error code, error message, and error details. You can find out more
745
+ # about this error model and how to work with it in the [API Design Guide](https:
746
+ # //cloud.google.com/apis/design/errors).
747
+ # Corresponds to the JSON property `error`
748
+ # @return [Google::Apis::ApimV1alpha::Status]
749
+ attr_accessor :error
750
+
751
+ # Service-specific metadata associated with the operation. It typically contains
752
+ # progress information and common metadata such as create time. Some services
753
+ # might not provide such metadata. Any method that returns a long-running
754
+ # operation should document the metadata type, if any.
755
+ # Corresponds to the JSON property `metadata`
756
+ # @return [Hash<String,Object>]
757
+ attr_accessor :metadata
758
+
759
+ # The server-assigned name, which is only unique within the same service that
760
+ # originally returns it. If you use the default HTTP mapping, the `name` should
761
+ # be a resource name ending with `operations/`unique_id``.
762
+ # Corresponds to the JSON property `name`
763
+ # @return [String]
764
+ attr_accessor :name
765
+
766
+ # The normal, successful response of the operation. If the original method
767
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
768
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
769
+ # response should be the resource. For other methods, the response should have
770
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
771
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
772
+ # `TakeSnapshotResponse`.
773
+ # Corresponds to the JSON property `response`
774
+ # @return [Hash<String,Object>]
775
+ attr_accessor :response
776
+
777
+ def initialize(**args)
778
+ update!(**args)
779
+ end
780
+
781
+ # Update properties of this object
782
+ def update!(**args)
783
+ @done = args[:done] if args.key?(:done)
784
+ @error = args[:error] if args.key?(:error)
785
+ @metadata = args[:metadata] if args.key?(:metadata)
786
+ @name = args[:name] if args.key?(:name)
787
+ @response = args[:response] if args.key?(:response)
788
+ end
789
+ end
790
+
791
+ # Represents the metadata of the long-running operation.
792
+ class OperationMetadata
793
+ include Google::Apis::Core::Hashable
794
+
795
+ # Output only. API version used to start the operation.
796
+ # Corresponds to the JSON property `apiVersion`
797
+ # @return [String]
798
+ attr_accessor :api_version
799
+
800
+ # Output only. The time the operation was created.
801
+ # Corresponds to the JSON property `createTime`
802
+ # @return [String]
803
+ attr_accessor :create_time
804
+
805
+ # Output only. The time the operation finished running.
806
+ # Corresponds to the JSON property `endTime`
807
+ # @return [String]
808
+ attr_accessor :end_time
809
+
810
+ # Output only. Identifies whether the user has requested cancellation of the
811
+ # operation. Operations that have been cancelled successfully have Operation.
812
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
813
+ # CANCELLED`.
814
+ # Corresponds to the JSON property `requestedCancellation`
815
+ # @return [Boolean]
816
+ attr_accessor :requested_cancellation
817
+ alias_method :requested_cancellation?, :requested_cancellation
818
+
819
+ # Output only. Human-readable status of the operation, if any.
820
+ # Corresponds to the JSON property `statusMessage`
821
+ # @return [String]
822
+ attr_accessor :status_message
823
+
824
+ # Output only. Server-defined resource path for the target of the operation.
825
+ # Corresponds to the JSON property `target`
826
+ # @return [String]
827
+ attr_accessor :target
828
+
829
+ # Output only. Name of the verb executed by the operation.
830
+ # Corresponds to the JSON property `verb`
831
+ # @return [String]
832
+ attr_accessor :verb
833
+
834
+ def initialize(**args)
835
+ update!(**args)
836
+ end
837
+
838
+ # Update properties of this object
839
+ def update!(**args)
840
+ @api_version = args[:api_version] if args.key?(:api_version)
841
+ @create_time = args[:create_time] if args.key?(:create_time)
842
+ @end_time = args[:end_time] if args.key?(:end_time)
843
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
844
+ @status_message = args[:status_message] if args.key?(:status_message)
845
+ @target = args[:target] if args.key?(:target)
846
+ @verb = args[:verb] if args.key?(:verb)
847
+ end
848
+ end
849
+
850
+ # The `Status` type defines a logical error model that is suitable for different
851
+ # programming environments, including REST APIs and RPC APIs. It is used by [
852
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
853
+ # data: error code, error message, and error details. You can find out more
854
+ # about this error model and how to work with it in the [API Design Guide](https:
855
+ # //cloud.google.com/apis/design/errors).
856
+ class Status
857
+ include Google::Apis::Core::Hashable
858
+
859
+ # The status code, which should be an enum value of google.rpc.Code.
860
+ # Corresponds to the JSON property `code`
861
+ # @return [Fixnum]
862
+ attr_accessor :code
863
+
864
+ # A list of messages that carry the error details. There is a common set of
865
+ # message types for APIs to use.
866
+ # Corresponds to the JSON property `details`
867
+ # @return [Array<Hash<String,Object>>]
868
+ attr_accessor :details
869
+
870
+ # A developer-facing error message, which should be in English. Any user-facing
871
+ # error message should be localized and sent in the google.rpc.Status.details
872
+ # field, or localized by the client.
873
+ # Corresponds to the JSON property `message`
874
+ # @return [String]
875
+ attr_accessor :message
876
+
877
+ def initialize(**args)
878
+ update!(**args)
879
+ end
880
+
881
+ # Update properties of this object
882
+ def update!(**args)
883
+ @code = args[:code] if args.key?(:code)
884
+ @details = args[:details] if args.key?(:details)
885
+ @message = args[:message] if args.key?(:message)
886
+ end
887
+ end
888
+ end
889
+ end
890
+ end