google-apis-apphub_v1 0.3.0 → 0.4.0

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