google-apis-apphub_v1 0.3.0 → 0.5.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,72 @@ module Google
374
834
  end
375
835
  end
376
836
 
837
+ # Response for LookupDiscoveredService.
838
+ class LookupDiscoveredServiceResponse
839
+ include Google::Apis::Core::Hashable
840
+
841
+ # DiscoveredService is a network/api interface that exposes some functionality
842
+ # to clients for consumption over the network. A discovered service can be
843
+ # registered to a App Hub service.
844
+ # Corresponds to the JSON property `discoveredService`
845
+ # @return [Google::Apis::ApphubV1::DiscoveredService]
846
+ attr_accessor :discovered_service
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @discovered_service = args[:discovered_service] if args.key?(:discovered_service)
855
+ end
856
+ end
857
+
858
+ # Response for LookupDiscoveredWorkload.
859
+ class LookupDiscoveredWorkloadResponse
860
+ include Google::Apis::Core::Hashable
861
+
862
+ # DiscoveredWorkload is a binary deployment (such as managed instance groups (
863
+ # MIGs) and GKE deployments) that performs the smallest logical subset of
864
+ # business functionality. A discovered workload can be registered to an App Hub
865
+ # Workload.
866
+ # Corresponds to the JSON property `discoveredWorkload`
867
+ # @return [Google::Apis::ApphubV1::DiscoveredWorkload]
868
+ attr_accessor :discovered_workload
869
+
870
+ def initialize(**args)
871
+ update!(**args)
872
+ end
873
+
874
+ # Update properties of this object
875
+ def update!(**args)
876
+ @discovered_workload = args[:discovered_workload] if args.key?(:discovered_workload)
877
+ end
878
+ end
879
+
880
+ # Response for LookupServiceProjectAttachment.
881
+ class LookupServiceProjectAttachmentResponse
882
+ include Google::Apis::Core::Hashable
883
+
884
+ # ServiceProjectAttachment represents an attachment from a service project to a
885
+ # host project. Service projects contain the underlying cloud infrastructure
886
+ # resources, and expose these resources to the host project through a
887
+ # ServiceProjectAttachment. With the attachments, the host project can provide
888
+ # an aggregated view of resources across all service projects.
889
+ # Corresponds to the JSON property `serviceProjectAttachment`
890
+ # @return [Google::Apis::ApphubV1::ServiceProjectAttachment]
891
+ attr_accessor :service_project_attachment
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @service_project_attachment = args[:service_project_attachment] if args.key?(:service_project_attachment)
900
+ end
901
+ end
902
+
377
903
  # This resource represents a long-running operation that is the result of a
378
904
  # network API call.
379
905
  class Operation
@@ -436,6 +962,65 @@ module Google
436
962
  end
437
963
  end
438
964
 
965
+ # Represents the metadata of the long-running operation.
966
+ class OperationMetadata
967
+ include Google::Apis::Core::Hashable
968
+
969
+ # Output only. API version used to start the operation.
970
+ # Corresponds to the JSON property `apiVersion`
971
+ # @return [String]
972
+ attr_accessor :api_version
973
+
974
+ # Output only. The time the operation was created.
975
+ # Corresponds to the JSON property `createTime`
976
+ # @return [String]
977
+ attr_accessor :create_time
978
+
979
+ # Output only. The time the operation finished running.
980
+ # Corresponds to the JSON property `endTime`
981
+ # @return [String]
982
+ attr_accessor :end_time
983
+
984
+ # Output only. Identifies whether the user has requested cancellation of the
985
+ # operation. Operations that have been cancelled successfully have Operation.
986
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
987
+ # CANCELLED`.
988
+ # Corresponds to the JSON property `requestedCancellation`
989
+ # @return [Boolean]
990
+ attr_accessor :requested_cancellation
991
+ alias_method :requested_cancellation?, :requested_cancellation
992
+
993
+ # Output only. Human-readable status of the operation, if any.
994
+ # Corresponds to the JSON property `statusMessage`
995
+ # @return [String]
996
+ attr_accessor :status_message
997
+
998
+ # Output only. Server-defined resource path for the target of the operation.
999
+ # Corresponds to the JSON property `target`
1000
+ # @return [String]
1001
+ attr_accessor :target
1002
+
1003
+ # Output only. Name of the verb executed by the operation.
1004
+ # Corresponds to the JSON property `verb`
1005
+ # @return [String]
1006
+ attr_accessor :verb
1007
+
1008
+ def initialize(**args)
1009
+ update!(**args)
1010
+ end
1011
+
1012
+ # Update properties of this object
1013
+ def update!(**args)
1014
+ @api_version = args[:api_version] if args.key?(:api_version)
1015
+ @create_time = args[:create_time] if args.key?(:create_time)
1016
+ @end_time = args[:end_time] if args.key?(:end_time)
1017
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
1018
+ @status_message = args[:status_message] if args.key?(:status_message)
1019
+ @target = args[:target] if args.key?(:target)
1020
+ @verb = args[:verb] if args.key?(:verb)
1021
+ end
1022
+ end
1023
+
439
1024
  # An Identity and Access Management (IAM) policy, which specifies access
440
1025
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
441
1026
  # A `binding` binds one or more `members`, or principals, to a single `role`.
@@ -557,6 +1142,216 @@ module Google
557
1142
  end
558
1143
  end
559
1144
 
1145
+ # Scope of an application.
1146
+ class Scope
1147
+ include Google::Apis::Core::Hashable
1148
+
1149
+ # Required. Scope Type.
1150
+ # Corresponds to the JSON property `type`
1151
+ # @return [String]
1152
+ attr_accessor :type
1153
+
1154
+ def initialize(**args)
1155
+ update!(**args)
1156
+ end
1157
+
1158
+ # Update properties of this object
1159
+ def update!(**args)
1160
+ @type = args[:type] if args.key?(:type)
1161
+ end
1162
+ end
1163
+
1164
+ # Service is an App Hub data model that contains a discovered service, which
1165
+ # represents a network/api interface that exposes some functionality to clients
1166
+ # for consumption over the network.
1167
+ class Service
1168
+ include Google::Apis::Core::Hashable
1169
+
1170
+ # Consumer provided attributes.
1171
+ # Corresponds to the JSON property `attributes`
1172
+ # @return [Google::Apis::ApphubV1::Attributes]
1173
+ attr_accessor :attributes
1174
+
1175
+ # Output only. Create time.
1176
+ # Corresponds to the JSON property `createTime`
1177
+ # @return [String]
1178
+ attr_accessor :create_time
1179
+
1180
+ # Optional. User-defined description of a Service. Can have a maximum length of
1181
+ # 2048 characters.
1182
+ # Corresponds to the JSON property `description`
1183
+ # @return [String]
1184
+ attr_accessor :description
1185
+
1186
+ # Required. Immutable. The resource name of the original discovered service.
1187
+ # Corresponds to the JSON property `discoveredService`
1188
+ # @return [String]
1189
+ attr_accessor :discovered_service
1190
+
1191
+ # Optional. User-defined name for the Service. Can have a maximum length of 63
1192
+ # characters.
1193
+ # Corresponds to the JSON property `displayName`
1194
+ # @return [String]
1195
+ attr_accessor :display_name
1196
+
1197
+ # Identifier. The resource name of a Service. Format: "projects/`host-project-id`
1198
+ # /locations/`location`/applications/`application-id`/services/`service-id`"
1199
+ # Corresponds to the JSON property `name`
1200
+ # @return [String]
1201
+ attr_accessor :name
1202
+
1203
+ # Properties of an underlying cloud resource that can comprise a Service.
1204
+ # Corresponds to the JSON property `serviceProperties`
1205
+ # @return [Google::Apis::ApphubV1::ServiceProperties]
1206
+ attr_accessor :service_properties
1207
+
1208
+ # Reference to an underlying networking resource that can comprise a Service.
1209
+ # Corresponds to the JSON property `serviceReference`
1210
+ # @return [Google::Apis::ApphubV1::ServiceReference]
1211
+ attr_accessor :service_reference
1212
+
1213
+ # Output only. Service state.
1214
+ # Corresponds to the JSON property `state`
1215
+ # @return [String]
1216
+ attr_accessor :state
1217
+
1218
+ # Output only. A universally unique identifier (UUID) for the `Service` in the
1219
+ # UUID4 format.
1220
+ # Corresponds to the JSON property `uid`
1221
+ # @return [String]
1222
+ attr_accessor :uid
1223
+
1224
+ # Output only. Update time.
1225
+ # Corresponds to the JSON property `updateTime`
1226
+ # @return [String]
1227
+ attr_accessor :update_time
1228
+
1229
+ def initialize(**args)
1230
+ update!(**args)
1231
+ end
1232
+
1233
+ # Update properties of this object
1234
+ def update!(**args)
1235
+ @attributes = args[:attributes] if args.key?(:attributes)
1236
+ @create_time = args[:create_time] if args.key?(:create_time)
1237
+ @description = args[:description] if args.key?(:description)
1238
+ @discovered_service = args[:discovered_service] if args.key?(:discovered_service)
1239
+ @display_name = args[:display_name] if args.key?(:display_name)
1240
+ @name = args[:name] if args.key?(:name)
1241
+ @service_properties = args[:service_properties] if args.key?(:service_properties)
1242
+ @service_reference = args[:service_reference] if args.key?(:service_reference)
1243
+ @state = args[:state] if args.key?(:state)
1244
+ @uid = args[:uid] if args.key?(:uid)
1245
+ @update_time = args[:update_time] if args.key?(:update_time)
1246
+ end
1247
+ end
1248
+
1249
+ # ServiceProjectAttachment represents an attachment from a service project to a
1250
+ # host project. Service projects contain the underlying cloud infrastructure
1251
+ # resources, and expose these resources to the host project through a
1252
+ # ServiceProjectAttachment. With the attachments, the host project can provide
1253
+ # an aggregated view of resources across all service projects.
1254
+ class ServiceProjectAttachment
1255
+ include Google::Apis::Core::Hashable
1256
+
1257
+ # Output only. Create time.
1258
+ # Corresponds to the JSON property `createTime`
1259
+ # @return [String]
1260
+ attr_accessor :create_time
1261
+
1262
+ # Identifier. The resource name of a ServiceProjectAttachment. Format: "projects/
1263
+ # `host-project-id`/locations/global/serviceProjectAttachments/`service-project-
1264
+ # id`."
1265
+ # Corresponds to the JSON property `name`
1266
+ # @return [String]
1267
+ attr_accessor :name
1268
+
1269
+ # Required. Immutable. Service project name in the format: "projects/abc" or "
1270
+ # projects/123". As input, project name with either project id or number are
1271
+ # accepted. As output, this field will contain project number.
1272
+ # Corresponds to the JSON property `serviceProject`
1273
+ # @return [String]
1274
+ attr_accessor :service_project
1275
+
1276
+ # Output only. ServiceProjectAttachment state.
1277
+ # Corresponds to the JSON property `state`
1278
+ # @return [String]
1279
+ attr_accessor :state
1280
+
1281
+ # Output only. A globally unique identifier (in UUID4 format) for the `
1282
+ # ServiceProjectAttachment`.
1283
+ # Corresponds to the JSON property `uid`
1284
+ # @return [String]
1285
+ attr_accessor :uid
1286
+
1287
+ def initialize(**args)
1288
+ update!(**args)
1289
+ end
1290
+
1291
+ # Update properties of this object
1292
+ def update!(**args)
1293
+ @create_time = args[:create_time] if args.key?(:create_time)
1294
+ @name = args[:name] if args.key?(:name)
1295
+ @service_project = args[:service_project] if args.key?(:service_project)
1296
+ @state = args[:state] if args.key?(:state)
1297
+ @uid = args[:uid] if args.key?(:uid)
1298
+ end
1299
+ end
1300
+
1301
+ # Properties of an underlying cloud resource that can comprise a Service.
1302
+ class ServiceProperties
1303
+ include Google::Apis::Core::Hashable
1304
+
1305
+ # Output only. The service project identifier that the underlying cloud resource
1306
+ # resides in.
1307
+ # Corresponds to the JSON property `gcpProject`
1308
+ # @return [String]
1309
+ attr_accessor :gcp_project
1310
+
1311
+ # Output only. The location that the underlying resource resides in, for example,
1312
+ # us-west1.
1313
+ # Corresponds to the JSON property `location`
1314
+ # @return [String]
1315
+ attr_accessor :location
1316
+
1317
+ # Output only. The location that the underlying resource resides in if it is
1318
+ # zonal, for example, us-west1-a).
1319
+ # Corresponds to the JSON property `zone`
1320
+ # @return [String]
1321
+ attr_accessor :zone
1322
+
1323
+ def initialize(**args)
1324
+ update!(**args)
1325
+ end
1326
+
1327
+ # Update properties of this object
1328
+ def update!(**args)
1329
+ @gcp_project = args[:gcp_project] if args.key?(:gcp_project)
1330
+ @location = args[:location] if args.key?(:location)
1331
+ @zone = args[:zone] if args.key?(:zone)
1332
+ end
1333
+ end
1334
+
1335
+ # Reference to an underlying networking resource that can comprise a Service.
1336
+ class ServiceReference
1337
+ include Google::Apis::Core::Hashable
1338
+
1339
+ # Output only. The underlying resource URI (For example, URI of Forwarding Rule,
1340
+ # URL Map, and Backend Service).
1341
+ # Corresponds to the JSON property `uri`
1342
+ # @return [String]
1343
+ attr_accessor :uri
1344
+
1345
+ def initialize(**args)
1346
+ update!(**args)
1347
+ end
1348
+
1349
+ # Update properties of this object
1350
+ def update!(**args)
1351
+ @uri = args[:uri] if args.key?(:uri)
1352
+ end
1353
+ end
1354
+
560
1355
  # Request message for `SetIamPolicy` method.
561
1356
  class SetIamPolicyRequest
562
1357
  include Google::Apis::Core::Hashable
@@ -688,6 +1483,145 @@ module Google
688
1483
  @permissions = args[:permissions] if args.key?(:permissions)
689
1484
  end
690
1485
  end
1486
+
1487
+ # Workload is an App Hub data model that contains a discovered workload, which
1488
+ # represents a binary deployment (such as managed instance groups (MIGs) and GKE
1489
+ # deployments) that performs the smallest logical subset of business
1490
+ # functionality.
1491
+ class Workload
1492
+ include Google::Apis::Core::Hashable
1493
+
1494
+ # Consumer provided attributes.
1495
+ # Corresponds to the JSON property `attributes`
1496
+ # @return [Google::Apis::ApphubV1::Attributes]
1497
+ attr_accessor :attributes
1498
+
1499
+ # Output only. Create time.
1500
+ # Corresponds to the JSON property `createTime`
1501
+ # @return [String]
1502
+ attr_accessor :create_time
1503
+
1504
+ # Optional. User-defined description of a Workload. Can have a maximum length of
1505
+ # 2048 characters.
1506
+ # Corresponds to the JSON property `description`
1507
+ # @return [String]
1508
+ attr_accessor :description
1509
+
1510
+ # Required. Immutable. The resource name of the original discovered workload.
1511
+ # Corresponds to the JSON property `discoveredWorkload`
1512
+ # @return [String]
1513
+ attr_accessor :discovered_workload
1514
+
1515
+ # Optional. User-defined name for the Workload. Can have a maximum length of 63
1516
+ # characters.
1517
+ # Corresponds to the JSON property `displayName`
1518
+ # @return [String]
1519
+ attr_accessor :display_name
1520
+
1521
+ # Identifier. The resource name of the Workload. Format: "projects/`host-project-
1522
+ # id`/locations/`location`/applications/`application-id`/workloads/`workload-id`"
1523
+ # Corresponds to the JSON property `name`
1524
+ # @return [String]
1525
+ attr_accessor :name
1526
+
1527
+ # Output only. Workload state.
1528
+ # Corresponds to the JSON property `state`
1529
+ # @return [String]
1530
+ attr_accessor :state
1531
+
1532
+ # Output only. A universally unique identifier (UUID) for the `Workload` in the
1533
+ # UUID4 format.
1534
+ # Corresponds to the JSON property `uid`
1535
+ # @return [String]
1536
+ attr_accessor :uid
1537
+
1538
+ # Output only. Update time.
1539
+ # Corresponds to the JSON property `updateTime`
1540
+ # @return [String]
1541
+ attr_accessor :update_time
1542
+
1543
+ # Properties of an underlying compute resource represented by the Workload.
1544
+ # Corresponds to the JSON property `workloadProperties`
1545
+ # @return [Google::Apis::ApphubV1::WorkloadProperties]
1546
+ attr_accessor :workload_properties
1547
+
1548
+ # Reference of an underlying compute resource represented by the Workload.
1549
+ # Corresponds to the JSON property `workloadReference`
1550
+ # @return [Google::Apis::ApphubV1::WorkloadReference]
1551
+ attr_accessor :workload_reference
1552
+
1553
+ def initialize(**args)
1554
+ update!(**args)
1555
+ end
1556
+
1557
+ # Update properties of this object
1558
+ def update!(**args)
1559
+ @attributes = args[:attributes] if args.key?(:attributes)
1560
+ @create_time = args[:create_time] if args.key?(:create_time)
1561
+ @description = args[:description] if args.key?(:description)
1562
+ @discovered_workload = args[:discovered_workload] if args.key?(:discovered_workload)
1563
+ @display_name = args[:display_name] if args.key?(:display_name)
1564
+ @name = args[:name] if args.key?(:name)
1565
+ @state = args[:state] if args.key?(:state)
1566
+ @uid = args[:uid] if args.key?(:uid)
1567
+ @update_time = args[:update_time] if args.key?(:update_time)
1568
+ @workload_properties = args[:workload_properties] if args.key?(:workload_properties)
1569
+ @workload_reference = args[:workload_reference] if args.key?(:workload_reference)
1570
+ end
1571
+ end
1572
+
1573
+ # Properties of an underlying compute resource represented by the Workload.
1574
+ class WorkloadProperties
1575
+ include Google::Apis::Core::Hashable
1576
+
1577
+ # Output only. The service project identifier that the underlying cloud resource
1578
+ # resides in. Empty for non cloud resources.
1579
+ # Corresponds to the JSON property `gcpProject`
1580
+ # @return [String]
1581
+ attr_accessor :gcp_project
1582
+
1583
+ # Output only. The location that the underlying compute resource resides in (e.g
1584
+ # us-west1).
1585
+ # Corresponds to the JSON property `location`
1586
+ # @return [String]
1587
+ attr_accessor :location
1588
+
1589
+ # Output only. The location that the underlying compute resource resides in if
1590
+ # it is zonal (e.g us-west1-a).
1591
+ # Corresponds to the JSON property `zone`
1592
+ # @return [String]
1593
+ attr_accessor :zone
1594
+
1595
+ def initialize(**args)
1596
+ update!(**args)
1597
+ end
1598
+
1599
+ # Update properties of this object
1600
+ def update!(**args)
1601
+ @gcp_project = args[:gcp_project] if args.key?(:gcp_project)
1602
+ @location = args[:location] if args.key?(:location)
1603
+ @zone = args[:zone] if args.key?(:zone)
1604
+ end
1605
+ end
1606
+
1607
+ # Reference of an underlying compute resource represented by the Workload.
1608
+ class WorkloadReference
1609
+ include Google::Apis::Core::Hashable
1610
+
1611
+ # Output only. The underlying compute resource uri.
1612
+ # Corresponds to the JSON property `uri`
1613
+ # @return [String]
1614
+ attr_accessor :uri
1615
+
1616
+ def initialize(**args)
1617
+ update!(**args)
1618
+ end
1619
+
1620
+ # Update properties of this object
1621
+ def update!(**args)
1622
+ @uri = args[:uri] if args.key?(:uri)
1623
+ end
1624
+ end
691
1625
  end
692
1626
  end
693
1627
  end