google-apis-serviceusage_v1 0.28.0 → 0.68.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,46 @@ module Google
22
22
  module Apis
23
23
  module ServiceusageV1
24
24
 
25
+ # Metadata for the `AddEnableRules` method.
26
+ class AddEnableRulesMetadata
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # The response message of `AddEnableRules` method.
39
+ class AddEnableRulesResponse
40
+ include Google::Apis::Core::Hashable
41
+
42
+ # The values added to the parent consumer policy.
43
+ # Corresponds to the JSON property `addedValues`
44
+ # @return [Array<String>]
45
+ attr_accessor :added_values
46
+
47
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
48
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
49
+ # consumerPolicies/default`.
50
+ # Corresponds to the JSON property `parent`
51
+ # @return [String]
52
+ attr_accessor :parent
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @added_values = args[:added_values] if args.key?(:added_values)
61
+ @parent = args[:parent] if args.key?(:parent)
62
+ end
63
+ end
64
+
25
65
  # Quota policy created by quota administrator.
26
66
  class AdminQuotaPolicy
27
67
  include Google::Apis::Core::Hashable
@@ -33,7 +73,7 @@ module Google
33
73
  attr_accessor :container
34
74
 
35
75
  # If this map is nonempty, then this policy applies only to specific values for
36
- # dimensions defined in the limit unit. For example, an policy on a limit with
76
+ # dimensions defined in the limit unit. For example, a policy on a limit with
37
77
  # the unit `1/`project`/`region`` could contain an entry with the key `region`
38
78
  # and the value `us-east-1`; the policy is only applied to quota consumed in
39
79
  # that region. This map has the following restrictions: * If `region` appears as
@@ -87,6 +127,106 @@ module Google
87
127
  end
88
128
  end
89
129
 
130
+ # A message to group the analysis information.
131
+ class Analysis
132
+ include Google::Apis::Core::Hashable
133
+
134
+ # An analysis result including blockers and warnings.
135
+ # Corresponds to the JSON property `analysis`
136
+ # @return [Google::Apis::ServiceusageV1::AnalysisResult]
137
+ attr_accessor :analysis
138
+
139
+ # Output only. The type of analysis.
140
+ # Corresponds to the JSON property `analysisType`
141
+ # @return [String]
142
+ attr_accessor :analysis_type
143
+
144
+ # Output only. The user friendly display name of the analysis type. E.g. service
145
+ # dependency analysis, service resource usage analysis, etc.
146
+ # Corresponds to the JSON property `displayName`
147
+ # @return [String]
148
+ attr_accessor :display_name
149
+
150
+ # The names of the service that has analysis result of warnings or blockers.
151
+ # Example: `services/storage.googleapis.com`.
152
+ # Corresponds to the JSON property `service`
153
+ # @return [String]
154
+ attr_accessor :service
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @analysis = args[:analysis] if args.key?(:analysis)
163
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
164
+ @display_name = args[:display_name] if args.key?(:display_name)
165
+ @service = args[:service] if args.key?(:service)
166
+ end
167
+ end
168
+
169
+ # An analysis result including blockers and warnings.
170
+ class AnalysisResult
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # Blocking information that would prevent the policy changes at runtime.
174
+ # Corresponds to the JSON property `blockers`
175
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
176
+ attr_accessor :blockers
177
+
178
+ # Warning information indicating that the policy changes might be unsafe, but
179
+ # will not block the changes at runtime.
180
+ # Corresponds to the JSON property `warnings`
181
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
182
+ attr_accessor :warnings
183
+
184
+ def initialize(**args)
185
+ update!(**args)
186
+ end
187
+
188
+ # Update properties of this object
189
+ def update!(**args)
190
+ @blockers = args[:blockers] if args.key?(:blockers)
191
+ @warnings = args[:warnings] if args.key?(:warnings)
192
+ end
193
+ end
194
+
195
+ # Metadata for the `AnalyzeConsumerPolicy` method.
196
+ class AnalyzeConsumerPolicyMetadata
197
+ include Google::Apis::Core::Hashable
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ end
206
+ end
207
+
208
+ # The response of analyzing a consumer policy update.
209
+ class AnalyzeConsumerPolicyResponse
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # The list of analyses returned from performing the intended policy update
213
+ # analysis. The analysis is grouped by service name and different analysis types.
214
+ # The empty analysis list means that the consumer policy can be updated without
215
+ # any warnings or blockers.
216
+ # Corresponds to the JSON property `analysis`
217
+ # @return [Array<Google::Apis::ServiceusageV1::Analysis>]
218
+ attr_accessor :analysis
219
+
220
+ def initialize(**args)
221
+ update!(**args)
222
+ end
223
+
224
+ # Update properties of this object
225
+ def update!(**args)
226
+ @analysis = args[:analysis] if args.key?(:analysis)
227
+ end
228
+ end
229
+
90
230
  # Api is a light-weight descriptor for an API Interface. Interfaces are also
91
231
  # described as "protocol buffer services" in some contexts, such as by the "
92
232
  # service" keyword in a .proto file, but they are different from API Services,
@@ -162,6 +302,33 @@ module Google
162
302
  end
163
303
  end
164
304
 
305
+ # Aspect represents Generic aspect. It is used to configure an aspect without
306
+ # making direct changes to service.proto
307
+ class Aspect
308
+ include Google::Apis::Core::Hashable
309
+
310
+ # The type of this aspect configuration.
311
+ # Corresponds to the JSON property `kind`
312
+ # @return [String]
313
+ attr_accessor :kind
314
+
315
+ # Content of the configuration. The underlying schema should be defined by
316
+ # Aspect owners as protobuf message under `google/api/configaspects/proto`.
317
+ # Corresponds to the JSON property `spec`
318
+ # @return [Hash<String,Object>]
319
+ attr_accessor :spec
320
+
321
+ def initialize(**args)
322
+ update!(**args)
323
+ end
324
+
325
+ # Update properties of this object
326
+ def update!(**args)
327
+ @kind = args[:kind] if args.key?(:kind)
328
+ @spec = args[:spec] if args.key?(:spec)
329
+ end
330
+ end
331
+
165
332
  # Configuration for an authentication provider, including support for [JSON Web
166
333
  # Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
167
334
  class AuthProvider
@@ -419,6 +586,14 @@ module Google
419
586
  # @return [String]
420
587
  attr_accessor :jwt_audience
421
588
 
589
+ # The load balancing policy used for connection to the application backend.
590
+ # Defined as an arbitrary string to accomondate custom load balancing policies
591
+ # supported by the underlying channel, but suggest most users use one of the
592
+ # standard policies, such as the default, "RoundRobin".
593
+ # Corresponds to the JSON property `loadBalancingPolicy`
594
+ # @return [String]
595
+ attr_accessor :load_balancing_policy
596
+
422
597
  # Deprecated, do not use.
423
598
  # Corresponds to the JSON property `minDeadline`
424
599
  # @return [Float]
@@ -430,6 +605,11 @@ module Google
430
605
  # @return [Float]
431
606
  attr_accessor :operation_deadline
432
607
 
608
+ # The map between request protocol and the backend address.
609
+ # Corresponds to the JSON property `overridesByRequestProtocol`
610
+ # @return [Hash<String,Google::Apis::ServiceusageV1::BackendRule>]
611
+ attr_accessor :overrides_by_request_protocol
612
+
433
613
  #
434
614
  # Corresponds to the JSON property `pathTranslation`
435
615
  # @return [String]
@@ -464,8 +644,10 @@ module Google
464
644
  @deadline = args[:deadline] if args.key?(:deadline)
465
645
  @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
466
646
  @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
647
+ @load_balancing_policy = args[:load_balancing_policy] if args.key?(:load_balancing_policy)
467
648
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
468
649
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
650
+ @overrides_by_request_protocol = args[:overrides_by_request_protocol] if args.key?(:overrides_by_request_protocol)
469
651
  @path_translation = args[:path_translation] if args.key?(:path_translation)
470
652
  @protocol = args[:protocol] if args.key?(:protocol)
471
653
  @selector = args[:selector] if args.key?(:selector)
@@ -580,6 +762,140 @@ module Google
580
762
  end
581
763
  end
582
764
 
765
+ # `BatchingConfigProto` defines the batching configuration for an API method.
766
+ class BatchingConfigProto
767
+ include Google::Apis::Core::Hashable
768
+
769
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
770
+ # used for batching, and, optionally, the fields of the response message to be
771
+ # used for demultiplexing.
772
+ # Corresponds to the JSON property `batchDescriptor`
773
+ # @return [Google::Apis::ServiceusageV1::BatchingDescriptorProto]
774
+ attr_accessor :batch_descriptor
775
+
776
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
777
+ # acts as a trigger to send a batch of messages as a request. At least one
778
+ # threshold must be positive nonzero.
779
+ # Corresponds to the JSON property `thresholds`
780
+ # @return [Google::Apis::ServiceusageV1::BatchingSettingsProto]
781
+ attr_accessor :thresholds
782
+
783
+ def initialize(**args)
784
+ update!(**args)
785
+ end
786
+
787
+ # Update properties of this object
788
+ def update!(**args)
789
+ @batch_descriptor = args[:batch_descriptor] if args.key?(:batch_descriptor)
790
+ @thresholds = args[:thresholds] if args.key?(:thresholds)
791
+ end
792
+ end
793
+
794
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
795
+ # used for batching, and, optionally, the fields of the response message to be
796
+ # used for demultiplexing.
797
+ class BatchingDescriptorProto
798
+ include Google::Apis::Core::Hashable
799
+
800
+ # The repeated field in the request message to be aggregated by batching.
801
+ # Corresponds to the JSON property `batchedField`
802
+ # @return [String]
803
+ attr_accessor :batched_field
804
+
805
+ # A list of the fields in the request message. Two requests will be batched
806
+ # together only if the values of every field specified in `
807
+ # request_discriminator_fields` is equal between the two requests.
808
+ # Corresponds to the JSON property `discriminatorFields`
809
+ # @return [Array<String>]
810
+ attr_accessor :discriminator_fields
811
+
812
+ # Optional. When present, indicates the field in the response message to be used
813
+ # to demultiplex the response into multiple response messages, in correspondence
814
+ # with the multiple request messages originally batched together.
815
+ # Corresponds to the JSON property `subresponseField`
816
+ # @return [String]
817
+ attr_accessor :subresponse_field
818
+
819
+ def initialize(**args)
820
+ update!(**args)
821
+ end
822
+
823
+ # Update properties of this object
824
+ def update!(**args)
825
+ @batched_field = args[:batched_field] if args.key?(:batched_field)
826
+ @discriminator_fields = args[:discriminator_fields] if args.key?(:discriminator_fields)
827
+ @subresponse_field = args[:subresponse_field] if args.key?(:subresponse_field)
828
+ end
829
+ end
830
+
831
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
832
+ # acts as a trigger to send a batch of messages as a request. At least one
833
+ # threshold must be positive nonzero.
834
+ class BatchingSettingsProto
835
+ include Google::Apis::Core::Hashable
836
+
837
+ # The duration after which a batch should be sent, starting from the addition of
838
+ # the first message to that batch.
839
+ # Corresponds to the JSON property `delayThreshold`
840
+ # @return [String]
841
+ attr_accessor :delay_threshold
842
+
843
+ # The maximum number of elements collected in a batch that could be accepted by
844
+ # server.
845
+ # Corresponds to the JSON property `elementCountLimit`
846
+ # @return [Fixnum]
847
+ attr_accessor :element_count_limit
848
+
849
+ # The number of elements of a field collected into a batch which, if exceeded,
850
+ # causes the batch to be sent.
851
+ # Corresponds to the JSON property `elementCountThreshold`
852
+ # @return [Fixnum]
853
+ attr_accessor :element_count_threshold
854
+
855
+ # The maximum size of data allowed by flow control.
856
+ # Corresponds to the JSON property `flowControlByteLimit`
857
+ # @return [Fixnum]
858
+ attr_accessor :flow_control_byte_limit
859
+
860
+ # The maximum number of elements allowed by flow control.
861
+ # Corresponds to the JSON property `flowControlElementLimit`
862
+ # @return [Fixnum]
863
+ attr_accessor :flow_control_element_limit
864
+
865
+ # The behavior to take when the flow control limit is exceeded.
866
+ # Corresponds to the JSON property `flowControlLimitExceededBehavior`
867
+ # @return [String]
868
+ attr_accessor :flow_control_limit_exceeded_behavior
869
+
870
+ # The maximum size of the request that could be accepted by server.
871
+ # Corresponds to the JSON property `requestByteLimit`
872
+ # @return [Fixnum]
873
+ attr_accessor :request_byte_limit
874
+
875
+ # The aggregated size of the batched field which, if exceeded, causes the batch
876
+ # to be sent. This size is computed by aggregating the sizes of the request
877
+ # field to be batched, not of the entire request message.
878
+ # Corresponds to the JSON property `requestByteThreshold`
879
+ # @return [Fixnum]
880
+ attr_accessor :request_byte_threshold
881
+
882
+ def initialize(**args)
883
+ update!(**args)
884
+ end
885
+
886
+ # Update properties of this object
887
+ def update!(**args)
888
+ @delay_threshold = args[:delay_threshold] if args.key?(:delay_threshold)
889
+ @element_count_limit = args[:element_count_limit] if args.key?(:element_count_limit)
890
+ @element_count_threshold = args[:element_count_threshold] if args.key?(:element_count_threshold)
891
+ @flow_control_byte_limit = args[:flow_control_byte_limit] if args.key?(:flow_control_byte_limit)
892
+ @flow_control_element_limit = args[:flow_control_element_limit] if args.key?(:flow_control_element_limit)
893
+ @flow_control_limit_exceeded_behavior = args[:flow_control_limit_exceeded_behavior] if args.key?(:flow_control_limit_exceeded_behavior)
894
+ @request_byte_limit = args[:request_byte_limit] if args.key?(:request_byte_limit)
895
+ @request_byte_threshold = args[:request_byte_threshold] if args.key?(:request_byte_threshold)
896
+ end
897
+ end
898
+
583
899
  # Billing related configuration of the service. The following example shows how
584
900
  # to configure monitored resources and metrics for billing, `
585
901
  # consumer_destinations` is the only supported destination and the monitored
@@ -713,7 +1029,9 @@ module Google
713
1029
  # @return [Google::Apis::ServiceusageV1::RubySettings]
714
1030
  attr_accessor :ruby_settings
715
1031
 
716
- # Version of the API to apply these settings to.
1032
+ # Version of the API to apply these settings to. This is the full protobuf
1033
+ # package for the API, ending in the version element. Examples: "google.cloud.
1034
+ # speech.v1" and "google.spanner.admin.database.v1".
717
1035
  # Corresponds to the JSON property `version`
718
1036
  # @return [String]
719
1037
  attr_accessor :version
@@ -753,6 +1071,12 @@ module Google
753
1071
  # @return [String]
754
1072
  attr_accessor :reference_docs_uri
755
1073
 
1074
+ # This message is used to configure the generation of a subset of the RPCs in a
1075
+ # service for client libraries.
1076
+ # Corresponds to the JSON property `selectiveGapicGeneration`
1077
+ # @return [Google::Apis::ServiceusageV1::SelectiveGapicGeneration]
1078
+ attr_accessor :selective_gapic_generation
1079
+
756
1080
  def initialize(**args)
757
1081
  update!(**args)
758
1082
  end
@@ -761,6 +1085,58 @@ module Google
761
1085
  def update!(**args)
762
1086
  @destinations = args[:destinations] if args.key?(:destinations)
763
1087
  @reference_docs_uri = args[:reference_docs_uri] if args.key?(:reference_docs_uri)
1088
+ @selective_gapic_generation = args[:selective_gapic_generation] if args.key?(:selective_gapic_generation)
1089
+ end
1090
+ end
1091
+
1092
+ # Consumer Policy is a set of rules that define what services or service groups
1093
+ # can be used for a cloud resource hierarchy.
1094
+ class ConsumerPolicy
1095
+ include Google::Apis::Core::Hashable
1096
+
1097
+ # Optional. Annotations is an unstructured key-value map stored with a policy
1098
+ # that may be set by external tools to store and retrieve arbitrary metadata.
1099
+ # They are not queryable and should be preserved when modifying objects. [AIP-
1100
+ # 128](https://google.aip.dev/128#annotations)
1101
+ # Corresponds to the JSON property `annotations`
1102
+ # @return [Hash<String,String>]
1103
+ attr_accessor :annotations
1104
+
1105
+ # Enable rules define usable services and service groups.
1106
+ # Corresponds to the JSON property `enableRules`
1107
+ # @return [Array<Google::Apis::ServiceusageV1::EnableRule>]
1108
+ attr_accessor :enable_rules
1109
+
1110
+ # An opaque tag indicating the current version of the policy, used for
1111
+ # concurrency control.
1112
+ # Corresponds to the JSON property `etag`
1113
+ # @return [String]
1114
+ attr_accessor :etag
1115
+
1116
+ # Output only. The resource name of the policy. We only allow consumer policy
1117
+ # name as `default` for now: `projects/12345/consumerPolicies/default`, `folders/
1118
+ # 12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`
1119
+ # .
1120
+ # Corresponds to the JSON property `name`
1121
+ # @return [String]
1122
+ attr_accessor :name
1123
+
1124
+ # The last-modified time.
1125
+ # Corresponds to the JSON property `updateTime`
1126
+ # @return [String]
1127
+ attr_accessor :update_time
1128
+
1129
+ def initialize(**args)
1130
+ update!(**args)
1131
+ end
1132
+
1133
+ # Update properties of this object
1134
+ def update!(**args)
1135
+ @annotations = args[:annotations] if args.key?(:annotations)
1136
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
1137
+ @etag = args[:etag] if args.key?(:etag)
1138
+ @name = args[:name] if args.key?(:name)
1139
+ @update_time = args[:update_time] if args.key?(:update_time)
764
1140
  end
765
1141
  end
766
1142
 
@@ -813,12 +1189,14 @@ module Google
813
1189
  # @return [Array<String>]
814
1190
  attr_accessor :allowed_response_extensions
815
1191
 
816
- # A list of full type names of provided contexts.
1192
+ # A list of full type names of provided contexts. It is used to support
1193
+ # propagating HTTP headers and ETags from the response extension.
817
1194
  # Corresponds to the JSON property `provided`
818
1195
  # @return [Array<String>]
819
1196
  attr_accessor :provided
820
1197
 
821
- # A list of full type names of requested contexts.
1198
+ # A list of full type names of requested contexts, only the requested context
1199
+ # will be made available to the backend.
822
1200
  # Corresponds to the JSON property `requested`
823
1201
  # @return [Array<String>]
824
1202
  attr_accessor :requested
@@ -855,6 +1233,11 @@ module Google
855
1233
  # @return [String]
856
1234
  attr_accessor :environment
857
1235
 
1236
+ # Defines policies applying to the API methods of the service.
1237
+ # Corresponds to the JSON property `methodPolicies`
1238
+ # @return [Array<Google::Apis::ServiceusageV1::MethodPolicy>]
1239
+ attr_accessor :method_policies
1240
+
858
1241
  def initialize(**args)
859
1242
  update!(**args)
860
1243
  end
@@ -862,6 +1245,7 @@ module Google
862
1245
  # Update properties of this object
863
1246
  def update!(**args)
864
1247
  @environment = args[:environment] if args.key?(:environment)
1248
+ @method_policies = args[:method_policies] if args.key?(:method_policies)
865
1249
  end
866
1250
  end
867
1251
 
@@ -1050,7 +1434,7 @@ module Google
1050
1434
  # documentation: summary: > The Google Calendar API gives access to most
1051
1435
  # calendar features. pages: - name: Overview content: (== include google/foo/
1052
1436
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1053
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
1437
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1054
1438
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1055
1439
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1056
1440
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1075,6 +1459,12 @@ module Google
1075
1459
  class Documentation
1076
1460
  include Google::Apis::Core::Hashable
1077
1461
 
1462
+ # Optional information about the IAM configuration. This is typically used to
1463
+ # link to documentation about a product's IAM roles and permissions.
1464
+ # Corresponds to the JSON property `additionalIamInfo`
1465
+ # @return [String]
1466
+ attr_accessor :additional_iam_info
1467
+
1078
1468
  # The URL to the root of documentation.
1079
1469
  # Corresponds to the JSON property `documentationRootUrl`
1080
1470
  # @return [String]
@@ -1100,6 +1490,12 @@ module Google
1100
1490
  # @return [Array<Google::Apis::ServiceusageV1::DocumentationRule>]
1101
1491
  attr_accessor :rules
1102
1492
 
1493
+ # Specifies section and content to override the boilerplate content. Currently
1494
+ # overrides following sections: 1. rest.service.client_libraries
1495
+ # Corresponds to the JSON property `sectionOverrides`
1496
+ # @return [Array<Google::Apis::ServiceusageV1::Page>]
1497
+ attr_accessor :section_overrides
1498
+
1103
1499
  # Specifies the service root url if the default one (the service name from the
1104
1500
  # yaml file) is not suitable. This can be seen in any fully specified service
1105
1501
  # urls as well as sections that show a base that other urls are relative to.
@@ -1120,10 +1516,12 @@ module Google
1120
1516
 
1121
1517
  # Update properties of this object
1122
1518
  def update!(**args)
1519
+ @additional_iam_info = args[:additional_iam_info] if args.key?(:additional_iam_info)
1123
1520
  @documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
1124
1521
  @overview = args[:overview] if args.key?(:overview)
1125
1522
  @pages = args[:pages] if args.key?(:pages)
1126
1523
  @rules = args[:rules] if args.key?(:rules)
1524
+ @section_overrides = args[:section_overrides] if args.key?(:section_overrides)
1127
1525
  @service_root_url = args[:service_root_url] if args.key?(:service_root_url)
1128
1526
  @summary = args[:summary] if args.key?(:summary)
1129
1527
  end
@@ -1146,6 +1544,12 @@ module Google
1146
1544
  # @return [String]
1147
1545
  attr_accessor :description
1148
1546
 
1547
+ # String of comma or space separated case-sensitive words for which method/field
1548
+ # name replacement will be disabled.
1549
+ # Corresponds to the JSON property `disableReplacementWords`
1550
+ # @return [String]
1551
+ attr_accessor :disable_replacement_words
1552
+
1149
1553
  # The selector is a comma-separated list of patterns for any element such as a
1150
1554
  # method, a field, an enum value. Each pattern is a qualified name of the
1151
1555
  # element which may end in "*", indicating a wildcard. Wildcards are only
@@ -1165,6 +1569,7 @@ module Google
1165
1569
  def update!(**args)
1166
1570
  @deprecation_description = args[:deprecation_description] if args.key?(:deprecation_description)
1167
1571
  @description = args[:description] if args.key?(:description)
1572
+ @disable_replacement_words = args[:disable_replacement_words] if args.key?(:disable_replacement_words)
1168
1573
  @selector = args[:selector] if args.key?(:selector)
1169
1574
  end
1170
1575
  end
@@ -1178,6 +1583,42 @@ module Google
1178
1583
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1179
1584
  attr_accessor :common
1180
1585
 
1586
+ # Namespaces which must be aliased in snippets due to a known (but non-generator-
1587
+ # predictable) naming collision
1588
+ # Corresponds to the JSON property `forcedNamespaceAliases`
1589
+ # @return [Array<String>]
1590
+ attr_accessor :forced_namespace_aliases
1591
+
1592
+ # Method signatures (in the form "service.method(signature)") which are provided
1593
+ # separately, so shouldn't be generated. Snippets *calling* these methods are
1594
+ # still generated, however.
1595
+ # Corresponds to the JSON property `handwrittenSignatures`
1596
+ # @return [Array<String>]
1597
+ attr_accessor :handwritten_signatures
1598
+
1599
+ # List of full resource types to ignore during generation. This is typically
1600
+ # used for API-specific Location resources, which should be handled by the
1601
+ # generator as if they were actually the common Location resources. Example
1602
+ # entry: "documentai.googleapis.com/Location"
1603
+ # Corresponds to the JSON property `ignoredResources`
1604
+ # @return [Array<String>]
1605
+ attr_accessor :ignored_resources
1606
+
1607
+ # Map from full resource types to the effective short name for the resource.
1608
+ # This is used when otherwise resource named from different services would cause
1609
+ # naming collisions. Example entry: "datalabeling.googleapis.com/Dataset": "
1610
+ # DataLabelingDataset"
1611
+ # Corresponds to the JSON property `renamedResources`
1612
+ # @return [Hash<String,String>]
1613
+ attr_accessor :renamed_resources
1614
+
1615
+ # Map from original service names to renamed versions. This is used when the
1616
+ # default generated types would cause a naming conflict. (Neither name is fully-
1617
+ # qualified.) Example: Subscriber to SubscriberServiceApi.
1618
+ # Corresponds to the JSON property `renamedServices`
1619
+ # @return [Hash<String,String>]
1620
+ attr_accessor :renamed_services
1621
+
1181
1622
  def initialize(**args)
1182
1623
  update!(**args)
1183
1624
  end
@@ -1185,6 +1626,11 @@ module Google
1185
1626
  # Update properties of this object
1186
1627
  def update!(**args)
1187
1628
  @common = args[:common] if args.key?(:common)
1629
+ @forced_namespace_aliases = args[:forced_namespace_aliases] if args.key?(:forced_namespace_aliases)
1630
+ @handwritten_signatures = args[:handwritten_signatures] if args.key?(:handwritten_signatures)
1631
+ @ignored_resources = args[:ignored_resources] if args.key?(:ignored_resources)
1632
+ @renamed_resources = args[:renamed_resources] if args.key?(:renamed_resources)
1633
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1188
1634
  end
1189
1635
  end
1190
1636
 
@@ -1229,6 +1675,48 @@ module Google
1229
1675
  end
1230
1676
  end
1231
1677
 
1678
+ # The consumer policy rule that defines usable services and service groups.
1679
+ class EnableRule
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # Client and resource project enable type.
1683
+ # Corresponds to the JSON property `enableType`
1684
+ # @return [String]
1685
+ attr_accessor :enable_type
1686
+
1687
+ # DEPRECATED: Please use field `values`. Service group should have prefix `
1688
+ # groups/`. The names of the service groups that are enabled (Not Implemented).
1689
+ # Example: `groups/googleServices`.
1690
+ # Corresponds to the JSON property `groups`
1691
+ # @return [Array<String>]
1692
+ attr_accessor :groups
1693
+
1694
+ # DEPRECATED: Please use field `values`. Service should have prefix `services/`.
1695
+ # The names of the services that are enabled. Example: `storage.googleapis.com`.
1696
+ # Corresponds to the JSON property `services`
1697
+ # @return [Array<String>]
1698
+ attr_accessor :services
1699
+
1700
+ # The names of the services or service groups that are enabled. Example: `
1701
+ # services/storage.googleapis.com`, `groups/googleServices`, `groups/allServices`
1702
+ # .
1703
+ # Corresponds to the JSON property `values`
1704
+ # @return [Array<String>]
1705
+ attr_accessor :values
1706
+
1707
+ def initialize(**args)
1708
+ update!(**args)
1709
+ end
1710
+
1711
+ # Update properties of this object
1712
+ def update!(**args)
1713
+ @enable_type = args[:enable_type] if args.key?(:enable_type)
1714
+ @groups = args[:groups] if args.key?(:groups)
1715
+ @services = args[:services] if args.key?(:services)
1716
+ @values = args[:values] if args.key?(:values)
1717
+ end
1718
+ end
1719
+
1232
1720
  # Request message for the `EnableService` method.
1233
1721
  class EnableServiceRequest
1234
1722
  include Google::Apis::Core::Hashable
@@ -1278,9 +1766,9 @@ module Google
1278
1766
  class Endpoint
1279
1767
  include Google::Apis::Core::Hashable
1280
1768
 
1281
- # Unimplemented. Dot not use. DEPRECATED: This field is no longer supported.
1282
- # Instead of using aliases, please specify multiple google.api.Endpoint for each
1283
- # of the intended aliases. Additional names that this endpoint will be hosted on.
1769
+ # Aliases for this endpoint, these will be served by the same UrlMap as the
1770
+ # parent endpoint, and will be provisioned in the GCP stack for the Regional
1771
+ # Endpoints.
1284
1772
  # Corresponds to the JSON property `aliases`
1285
1773
  # @return [Array<String>]
1286
1774
  attr_accessor :aliases
@@ -1325,6 +1813,11 @@ module Google
1325
1813
  class Enum
1326
1814
  include Google::Apis::Core::Hashable
1327
1815
 
1816
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
1817
+ # Corresponds to the JSON property `edition`
1818
+ # @return [String]
1819
+ attr_accessor :edition
1820
+
1328
1821
  # Enum value definitions.
1329
1822
  # Corresponds to the JSON property `enumvalue`
1330
1823
  # @return [Array<Google::Apis::ServiceusageV1::EnumValue>]
@@ -1357,6 +1850,7 @@ module Google
1357
1850
 
1358
1851
  # Update properties of this object
1359
1852
  def update!(**args)
1853
+ @edition = args[:edition] if args.key?(:edition)
1360
1854
  @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
1361
1855
  @name = args[:name] if args.key?(:name)
1362
1856
  @options = args[:options] if args.key?(:options)
@@ -1396,6 +1890,49 @@ module Google
1396
1890
  end
1397
1891
  end
1398
1892
 
1893
+ # Experimental features to be included during client library generation. These
1894
+ # fields will be deprecated once the feature graduates and is enabled by default.
1895
+ class ExperimentalFeatures
1896
+ include Google::Apis::Core::Hashable
1897
+
1898
+ # Enables generation of protobuf code using new types that are more Pythonic
1899
+ # which are included in `protobuf>=5.29.x`. This feature will be enabled by
1900
+ # default 1 month after launching the feature in preview packages.
1901
+ # Corresponds to the JSON property `protobufPythonicTypesEnabled`
1902
+ # @return [Boolean]
1903
+ attr_accessor :protobuf_pythonic_types_enabled
1904
+ alias_method :protobuf_pythonic_types_enabled?, :protobuf_pythonic_types_enabled
1905
+
1906
+ # Enables generation of asynchronous REST clients if `rest` transport is enabled.
1907
+ # By default, asynchronous REST clients will not be generated. This feature
1908
+ # will be enabled by default 1 month after launching the feature in preview
1909
+ # packages.
1910
+ # Corresponds to the JSON property `restAsyncIoEnabled`
1911
+ # @return [Boolean]
1912
+ attr_accessor :rest_async_io_enabled
1913
+ alias_method :rest_async_io_enabled?, :rest_async_io_enabled
1914
+
1915
+ # Disables generation of an unversioned Python package for this client library.
1916
+ # This means that the module names will need to be versioned in import
1917
+ # statements. For example `import google.cloud.library_v2` instead of `import
1918
+ # google.cloud.library`.
1919
+ # Corresponds to the JSON property `unversionedPackageDisabled`
1920
+ # @return [Boolean]
1921
+ attr_accessor :unversioned_package_disabled
1922
+ alias_method :unversioned_package_disabled?, :unversioned_package_disabled
1923
+
1924
+ def initialize(**args)
1925
+ update!(**args)
1926
+ end
1927
+
1928
+ # Update properties of this object
1929
+ def update!(**args)
1930
+ @protobuf_pythonic_types_enabled = args[:protobuf_pythonic_types_enabled] if args.key?(:protobuf_pythonic_types_enabled)
1931
+ @rest_async_io_enabled = args[:rest_async_io_enabled] if args.key?(:rest_async_io_enabled)
1932
+ @unversioned_package_disabled = args[:unversioned_package_disabled] if args.key?(:unversioned_package_disabled)
1933
+ end
1934
+ end
1935
+
1399
1936
  # A single field of a message type.
1400
1937
  class Field
1401
1938
  include Google::Apis::Core::Hashable
@@ -1472,12 +2009,56 @@ module Google
1472
2009
  end
1473
2010
  end
1474
2011
 
1475
- # Metadata for the `GetServiceIdentity` method.
1476
- class GetServiceIdentityMetadata
2012
+ # Google API Policy Annotation This message defines a simple API policy
2013
+ # annotation that can be used to annotate API request and response message
2014
+ # fields with applicable policies. One field may have multiple applicable
2015
+ # policies that must all be satisfied before a request can be processed. This
2016
+ # policy annotation is used to generate the overall policy that will be used for
2017
+ # automatic runtime policy enforcement and documentation generation.
2018
+ class FieldPolicy
1477
2019
  include Google::Apis::Core::Hashable
1478
2020
 
1479
- def initialize(**args)
1480
- update!(**args)
2021
+ # Specifies the required permission(s) for the resource referred to by the field.
2022
+ # It requires the field contains a valid resource reference, and the request
2023
+ # must pass the permission checks to proceed. For example, "resourcemanager.
2024
+ # projects.get".
2025
+ # Corresponds to the JSON property `resourcePermission`
2026
+ # @return [String]
2027
+ attr_accessor :resource_permission
2028
+
2029
+ # Specifies the resource type for the resource referred to by the field.
2030
+ # Corresponds to the JSON property `resourceType`
2031
+ # @return [String]
2032
+ attr_accessor :resource_type
2033
+
2034
+ # Selects one or more request or response message fields to apply this `
2035
+ # FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector
2036
+ # must be left as empty. The service config generator will automatically fill
2037
+ # the correct value. When a `FieldPolicy` is used in service config, the
2038
+ # selector must be a comma-separated string with valid request or response field
2039
+ # paths, such as "foo.bar" or "foo.bar,foo.baz".
2040
+ # Corresponds to the JSON property `selector`
2041
+ # @return [String]
2042
+ attr_accessor :selector
2043
+
2044
+ def initialize(**args)
2045
+ update!(**args)
2046
+ end
2047
+
2048
+ # Update properties of this object
2049
+ def update!(**args)
2050
+ @resource_permission = args[:resource_permission] if args.key?(:resource_permission)
2051
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
2052
+ @selector = args[:selector] if args.key?(:selector)
2053
+ end
2054
+ end
2055
+
2056
+ # Metadata for the `GetServiceIdentity` method.
2057
+ class GetServiceIdentityMetadata
2058
+ include Google::Apis::Core::Hashable
2059
+
2060
+ def initialize(**args)
2061
+ update!(**args)
1481
2062
  end
1482
2063
 
1483
2064
  # Update properties of this object
@@ -1520,6 +2101,13 @@ module Google
1520
2101
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1521
2102
  attr_accessor :common
1522
2103
 
2104
+ # Map of service names to renamed services. Keys are the package relative
2105
+ # service names and values are the name to be used for the service client and
2106
+ # call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin
2107
+ # Corresponds to the JSON property `renamedServices`
2108
+ # @return [Hash<String,String>]
2109
+ attr_accessor :renamed_services
2110
+
1523
2111
  def initialize(**args)
1524
2112
  update!(**args)
1525
2113
  end
@@ -1527,6 +2115,7 @@ module Google
1527
2115
  # Update properties of this object
1528
2116
  def update!(**args)
1529
2117
  @common = args[:common] if args.key?(:common)
2118
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1530
2119
  end
1531
2120
  end
1532
2121
 
@@ -1555,6 +2144,14 @@ module Google
1555
2144
  # @return [Array<Google::Apis::ServiceusageV1::Api>]
1556
2145
  attr_accessor :apis
1557
2146
 
2147
+ # Configuration aspects. This is a repeated field to allow multiple aspects to
2148
+ # be configured. The kind field in each ConfigAspect specifies the type of
2149
+ # aspect. The spec field contains the configuration for that aspect. The schema
2150
+ # for the spec field is defined by the backend service owners.
2151
+ # Corresponds to the JSON property `aspects`
2152
+ # @return [Array<Google::Apis::ServiceusageV1::Aspect>]
2153
+ attr_accessor :aspects
2154
+
1558
2155
  # `Authentication` defines the authentication configuration for API methods
1559
2156
  # provided by an API service. Example: name: calendar.googleapis.com
1560
2157
  # authentication: providers: - id: google_calendar_auth jwks_uri: https://www.
@@ -1631,7 +2228,7 @@ module Google
1631
2228
  # documentation: summary: > The Google Calendar API gives access to most
1632
2229
  # calendar features. pages: - name: Overview content: (== include google/foo/
1633
2230
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1634
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2231
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1635
2232
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1636
2233
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1637
2234
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1834,6 +2431,7 @@ module Google
1834
2431
  # Update properties of this object
1835
2432
  def update!(**args)
1836
2433
  @apis = args[:apis] if args.key?(:apis)
2434
+ @aspects = args[:aspects] if args.key?(:aspects)
1837
2435
  @authentication = args[:authentication] if args.key?(:authentication)
1838
2436
  @backend = args[:backend] if args.key?(:backend)
1839
2437
  @billing = args[:billing] if args.key?(:billing)
@@ -1946,7 +2544,7 @@ module Google
1946
2544
  # documentation: summary: > The Google Calendar API gives access to most
1947
2545
  # calendar features. pages: - name: Overview content: (== include google/foo/
1948
2546
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1949
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2547
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1950
2548
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1951
2549
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1952
2550
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1972,82 +2570,391 @@ module Google
1972
2570
  # @return [Google::Apis::ServiceusageV1::Documentation]
1973
2571
  attr_accessor :documentation
1974
2572
 
1975
- # Configuration for network endpoints. Contains only the names and aliases of
1976
- # the endpoints.
1977
- # Corresponds to the JSON property `endpoints`
1978
- # @return [Array<Google::Apis::ServiceusageV1::Endpoint>]
1979
- attr_accessor :endpoints
2573
+ # Configuration for network endpoints. Contains only the names and aliases of
2574
+ # the endpoints.
2575
+ # Corresponds to the JSON property `endpoints`
2576
+ # @return [Array<Google::Apis::ServiceusageV1::Endpoint>]
2577
+ attr_accessor :endpoints
2578
+
2579
+ # Defines the monitored resources used by this service. This is required by the
2580
+ # Service.monitoring and Service.logging configurations.
2581
+ # Corresponds to the JSON property `monitoredResources`
2582
+ # @return [Array<Google::Apis::ServiceusageV1::MonitoredResourceDescriptor>]
2583
+ attr_accessor :monitored_resources
2584
+
2585
+ # Monitoring configuration of the service. The example below shows how to
2586
+ # configure monitored resources and metrics for monitoring. In the example, a
2587
+ # monitored resource and two metrics are defined. The `library.googleapis.com/
2588
+ # book/returned_count` metric is sent to both producer and consumer projects,
2589
+ # whereas the `library.googleapis.com/book/num_overdue` metric is only sent to
2590
+ # the consumer project. monitored_resources: - type: library.googleapis.com/
2591
+ # Branch display_name: "Library Branch" description: "A branch of a library."
2592
+ # launch_stage: GA labels: - key: resource_container description: "The Cloud
2593
+ # container (ie. project id) for the Branch." - key: location description: "The
2594
+ # location of the library branch." - key: branch_id description: "The id of the
2595
+ # branch." metrics: - name: library.googleapis.com/book/returned_count
2596
+ # display_name: "Books Returned" description: "The count of books that have been
2597
+ # returned." launch_stage: GA metric_kind: DELTA value_type: INT64 unit: "1"
2598
+ # labels: - key: customer_id description: "The id of the customer." - name:
2599
+ # library.googleapis.com/book/num_overdue display_name: "Books Overdue"
2600
+ # description: "The current number of overdue books." launch_stage: GA
2601
+ # metric_kind: GAUGE value_type: INT64 unit: "1" labels: - key: customer_id
2602
+ # description: "The id of the customer." monitoring: producer_destinations: -
2603
+ # monitored_resource: library.googleapis.com/Branch metrics: - library.
2604
+ # googleapis.com/book/returned_count consumer_destinations: - monitored_resource:
2605
+ # library.googleapis.com/Branch metrics: - library.googleapis.com/book/
2606
+ # returned_count - library.googleapis.com/book/num_overdue
2607
+ # Corresponds to the JSON property `monitoring`
2608
+ # @return [Google::Apis::ServiceusageV1::Monitoring]
2609
+ attr_accessor :monitoring
2610
+
2611
+ # The DNS address at which this service is available. An example DNS address
2612
+ # would be: `calendar.googleapis.com`.
2613
+ # Corresponds to the JSON property `name`
2614
+ # @return [String]
2615
+ attr_accessor :name
2616
+
2617
+ # Quota configuration helps to achieve fairness and budgeting in service usage.
2618
+ # The metric based quota configuration works this way: - The service
2619
+ # configuration defines a set of metrics. - For API calls, the quota.
2620
+ # metric_rules maps methods to metrics with corresponding costs. - The quota.
2621
+ # limits defines limits on the metrics, which will be used for quota checks at
2622
+ # runtime. An example quota configuration in yaml format: quota: limits: - name:
2623
+ # apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/`
2624
+ # project`" # rate limit for consumer projects values: STANDARD: 10000 (The
2625
+ # metric rules bind all methods to the read_calls metric, except for the
2626
+ # UpdateBook and DeleteBook methods. These two methods are mapped to the
2627
+ # write_calls metric, with the UpdateBook method consuming at twice rate as the
2628
+ # DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.
2629
+ # googleapis.com/read_calls: 1 - selector: google.example.library.v1.
2630
+ # LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 -
2631
+ # selector: google.example.library.v1.LibraryService.DeleteBook metric_costs:
2632
+ # library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics:
2633
+ # - name: library.googleapis.com/read_calls display_name: Read requests
2634
+ # metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/
2635
+ # write_calls display_name: Write requests metric_kind: DELTA value_type: INT64
2636
+ # Corresponds to the JSON property `quota`
2637
+ # @return [Google::Apis::ServiceusageV1::Quota]
2638
+ attr_accessor :quota
2639
+
2640
+ # The product title for this service.
2641
+ # Corresponds to the JSON property `title`
2642
+ # @return [String]
2643
+ attr_accessor :title
2644
+
2645
+ # Configuration controlling usage of a service.
2646
+ # Corresponds to the JSON property `usage`
2647
+ # @return [Google::Apis::ServiceusageV1::Usage]
2648
+ attr_accessor :usage
2649
+
2650
+ def initialize(**args)
2651
+ update!(**args)
2652
+ end
2653
+
2654
+ # Update properties of this object
2655
+ def update!(**args)
2656
+ @apis = args[:apis] if args.key?(:apis)
2657
+ @authentication = args[:authentication] if args.key?(:authentication)
2658
+ @documentation = args[:documentation] if args.key?(:documentation)
2659
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
2660
+ @monitored_resources = args[:monitored_resources] if args.key?(:monitored_resources)
2661
+ @monitoring = args[:monitoring] if args.key?(:monitoring)
2662
+ @name = args[:name] if args.key?(:name)
2663
+ @quota = args[:quota] if args.key?(:quota)
2664
+ @title = args[:title] if args.key?(:title)
2665
+ @usage = args[:usage] if args.key?(:usage)
2666
+ end
2667
+ end
2668
+
2669
+ # Response message for getting service identity.
2670
+ class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
2671
+ include Google::Apis::Core::Hashable
2672
+
2673
+ # Service identity for a service. This is the identity that service producer
2674
+ # should use to access consumer resources.
2675
+ # Corresponds to the JSON property `identity`
2676
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity]
2677
+ attr_accessor :identity
2678
+
2679
+ # Service identity state.
2680
+ # Corresponds to the JSON property `state`
2681
+ # @return [String]
2682
+ attr_accessor :state
2683
+
2684
+ def initialize(**args)
2685
+ update!(**args)
2686
+ end
2687
+
2688
+ # Update properties of this object
2689
+ def update!(**args)
2690
+ @identity = args[:identity] if args.key?(:identity)
2691
+ @state = args[:state] if args.key?(:state)
2692
+ end
2693
+ end
2694
+
2695
+ # Service identity for a service. This is the identity that service producer
2696
+ # should use to access consumer resources.
2697
+ class GoogleApiServiceusageV1beta1ServiceIdentity
2698
+ include Google::Apis::Core::Hashable
2699
+
2700
+ # The email address of the service account that a service producer would use to
2701
+ # access consumer resources.
2702
+ # Corresponds to the JSON property `email`
2703
+ # @return [String]
2704
+ attr_accessor :email
2705
+
2706
+ # The unique and stable id of the service account. https://cloud.google.com/iam/
2707
+ # reference/rest/v1/projects.serviceAccounts#ServiceAccount
2708
+ # Corresponds to the JSON property `uniqueId`
2709
+ # @return [String]
2710
+ attr_accessor :unique_id
2711
+
2712
+ def initialize(**args)
2713
+ update!(**args)
2714
+ end
2715
+
2716
+ # Update properties of this object
2717
+ def update!(**args)
2718
+ @email = args[:email] if args.key?(:email)
2719
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
2720
+ end
2721
+ end
2722
+
2723
+ # Consumer Policy is a set of rules that define what services or service groups
2724
+ # can be used for a cloud resource hierarchy.
2725
+ class GoogleApiServiceusageV2alphaConsumerPolicy
2726
+ include Google::Apis::Core::Hashable
2727
+
2728
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2729
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2730
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2731
+ # 128](https://google.aip.dev/128#annotations)
2732
+ # Corresponds to the JSON property `annotations`
2733
+ # @return [Hash<String,String>]
2734
+ attr_accessor :annotations
2735
+
2736
+ # Output only. The time the policy was created. For singleton policies, this is
2737
+ # the first touch of the policy.
2738
+ # Corresponds to the JSON property `createTime`
2739
+ # @return [String]
2740
+ attr_accessor :create_time
2741
+
2742
+ # Enable rules define usable services, groups, and categories. There can
2743
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2744
+ # later releases.
2745
+ # Corresponds to the JSON property `enableRules`
2746
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule>]
2747
+ attr_accessor :enable_rules
2748
+
2749
+ # Output only. An opaque tag indicating the current version of the policy, used
2750
+ # for concurrency control.
2751
+ # Corresponds to the JSON property `etag`
2752
+ # @return [String]
2753
+ attr_accessor :etag
2754
+
2755
+ # Output only. The resource name of the policy. Only the `default` policy is
2756
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2757
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2758
+ # Corresponds to the JSON property `name`
2759
+ # @return [String]
2760
+ attr_accessor :name
2761
+
2762
+ # Output only. The time the policy was last updated.
2763
+ # Corresponds to the JSON property `updateTime`
2764
+ # @return [String]
2765
+ attr_accessor :update_time
2766
+
2767
+ def initialize(**args)
2768
+ update!(**args)
2769
+ end
2770
+
2771
+ # Update properties of this object
2772
+ def update!(**args)
2773
+ @annotations = args[:annotations] if args.key?(:annotations)
2774
+ @create_time = args[:create_time] if args.key?(:create_time)
2775
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2776
+ @etag = args[:etag] if args.key?(:etag)
2777
+ @name = args[:name] if args.key?(:name)
2778
+ @update_time = args[:update_time] if args.key?(:update_time)
2779
+ end
2780
+ end
2781
+
2782
+ # The consumer policy rule that defines enabled services, groups, and categories.
2783
+ class GoogleApiServiceusageV2alphaEnableRule
2784
+ include Google::Apis::Core::Hashable
2785
+
2786
+ # The names of the services that are enabled. Example: `services/storage.
2787
+ # googleapis.com`.
2788
+ # Corresponds to the JSON property `services`
2789
+ # @return [Array<String>]
2790
+ attr_accessor :services
2791
+
2792
+ def initialize(**args)
2793
+ update!(**args)
2794
+ end
2795
+
2796
+ # Update properties of this object
2797
+ def update!(**args)
2798
+ @services = args[:services] if args.key?(:services)
2799
+ end
2800
+ end
2801
+
2802
+ # Metadata for the `UpdateConsumerPolicy` method.
2803
+ class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
2804
+ include Google::Apis::Core::Hashable
2805
+
2806
+ def initialize(**args)
2807
+ update!(**args)
2808
+ end
2809
+
2810
+ # Update properties of this object
2811
+ def update!(**args)
2812
+ end
2813
+ end
2814
+
2815
+ # A message to group the analysis information.
2816
+ class GoogleApiServiceusageV2betaAnalysis
2817
+ include Google::Apis::Core::Hashable
2818
+
2819
+ # An analysis result including blockers and warnings.
2820
+ # Corresponds to the JSON property `analysisResult`
2821
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult]
2822
+ attr_accessor :analysis_result
2823
+
2824
+ # Output only. The type of analysis.
2825
+ # Corresponds to the JSON property `analysisType`
2826
+ # @return [String]
2827
+ attr_accessor :analysis_type
2828
+
2829
+ # Output only. The user friendly display name of the analysis type. E.g. service
2830
+ # dependency analysis, service resource usage analysis, etc.
2831
+ # Corresponds to the JSON property `displayName`
2832
+ # @return [String]
2833
+ attr_accessor :display_name
2834
+
2835
+ # The names of the service that has analysis result of warnings or blockers.
2836
+ # Example: `services/storage.googleapis.com`.
2837
+ # Corresponds to the JSON property `service`
2838
+ # @return [String]
2839
+ attr_accessor :service
2840
+
2841
+ def initialize(**args)
2842
+ update!(**args)
2843
+ end
2844
+
2845
+ # Update properties of this object
2846
+ def update!(**args)
2847
+ @analysis_result = args[:analysis_result] if args.key?(:analysis_result)
2848
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
2849
+ @display_name = args[:display_name] if args.key?(:display_name)
2850
+ @service = args[:service] if args.key?(:service)
2851
+ end
2852
+ end
2853
+
2854
+ # An analysis result including blockers and warnings.
2855
+ class GoogleApiServiceusageV2betaAnalysisResult
2856
+ include Google::Apis::Core::Hashable
2857
+
2858
+ # Blocking information that would prevent the policy changes at runtime.
2859
+ # Corresponds to the JSON property `blockers`
2860
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2861
+ attr_accessor :blockers
2862
+
2863
+ # Warning information indicating that the policy changes might be unsafe, but
2864
+ # will not block the changes at runtime.
2865
+ # Corresponds to the JSON property `warnings`
2866
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2867
+ attr_accessor :warnings
2868
+
2869
+ def initialize(**args)
2870
+ update!(**args)
2871
+ end
2872
+
2873
+ # Update properties of this object
2874
+ def update!(**args)
2875
+ @blockers = args[:blockers] if args.key?(:blockers)
2876
+ @warnings = args[:warnings] if args.key?(:warnings)
2877
+ end
2878
+ end
2879
+
2880
+ # Metadata for the `AnalyzeConsumerPolicy` method.
2881
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
2882
+ include Google::Apis::Core::Hashable
1980
2883
 
1981
- # Defines the monitored resources used by this service. This is required by the
1982
- # Service.monitoring and Service.logging configurations.
1983
- # Corresponds to the JSON property `monitoredResources`
1984
- # @return [Array<Google::Apis::ServiceusageV1::MonitoredResourceDescriptor>]
1985
- attr_accessor :monitored_resources
2884
+ def initialize(**args)
2885
+ update!(**args)
2886
+ end
1986
2887
 
1987
- # Monitoring configuration of the service. The example below shows how to
1988
- # configure monitored resources and metrics for monitoring. In the example, a
1989
- # monitored resource and two metrics are defined. The `library.googleapis.com/
1990
- # book/returned_count` metric is sent to both producer and consumer projects,
1991
- # whereas the `library.googleapis.com/book/num_overdue` metric is only sent to
1992
- # the consumer project. monitored_resources: - type: library.googleapis.com/
1993
- # Branch display_name: "Library Branch" description: "A branch of a library."
1994
- # launch_stage: GA labels: - key: resource_container description: "The Cloud
1995
- # container (ie. project id) for the Branch." - key: location description: "The
1996
- # location of the library branch." - key: branch_id description: "The id of the
1997
- # branch." metrics: - name: library.googleapis.com/book/returned_count
1998
- # display_name: "Books Returned" description: "The count of books that have been
1999
- # returned." launch_stage: GA metric_kind: DELTA value_type: INT64 unit: "1"
2000
- # labels: - key: customer_id description: "The id of the customer." - name:
2001
- # library.googleapis.com/book/num_overdue display_name: "Books Overdue"
2002
- # description: "The current number of overdue books." launch_stage: GA
2003
- # metric_kind: GAUGE value_type: INT64 unit: "1" labels: - key: customer_id
2004
- # description: "The id of the customer." monitoring: producer_destinations: -
2005
- # monitored_resource: library.googleapis.com/Branch metrics: - library.
2006
- # googleapis.com/book/returned_count consumer_destinations: - monitored_resource:
2007
- # library.googleapis.com/Branch metrics: - library.googleapis.com/book/
2008
- # returned_count - library.googleapis.com/book/num_overdue
2009
- # Corresponds to the JSON property `monitoring`
2010
- # @return [Google::Apis::ServiceusageV1::Monitoring]
2011
- attr_accessor :monitoring
2888
+ # Update properties of this object
2889
+ def update!(**args)
2890
+ end
2891
+ end
2012
2892
 
2013
- # The DNS address at which this service is available. An example DNS address
2014
- # would be: `calendar.googleapis.com`.
2015
- # Corresponds to the JSON property `name`
2893
+ # The response of analyzing a consumer policy update.
2894
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
2895
+ include Google::Apis::Core::Hashable
2896
+
2897
+ # The list of analyses returned from performing the intended policy update
2898
+ # analysis. The analysis is grouped by service name and different analysis types.
2899
+ # The empty analysis list means that the consumer policy can be updated without
2900
+ # any warnings or blockers.
2901
+ # Corresponds to the JSON property `analysis`
2902
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis>]
2903
+ attr_accessor :analysis
2904
+
2905
+ def initialize(**args)
2906
+ update!(**args)
2907
+ end
2908
+
2909
+ # Update properties of this object
2910
+ def update!(**args)
2911
+ @analysis = args[:analysis] if args.key?(:analysis)
2912
+ end
2913
+ end
2914
+
2915
+ # Consumer Policy is a set of rules that define what services or service groups
2916
+ # can be used for a cloud resource hierarchy.
2917
+ class GoogleApiServiceusageV2betaConsumerPolicy
2918
+ include Google::Apis::Core::Hashable
2919
+
2920
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2921
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2922
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2923
+ # 128](https://google.aip.dev/128#annotations)
2924
+ # Corresponds to the JSON property `annotations`
2925
+ # @return [Hash<String,String>]
2926
+ attr_accessor :annotations
2927
+
2928
+ # Output only. The time the policy was created. For singleton policies, this is
2929
+ # the first touch of the policy.
2930
+ # Corresponds to the JSON property `createTime`
2016
2931
  # @return [String]
2017
- attr_accessor :name
2932
+ attr_accessor :create_time
2018
2933
 
2019
- # Quota configuration helps to achieve fairness and budgeting in service usage.
2020
- # The metric based quota configuration works this way: - The service
2021
- # configuration defines a set of metrics. - For API calls, the quota.
2022
- # metric_rules maps methods to metrics with corresponding costs. - The quota.
2023
- # limits defines limits on the metrics, which will be used for quota checks at
2024
- # runtime. An example quota configuration in yaml format: quota: limits: - name:
2025
- # apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/`
2026
- # project`" # rate limit for consumer projects values: STANDARD: 10000 (The
2027
- # metric rules bind all methods to the read_calls metric, except for the
2028
- # UpdateBook and DeleteBook methods. These two methods are mapped to the
2029
- # write_calls metric, with the UpdateBook method consuming at twice rate as the
2030
- # DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.
2031
- # googleapis.com/read_calls: 1 - selector: google.example.library.v1.
2032
- # LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 -
2033
- # selector: google.example.library.v1.LibraryService.DeleteBook metric_costs:
2034
- # library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics:
2035
- # - name: library.googleapis.com/read_calls display_name: Read requests
2036
- # metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/
2037
- # write_calls display_name: Write requests metric_kind: DELTA value_type: INT64
2038
- # Corresponds to the JSON property `quota`
2039
- # @return [Google::Apis::ServiceusageV1::Quota]
2040
- attr_accessor :quota
2934
+ # Enable rules define usable services, groups, and categories. There can
2935
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2936
+ # later releases.
2937
+ # Corresponds to the JSON property `enableRules`
2938
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule>]
2939
+ attr_accessor :enable_rules
2041
2940
 
2042
- # The product title for this service.
2043
- # Corresponds to the JSON property `title`
2941
+ # Output only. An opaque tag indicating the current version of the policy, used
2942
+ # for concurrency control.
2943
+ # Corresponds to the JSON property `etag`
2044
2944
  # @return [String]
2045
- attr_accessor :title
2945
+ attr_accessor :etag
2046
2946
 
2047
- # Configuration controlling usage of a service.
2048
- # Corresponds to the JSON property `usage`
2049
- # @return [Google::Apis::ServiceusageV1::Usage]
2050
- attr_accessor :usage
2947
+ # Output only. The resource name of the policy. Only the `default` policy is
2948
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2949
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2950
+ # Corresponds to the JSON property `name`
2951
+ # @return [String]
2952
+ attr_accessor :name
2953
+
2954
+ # Output only. The time the policy was last updated.
2955
+ # Corresponds to the JSON property `updateTime`
2956
+ # @return [String]
2957
+ attr_accessor :update_time
2051
2958
 
2052
2959
  def initialize(**args)
2053
2960
  update!(**args)
@@ -2055,33 +2962,24 @@ module Google
2055
2962
 
2056
2963
  # Update properties of this object
2057
2964
  def update!(**args)
2058
- @apis = args[:apis] if args.key?(:apis)
2059
- @authentication = args[:authentication] if args.key?(:authentication)
2060
- @documentation = args[:documentation] if args.key?(:documentation)
2061
- @endpoints = args[:endpoints] if args.key?(:endpoints)
2062
- @monitored_resources = args[:monitored_resources] if args.key?(:monitored_resources)
2063
- @monitoring = args[:monitoring] if args.key?(:monitoring)
2965
+ @annotations = args[:annotations] if args.key?(:annotations)
2966
+ @create_time = args[:create_time] if args.key?(:create_time)
2967
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2968
+ @etag = args[:etag] if args.key?(:etag)
2064
2969
  @name = args[:name] if args.key?(:name)
2065
- @quota = args[:quota] if args.key?(:quota)
2066
- @title = args[:title] if args.key?(:title)
2067
- @usage = args[:usage] if args.key?(:usage)
2970
+ @update_time = args[:update_time] if args.key?(:update_time)
2068
2971
  end
2069
2972
  end
2070
2973
 
2071
- # Response message for getting service identity.
2072
- class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
2974
+ # The consumer policy rule that defines enabled services, groups, and categories.
2975
+ class GoogleApiServiceusageV2betaEnableRule
2073
2976
  include Google::Apis::Core::Hashable
2074
2977
 
2075
- # Service identity for a service. This is the identity that service producer
2076
- # should use to access consumer resources.
2077
- # Corresponds to the JSON property `identity`
2078
- # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity]
2079
- attr_accessor :identity
2080
-
2081
- # Service identity state.
2082
- # Corresponds to the JSON property `state`
2083
- # @return [String]
2084
- attr_accessor :state
2978
+ # The names of the services that are enabled. Example: `services/storage.
2979
+ # googleapis.com`.
2980
+ # Corresponds to the JSON property `services`
2981
+ # @return [Array<String>]
2982
+ attr_accessor :services
2085
2983
 
2086
2984
  def initialize(**args)
2087
2985
  update!(**args)
@@ -2089,27 +2987,38 @@ module Google
2089
2987
 
2090
2988
  # Update properties of this object
2091
2989
  def update!(**args)
2092
- @identity = args[:identity] if args.key?(:identity)
2093
- @state = args[:state] if args.key?(:state)
2990
+ @services = args[:services] if args.key?(:services)
2094
2991
  end
2095
2992
  end
2096
2993
 
2097
- # Service identity for a service. This is the identity that service producer
2098
- # should use to access consumer resources.
2099
- class GoogleApiServiceusageV1beta1ServiceIdentity
2994
+ # A message to group impacts of updating a policy.
2995
+ class GoogleApiServiceusageV2betaImpact
2100
2996
  include Google::Apis::Core::Hashable
2101
2997
 
2102
- # The email address of the service account that a service producer would use to
2103
- # access consumer resources.
2104
- # Corresponds to the JSON property `email`
2998
+ # Output only. User friendly impact detail in a free form message.
2999
+ # Corresponds to the JSON property `detail`
2105
3000
  # @return [String]
2106
- attr_accessor :email
3001
+ attr_accessor :detail
2107
3002
 
2108
- # The unique and stable id of the service account. https://cloud.google.com/iam/
2109
- # reference/rest/v1/projects.serviceAccounts#ServiceAccount
2110
- # Corresponds to the JSON property `uniqueId`
3003
+ # Output only. The type of impact.
3004
+ # Corresponds to the JSON property `impactType`
2111
3005
  # @return [String]
2112
- attr_accessor :unique_id
3006
+ attr_accessor :impact_type
3007
+
3008
+ def initialize(**args)
3009
+ update!(**args)
3010
+ end
3011
+
3012
+ # Update properties of this object
3013
+ def update!(**args)
3014
+ @detail = args[:detail] if args.key?(:detail)
3015
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3016
+ end
3017
+ end
3018
+
3019
+ # Metadata for the `UpdateConsumerPolicy` method.
3020
+ class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
3021
+ include Google::Apis::Core::Hashable
2113
3022
 
2114
3023
  def initialize(**args)
2115
3024
  update!(**args)
@@ -2117,8 +3026,6 @@ module Google
2117
3026
 
2118
3027
  # Update properties of this object
2119
3028
  def update!(**args)
2120
- @email = args[:email] if args.key?(:email)
2121
- @unique_id = args[:unique_id] if args.key?(:unique_id)
2122
3029
  end
2123
3030
  end
2124
3031
 
@@ -2154,7 +3061,7 @@ module Google
2154
3061
  end
2155
3062
  end
2156
3063
 
2157
- # # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
3064
+ # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2158
3065
  # method and one or more HTTP REST endpoints. It allows developers to build a
2159
3066
  # single API service that supports both gRPC APIs and REST APIs. Many systems,
2160
3067
  # including [Google APIs](https://github.com/googleapis/googleapis), [Cloud
@@ -2174,70 +3081,69 @@ module Google
2174
3081
  # Message) ` option (google.api.http) = ` get: "/v1/`name=messages/*`" `; ` `
2175
3082
  # message GetMessageRequest ` string name = 1; // Mapped to URL path. ` message
2176
3083
  # Message ` string text = 1; // The resource content. ` This enables an HTTP
2177
- # REST to gRPC mapping as below: HTTP | gRPC -----|----- `GET /v1/messages/
2178
- # 123456` | `GetMessage(name: "messages/123456")` Any fields in the request
2179
- # message which are not bound by the path template automatically become HTTP
2180
- # query parameters if there is no HTTP request body. For example: service
2181
- # Messaging ` rpc GetMessage(GetMessageRequest) returns (Message) ` option (
2182
- # google.api.http) = ` get:"/v1/messages/`message_id`" `; ` ` message
2183
- # GetMessageRequest ` message SubMessage ` string subfield = 1; ` string
2184
- # message_id = 1; // Mapped to URL path. int64 revision = 2; // Mapped to URL
2185
- # query parameter `revision`. SubMessage sub = 3; // Mapped to URL query
2186
- # parameter `sub.subfield`. ` This enables a HTTP JSON to RPC mapping as below:
2187
- # HTTP | gRPC -----|----- `GET /v1/messages/123456?revision=2&sub.subfield=foo` |
2188
- # `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))
2189
- # ` Note that fields which are mapped to URL query parameters must have a
2190
- # primitive type or a repeated primitive type or a non-repeated message type. In
2191
- # the case of a repeated type, the parameter can be repeated in the URL as `...?
2192
- # param=A&param=B`. In the case of a message type, each field of the message is
2193
- # mapped to a separate parameter, such as `...?foo.a=A&foo.b=B&foo.c=C`. For
2194
- # HTTP methods that allow a request body, the `body` field specifies the mapping.
2195
- # Consider a REST update method on the message resource collection: service
2196
- # Messaging ` rpc UpdateMessage(UpdateMessageRequest) returns (Message) ` option
2197
- # (google.api.http) = ` patch: "/v1/messages/`message_id`" body: "message" `; ` `
2198
- # message UpdateMessageRequest ` string message_id = 1; // mapped to the URL
2199
- # Message message = 2; // mapped to the body ` The following HTTP JSON to RPC
2200
- # mapping is enabled, where the representation of the JSON in the request body
2201
- # is determined by protos JSON encoding: HTTP | gRPC -----|----- `PATCH /v1/
2202
- # messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: "123456"
2203
- # message ` text: "Hi!" `)` The special name `*` can be used in the body mapping
2204
- # to define that every field not bound by the path template should be mapped to
2205
- # the request body. This enables the following alternative definition of the
2206
- # update method: service Messaging ` rpc UpdateMessage(Message) returns (Message)
2207
- # ` option (google.api.http) = ` patch: "/v1/messages/`message_id`" body: "*" `;
2208
- # ` ` message Message ` string message_id = 1; string text = 2; ` The following
2209
- # HTTP JSON to RPC mapping is enabled: HTTP | gRPC -----|----- `PATCH /v1/
2210
- # messages/123456 ` "text": "Hi!" `` | `UpdateMessage(message_id: "123456" text:
2211
- # "Hi!")` Note that when using `*` in the body mapping, it is not possible to
2212
- # have HTTP parameters, as all fields not bound by the path end in the body.
2213
- # This makes this option more rarely used in practice when defining REST APIs.
2214
- # The common usage of `*` is in custom methods which don't use the URL at all
2215
- # for transferring data. It is possible to define multiple HTTP methods for one
2216
- # RPC by using the `additional_bindings` option. Example: service Messaging `
2217
- # rpc GetMessage(GetMessageRequest) returns (Message) ` option (google.api.http)
2218
- # = ` get: "/v1/messages/`message_id`" additional_bindings ` get: "/v1/users/`
2219
- # user_id`/messages/`message_id`" ` `; ` ` message GetMessageRequest ` string
2220
- # message_id = 1; string user_id = 2; ` This enables the following two
2221
- # alternative HTTP JSON to RPC mappings: HTTP | gRPC -----|----- `GET /v1/
2222
- # messages/123456` | `GetMessage(message_id: "123456")` `GET /v1/users/me/
2223
- # messages/123456` | `GetMessage(user_id: "me" message_id: "123456")` ## Rules
2224
- # for HTTP mapping 1. Leaf request fields (recursive expansion nested messages
2225
- # in the request message) are classified into three categories: - Fields
2226
- # referred by the path template. They are passed via the URL path. - Fields
2227
- # referred by the HttpRule.body. They are passed via the HTTP request body. -
2228
- # All other fields are passed via the URL query parameters, and the parameter
2229
- # name is the field path in the request message. A repeated field can be
2230
- # represented as multiple query parameters under the same name. 2. If HttpRule.
2231
- # body is "*", there is no URL query parameter, all fields are passed via URL
2232
- # path and HTTP request body. 3. If HttpRule.body is omitted, there is no HTTP
2233
- # request body, all fields are passed via URL path and URL query parameters. ###
2234
- # Path template syntax Template = "/" Segments [ Verb ] ; Segments = Segment ` "/
2235
- # " Segment ` ; Segment = "*" | "**" | LITERAL | Variable ; Variable = "`"
2236
- # FieldPath [ "=" Segments ] "`" ; FieldPath = IDENT ` "." IDENT ` ; Verb = ":"
2237
- # LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**`
2238
- # matches zero or more URL path segments, which must be the last part of the URL
2239
- # path except the `Verb`. The syntax `Variable` matches part of the URL path as
2240
- # specified by its template. A variable template must not contain other
3084
+ # REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `
3085
+ # GetMessage(name: "messages/123456")` Any fields in the request message which
3086
+ # are not bound by the path template automatically become HTTP query parameters
3087
+ # if there is no HTTP request body. For example: service Messaging ` rpc
3088
+ # GetMessage(GetMessageRequest) returns (Message) ` option (google.api.http) = `
3089
+ # get:"/v1/messages/`message_id`" `; ` ` message GetMessageRequest ` message
3090
+ # SubMessage ` string subfield = 1; ` string message_id = 1; // Mapped to URL
3091
+ # path. int64 revision = 2; // Mapped to URL query parameter `revision`.
3092
+ # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. ` This
3093
+ # enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?
3094
+ # revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: "123456" revision:
3095
+ # 2 sub: SubMessage(subfield: "foo"))` Note that fields which are mapped to URL
3096
+ # query parameters must have a primitive type or a repeated primitive type or a
3097
+ # non-repeated message type. In the case of a repeated type, the parameter can
3098
+ # be repeated in the URL as `...?param=A&param=B`. In the case of a message type,
3099
+ # each field of the message is mapped to a separate parameter, such as `...?foo.
3100
+ # a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body`
3101
+ # field specifies the mapping. Consider a REST update method on the message
3102
+ # resource collection: service Messaging ` rpc UpdateMessage(
3103
+ # UpdateMessageRequest) returns (Message) ` option (google.api.http) = ` patch: "
3104
+ # /v1/messages/`message_id`" body: "message" `; ` ` message UpdateMessageRequest
3105
+ # ` string message_id = 1; // mapped to the URL Message message = 2; // mapped
3106
+ # to the body ` The following HTTP JSON to RPC mapping is enabled, where the
3107
+ # representation of the JSON in the request body is determined by protos JSON
3108
+ # encoding: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
3109
+ # UpdateMessage(message_id: "123456" message ` text: "Hi!" `)` The special name `
3110
+ # *` can be used in the body mapping to define that every field not bound by the
3111
+ # path template should be mapped to the request body. This enables the following
3112
+ # alternative definition of the update method: service Messaging ` rpc
3113
+ # UpdateMessage(Message) returns (Message) ` option (google.api.http) = ` patch:
3114
+ # "/v1/messages/`message_id`" body: "*" `; ` ` message Message ` string
3115
+ # message_id = 1; string text = 2; ` The following HTTP JSON to RPC mapping is
3116
+ # enabled: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
3117
+ # UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using `*` in
3118
+ # the body mapping, it is not possible to have HTTP parameters, as all fields
3119
+ # not bound by the path end in the body. This makes this option more rarely used
3120
+ # in practice when defining REST APIs. The common usage of `*` is in custom
3121
+ # methods which don't use the URL at all for transferring data. It is possible
3122
+ # to define multiple HTTP methods for one RPC by using the `additional_bindings`
3123
+ # option. Example: service Messaging ` rpc GetMessage(GetMessageRequest) returns
3124
+ # (Message) ` option (google.api.http) = ` get: "/v1/messages/`message_id`"
3125
+ # additional_bindings ` get: "/v1/users/`user_id`/messages/`message_id`" ` `; ` `
3126
+ # message GetMessageRequest ` string message_id = 1; string user_id = 2; ` This
3127
+ # enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /
3128
+ # v1/messages/123456` - gRPC: `GetMessage(message_id: "123456")` - HTTP: `GET /
3129
+ # v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" message_id: "
3130
+ # 123456")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion
3131
+ # nested messages in the request message) are classified into three categories: -
3132
+ # Fields referred by the path template. They are passed via the URL path. -
3133
+ # Fields referred by the HttpRule.body. They are passed via the HTTP request
3134
+ # body. - All other fields are passed via the URL query parameters, and the
3135
+ # parameter name is the field path in the request message. A repeated field can
3136
+ # be represented as multiple query parameters under the same name. 2. If
3137
+ # HttpRule.body is "*", there is no URL query parameter, all fields are passed
3138
+ # via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is
3139
+ # no HTTP request body, all fields are passed via URL path and URL query
3140
+ # parameters. Path template syntax Template = "/" Segments [ Verb ] ; Segments =
3141
+ # Segment ` "/" Segment ` ; Segment = "*" | "**" | LITERAL | Variable ; Variable
3142
+ # = "`" FieldPath [ "=" Segments ] "`" ; FieldPath = IDENT ` "." IDENT ` ; Verb =
3143
+ # ":" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**
3144
+ # ` matches zero or more URL path segments, which must be the last part of the
3145
+ # URL path except the `Verb`. The syntax `Variable` matches part of the URL path
3146
+ # as specified by its template. A variable template must not contain other
2241
3147
  # variables. If a variable matches a single path segment, its template may be
2242
3148
  # omitted, e.g. ``var`` is equivalent to ``var=*``. The syntax `LITERAL` matches
2243
3149
  # literal text in the URL path. If the `LITERAL` contains any reserved character,
@@ -2252,7 +3158,7 @@ module Google
2252
3158
  # except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the
2253
3159
  # reverse decoding, except "%2F" and "%2f" are left unchanged. Such variables
2254
3160
  # show up in the [Discovery Document](https://developers.google.com/discovery/v1/
2255
- # reference/apis) as ``+var``. ## Using gRPC API Service Configuration gRPC API
3161
+ # reference/apis) as ``+var``. Using gRPC API Service Configuration gRPC API
2256
3162
  # Service Configuration (service config) is a configuration language for
2257
3163
  # configuring a gRPC service to become a user-facing product. The service config
2258
3164
  # is simply the YAML representation of the `google.api.Service` proto message.
@@ -2262,27 +3168,27 @@ module Google
2262
3168
  # effect as the proto annotation. This can be particularly useful if you have a
2263
3169
  # proto that is reused in multiple services. Note that any transcoding specified
2264
3170
  # in the service config will override any matching transcoding configuration in
2265
- # the proto. Example: http: rules: # Selects a gRPC method and applies HttpRule
2266
- # to it. - selector: example.v1.Messaging.GetMessage get: /v1/messages/`
2267
- # message_id`/`sub.subfield` ## Special notes When gRPC Transcoding is used to
2268
- # map a gRPC to JSON REST endpoints, the proto to JSON conversion must follow
2269
- # the [proto3 specification](https://developers.google.com/protocol-buffers/docs/
2270
- # proto3#json). While the single segment variable follows the semantics of [RFC
2271
- # 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
2272
- # Expansion, the multi segment variable **does not** follow RFC 6570 Section 3.2.
2273
- # 3 Reserved Expansion. The reason is that the Reserved Expansion does not
2274
- # expand special characters like `?` and `#`, which would lead to invalid URLs.
2275
- # As the result, gRPC Transcoding uses a custom encoding for multi segment
2276
- # variables. The path variables **must not** refer to any repeated or mapped
2277
- # field, because client libraries are not capable of handling such variable
2278
- # expansion. The path variables **must not** capture the leading "/" character.
2279
- # The reason is that the most common use case "`var`" does not capture the
2280
- # leading "/" character. For consistency, all path variables must share the same
2281
- # behavior. Repeated message fields must not be mapped to URL query parameters,
2282
- # because no client library can support such complicated mapping. If an API
2283
- # needs to use a JSON array for request or response body, it can map the request
2284
- # or response body to a repeated field. However, some gRPC Transcoding
2285
- # implementations may not support this feature.
3171
+ # the proto. The following example selects a gRPC method and applies an `
3172
+ # HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get:
3173
+ # /v1/messages/`message_id`/`sub.subfield` Special notes When gRPC Transcoding
3174
+ # is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion
3175
+ # must follow the [proto3 specification](https://developers.google.com/protocol-
3176
+ # buffers/docs/proto3#json). While the single segment variable follows the
3177
+ # semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
3178
+ # Simple String Expansion, the multi segment variable **does not** follow RFC
3179
+ # 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved
3180
+ # Expansion does not expand special characters like `?` and `#`, which would
3181
+ # lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
3182
+ # for multi segment variables. The path variables **must not** refer to any
3183
+ # repeated or mapped field, because client libraries are not capable of handling
3184
+ # such variable expansion. The path variables **must not** capture the leading "/
3185
+ # " character. The reason is that the most common use case "`var`" does not
3186
+ # capture the leading "/" character. For consistency, all path variables must
3187
+ # share the same behavior. Repeated message fields must not be mapped to URL
3188
+ # query parameters, because no client library can support such complicated
3189
+ # mapping. If an API needs to use a JSON array for request or response body, it
3190
+ # can map the request or response body to a repeated field. However, some gRPC
3191
+ # Transcoding implementations may not support this feature.
2286
3192
  class HttpRule
2287
3193
  include Google::Apis::Core::Hashable
2288
3194
 
@@ -2364,6 +3270,44 @@ module Google
2364
3270
  end
2365
3271
  end
2366
3272
 
3273
+ # A message to group impacts of updating a policy.
3274
+ class Impact
3275
+ include Google::Apis::Core::Hashable
3276
+
3277
+ # Output only. User friendly impact detail in a free form message.
3278
+ # Corresponds to the JSON property `detail`
3279
+ # @return [String]
3280
+ attr_accessor :detail
3281
+
3282
+ # Output only. The type of impact.
3283
+ # Corresponds to the JSON property `impactType`
3284
+ # @return [String]
3285
+ attr_accessor :impact_type
3286
+
3287
+ # The parent resource that the analysis is based on and the service name that
3288
+ # the analysis is for. Example: `projects/100/services/compute.googleapis.com`,
3289
+ # folders/101/services/compute.googleapis.com` and `organizations/102/services/
3290
+ # compute.googleapis.com`. Usually, the parent resource here is same as the
3291
+ # parent resource of the analyzed policy. However, for some analysis types, the
3292
+ # parent can be different. For example, for resource existence analysis, if the
3293
+ # parent resource of the analyzed policy is a folder or an organization, the
3294
+ # parent resource here can still be the project that contains the resources.
3295
+ # Corresponds to the JSON property `parent`
3296
+ # @return [String]
3297
+ attr_accessor :parent
3298
+
3299
+ def initialize(**args)
3300
+ update!(**args)
3301
+ end
3302
+
3303
+ # Update properties of this object
3304
+ def update!(**args)
3305
+ @detail = args[:detail] if args.key?(:detail)
3306
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3307
+ @parent = args[:parent] if args.key?(:parent)
3308
+ end
3309
+ end
3310
+
2367
3311
  # Metadata message that provides information such as progress, partial failures,
2368
3312
  # and similar information on each GetOperation call of LRO returned by
2369
3313
  # ImportAdminOverrides.
@@ -2479,8 +3423,8 @@ module Google
2479
3423
  # protobuf. This should be used **only** by APIs who have already set the
2480
3424
  # language_settings.java.package_name" field in gapic.yaml. API teams should use
2481
3425
  # the protobuf java_package option where possible. Example of a YAML
2482
- # configuration:: publishing: java_settings: library_package: com.google.cloud.
2483
- # pubsub.v1
3426
+ # configuration:: publishing: library_settings: java_settings: library_package:
3427
+ # com.google.cloud.pubsub.v1
2484
3428
  # Corresponds to the JSON property `libraryPackage`
2485
3429
  # @return [String]
2486
3430
  attr_accessor :library_package
@@ -2845,10 +3789,52 @@ module Google
2845
3789
  end
2846
3790
  end
2847
3791
 
3792
+ # Defines policies applying to an RPC method.
3793
+ class MethodPolicy
3794
+ include Google::Apis::Core::Hashable
3795
+
3796
+ # Policies that are applicable to the request message.
3797
+ # Corresponds to the JSON property `requestPolicies`
3798
+ # @return [Array<Google::Apis::ServiceusageV1::FieldPolicy>]
3799
+ attr_accessor :request_policies
3800
+
3801
+ # Selects a method to which these policies should be enforced, for example, "
3802
+ # google.pubsub.v1.Subscriber.CreateSubscription". Refer to selector for syntax
3803
+ # details. NOTE: This field must not be set in the proto annotation. It will be
3804
+ # automatically filled by the service config compiler .
3805
+ # Corresponds to the JSON property `selector`
3806
+ # @return [String]
3807
+ attr_accessor :selector
3808
+
3809
+ def initialize(**args)
3810
+ update!(**args)
3811
+ end
3812
+
3813
+ # Update properties of this object
3814
+ def update!(**args)
3815
+ @request_policies = args[:request_policies] if args.key?(:request_policies)
3816
+ @selector = args[:selector] if args.key?(:selector)
3817
+ end
3818
+ end
3819
+
2848
3820
  # Describes the generator configuration for a method.
2849
3821
  class MethodSettings
2850
3822
  include Google::Apis::Core::Hashable
2851
3823
 
3824
+ # List of top-level fields of the request message, that should be automatically
3825
+ # populated by the client libraries based on their (google.api.field_info).
3826
+ # format. Currently supported format: UUID4. Example of a YAML configuration:
3827
+ # publishing: method_settings: - selector: google.example.v1.ExampleService.
3828
+ # CreateExample auto_populated_fields: - request_id
3829
+ # Corresponds to the JSON property `autoPopulatedFields`
3830
+ # @return [Array<String>]
3831
+ attr_accessor :auto_populated_fields
3832
+
3833
+ # `BatchingConfigProto` defines the batching configuration for an API method.
3834
+ # Corresponds to the JSON property `batching`
3835
+ # @return [Google::Apis::ServiceusageV1::BatchingConfigProto]
3836
+ attr_accessor :batching
3837
+
2852
3838
  # Describes settings to use when generating API methods that use the long-
2853
3839
  # running operation pattern. All default values below are from those used in the
2854
3840
  # client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2859,7 +3845,9 @@ module Google
2859
3845
  attr_accessor :long_running
2860
3846
 
2861
3847
  # The fully qualified name of the method, for which the options below apply.
2862
- # This is used to find the method to apply the options.
3848
+ # This is used to find the method to apply the options. Example: publishing:
3849
+ # method_settings: - selector: google.storage.control.v2.StorageControl.
3850
+ # CreateFolder # method settings for CreateFolder...
2863
3851
  # Corresponds to the JSON property `selector`
2864
3852
  # @return [String]
2865
3853
  attr_accessor :selector
@@ -2870,6 +3858,8 @@ module Google
2870
3858
 
2871
3859
  # Update properties of this object
2872
3860
  def update!(**args)
3861
+ @auto_populated_fields = args[:auto_populated_fields] if args.key?(:auto_populated_fields)
3862
+ @batching = args[:batching] if args.key?(:batching)
2873
3863
  @long_running = args[:long_running] if args.key?(:long_running)
2874
3864
  @selector = args[:selector] if args.key?(:selector)
2875
3865
  end
@@ -3042,6 +4032,11 @@ module Google
3042
4032
  # @return [String]
3043
4033
  attr_accessor :sample_period
3044
4034
 
4035
+ # The scope of the timeseries data of the metric.
4036
+ # Corresponds to the JSON property `timeSeriesResourceHierarchyLevel`
4037
+ # @return [Array<String>]
4038
+ attr_accessor :time_series_resource_hierarchy_level
4039
+
3045
4040
  def initialize(**args)
3046
4041
  update!(**args)
3047
4042
  end
@@ -3051,6 +4046,7 @@ module Google
3051
4046
  @ingest_delay = args[:ingest_delay] if args.key?(:ingest_delay)
3052
4047
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
3053
4048
  @sample_period = args[:sample_period] if args.key?(:sample_period)
4049
+ @time_series_resource_hierarchy_level = args[:time_series_resource_hierarchy_level] if args.key?(:time_series_resource_hierarchy_level)
3054
4050
  end
3055
4051
  end
3056
4052
 
@@ -3184,7 +4180,7 @@ module Google
3184
4180
 
3185
4181
  # Required. The monitored resource type. For example, the type `"
3186
4182
  # cloudsql_database"` represents databases in Google Cloud SQL. For a list of
3187
- # types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/
4183
+ # types, see [Monitored resource types](https://cloud.google.com/monitoring/api/
3188
4184
  # resources) and [Logging resource types](https://cloud.google.com/logging/docs/
3189
4185
  # api/v2/resource-list).
3190
4186
  # Corresponds to the JSON property `type`
@@ -3380,13 +4376,13 @@ module Google
3380
4376
  # @return [String]
3381
4377
  attr_accessor :name
3382
4378
 
3383
- # The normal response of the operation in case of success. If the original
3384
- # method returns no data on success, such as `Delete`, the response is `google.
3385
- # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
3386
- # the response should be the resource. For other methods, the response should
3387
- # have the type `XxxResponse`, where `Xxx` is the original method name. For
3388
- # example, if the original method name is `TakeSnapshot()`, the inferred
3389
- # response type is `TakeSnapshotResponse`.
4379
+ # The normal, successful response of the operation. If the original method
4380
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
4381
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
4382
+ # response should be the resource. For other methods, the response should have
4383
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
4384
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
4385
+ # `TakeSnapshotResponse`.
3390
4386
  # Corresponds to the JSON property `response`
3391
4387
  # @return [Hash<String,Object>]
3392
4388
  attr_accessor :response
@@ -3461,7 +4457,7 @@ module Google
3461
4457
  class Page
3462
4458
  include Google::Apis::Core::Hashable
3463
4459
 
3464
- # The Markdown content of the page. You can use (== include `path` ==) to
4460
+ # The Markdown content of the page. You can use ```(== include `path` ==)``` to
3465
4461
  # include content from a Markdown file. The content can be used to produce the
3466
4462
  # documentation page such as HTML format page.
3467
4463
  # Corresponds to the JSON property `content`
@@ -3565,7 +4561,7 @@ module Google
3565
4561
  # @return [Array<Google::Apis::ServiceusageV1::MethodSettings>]
3566
4562
  attr_accessor :method_settings
3567
4563
 
3568
- # Link to a place that API users can report issues. Example: https://
4564
+ # Link to a *public* URI where users can report issues. Example: https://
3569
4565
  # issuetracker.google.com/issues/new?component=190865&template=1161103
3570
4566
  # Corresponds to the JSON property `newIssueUri`
3571
4567
  # @return [String]
@@ -3576,6 +4572,18 @@ module Google
3576
4572
  # @return [String]
3577
4573
  attr_accessor :organization
3578
4574
 
4575
+ # Optional link to proto reference documentation. Example: https://cloud.google.
4576
+ # com/pubsub/lite/docs/reference/rpc
4577
+ # Corresponds to the JSON property `protoReferenceDocumentationUri`
4578
+ # @return [String]
4579
+ attr_accessor :proto_reference_documentation_uri
4580
+
4581
+ # Optional link to REST reference documentation. Example: https://cloud.google.
4582
+ # com/pubsub/lite/docs/reference/rest
4583
+ # Corresponds to the JSON property `restReferenceDocumentationUri`
4584
+ # @return [String]
4585
+ attr_accessor :rest_reference_documentation_uri
4586
+
3579
4587
  def initialize(**args)
3580
4588
  update!(**args)
3581
4589
  end
@@ -3591,6 +4599,8 @@ module Google
3591
4599
  @method_settings = args[:method_settings] if args.key?(:method_settings)
3592
4600
  @new_issue_uri = args[:new_issue_uri] if args.key?(:new_issue_uri)
3593
4601
  @organization = args[:organization] if args.key?(:organization)
4602
+ @proto_reference_documentation_uri = args[:proto_reference_documentation_uri] if args.key?(:proto_reference_documentation_uri)
4603
+ @rest_reference_documentation_uri = args[:rest_reference_documentation_uri] if args.key?(:rest_reference_documentation_uri)
3594
4604
  end
3595
4605
  end
3596
4606
 
@@ -3603,6 +4613,12 @@ module Google
3603
4613
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3604
4614
  attr_accessor :common
3605
4615
 
4616
+ # Experimental features to be included during client library generation. These
4617
+ # fields will be deprecated once the feature graduates and is enabled by default.
4618
+ # Corresponds to the JSON property `experimentalFeatures`
4619
+ # @return [Google::Apis::ServiceusageV1::ExperimentalFeatures]
4620
+ attr_accessor :experimental_features
4621
+
3606
4622
  def initialize(**args)
3607
4623
  update!(**args)
3608
4624
  end
@@ -3610,6 +4626,7 @@ module Google
3610
4626
  # Update properties of this object
3611
4627
  def update!(**args)
3612
4628
  @common = args[:common] if args.key?(:common)
4629
+ @experimental_features = args[:experimental_features] if args.key?(:experimental_features)
3613
4630
  end
3614
4631
  end
3615
4632
 
@@ -3729,11 +4746,11 @@ module Google
3729
4746
  # @return [String]
3730
4747
  attr_accessor :name
3731
4748
 
3732
- # Specify the unit of the quota limit. It uses the same syntax as Metric.unit.
3733
- # The supported unit kinds are determined by the quota backend system. Here are
3734
- # some examples: * "1/min/`project`" for quota per minute per project. Note: the
3735
- # order of unit components is insignificant. The "1" at the beginning is
3736
- # required to follow the metric unit syntax.
4749
+ # Specify the unit of the quota limit. It uses the same syntax as
4750
+ # MetricDescriptor.unit. The supported unit kinds are determined by the quota
4751
+ # backend system. Here are some examples: * "1/min/`project`" for quota per
4752
+ # minute per project. Note: the order of unit components is insignificant. The "
4753
+ # 1" at the beginning is required to follow the metric unit syntax.
3737
4754
  # Corresponds to the JSON property `unit`
3738
4755
  # @return [String]
3739
4756
  attr_accessor :unit
@@ -3839,6 +4856,46 @@ module Google
3839
4856
  end
3840
4857
  end
3841
4858
 
4859
+ # Metadata for the `RemoveEnableRules` method.
4860
+ class RemoveEnableRulesMetadata
4861
+ include Google::Apis::Core::Hashable
4862
+
4863
+ def initialize(**args)
4864
+ update!(**args)
4865
+ end
4866
+
4867
+ # Update properties of this object
4868
+ def update!(**args)
4869
+ end
4870
+ end
4871
+
4872
+ # The response message of `RemoveEnableRules` method.
4873
+ class RemoveEnableRulesResponse
4874
+ include Google::Apis::Core::Hashable
4875
+
4876
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
4877
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
4878
+ # consumerPolicies/default`.
4879
+ # Corresponds to the JSON property `parent`
4880
+ # @return [String]
4881
+ attr_accessor :parent
4882
+
4883
+ # The values removed from the parent consumer policy.
4884
+ # Corresponds to the JSON property `removedValues`
4885
+ # @return [Array<String>]
4886
+ attr_accessor :removed_values
4887
+
4888
+ def initialize(**args)
4889
+ update!(**args)
4890
+ end
4891
+
4892
+ # Update properties of this object
4893
+ def update!(**args)
4894
+ @parent = args[:parent] if args.key?(:parent)
4895
+ @removed_values = args[:removed_values] if args.key?(:removed_values)
4896
+ end
4897
+ end
4898
+
3842
4899
  # Settings for Ruby client libraries.
3843
4900
  class RubySettings
3844
4901
  include Google::Apis::Core::Hashable
@@ -3858,6 +4915,39 @@ module Google
3858
4915
  end
3859
4916
  end
3860
4917
 
4918
+ # This message is used to configure the generation of a subset of the RPCs in a
4919
+ # service for client libraries.
4920
+ class SelectiveGapicGeneration
4921
+ include Google::Apis::Core::Hashable
4922
+
4923
+ # Setting this to true indicates to the client generators that methods that
4924
+ # would be excluded from the generation should instead be generated in a way
4925
+ # that indicates these methods should not be consumed by end users. How this is
4926
+ # expressed is up to individual language implementations to decide. Some
4927
+ # examples may be: added annotations, obfuscated identifiers, or other language
4928
+ # idiomatic patterns.
4929
+ # Corresponds to the JSON property `generateOmittedAsInternal`
4930
+ # @return [Boolean]
4931
+ attr_accessor :generate_omitted_as_internal
4932
+ alias_method :generate_omitted_as_internal?, :generate_omitted_as_internal
4933
+
4934
+ # An allowlist of the fully qualified names of RPCs that should be included on
4935
+ # public client surfaces.
4936
+ # Corresponds to the JSON property `methods`
4937
+ # @return [Array<String>]
4938
+ attr_accessor :methods_prop
4939
+
4940
+ def initialize(**args)
4941
+ update!(**args)
4942
+ end
4943
+
4944
+ # Update properties of this object
4945
+ def update!(**args)
4946
+ @generate_omitted_as_internal = args[:generate_omitted_as_internal] if args.key?(:generate_omitted_as_internal)
4947
+ @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
4948
+ end
4949
+ end
4950
+
3861
4951
  # Service identity for a service. This is the identity that service producer
3862
4952
  # should use to access consumer resources.
3863
4953
  class ServiceIdentity
@@ -4063,6 +5153,11 @@ module Google
4063
5153
  class Type
4064
5154
  include Google::Apis::Core::Hashable
4065
5155
 
5156
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
5157
+ # Corresponds to the JSON property `edition`
5158
+ # @return [String]
5159
+ attr_accessor :edition
5160
+
4066
5161
  # The list of fields.
4067
5162
  # Corresponds to the JSON property `fields`
4068
5163
  # @return [Array<Google::Apis::ServiceusageV1::Field>]
@@ -4100,6 +5195,7 @@ module Google
4100
5195
 
4101
5196
  # Update properties of this object
4102
5197
  def update!(**args)
5198
+ @edition = args[:edition] if args.key?(:edition)
4103
5199
  @fields = args[:fields] if args.key?(:fields)
4104
5200
  @name = args[:name] if args.key?(:name)
4105
5201
  @oneofs = args[:oneofs] if args.key?(:oneofs)
@@ -4124,6 +5220,19 @@ module Google
4124
5220
  end
4125
5221
  end
4126
5222
 
5223
+ # Metadata for the `UpdateConsumerPolicy` method.
5224
+ class UpdateConsumerPolicyMetadata
5225
+ include Google::Apis::Core::Hashable
5226
+
5227
+ def initialize(**args)
5228
+ update!(**args)
5229
+ end
5230
+
5231
+ # Update properties of this object
5232
+ def update!(**args)
5233
+ end
5234
+ end
5235
+
4127
5236
  # Configuration controlling usage of a service.
4128
5237
  class Usage
4129
5238
  include Google::Apis::Core::Hashable
@@ -4167,21 +5276,15 @@ module Google
4167
5276
  end
4168
5277
  end
4169
5278
 
4170
- # Usage configuration rules for the service. NOTE: Under development. Use this
4171
- # rule to configure unregistered calls for the service. Unregistered calls are
4172
- # calls that do not contain consumer project identity. (Example: calls that do
4173
- # not contain an API key). By default, API methods do not allow unregistered
4174
- # calls, and each method call must be identified by a consumer project identity.
4175
- # Use this rule to allow/disallow unregistered calls. Example of an API that
4176
- # wants to allow unregistered calls for entire service. usage: rules: - selector:
4177
- # "*" allow_unregistered_calls: true Example of a method that wants to allow
4178
- # unregistered calls. usage: rules: - selector: "google.example.library.v1.
4179
- # LibraryService.CreateBook" allow_unregistered_calls: true
5279
+ # Usage configuration rules for the service.
4180
5280
  class UsageRule
4181
5281
  include Google::Apis::Core::Hashable
4182
5282
 
4183
- # If true, the selected method allows unregistered calls, e.g. calls that don't
4184
- # identify any user or application.
5283
+ # Use this rule to configure unregistered calls for the service. Unregistered
5284
+ # calls are calls that do not contain consumer project identity. (Example: calls
5285
+ # that do not contain an API key). WARNING: By default, API methods do not allow
5286
+ # unregistered calls, and each method call must be identified by a consumer
5287
+ # project identity.
4185
5288
  # Corresponds to the JSON property `allowUnregisteredCalls`
4186
5289
  # @return [Boolean]
4187
5290
  attr_accessor :allow_unregistered_calls