google-apis-apphub_v1 0.3.0 → 0.4.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.
@@ -22,6 +22,122 @@ module Google
22
22
  module Apis
23
23
  module ApphubV1
24
24
 
25
+ # Application defines the governance boundary for App Hub Entities that perform
26
+ # a logical end-to-end business function. App Hub supports application level IAM
27
+ # permission to align with governance requirements.
28
+ class Application
29
+ include Google::Apis::Core::Hashable
30
+
31
+ # Consumer provided attributes.
32
+ # Corresponds to the JSON property `attributes`
33
+ # @return [Google::Apis::ApphubV1::Attributes]
34
+ attr_accessor :attributes
35
+
36
+ # Output only. Create time.
37
+ # Corresponds to the JSON property `createTime`
38
+ # @return [String]
39
+ attr_accessor :create_time
40
+
41
+ # Optional. User-defined description of an Application. Can have a maximum
42
+ # length of 2048 characters.
43
+ # Corresponds to the JSON property `description`
44
+ # @return [String]
45
+ attr_accessor :description
46
+
47
+ # Optional. User-defined name for the Application. Can have a maximum length of
48
+ # 63 characters.
49
+ # Corresponds to the JSON property `displayName`
50
+ # @return [String]
51
+ attr_accessor :display_name
52
+
53
+ # Identifier. The resource name of an Application. Format: "projects/`host-
54
+ # project-id`/locations/`location`/applications/`application-id`"
55
+ # Corresponds to the JSON property `name`
56
+ # @return [String]
57
+ attr_accessor :name
58
+
59
+ # Scope of an application.
60
+ # Corresponds to the JSON property `scope`
61
+ # @return [Google::Apis::ApphubV1::Scope]
62
+ attr_accessor :scope
63
+
64
+ # Output only. Application state.
65
+ # Corresponds to the JSON property `state`
66
+ # @return [String]
67
+ attr_accessor :state
68
+
69
+ # Output only. A universally unique identifier (in UUID4 format) for the `
70
+ # Application`.
71
+ # Corresponds to the JSON property `uid`
72
+ # @return [String]
73
+ attr_accessor :uid
74
+
75
+ # Output only. Update time.
76
+ # Corresponds to the JSON property `updateTime`
77
+ # @return [String]
78
+ attr_accessor :update_time
79
+
80
+ def initialize(**args)
81
+ update!(**args)
82
+ end
83
+
84
+ # Update properties of this object
85
+ def update!(**args)
86
+ @attributes = args[:attributes] if args.key?(:attributes)
87
+ @create_time = args[:create_time] if args.key?(:create_time)
88
+ @description = args[:description] if args.key?(:description)
89
+ @display_name = args[:display_name] if args.key?(:display_name)
90
+ @name = args[:name] if args.key?(:name)
91
+ @scope = args[:scope] if args.key?(:scope)
92
+ @state = args[:state] if args.key?(:state)
93
+ @uid = args[:uid] if args.key?(:uid)
94
+ @update_time = args[:update_time] if args.key?(:update_time)
95
+ end
96
+ end
97
+
98
+ # Consumer provided attributes.
99
+ class Attributes
100
+ include Google::Apis::Core::Hashable
101
+
102
+ # Optional. Business team that ensures user needs are met and value is delivered
103
+ # Corresponds to the JSON property `businessOwners`
104
+ # @return [Array<Google::Apis::ApphubV1::ContactInfo>]
105
+ attr_accessor :business_owners
106
+
107
+ # Criticality of the Application, Service, or Workload
108
+ # Corresponds to the JSON property `criticality`
109
+ # @return [Google::Apis::ApphubV1::Criticality]
110
+ attr_accessor :criticality
111
+
112
+ # Optional. Developer team that owns development and coding.
113
+ # Corresponds to the JSON property `developerOwners`
114
+ # @return [Array<Google::Apis::ApphubV1::ContactInfo>]
115
+ attr_accessor :developer_owners
116
+
117
+ # Environment of the Application, Service, or Workload
118
+ # Corresponds to the JSON property `environment`
119
+ # @return [Google::Apis::ApphubV1::Environment]
120
+ attr_accessor :environment
121
+
122
+ # Optional. Operator team that ensures runtime and operations.
123
+ # Corresponds to the JSON property `operatorOwners`
124
+ # @return [Array<Google::Apis::ApphubV1::ContactInfo>]
125
+ attr_accessor :operator_owners
126
+
127
+ def initialize(**args)
128
+ update!(**args)
129
+ end
130
+
131
+ # Update properties of this object
132
+ def update!(**args)
133
+ @business_owners = args[:business_owners] if args.key?(:business_owners)
134
+ @criticality = args[:criticality] if args.key?(:criticality)
135
+ @developer_owners = args[:developer_owners] if args.key?(:developer_owners)
136
+ @environment = args[:environment] if args.key?(:environment)
137
+ @operator_owners = args[:operator_owners] if args.key?(:operator_owners)
138
+ end
139
+ end
140
+
25
141
  # Specifies the audit configuration for a service. The configuration determines
26
142
  # which permission types are logged, and what identities, if any, are exempted
27
143
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -207,6 +323,145 @@ module Google
207
323
  end
208
324
  end
209
325
 
326
+ # Contact information of stakeholders.
327
+ class ContactInfo
328
+ include Google::Apis::Core::Hashable
329
+
330
+ # Optional. Contact's name. Can have a maximum length of 63 characters.
331
+ # Corresponds to the JSON property `displayName`
332
+ # @return [String]
333
+ attr_accessor :display_name
334
+
335
+ # Required. Email address of the contacts.
336
+ # Corresponds to the JSON property `email`
337
+ # @return [String]
338
+ attr_accessor :email
339
+
340
+ def initialize(**args)
341
+ update!(**args)
342
+ end
343
+
344
+ # Update properties of this object
345
+ def update!(**args)
346
+ @display_name = args[:display_name] if args.key?(:display_name)
347
+ @email = args[:email] if args.key?(:email)
348
+ end
349
+ end
350
+
351
+ # Criticality of the Application, Service, or Workload
352
+ class Criticality
353
+ include Google::Apis::Core::Hashable
354
+
355
+ # Required. Criticality Type.
356
+ # Corresponds to the JSON property `type`
357
+ # @return [String]
358
+ attr_accessor :type
359
+
360
+ def initialize(**args)
361
+ update!(**args)
362
+ end
363
+
364
+ # Update properties of this object
365
+ def update!(**args)
366
+ @type = args[:type] if args.key?(:type)
367
+ end
368
+ end
369
+
370
+ # Request for DetachServiceProjectAttachment.
371
+ class DetachServiceProjectAttachmentRequest
372
+ include Google::Apis::Core::Hashable
373
+
374
+ def initialize(**args)
375
+ update!(**args)
376
+ end
377
+
378
+ # Update properties of this object
379
+ def update!(**args)
380
+ end
381
+ end
382
+
383
+ # Response for DetachServiceProjectAttachment.
384
+ class DetachServiceProjectAttachmentResponse
385
+ include Google::Apis::Core::Hashable
386
+
387
+ def initialize(**args)
388
+ update!(**args)
389
+ end
390
+
391
+ # Update properties of this object
392
+ def update!(**args)
393
+ end
394
+ end
395
+
396
+ # DiscoveredService is a network/api interface that exposes some functionality
397
+ # to clients for consumption over the network. A discovered service can be
398
+ # registered to a App Hub service.
399
+ class DiscoveredService
400
+ include Google::Apis::Core::Hashable
401
+
402
+ # Identifier. The resource name of the discovered service. Format: "projects/`
403
+ # host-project-id`/locations/`location`/discoveredServices/`uuid`""
404
+ # Corresponds to the JSON property `name`
405
+ # @return [String]
406
+ attr_accessor :name
407
+
408
+ # Properties of an underlying cloud resource that can comprise a Service.
409
+ # Corresponds to the JSON property `serviceProperties`
410
+ # @return [Google::Apis::ApphubV1::ServiceProperties]
411
+ attr_accessor :service_properties
412
+
413
+ # Reference to an underlying networking resource that can comprise a Service.
414
+ # Corresponds to the JSON property `serviceReference`
415
+ # @return [Google::Apis::ApphubV1::ServiceReference]
416
+ attr_accessor :service_reference
417
+
418
+ def initialize(**args)
419
+ update!(**args)
420
+ end
421
+
422
+ # Update properties of this object
423
+ def update!(**args)
424
+ @name = args[:name] if args.key?(:name)
425
+ @service_properties = args[:service_properties] if args.key?(:service_properties)
426
+ @service_reference = args[:service_reference] if args.key?(:service_reference)
427
+ end
428
+ end
429
+
430
+ # DiscoveredWorkload is a binary deployment (such as managed instance groups (
431
+ # MIGs) and GKE deployments) that performs the smallest logical subset of
432
+ # business functionality. A discovered workload can be registered to an App Hub
433
+ # Workload.
434
+ class DiscoveredWorkload
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # Identifier. The resource name of the discovered workload. Format: "projects/`
438
+ # host-project-id`/locations/`location`/discoveredWorkloads/`uuid`"
439
+ # Corresponds to the JSON property `name`
440
+ # @return [String]
441
+ attr_accessor :name
442
+
443
+ # Properties of an underlying compute resource represented by the Workload.
444
+ # Corresponds to the JSON property `workloadProperties`
445
+ # @return [Google::Apis::ApphubV1::WorkloadProperties]
446
+ attr_accessor :workload_properties
447
+
448
+ # Reference of an underlying compute resource represented by the Workload.
449
+ # Corresponds to the JSON property `workloadReference`
450
+ # @return [Google::Apis::ApphubV1::WorkloadReference]
451
+ attr_accessor :workload_reference
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ @name = args[:name] if args.key?(:name)
460
+ @workload_properties = args[:workload_properties] if args.key?(:workload_properties)
461
+ @workload_reference = args[:workload_reference] if args.key?(:workload_reference)
462
+ end
463
+ end
464
+
210
465
  # A generic empty message that you can re-use to avoid defining duplicated empty
211
466
  # messages in your APIs. A typical example is to use it as the request or the
212
467
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -223,6 +478,25 @@ module Google
223
478
  end
224
479
  end
225
480
 
481
+ # Environment of the Application, Service, or Workload
482
+ class Environment
483
+ include Google::Apis::Core::Hashable
484
+
485
+ # Required. Environment Type.
486
+ # Corresponds to the JSON property `type`
487
+ # @return [String]
488
+ attr_accessor :type
489
+
490
+ def initialize(**args)
491
+ update!(**args)
492
+ end
493
+
494
+ # Update properties of this object
495
+ def update!(**args)
496
+ @type = args[:type] if args.key?(:type)
497
+ end
498
+ end
499
+
226
500
  # Represents a textual expression in the Common Expression Language (CEL) syntax.
227
501
  # CEL is a C-like expression language. The syntax and semantics of CEL are
228
502
  # documented at https://github.com/google/cel-spec. Example (Comparison): title:
@@ -277,6 +551,99 @@ module Google
277
551
  end
278
552
  end
279
553
 
554
+ # Response for ListApplications.
555
+ class ListApplicationsResponse
556
+ include Google::Apis::Core::Hashable
557
+
558
+ # List of Applications.
559
+ # Corresponds to the JSON property `applications`
560
+ # @return [Array<Google::Apis::ApphubV1::Application>]
561
+ attr_accessor :applications
562
+
563
+ # A token identifying a page of results the server should return.
564
+ # Corresponds to the JSON property `nextPageToken`
565
+ # @return [String]
566
+ attr_accessor :next_page_token
567
+
568
+ # Locations that could not be reached.
569
+ # Corresponds to the JSON property `unreachable`
570
+ # @return [Array<String>]
571
+ attr_accessor :unreachable
572
+
573
+ def initialize(**args)
574
+ update!(**args)
575
+ end
576
+
577
+ # Update properties of this object
578
+ def update!(**args)
579
+ @applications = args[:applications] if args.key?(:applications)
580
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
581
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
582
+ end
583
+ end
584
+
585
+ # Response for ListDiscoveredServices.
586
+ class ListDiscoveredServicesResponse
587
+ include Google::Apis::Core::Hashable
588
+
589
+ # List of discovered services.
590
+ # Corresponds to the JSON property `discoveredServices`
591
+ # @return [Array<Google::Apis::ApphubV1::DiscoveredService>]
592
+ attr_accessor :discovered_services
593
+
594
+ # A token identifying a page of results the server should return.
595
+ # Corresponds to the JSON property `nextPageToken`
596
+ # @return [String]
597
+ attr_accessor :next_page_token
598
+
599
+ # Locations that could not be reached.
600
+ # Corresponds to the JSON property `unreachable`
601
+ # @return [Array<String>]
602
+ attr_accessor :unreachable
603
+
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ def update!(**args)
610
+ @discovered_services = args[:discovered_services] if args.key?(:discovered_services)
611
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
612
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
613
+ end
614
+ end
615
+
616
+ # Response for ListDiscoveredWorkloads.
617
+ class ListDiscoveredWorkloadsResponse
618
+ include Google::Apis::Core::Hashable
619
+
620
+ # List of discovered workloads.
621
+ # Corresponds to the JSON property `discoveredWorkloads`
622
+ # @return [Array<Google::Apis::ApphubV1::DiscoveredWorkload>]
623
+ attr_accessor :discovered_workloads
624
+
625
+ # A token identifying a page of results the server should return.
626
+ # Corresponds to the JSON property `nextPageToken`
627
+ # @return [String]
628
+ attr_accessor :next_page_token
629
+
630
+ # Locations that could not be reached.
631
+ # Corresponds to the JSON property `unreachable`
632
+ # @return [Array<String>]
633
+ attr_accessor :unreachable
634
+
635
+ def initialize(**args)
636
+ update!(**args)
637
+ end
638
+
639
+ # Update properties of this object
640
+ def update!(**args)
641
+ @discovered_workloads = args[:discovered_workloads] if args.key?(:discovered_workloads)
642
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
643
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
644
+ end
645
+ end
646
+
280
647
  # The response message for Locations.ListLocations.
281
648
  class ListLocationsResponse
282
649
  include Google::Apis::Core::Hashable
@@ -327,6 +694,99 @@ module Google
327
694
  end
328
695
  end
329
696
 
697
+ # Response for ListServiceProjectAttachments.
698
+ class ListServiceProjectAttachmentsResponse
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # A token identifying a page of results the server should return.
702
+ # Corresponds to the JSON property `nextPageToken`
703
+ # @return [String]
704
+ attr_accessor :next_page_token
705
+
706
+ # List of service project attachments.
707
+ # Corresponds to the JSON property `serviceProjectAttachments`
708
+ # @return [Array<Google::Apis::ApphubV1::ServiceProjectAttachment>]
709
+ attr_accessor :service_project_attachments
710
+
711
+ # Locations that could not be reached.
712
+ # Corresponds to the JSON property `unreachable`
713
+ # @return [Array<String>]
714
+ attr_accessor :unreachable
715
+
716
+ def initialize(**args)
717
+ update!(**args)
718
+ end
719
+
720
+ # Update properties of this object
721
+ def update!(**args)
722
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
723
+ @service_project_attachments = args[:service_project_attachments] if args.key?(:service_project_attachments)
724
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
725
+ end
726
+ end
727
+
728
+ # Response for ListServices.
729
+ class ListServicesResponse
730
+ include Google::Apis::Core::Hashable
731
+
732
+ # A token identifying a page of results the server should return.
733
+ # Corresponds to the JSON property `nextPageToken`
734
+ # @return [String]
735
+ attr_accessor :next_page_token
736
+
737
+ # List of Services.
738
+ # Corresponds to the JSON property `services`
739
+ # @return [Array<Google::Apis::ApphubV1::Service>]
740
+ attr_accessor :services
741
+
742
+ # Locations that could not be reached.
743
+ # Corresponds to the JSON property `unreachable`
744
+ # @return [Array<String>]
745
+ attr_accessor :unreachable
746
+
747
+ def initialize(**args)
748
+ update!(**args)
749
+ end
750
+
751
+ # Update properties of this object
752
+ def update!(**args)
753
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
754
+ @services = args[:services] if args.key?(:services)
755
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
756
+ end
757
+ end
758
+
759
+ # Response for ListWorkloads.
760
+ class ListWorkloadsResponse
761
+ include Google::Apis::Core::Hashable
762
+
763
+ # A token identifying a page of results the server should return.
764
+ # Corresponds to the JSON property `nextPageToken`
765
+ # @return [String]
766
+ attr_accessor :next_page_token
767
+
768
+ # Locations that could not be reached.
769
+ # Corresponds to the JSON property `unreachable`
770
+ # @return [Array<String>]
771
+ attr_accessor :unreachable
772
+
773
+ # List of Workloads.
774
+ # Corresponds to the JSON property `workloads`
775
+ # @return [Array<Google::Apis::ApphubV1::Workload>]
776
+ attr_accessor :workloads
777
+
778
+ def initialize(**args)
779
+ update!(**args)
780
+ end
781
+
782
+ # Update properties of this object
783
+ def update!(**args)
784
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
785
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
786
+ @workloads = args[:workloads] if args.key?(:workloads)
787
+ end
788
+ end
789
+
330
790
  # A resource that represents a Google Cloud location.
331
791
  class Location
332
792
  include Google::Apis::Core::Hashable
@@ -374,6 +834,29 @@ module Google
374
834
  end
375
835
  end
376
836
 
837
+ # Response for LookupServiceProjectAttachment.
838
+ class LookupServiceProjectAttachmentResponse
839
+ include Google::Apis::Core::Hashable
840
+
841
+ # ServiceProjectAttachment represents an attachment from a service project to a
842
+ # host project. Service projects contain the underlying cloud infrastructure
843
+ # resources, and expose these resources to the host project through a
844
+ # ServiceProjectAttachment. With the attachments, the host project can provide
845
+ # an aggregated view of resources across all service projects.
846
+ # Corresponds to the JSON property `serviceProjectAttachment`
847
+ # @return [Google::Apis::ApphubV1::ServiceProjectAttachment]
848
+ attr_accessor :service_project_attachment
849
+
850
+ def initialize(**args)
851
+ update!(**args)
852
+ end
853
+
854
+ # Update properties of this object
855
+ def update!(**args)
856
+ @service_project_attachment = args[:service_project_attachment] if args.key?(:service_project_attachment)
857
+ end
858
+ end
859
+
377
860
  # This resource represents a long-running operation that is the result of a
378
861
  # network API call.
379
862
  class Operation
@@ -436,6 +919,65 @@ module Google
436
919
  end
437
920
  end
438
921
 
922
+ # Represents the metadata of the long-running operation.
923
+ class OperationMetadata
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # Output only. API version used to start the operation.
927
+ # Corresponds to the JSON property `apiVersion`
928
+ # @return [String]
929
+ attr_accessor :api_version
930
+
931
+ # Output only. The time the operation was created.
932
+ # Corresponds to the JSON property `createTime`
933
+ # @return [String]
934
+ attr_accessor :create_time
935
+
936
+ # Output only. The time the operation finished running.
937
+ # Corresponds to the JSON property `endTime`
938
+ # @return [String]
939
+ attr_accessor :end_time
940
+
941
+ # Output only. Identifies whether the user has requested cancellation of the
942
+ # operation. Operations that have been cancelled successfully have Operation.
943
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
944
+ # CANCELLED`.
945
+ # Corresponds to the JSON property `requestedCancellation`
946
+ # @return [Boolean]
947
+ attr_accessor :requested_cancellation
948
+ alias_method :requested_cancellation?, :requested_cancellation
949
+
950
+ # Output only. Human-readable status of the operation, if any.
951
+ # Corresponds to the JSON property `statusMessage`
952
+ # @return [String]
953
+ attr_accessor :status_message
954
+
955
+ # Output only. Server-defined resource path for the target of the operation.
956
+ # Corresponds to the JSON property `target`
957
+ # @return [String]
958
+ attr_accessor :target
959
+
960
+ # Output only. Name of the verb executed by the operation.
961
+ # Corresponds to the JSON property `verb`
962
+ # @return [String]
963
+ attr_accessor :verb
964
+
965
+ def initialize(**args)
966
+ update!(**args)
967
+ end
968
+
969
+ # Update properties of this object
970
+ def update!(**args)
971
+ @api_version = args[:api_version] if args.key?(:api_version)
972
+ @create_time = args[:create_time] if args.key?(:create_time)
973
+ @end_time = args[:end_time] if args.key?(:end_time)
974
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
975
+ @status_message = args[:status_message] if args.key?(:status_message)
976
+ @target = args[:target] if args.key?(:target)
977
+ @verb = args[:verb] if args.key?(:verb)
978
+ end
979
+ end
980
+
439
981
  # An Identity and Access Management (IAM) policy, which specifies access
440
982
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
441
983
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -557,6 +1099,216 @@ module Google
557
1099
  end
558
1100
  end
559
1101
 
1102
+ # Scope of an application.
1103
+ class Scope
1104
+ include Google::Apis::Core::Hashable
1105
+
1106
+ # Required. Scope Type.
1107
+ # Corresponds to the JSON property `type`
1108
+ # @return [String]
1109
+ attr_accessor :type
1110
+
1111
+ def initialize(**args)
1112
+ update!(**args)
1113
+ end
1114
+
1115
+ # Update properties of this object
1116
+ def update!(**args)
1117
+ @type = args[:type] if args.key?(:type)
1118
+ end
1119
+ end
1120
+
1121
+ # Service is an App Hub data model that contains a discovered service, which
1122
+ # represents a network/api interface that exposes some functionality to clients
1123
+ # for consumption over the network.
1124
+ class Service
1125
+ include Google::Apis::Core::Hashable
1126
+
1127
+ # Consumer provided attributes.
1128
+ # Corresponds to the JSON property `attributes`
1129
+ # @return [Google::Apis::ApphubV1::Attributes]
1130
+ attr_accessor :attributes
1131
+
1132
+ # Output only. Create time.
1133
+ # Corresponds to the JSON property `createTime`
1134
+ # @return [String]
1135
+ attr_accessor :create_time
1136
+
1137
+ # Optional. User-defined description of a Service. Can have a maximum length of
1138
+ # 2048 characters.
1139
+ # Corresponds to the JSON property `description`
1140
+ # @return [String]
1141
+ attr_accessor :description
1142
+
1143
+ # Required. Immutable. The resource name of the original discovered service.
1144
+ # Corresponds to the JSON property `discoveredService`
1145
+ # @return [String]
1146
+ attr_accessor :discovered_service
1147
+
1148
+ # Optional. User-defined name for the Service. Can have a maximum length of 63
1149
+ # characters.
1150
+ # Corresponds to the JSON property `displayName`
1151
+ # @return [String]
1152
+ attr_accessor :display_name
1153
+
1154
+ # Identifier. The resource name of a Service. Format: "projects/`host-project-id`
1155
+ # /locations/`location`/applications/`application-id`/services/`service-id`"
1156
+ # Corresponds to the JSON property `name`
1157
+ # @return [String]
1158
+ attr_accessor :name
1159
+
1160
+ # Properties of an underlying cloud resource that can comprise a Service.
1161
+ # Corresponds to the JSON property `serviceProperties`
1162
+ # @return [Google::Apis::ApphubV1::ServiceProperties]
1163
+ attr_accessor :service_properties
1164
+
1165
+ # Reference to an underlying networking resource that can comprise a Service.
1166
+ # Corresponds to the JSON property `serviceReference`
1167
+ # @return [Google::Apis::ApphubV1::ServiceReference]
1168
+ attr_accessor :service_reference
1169
+
1170
+ # Output only. Service state.
1171
+ # Corresponds to the JSON property `state`
1172
+ # @return [String]
1173
+ attr_accessor :state
1174
+
1175
+ # Output only. A universally unique identifier (UUID) for the `Service` in the
1176
+ # UUID4 format.
1177
+ # Corresponds to the JSON property `uid`
1178
+ # @return [String]
1179
+ attr_accessor :uid
1180
+
1181
+ # Output only. Update time.
1182
+ # Corresponds to the JSON property `updateTime`
1183
+ # @return [String]
1184
+ attr_accessor :update_time
1185
+
1186
+ def initialize(**args)
1187
+ update!(**args)
1188
+ end
1189
+
1190
+ # Update properties of this object
1191
+ def update!(**args)
1192
+ @attributes = args[:attributes] if args.key?(:attributes)
1193
+ @create_time = args[:create_time] if args.key?(:create_time)
1194
+ @description = args[:description] if args.key?(:description)
1195
+ @discovered_service = args[:discovered_service] if args.key?(:discovered_service)
1196
+ @display_name = args[:display_name] if args.key?(:display_name)
1197
+ @name = args[:name] if args.key?(:name)
1198
+ @service_properties = args[:service_properties] if args.key?(:service_properties)
1199
+ @service_reference = args[:service_reference] if args.key?(:service_reference)
1200
+ @state = args[:state] if args.key?(:state)
1201
+ @uid = args[:uid] if args.key?(:uid)
1202
+ @update_time = args[:update_time] if args.key?(:update_time)
1203
+ end
1204
+ end
1205
+
1206
+ # ServiceProjectAttachment represents an attachment from a service project to a
1207
+ # host project. Service projects contain the underlying cloud infrastructure
1208
+ # resources, and expose these resources to the host project through a
1209
+ # ServiceProjectAttachment. With the attachments, the host project can provide
1210
+ # an aggregated view of resources across all service projects.
1211
+ class ServiceProjectAttachment
1212
+ include Google::Apis::Core::Hashable
1213
+
1214
+ # Output only. Create time.
1215
+ # Corresponds to the JSON property `createTime`
1216
+ # @return [String]
1217
+ attr_accessor :create_time
1218
+
1219
+ # Identifier. The resource name of a ServiceProjectAttachment. Format: "projects/
1220
+ # `host-project-id`/locations/global/serviceProjectAttachments/`service-project-
1221
+ # id`."
1222
+ # Corresponds to the JSON property `name`
1223
+ # @return [String]
1224
+ attr_accessor :name
1225
+
1226
+ # Required. Immutable. Service project name in the format: "projects/abc" or "
1227
+ # projects/123". As input, project name with either project id or number are
1228
+ # accepted. As output, this field will contain project number.
1229
+ # Corresponds to the JSON property `serviceProject`
1230
+ # @return [String]
1231
+ attr_accessor :service_project
1232
+
1233
+ # Output only. ServiceProjectAttachment state.
1234
+ # Corresponds to the JSON property `state`
1235
+ # @return [String]
1236
+ attr_accessor :state
1237
+
1238
+ # Output only. A globally unique identifier (in UUID4 format) for the `
1239
+ # ServiceProjectAttachment`.
1240
+ # Corresponds to the JSON property `uid`
1241
+ # @return [String]
1242
+ attr_accessor :uid
1243
+
1244
+ def initialize(**args)
1245
+ update!(**args)
1246
+ end
1247
+
1248
+ # Update properties of this object
1249
+ def update!(**args)
1250
+ @create_time = args[:create_time] if args.key?(:create_time)
1251
+ @name = args[:name] if args.key?(:name)
1252
+ @service_project = args[:service_project] if args.key?(:service_project)
1253
+ @state = args[:state] if args.key?(:state)
1254
+ @uid = args[:uid] if args.key?(:uid)
1255
+ end
1256
+ end
1257
+
1258
+ # Properties of an underlying cloud resource that can comprise a Service.
1259
+ class ServiceProperties
1260
+ include Google::Apis::Core::Hashable
1261
+
1262
+ # Output only. The service project identifier that the underlying cloud resource
1263
+ # resides in.
1264
+ # Corresponds to the JSON property `gcpProject`
1265
+ # @return [String]
1266
+ attr_accessor :gcp_project
1267
+
1268
+ # Output only. The location that the underlying resource resides in, for example,
1269
+ # us-west1.
1270
+ # Corresponds to the JSON property `location`
1271
+ # @return [String]
1272
+ attr_accessor :location
1273
+
1274
+ # Output only. The location that the underlying resource resides in if it is
1275
+ # zonal, for example, us-west1-a).
1276
+ # Corresponds to the JSON property `zone`
1277
+ # @return [String]
1278
+ attr_accessor :zone
1279
+
1280
+ def initialize(**args)
1281
+ update!(**args)
1282
+ end
1283
+
1284
+ # Update properties of this object
1285
+ def update!(**args)
1286
+ @gcp_project = args[:gcp_project] if args.key?(:gcp_project)
1287
+ @location = args[:location] if args.key?(:location)
1288
+ @zone = args[:zone] if args.key?(:zone)
1289
+ end
1290
+ end
1291
+
1292
+ # Reference to an underlying networking resource that can comprise a Service.
1293
+ class ServiceReference
1294
+ include Google::Apis::Core::Hashable
1295
+
1296
+ # Output only. The underlying resource URI (For example, URI of Forwarding Rule,
1297
+ # URL Map, and Backend Service).
1298
+ # Corresponds to the JSON property `uri`
1299
+ # @return [String]
1300
+ attr_accessor :uri
1301
+
1302
+ def initialize(**args)
1303
+ update!(**args)
1304
+ end
1305
+
1306
+ # Update properties of this object
1307
+ def update!(**args)
1308
+ @uri = args[:uri] if args.key?(:uri)
1309
+ end
1310
+ end
1311
+
560
1312
  # Request message for `SetIamPolicy` method.
561
1313
  class SetIamPolicyRequest
562
1314
  include Google::Apis::Core::Hashable
@@ -688,6 +1440,145 @@ module Google
688
1440
  @permissions = args[:permissions] if args.key?(:permissions)
689
1441
  end
690
1442
  end
1443
+
1444
+ # Workload is an App Hub data model that contains a discovered workload, which
1445
+ # represents a binary deployment (such as managed instance groups (MIGs) and GKE
1446
+ # deployments) that performs the smallest logical subset of business
1447
+ # functionality.
1448
+ class Workload
1449
+ include Google::Apis::Core::Hashable
1450
+
1451
+ # Consumer provided attributes.
1452
+ # Corresponds to the JSON property `attributes`
1453
+ # @return [Google::Apis::ApphubV1::Attributes]
1454
+ attr_accessor :attributes
1455
+
1456
+ # Output only. Create time.
1457
+ # Corresponds to the JSON property `createTime`
1458
+ # @return [String]
1459
+ attr_accessor :create_time
1460
+
1461
+ # Optional. User-defined description of a Workload. Can have a maximum length of
1462
+ # 2048 characters.
1463
+ # Corresponds to the JSON property `description`
1464
+ # @return [String]
1465
+ attr_accessor :description
1466
+
1467
+ # Required. Immutable. The resource name of the original discovered workload.
1468
+ # Corresponds to the JSON property `discoveredWorkload`
1469
+ # @return [String]
1470
+ attr_accessor :discovered_workload
1471
+
1472
+ # Optional. User-defined name for the Workload. Can have a maximum length of 63
1473
+ # characters.
1474
+ # Corresponds to the JSON property `displayName`
1475
+ # @return [String]
1476
+ attr_accessor :display_name
1477
+
1478
+ # Identifier. The resource name of the Workload. Format: "projects/`host-project-
1479
+ # id`/locations/`location`/applications/`application-id`/workloads/`workload-id`"
1480
+ # Corresponds to the JSON property `name`
1481
+ # @return [String]
1482
+ attr_accessor :name
1483
+
1484
+ # Output only. Workload state.
1485
+ # Corresponds to the JSON property `state`
1486
+ # @return [String]
1487
+ attr_accessor :state
1488
+
1489
+ # Output only. A universally unique identifier (UUID) for the `Workload` in the
1490
+ # UUID4 format.
1491
+ # Corresponds to the JSON property `uid`
1492
+ # @return [String]
1493
+ attr_accessor :uid
1494
+
1495
+ # Output only. Update time.
1496
+ # Corresponds to the JSON property `updateTime`
1497
+ # @return [String]
1498
+ attr_accessor :update_time
1499
+
1500
+ # Properties of an underlying compute resource represented by the Workload.
1501
+ # Corresponds to the JSON property `workloadProperties`
1502
+ # @return [Google::Apis::ApphubV1::WorkloadProperties]
1503
+ attr_accessor :workload_properties
1504
+
1505
+ # Reference of an underlying compute resource represented by the Workload.
1506
+ # Corresponds to the JSON property `workloadReference`
1507
+ # @return [Google::Apis::ApphubV1::WorkloadReference]
1508
+ attr_accessor :workload_reference
1509
+
1510
+ def initialize(**args)
1511
+ update!(**args)
1512
+ end
1513
+
1514
+ # Update properties of this object
1515
+ def update!(**args)
1516
+ @attributes = args[:attributes] if args.key?(:attributes)
1517
+ @create_time = args[:create_time] if args.key?(:create_time)
1518
+ @description = args[:description] if args.key?(:description)
1519
+ @discovered_workload = args[:discovered_workload] if args.key?(:discovered_workload)
1520
+ @display_name = args[:display_name] if args.key?(:display_name)
1521
+ @name = args[:name] if args.key?(:name)
1522
+ @state = args[:state] if args.key?(:state)
1523
+ @uid = args[:uid] if args.key?(:uid)
1524
+ @update_time = args[:update_time] if args.key?(:update_time)
1525
+ @workload_properties = args[:workload_properties] if args.key?(:workload_properties)
1526
+ @workload_reference = args[:workload_reference] if args.key?(:workload_reference)
1527
+ end
1528
+ end
1529
+
1530
+ # Properties of an underlying compute resource represented by the Workload.
1531
+ class WorkloadProperties
1532
+ include Google::Apis::Core::Hashable
1533
+
1534
+ # Output only. The service project identifier that the underlying cloud resource
1535
+ # resides in. Empty for non cloud resources.
1536
+ # Corresponds to the JSON property `gcpProject`
1537
+ # @return [String]
1538
+ attr_accessor :gcp_project
1539
+
1540
+ # Output only. The location that the underlying compute resource resides in (e.g
1541
+ # us-west1).
1542
+ # Corresponds to the JSON property `location`
1543
+ # @return [String]
1544
+ attr_accessor :location
1545
+
1546
+ # Output only. The location that the underlying compute resource resides in if
1547
+ # it is zonal (e.g us-west1-a).
1548
+ # Corresponds to the JSON property `zone`
1549
+ # @return [String]
1550
+ attr_accessor :zone
1551
+
1552
+ def initialize(**args)
1553
+ update!(**args)
1554
+ end
1555
+
1556
+ # Update properties of this object
1557
+ def update!(**args)
1558
+ @gcp_project = args[:gcp_project] if args.key?(:gcp_project)
1559
+ @location = args[:location] if args.key?(:location)
1560
+ @zone = args[:zone] if args.key?(:zone)
1561
+ end
1562
+ end
1563
+
1564
+ # Reference of an underlying compute resource represented by the Workload.
1565
+ class WorkloadReference
1566
+ include Google::Apis::Core::Hashable
1567
+
1568
+ # Output only. The underlying compute resource uri.
1569
+ # Corresponds to the JSON property `uri`
1570
+ # @return [String]
1571
+ attr_accessor :uri
1572
+
1573
+ def initialize(**args)
1574
+ update!(**args)
1575
+ end
1576
+
1577
+ # Update properties of this object
1578
+ def update!(**args)
1579
+ @uri = args[:uri] if args.key?(:uri)
1580
+ end
1581
+ end
691
1582
  end
692
1583
  end
693
1584
  end