google-apis-serviceusage_v1 0.28.0 → 0.78.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,16 +127,125 @@ 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 `analysisResult`
136
+ # @return [Google::Apis::ServiceusageV1::AnalysisResult]
137
+ attr_accessor :analysis_result
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_result = args[:analysis_result] if args.key?(:analysis_result)
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,
93
233
  # which represent a concrete implementation of an interface as opposed to simply
94
234
  # a description of methods and bindings. They are also sometimes simply referred
95
235
  # to as "APIs" in other contexts, such as the name of this message itself. See
96
- # https://cloud.google.com/apis/design/glossary for detailed terminology.
236
+ # https://cloud.google.com/apis/design/glossary for detailed terminology. New
237
+ # usages of this message as an alternative to ServiceDescriptorProto are
238
+ # strongly discouraged. This message does not reliability preserve all
239
+ # information necessary to model the schema and preserve semantics. Instead make
240
+ # use of FileDescriptorSet which preserves the necessary information.
97
241
  class Api
98
242
  include Google::Apis::Core::Hashable
99
243
 
244
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
245
+ # Corresponds to the JSON property `edition`
246
+ # @return [String]
247
+ attr_accessor :edition
248
+
100
249
  # The methods of this interface, in unspecified order.
101
250
  # Corresponds to the JSON property `methods`
102
251
  # @return [Array<Google::Apis::ServiceusageV1::MethodProp>]
@@ -152,6 +301,7 @@ module Google
152
301
 
153
302
  # Update properties of this object
154
303
  def update!(**args)
304
+ @edition = args[:edition] if args.key?(:edition)
155
305
  @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
156
306
  @mixins = args[:mixins] if args.key?(:mixins)
157
307
  @name = args[:name] if args.key?(:name)
@@ -162,6 +312,66 @@ module Google
162
312
  end
163
313
  end
164
314
 
315
+ # Aspect represents Generic aspect. It is used to configure an aspect without
316
+ # making direct changes to service.proto
317
+ class Aspect
318
+ include Google::Apis::Core::Hashable
319
+
320
+ # The type of this aspect configuration.
321
+ # Corresponds to the JSON property `kind`
322
+ # @return [String]
323
+ attr_accessor :kind
324
+
325
+ # Optional. Rules of the Configuration.
326
+ # Corresponds to the JSON property `rules`
327
+ # @return [Array<Google::Apis::ServiceusageV1::AspectRule>]
328
+ attr_accessor :rules
329
+
330
+ # Content of the configuration. The underlying schema should be defined by
331
+ # Aspect owners as protobuf message under `google/api/configaspects/proto`.
332
+ # Corresponds to the JSON property `spec`
333
+ # @return [Hash<String,Object>]
334
+ attr_accessor :spec
335
+
336
+ def initialize(**args)
337
+ update!(**args)
338
+ end
339
+
340
+ # Update properties of this object
341
+ def update!(**args)
342
+ @kind = args[:kind] if args.key?(:kind)
343
+ @rules = args[:rules] if args.key?(:rules)
344
+ @spec = args[:spec] if args.key?(:spec)
345
+ end
346
+ end
347
+
348
+ # Rule-based configuration for an aspect.
349
+ class AspectRule
350
+ include Google::Apis::Core::Hashable
351
+
352
+ # Required. Rules of the configuration. The underlying schema should be defined
353
+ # by Aspect owners as protobuf message under `google/api/configaspects/proto`.
354
+ # Corresponds to the JSON property `config`
355
+ # @return [Hash<String,Object>]
356
+ attr_accessor :config
357
+
358
+ # Required. Selects the RPC methods to which this rule applies. Refer to
359
+ # selector for syntax details.
360
+ # Corresponds to the JSON property `selector`
361
+ # @return [String]
362
+ attr_accessor :selector
363
+
364
+ def initialize(**args)
365
+ update!(**args)
366
+ end
367
+
368
+ # Update properties of this object
369
+ def update!(**args)
370
+ @config = args[:config] if args.key?(:config)
371
+ @selector = args[:selector] if args.key?(:selector)
372
+ end
373
+ end
374
+
165
375
  # Configuration for an authentication provider, including support for [JSON Web
166
376
  # Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
167
377
  class AuthProvider
@@ -419,6 +629,14 @@ module Google
419
629
  # @return [String]
420
630
  attr_accessor :jwt_audience
421
631
 
632
+ # The load balancing policy used for connection to the application backend.
633
+ # Defined as an arbitrary string to accomondate custom load balancing policies
634
+ # supported by the underlying channel, but suggest most users use one of the
635
+ # standard policies, such as the default, "RoundRobin".
636
+ # Corresponds to the JSON property `loadBalancingPolicy`
637
+ # @return [String]
638
+ attr_accessor :load_balancing_policy
639
+
422
640
  # Deprecated, do not use.
423
641
  # Corresponds to the JSON property `minDeadline`
424
642
  # @return [Float]
@@ -430,7 +648,14 @@ module Google
430
648
  # @return [Float]
431
649
  attr_accessor :operation_deadline
432
650
 
433
- #
651
+ # The map between request protocol and the backend address.
652
+ # Corresponds to the JSON property `overridesByRequestProtocol`
653
+ # @return [Hash<String,Google::Apis::ServiceusageV1::BackendRule>]
654
+ attr_accessor :overrides_by_request_protocol
655
+
656
+ # Path translation specifies how to combine the backend address with the request
657
+ # path in order to produce the appropriate forwarding URL for the request. See
658
+ # PathTranslation for more details.
434
659
  # Corresponds to the JSON property `pathTranslation`
435
660
  # @return [String]
436
661
  attr_accessor :path_translation
@@ -464,8 +689,10 @@ module Google
464
689
  @deadline = args[:deadline] if args.key?(:deadline)
465
690
  @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
466
691
  @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
692
+ @load_balancing_policy = args[:load_balancing_policy] if args.key?(:load_balancing_policy)
467
693
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
468
694
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
695
+ @overrides_by_request_protocol = args[:overrides_by_request_protocol] if args.key?(:overrides_by_request_protocol)
469
696
  @path_translation = args[:path_translation] if args.key?(:path_translation)
470
697
  @protocol = args[:protocol] if args.key?(:protocol)
471
698
  @selector = args[:selector] if args.key?(:selector)
@@ -580,6 +807,140 @@ module Google
580
807
  end
581
808
  end
582
809
 
810
+ # `BatchingConfigProto` defines the batching configuration for an API method.
811
+ class BatchingConfigProto
812
+ include Google::Apis::Core::Hashable
813
+
814
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
815
+ # used for batching, and, optionally, the fields of the response message to be
816
+ # used for demultiplexing.
817
+ # Corresponds to the JSON property `batchDescriptor`
818
+ # @return [Google::Apis::ServiceusageV1::BatchingDescriptorProto]
819
+ attr_accessor :batch_descriptor
820
+
821
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
822
+ # acts as a trigger to send a batch of messages as a request. At least one
823
+ # threshold must be positive nonzero.
824
+ # Corresponds to the JSON property `thresholds`
825
+ # @return [Google::Apis::ServiceusageV1::BatchingSettingsProto]
826
+ attr_accessor :thresholds
827
+
828
+ def initialize(**args)
829
+ update!(**args)
830
+ end
831
+
832
+ # Update properties of this object
833
+ def update!(**args)
834
+ @batch_descriptor = args[:batch_descriptor] if args.key?(:batch_descriptor)
835
+ @thresholds = args[:thresholds] if args.key?(:thresholds)
836
+ end
837
+ end
838
+
839
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
840
+ # used for batching, and, optionally, the fields of the response message to be
841
+ # used for demultiplexing.
842
+ class BatchingDescriptorProto
843
+ include Google::Apis::Core::Hashable
844
+
845
+ # The repeated field in the request message to be aggregated by batching.
846
+ # Corresponds to the JSON property `batchedField`
847
+ # @return [String]
848
+ attr_accessor :batched_field
849
+
850
+ # A list of the fields in the request message. Two requests will be batched
851
+ # together only if the values of every field specified in `
852
+ # request_discriminator_fields` is equal between the two requests.
853
+ # Corresponds to the JSON property `discriminatorFields`
854
+ # @return [Array<String>]
855
+ attr_accessor :discriminator_fields
856
+
857
+ # Optional. When present, indicates the field in the response message to be used
858
+ # to demultiplex the response into multiple response messages, in correspondence
859
+ # with the multiple request messages originally batched together.
860
+ # Corresponds to the JSON property `subresponseField`
861
+ # @return [String]
862
+ attr_accessor :subresponse_field
863
+
864
+ def initialize(**args)
865
+ update!(**args)
866
+ end
867
+
868
+ # Update properties of this object
869
+ def update!(**args)
870
+ @batched_field = args[:batched_field] if args.key?(:batched_field)
871
+ @discriminator_fields = args[:discriminator_fields] if args.key?(:discriminator_fields)
872
+ @subresponse_field = args[:subresponse_field] if args.key?(:subresponse_field)
873
+ end
874
+ end
875
+
876
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
877
+ # acts as a trigger to send a batch of messages as a request. At least one
878
+ # threshold must be positive nonzero.
879
+ class BatchingSettingsProto
880
+ include Google::Apis::Core::Hashable
881
+
882
+ # The duration after which a batch should be sent, starting from the addition of
883
+ # the first message to that batch.
884
+ # Corresponds to the JSON property `delayThreshold`
885
+ # @return [String]
886
+ attr_accessor :delay_threshold
887
+
888
+ # The maximum number of elements collected in a batch that could be accepted by
889
+ # server.
890
+ # Corresponds to the JSON property `elementCountLimit`
891
+ # @return [Fixnum]
892
+ attr_accessor :element_count_limit
893
+
894
+ # The number of elements of a field collected into a batch which, if exceeded,
895
+ # causes the batch to be sent.
896
+ # Corresponds to the JSON property `elementCountThreshold`
897
+ # @return [Fixnum]
898
+ attr_accessor :element_count_threshold
899
+
900
+ # The maximum size of data allowed by flow control.
901
+ # Corresponds to the JSON property `flowControlByteLimit`
902
+ # @return [Fixnum]
903
+ attr_accessor :flow_control_byte_limit
904
+
905
+ # The maximum number of elements allowed by flow control.
906
+ # Corresponds to the JSON property `flowControlElementLimit`
907
+ # @return [Fixnum]
908
+ attr_accessor :flow_control_element_limit
909
+
910
+ # The behavior to take when the flow control limit is exceeded.
911
+ # Corresponds to the JSON property `flowControlLimitExceededBehavior`
912
+ # @return [String]
913
+ attr_accessor :flow_control_limit_exceeded_behavior
914
+
915
+ # The maximum size of the request that could be accepted by server.
916
+ # Corresponds to the JSON property `requestByteLimit`
917
+ # @return [Fixnum]
918
+ attr_accessor :request_byte_limit
919
+
920
+ # The aggregated size of the batched field which, if exceeded, causes the batch
921
+ # to be sent. This size is computed by aggregating the sizes of the request
922
+ # field to be batched, not of the entire request message.
923
+ # Corresponds to the JSON property `requestByteThreshold`
924
+ # @return [Fixnum]
925
+ attr_accessor :request_byte_threshold
926
+
927
+ def initialize(**args)
928
+ update!(**args)
929
+ end
930
+
931
+ # Update properties of this object
932
+ def update!(**args)
933
+ @delay_threshold = args[:delay_threshold] if args.key?(:delay_threshold)
934
+ @element_count_limit = args[:element_count_limit] if args.key?(:element_count_limit)
935
+ @element_count_threshold = args[:element_count_threshold] if args.key?(:element_count_threshold)
936
+ @flow_control_byte_limit = args[:flow_control_byte_limit] if args.key?(:flow_control_byte_limit)
937
+ @flow_control_element_limit = args[:flow_control_element_limit] if args.key?(:flow_control_element_limit)
938
+ @flow_control_limit_exceeded_behavior = args[:flow_control_limit_exceeded_behavior] if args.key?(:flow_control_limit_exceeded_behavior)
939
+ @request_byte_limit = args[:request_byte_limit] if args.key?(:request_byte_limit)
940
+ @request_byte_threshold = args[:request_byte_threshold] if args.key?(:request_byte_threshold)
941
+ end
942
+ end
943
+
583
944
  # Billing related configuration of the service. The following example shows how
584
945
  # to configure monitored resources and metrics for billing, `
585
946
  # consumer_destinations` is the only supported destination and the monitored
@@ -713,7 +1074,9 @@ module Google
713
1074
  # @return [Google::Apis::ServiceusageV1::RubySettings]
714
1075
  attr_accessor :ruby_settings
715
1076
 
716
- # Version of the API to apply these settings to.
1077
+ # Version of the API to apply these settings to. This is the full protobuf
1078
+ # package for the API, ending in the version element. Examples: "google.cloud.
1079
+ # speech.v1" and "google.spanner.admin.database.v1".
717
1080
  # Corresponds to the JSON property `version`
718
1081
  # @return [String]
719
1082
  attr_accessor :version
@@ -753,6 +1116,13 @@ module Google
753
1116
  # @return [String]
754
1117
  attr_accessor :reference_docs_uri
755
1118
 
1119
+ # This message is used to configure the generation of a subset of the RPCs in a
1120
+ # service for client libraries. Note: This feature should not be used in most
1121
+ # cases.
1122
+ # Corresponds to the JSON property `selectiveGapicGeneration`
1123
+ # @return [Google::Apis::ServiceusageV1::SelectiveGapicGeneration]
1124
+ attr_accessor :selective_gapic_generation
1125
+
756
1126
  def initialize(**args)
757
1127
  update!(**args)
758
1128
  end
@@ -761,30 +1131,44 @@ module Google
761
1131
  def update!(**args)
762
1132
  @destinations = args[:destinations] if args.key?(:destinations)
763
1133
  @reference_docs_uri = args[:reference_docs_uri] if args.key?(:reference_docs_uri)
1134
+ @selective_gapic_generation = args[:selective_gapic_generation] if args.key?(:selective_gapic_generation)
764
1135
  end
765
1136
  end
766
1137
 
767
- # `Context` defines which contexts an API requests. Example: context: rules: -
768
- # selector: "*" requested: - google.rpc.context.ProjectContext - google.rpc.
769
- # context.OriginContext The above specifies that all methods in the API request `
770
- # google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`.
771
- # Available context types are defined in package `google.rpc.context`. This also
772
- # provides mechanism to allowlist any protobuf message extension that can be
773
- # sent in grpc metadata using “x-goog-ext--bin” and “x-goog-ext--jspb” format.
774
- # For example, list any service specific protobuf types that can appear in grpc
775
- # metadata as follows in your yaml file: Example: context: rules: - selector: "
776
- # google.example.library.v1.LibraryService.CreateBook"
777
- # allowed_request_extensions: - google.foo.v1.NewExtension
778
- # allowed_response_extensions: - google.foo.v1.NewExtension You can also specify
779
- # extension ID instead of fully qualified extension name here.
780
- class Context
1138
+ # Consumer Policy is a set of rules that define what services or service groups
1139
+ # can be used for a cloud resource hierarchy.
1140
+ class ConsumerPolicy
781
1141
  include Google::Apis::Core::Hashable
782
1142
 
783
- # A list of RPC context rules that apply to individual API methods. **NOTE:**
784
- # All service configuration rules follow "last one wins" order.
785
- # Corresponds to the JSON property `rules`
786
- # @return [Array<Google::Apis::ServiceusageV1::ContextRule>]
787
- attr_accessor :rules
1143
+ # Output only. The time the policy was created. For singleton policies, this is
1144
+ # the first touch of the policy.
1145
+ # Corresponds to the JSON property `createTime`
1146
+ # @return [String]
1147
+ attr_accessor :create_time
1148
+
1149
+ # Enable rules define usable services and groups. There can currently be at most
1150
+ # one `EnableRule`. This restriction will be lifted in later releases.
1151
+ # Corresponds to the JSON property `enableRules`
1152
+ # @return [Array<Google::Apis::ServiceusageV1::EnableRule>]
1153
+ attr_accessor :enable_rules
1154
+
1155
+ # An opaque tag indicating the current version of the policy, used for
1156
+ # concurrency control.
1157
+ # Corresponds to the JSON property `etag`
1158
+ # @return [String]
1159
+ attr_accessor :etag
1160
+
1161
+ # Output only. The resource name of the policy. Only the `default` policy is
1162
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
1163
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
1164
+ # Corresponds to the JSON property `name`
1165
+ # @return [String]
1166
+ attr_accessor :name
1167
+
1168
+ # Output only. The time the policy was last updated.
1169
+ # Corresponds to the JSON property `updateTime`
1170
+ # @return [String]
1171
+ attr_accessor :update_time
788
1172
 
789
1173
  def initialize(**args)
790
1174
  update!(**args)
@@ -792,42 +1176,22 @@ module Google
792
1176
 
793
1177
  # Update properties of this object
794
1178
  def update!(**args)
795
- @rules = args[:rules] if args.key?(:rules)
1179
+ @create_time = args[:create_time] if args.key?(:create_time)
1180
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
1181
+ @etag = args[:etag] if args.key?(:etag)
1182
+ @name = args[:name] if args.key?(:name)
1183
+ @update_time = args[:update_time] if args.key?(:update_time)
796
1184
  end
797
1185
  end
798
1186
 
799
- # A context rule provides information about the context for an individual API
800
- # element.
801
- class ContextRule
1187
+ # ContentSecurity defines the content security related fields of a MCP policy.
1188
+ class ContentSecurity
802
1189
  include Google::Apis::Core::Hashable
803
1190
 
804
- # A list of full type names or extension IDs of extensions allowed in grpc side
805
- # channel from client to backend.
806
- # Corresponds to the JSON property `allowedRequestExtensions`
807
- # @return [Array<String>]
808
- attr_accessor :allowed_request_extensions
809
-
810
- # A list of full type names or extension IDs of extensions allowed in grpc side
811
- # channel from backend to client.
812
- # Corresponds to the JSON property `allowedResponseExtensions`
813
- # @return [Array<String>]
814
- attr_accessor :allowed_response_extensions
815
-
816
- # A list of full type names of provided contexts.
817
- # Corresponds to the JSON property `provided`
818
- # @return [Array<String>]
819
- attr_accessor :provided
820
-
821
- # A list of full type names of requested contexts.
822
- # Corresponds to the JSON property `requested`
823
- # @return [Array<String>]
824
- attr_accessor :requested
825
-
826
- # Selects the methods to which this rule applies. Refer to selector for syntax
827
- # details.
828
- # Corresponds to the JSON property `selector`
829
- # @return [String]
830
- attr_accessor :selector
1191
+ # List of content security providers that are enabled for content scanning.
1192
+ # Corresponds to the JSON property `contentSecurityProviders`
1193
+ # @return [Array<Google::Apis::ServiceusageV1::ContentSecurityProvider>]
1194
+ attr_accessor :content_security_providers
831
1195
 
832
1196
  def initialize(**args)
833
1197
  update!(**args)
@@ -835,8 +1199,138 @@ module Google
835
1199
 
836
1200
  # Update properties of this object
837
1201
  def update!(**args)
838
- @allowed_request_extensions = args[:allowed_request_extensions] if args.key?(:allowed_request_extensions)
839
- @allowed_response_extensions = args[:allowed_response_extensions] if args.key?(:allowed_response_extensions)
1202
+ @content_security_providers = args[:content_security_providers] if args.key?(:content_security_providers)
1203
+ end
1204
+ end
1205
+
1206
+ # Content Security Policy contains the content security related policy of a
1207
+ # resource.
1208
+ class ContentSecurityPolicy
1209
+ include Google::Apis::Core::Hashable
1210
+
1211
+ # ContentSecurity defines the content security related fields of a MCP policy.
1212
+ # Corresponds to the JSON property `mcpContentSecurity`
1213
+ # @return [Google::Apis::ServiceusageV1::ContentSecurity]
1214
+ attr_accessor :mcp_content_security
1215
+
1216
+ # Output only. The resource name of the policy. Only the `default` policy is
1217
+ # supported. We allow the following formats: `projects/`PROJECT_NUMBER`/
1218
+ # contentSecurityPolicies/default`, `projects/`PROJECT_ID`/
1219
+ # contentSecurityPolicies/default`, We only support project level content
1220
+ # security policy for now.
1221
+ # Corresponds to the JSON property `name`
1222
+ # @return [String]
1223
+ attr_accessor :name
1224
+
1225
+ def initialize(**args)
1226
+ update!(**args)
1227
+ end
1228
+
1229
+ # Update properties of this object
1230
+ def update!(**args)
1231
+ @mcp_content_security = args[:mcp_content_security] if args.key?(:mcp_content_security)
1232
+ @name = args[:name] if args.key?(:name)
1233
+ end
1234
+ end
1235
+
1236
+ # ContentSecurityProvider contains the name of content security provider.
1237
+ class ContentSecurityProvider
1238
+ include Google::Apis::Core::Hashable
1239
+
1240
+ # Name of security service for content scanning, such as Google Cloud Model
1241
+ # Armor or supported third-party ISV solutions. If it is Google 1P service, the
1242
+ # name should be prefixed with `services/`. If it is a 3P service, the format
1243
+ # needs to be documented. The currently supported values are: - `services/
1244
+ # modelarmor.googleapis.com` for Google Cloud Model Armor.
1245
+ # Corresponds to the JSON property `name`
1246
+ # @return [String]
1247
+ attr_accessor :name
1248
+
1249
+ def initialize(**args)
1250
+ update!(**args)
1251
+ end
1252
+
1253
+ # Update properties of this object
1254
+ def update!(**args)
1255
+ @name = args[:name] if args.key?(:name)
1256
+ end
1257
+ end
1258
+
1259
+ # `Context` defines which contexts an API requests. Example: context: rules: -
1260
+ # selector: "*" requested: - google.rpc.context.ProjectContext - google.rpc.
1261
+ # context.OriginContext The above specifies that all methods in the API request `
1262
+ # google.rpc.context.ProjectContext` and `google.rpc.context.OriginContext`.
1263
+ # Available context types are defined in package `google.rpc.context`. This also
1264
+ # provides mechanism to allowlist any protobuf message extension that can be
1265
+ # sent in grpc metadata using “x-goog-ext--bin” and “x-goog-ext--jspb” format.
1266
+ # For example, list any service specific protobuf types that can appear in grpc
1267
+ # metadata as follows in your yaml file: Example: context: rules: - selector: "
1268
+ # google.example.library.v1.LibraryService.CreateBook"
1269
+ # allowed_request_extensions: - google.foo.v1.NewExtension
1270
+ # allowed_response_extensions: - google.foo.v1.NewExtension You can also specify
1271
+ # extension ID instead of fully qualified extension name here.
1272
+ class Context
1273
+ include Google::Apis::Core::Hashable
1274
+
1275
+ # A list of RPC context rules that apply to individual API methods. **NOTE:**
1276
+ # All service configuration rules follow "last one wins" order.
1277
+ # Corresponds to the JSON property `rules`
1278
+ # @return [Array<Google::Apis::ServiceusageV1::ContextRule>]
1279
+ attr_accessor :rules
1280
+
1281
+ def initialize(**args)
1282
+ update!(**args)
1283
+ end
1284
+
1285
+ # Update properties of this object
1286
+ def update!(**args)
1287
+ @rules = args[:rules] if args.key?(:rules)
1288
+ end
1289
+ end
1290
+
1291
+ # A context rule provides information about the context for an individual API
1292
+ # element.
1293
+ class ContextRule
1294
+ include Google::Apis::Core::Hashable
1295
+
1296
+ # A list of full type names or extension IDs of extensions allowed in grpc side
1297
+ # channel from client to backend.
1298
+ # Corresponds to the JSON property `allowedRequestExtensions`
1299
+ # @return [Array<String>]
1300
+ attr_accessor :allowed_request_extensions
1301
+
1302
+ # A list of full type names or extension IDs of extensions allowed in grpc side
1303
+ # channel from backend to client.
1304
+ # Corresponds to the JSON property `allowedResponseExtensions`
1305
+ # @return [Array<String>]
1306
+ attr_accessor :allowed_response_extensions
1307
+
1308
+ # A list of full type names of provided contexts. It is used to support
1309
+ # propagating HTTP headers and ETags from the response extension.
1310
+ # Corresponds to the JSON property `provided`
1311
+ # @return [Array<String>]
1312
+ attr_accessor :provided
1313
+
1314
+ # A list of full type names of requested contexts, only the requested context
1315
+ # will be made available to the backend.
1316
+ # Corresponds to the JSON property `requested`
1317
+ # @return [Array<String>]
1318
+ attr_accessor :requested
1319
+
1320
+ # Selects the methods to which this rule applies. Refer to selector for syntax
1321
+ # details.
1322
+ # Corresponds to the JSON property `selector`
1323
+ # @return [String]
1324
+ attr_accessor :selector
1325
+
1326
+ def initialize(**args)
1327
+ update!(**args)
1328
+ end
1329
+
1330
+ # Update properties of this object
1331
+ def update!(**args)
1332
+ @allowed_request_extensions = args[:allowed_request_extensions] if args.key?(:allowed_request_extensions)
1333
+ @allowed_response_extensions = args[:allowed_response_extensions] if args.key?(:allowed_response_extensions)
840
1334
  @provided = args[:provided] if args.key?(:provided)
841
1335
  @requested = args[:requested] if args.key?(:requested)
842
1336
  @selector = args[:selector] if args.key?(:selector)
@@ -848,13 +1342,18 @@ module Google
848
1342
  class Control
849
1343
  include Google::Apis::Core::Hashable
850
1344
 
851
- # The service controller environment to use. If empty, no control plane feature (
852
- # like quota and billing) will be enabled. The recommended value for most
853
- # services is servicecontrol.googleapis.com
1345
+ # The service controller environment to use. If empty, no control plane features
1346
+ # (like quota and billing) will be enabled. The recommended value for most
1347
+ # services is servicecontrol.googleapis.com.
854
1348
  # Corresponds to the JSON property `environment`
855
1349
  # @return [String]
856
1350
  attr_accessor :environment
857
1351
 
1352
+ # Defines policies applying to the API methods of the service.
1353
+ # Corresponds to the JSON property `methodPolicies`
1354
+ # @return [Array<Google::Apis::ServiceusageV1::MethodPolicy>]
1355
+ attr_accessor :method_policies
1356
+
858
1357
  def initialize(**args)
859
1358
  update!(**args)
860
1359
  end
@@ -862,6 +1361,7 @@ module Google
862
1361
  # Update properties of this object
863
1362
  def update!(**args)
864
1363
  @environment = args[:environment] if args.key?(:environment)
1364
+ @method_policies = args[:method_policies] if args.key?(:method_policies)
865
1365
  end
866
1366
  end
867
1367
 
@@ -1050,7 +1550,7 @@ module Google
1050
1550
  # documentation: summary: > The Google Calendar API gives access to most
1051
1551
  # calendar features. pages: - name: Overview content: (== include google/foo/
1052
1552
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1053
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
1553
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1054
1554
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1055
1555
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1056
1556
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1075,6 +1575,12 @@ module Google
1075
1575
  class Documentation
1076
1576
  include Google::Apis::Core::Hashable
1077
1577
 
1578
+ # Optional information about the IAM configuration. This is typically used to
1579
+ # link to documentation about a product's IAM roles and permissions.
1580
+ # Corresponds to the JSON property `additionalIamInfo`
1581
+ # @return [String]
1582
+ attr_accessor :additional_iam_info
1583
+
1078
1584
  # The URL to the root of documentation.
1079
1585
  # Corresponds to the JSON property `documentationRootUrl`
1080
1586
  # @return [String]
@@ -1100,6 +1606,12 @@ module Google
1100
1606
  # @return [Array<Google::Apis::ServiceusageV1::DocumentationRule>]
1101
1607
  attr_accessor :rules
1102
1608
 
1609
+ # Specifies section and content to override the boilerplate content. Currently
1610
+ # overrides following sections: 1. rest.service.client_libraries
1611
+ # Corresponds to the JSON property `sectionOverrides`
1612
+ # @return [Array<Google::Apis::ServiceusageV1::Page>]
1613
+ attr_accessor :section_overrides
1614
+
1103
1615
  # Specifies the service root url if the default one (the service name from the
1104
1616
  # yaml file) is not suitable. This can be seen in any fully specified service
1105
1617
  # urls as well as sections that show a base that other urls are relative to.
@@ -1120,10 +1632,12 @@ module Google
1120
1632
 
1121
1633
  # Update properties of this object
1122
1634
  def update!(**args)
1635
+ @additional_iam_info = args[:additional_iam_info] if args.key?(:additional_iam_info)
1123
1636
  @documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
1124
1637
  @overview = args[:overview] if args.key?(:overview)
1125
1638
  @pages = args[:pages] if args.key?(:pages)
1126
1639
  @rules = args[:rules] if args.key?(:rules)
1640
+ @section_overrides = args[:section_overrides] if args.key?(:section_overrides)
1127
1641
  @service_root_url = args[:service_root_url] if args.key?(:service_root_url)
1128
1642
  @summary = args[:summary] if args.key?(:summary)
1129
1643
  end
@@ -1146,6 +1660,12 @@ module Google
1146
1660
  # @return [String]
1147
1661
  attr_accessor :description
1148
1662
 
1663
+ # String of comma or space separated case-sensitive words for which method/field
1664
+ # name replacement will be disabled.
1665
+ # Corresponds to the JSON property `disableReplacementWords`
1666
+ # @return [String]
1667
+ attr_accessor :disable_replacement_words
1668
+
1149
1669
  # The selector is a comma-separated list of patterns for any element such as a
1150
1670
  # method, a field, an enum value. Each pattern is a qualified name of the
1151
1671
  # element which may end in "*", indicating a wildcard. Wildcards are only
@@ -1165,6 +1685,7 @@ module Google
1165
1685
  def update!(**args)
1166
1686
  @deprecation_description = args[:deprecation_description] if args.key?(:deprecation_description)
1167
1687
  @description = args[:description] if args.key?(:description)
1688
+ @disable_replacement_words = args[:disable_replacement_words] if args.key?(:disable_replacement_words)
1168
1689
  @selector = args[:selector] if args.key?(:selector)
1169
1690
  end
1170
1691
  end
@@ -1178,6 +1699,42 @@ module Google
1178
1699
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1179
1700
  attr_accessor :common
1180
1701
 
1702
+ # Namespaces which must be aliased in snippets due to a known (but non-generator-
1703
+ # predictable) naming collision
1704
+ # Corresponds to the JSON property `forcedNamespaceAliases`
1705
+ # @return [Array<String>]
1706
+ attr_accessor :forced_namespace_aliases
1707
+
1708
+ # Method signatures (in the form "service.method(signature)") which are provided
1709
+ # separately, so shouldn't be generated. Snippets *calling* these methods are
1710
+ # still generated, however.
1711
+ # Corresponds to the JSON property `handwrittenSignatures`
1712
+ # @return [Array<String>]
1713
+ attr_accessor :handwritten_signatures
1714
+
1715
+ # List of full resource types to ignore during generation. This is typically
1716
+ # used for API-specific Location resources, which should be handled by the
1717
+ # generator as if they were actually the common Location resources. Example
1718
+ # entry: "documentai.googleapis.com/Location"
1719
+ # Corresponds to the JSON property `ignoredResources`
1720
+ # @return [Array<String>]
1721
+ attr_accessor :ignored_resources
1722
+
1723
+ # Map from full resource types to the effective short name for the resource.
1724
+ # This is used when otherwise resource named from different services would cause
1725
+ # naming collisions. Example entry: "datalabeling.googleapis.com/Dataset": "
1726
+ # DataLabelingDataset"
1727
+ # Corresponds to the JSON property `renamedResources`
1728
+ # @return [Hash<String,String>]
1729
+ attr_accessor :renamed_resources
1730
+
1731
+ # Map from original service names to renamed versions. This is used when the
1732
+ # default generated types would cause a naming conflict. (Neither name is fully-
1733
+ # qualified.) Example: Subscriber to SubscriberServiceApi.
1734
+ # Corresponds to the JSON property `renamedServices`
1735
+ # @return [Hash<String,String>]
1736
+ attr_accessor :renamed_services
1737
+
1181
1738
  def initialize(**args)
1182
1739
  update!(**args)
1183
1740
  end
@@ -1185,6 +1742,11 @@ module Google
1185
1742
  # Update properties of this object
1186
1743
  def update!(**args)
1187
1744
  @common = args[:common] if args.key?(:common)
1745
+ @forced_namespace_aliases = args[:forced_namespace_aliases] if args.key?(:forced_namespace_aliases)
1746
+ @handwritten_signatures = args[:handwritten_signatures] if args.key?(:handwritten_signatures)
1747
+ @ignored_resources = args[:ignored_resources] if args.key?(:ignored_resources)
1748
+ @renamed_resources = args[:renamed_resources] if args.key?(:renamed_resources)
1749
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1188
1750
  end
1189
1751
  end
1190
1752
 
@@ -1229,6 +1791,40 @@ module Google
1229
1791
  end
1230
1792
  end
1231
1793
 
1794
+ # The consumer policy rule that defines enabled services and groups.
1795
+ class EnableRule
1796
+ include Google::Apis::Core::Hashable
1797
+
1798
+ # Client and resource project enable type.
1799
+ # Corresponds to the JSON property `enableType`
1800
+ # @return [String]
1801
+ attr_accessor :enable_type
1802
+
1803
+ # The names of the services that are enabled. Example: `services/storage.
1804
+ # googleapis.com`.
1805
+ # Corresponds to the JSON property `services`
1806
+ # @return [Array<String>]
1807
+ attr_accessor :services
1808
+
1809
+ # The names of the services or service groups that are enabled. Example: `
1810
+ # services/storage.googleapis.com`, `groups/googleServices`, `groups/allServices`
1811
+ # .
1812
+ # Corresponds to the JSON property `values`
1813
+ # @return [Array<String>]
1814
+ attr_accessor :values
1815
+
1816
+ def initialize(**args)
1817
+ update!(**args)
1818
+ end
1819
+
1820
+ # Update properties of this object
1821
+ def update!(**args)
1822
+ @enable_type = args[:enable_type] if args.key?(:enable_type)
1823
+ @services = args[:services] if args.key?(:services)
1824
+ @values = args[:values] if args.key?(:values)
1825
+ end
1826
+ end
1827
+
1232
1828
  # Request message for the `EnableService` method.
1233
1829
  class EnableServiceRequest
1234
1830
  include Google::Apis::Core::Hashable
@@ -1278,9 +1874,9 @@ module Google
1278
1874
  class Endpoint
1279
1875
  include Google::Apis::Core::Hashable
1280
1876
 
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.
1877
+ # Aliases for this endpoint, these will be served by the same UrlMap as the
1878
+ # parent endpoint, and will be provisioned in the GCP stack for the Regional
1879
+ # Endpoints.
1284
1880
  # Corresponds to the JSON property `aliases`
1285
1881
  # @return [Array<String>]
1286
1882
  attr_accessor :aliases
@@ -1321,10 +1917,19 @@ module Google
1321
1917
  end
1322
1918
  end
1323
1919
 
1324
- # Enum type definition.
1920
+ # Enum type definition. New usages of this message as an alternative to
1921
+ # EnumDescriptorProto are strongly discouraged. This message does not
1922
+ # reliability preserve all information necessary to model the schema and
1923
+ # preserve semantics. Instead make use of FileDescriptorSet which preserves the
1924
+ # necessary information.
1325
1925
  class Enum
1326
1926
  include Google::Apis::Core::Hashable
1327
1927
 
1928
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
1929
+ # Corresponds to the JSON property `edition`
1930
+ # @return [String]
1931
+ attr_accessor :edition
1932
+
1328
1933
  # Enum value definitions.
1329
1934
  # Corresponds to the JSON property `enumvalue`
1330
1935
  # @return [Array<Google::Apis::ServiceusageV1::EnumValue>]
@@ -1357,6 +1962,7 @@ module Google
1357
1962
 
1358
1963
  # Update properties of this object
1359
1964
  def update!(**args)
1965
+ @edition = args[:edition] if args.key?(:edition)
1360
1966
  @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
1361
1967
  @name = args[:name] if args.key?(:name)
1362
1968
  @options = args[:options] if args.key?(:options)
@@ -1365,7 +1971,11 @@ module Google
1365
1971
  end
1366
1972
  end
1367
1973
 
1368
- # Enum value definition.
1974
+ # Enum value definition. New usages of this message as an alternative to
1975
+ # EnumValueDescriptorProto are strongly discouraged. This message does not
1976
+ # reliability preserve all information necessary to model the schema and
1977
+ # preserve semantics. Instead make use of FileDescriptorSet which preserves the
1978
+ # necessary information.
1369
1979
  class EnumValue
1370
1980
  include Google::Apis::Core::Hashable
1371
1981
 
@@ -1396,7 +2006,54 @@ module Google
1396
2006
  end
1397
2007
  end
1398
2008
 
1399
- # A single field of a message type.
2009
+ # Experimental features to be included during client library generation. These
2010
+ # fields will be deprecated once the feature graduates and is enabled by default.
2011
+ class ExperimentalFeatures
2012
+ include Google::Apis::Core::Hashable
2013
+
2014
+ # Enables generation of protobuf code using new types that are more Pythonic
2015
+ # which are included in `protobuf>=5.29.x`. This feature will be enabled by
2016
+ # default 1 month after launching the feature in preview packages.
2017
+ # Corresponds to the JSON property `protobufPythonicTypesEnabled`
2018
+ # @return [Boolean]
2019
+ attr_accessor :protobuf_pythonic_types_enabled
2020
+ alias_method :protobuf_pythonic_types_enabled?, :protobuf_pythonic_types_enabled
2021
+
2022
+ # Enables generation of asynchronous REST clients if `rest` transport is enabled.
2023
+ # By default, asynchronous REST clients will not be generated. This feature
2024
+ # will be enabled by default 1 month after launching the feature in preview
2025
+ # packages.
2026
+ # Corresponds to the JSON property `restAsyncIoEnabled`
2027
+ # @return [Boolean]
2028
+ attr_accessor :rest_async_io_enabled
2029
+ alias_method :rest_async_io_enabled?, :rest_async_io_enabled
2030
+
2031
+ # Disables generation of an unversioned Python package for this client library.
2032
+ # This means that the module names will need to be versioned in import
2033
+ # statements. For example `import google.cloud.library_v2` instead of `import
2034
+ # google.cloud.library`.
2035
+ # Corresponds to the JSON property `unversionedPackageDisabled`
2036
+ # @return [Boolean]
2037
+ attr_accessor :unversioned_package_disabled
2038
+ alias_method :unversioned_package_disabled?, :unversioned_package_disabled
2039
+
2040
+ def initialize(**args)
2041
+ update!(**args)
2042
+ end
2043
+
2044
+ # Update properties of this object
2045
+ def update!(**args)
2046
+ @protobuf_pythonic_types_enabled = args[:protobuf_pythonic_types_enabled] if args.key?(:protobuf_pythonic_types_enabled)
2047
+ @rest_async_io_enabled = args[:rest_async_io_enabled] if args.key?(:rest_async_io_enabled)
2048
+ @unversioned_package_disabled = args[:unversioned_package_disabled] if args.key?(:unversioned_package_disabled)
2049
+ end
2050
+ end
2051
+
2052
+ # A single field of a message type. New usages of this message as an alternative
2053
+ # to FieldDescriptorProto are strongly discouraged. This message does not
2054
+ # reliability preserve all information necessary to model the schema and
2055
+ # preserve semantics. Instead make use of FileDescriptorSet which preserves the
2056
+ # necessary information.
1400
2057
  class Field
1401
2058
  include Google::Apis::Core::Hashable
1402
2059
 
@@ -1472,6 +2129,50 @@ module Google
1472
2129
  end
1473
2130
  end
1474
2131
 
2132
+ # Google API Policy Annotation This message defines a simple API policy
2133
+ # annotation that can be used to annotate API request and response message
2134
+ # fields with applicable policies. One field may have multiple applicable
2135
+ # policies that must all be satisfied before a request can be processed. This
2136
+ # policy annotation is used to generate the overall policy that will be used for
2137
+ # automatic runtime policy enforcement and documentation generation.
2138
+ class FieldPolicy
2139
+ include Google::Apis::Core::Hashable
2140
+
2141
+ # Specifies the required permission(s) for the resource referred to by the field.
2142
+ # It requires the field contains a valid resource reference, and the request
2143
+ # must pass the permission checks to proceed. For example, "resourcemanager.
2144
+ # projects.get".
2145
+ # Corresponds to the JSON property `resourcePermission`
2146
+ # @return [String]
2147
+ attr_accessor :resource_permission
2148
+
2149
+ # Specifies the resource type for the resource referred to by the field.
2150
+ # Corresponds to the JSON property `resourceType`
2151
+ # @return [String]
2152
+ attr_accessor :resource_type
2153
+
2154
+ # Selects one or more request or response message fields to apply this `
2155
+ # FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector
2156
+ # must be left as empty. The service config generator will automatically fill
2157
+ # the correct value. When a `FieldPolicy` is used in service config, the
2158
+ # selector must be a comma-separated string with valid request or response field
2159
+ # paths, such as "foo.bar" or "foo.bar,foo.baz".
2160
+ # Corresponds to the JSON property `selector`
2161
+ # @return [String]
2162
+ attr_accessor :selector
2163
+
2164
+ def initialize(**args)
2165
+ update!(**args)
2166
+ end
2167
+
2168
+ # Update properties of this object
2169
+ def update!(**args)
2170
+ @resource_permission = args[:resource_permission] if args.key?(:resource_permission)
2171
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
2172
+ @selector = args[:selector] if args.key?(:selector)
2173
+ end
2174
+ end
2175
+
1475
2176
  # Metadata for the `GetServiceIdentity` method.
1476
2177
  class GetServiceIdentityMetadata
1477
2178
  include Google::Apis::Core::Hashable
@@ -1520,6 +2221,14 @@ module Google
1520
2221
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1521
2222
  attr_accessor :common
1522
2223
 
2224
+ # Map of service names to renamed services. Keys are the package relative
2225
+ # service names and values are the name to be used for the service client and
2226
+ # call options. Example: publishing: go_settings: renamed_services: Publisher:
2227
+ # TopicAdmin
2228
+ # Corresponds to the JSON property `renamedServices`
2229
+ # @return [Hash<String,String>]
2230
+ attr_accessor :renamed_services
2231
+
1523
2232
  def initialize(**args)
1524
2233
  update!(**args)
1525
2234
  end
@@ -1527,6 +2236,7 @@ module Google
1527
2236
  # Update properties of this object
1528
2237
  def update!(**args)
1529
2238
  @common = args[:common] if args.key?(:common)
2239
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1530
2240
  end
1531
2241
  end
1532
2242
 
@@ -1555,6 +2265,14 @@ module Google
1555
2265
  # @return [Array<Google::Apis::ServiceusageV1::Api>]
1556
2266
  attr_accessor :apis
1557
2267
 
2268
+ # Configuration aspects. This is a repeated field to allow multiple aspects to
2269
+ # be configured. The kind field in each ConfigAspect specifies the type of
2270
+ # aspect. The spec field contains the configuration for that aspect. The schema
2271
+ # for the spec field is defined by the backend service owners.
2272
+ # Corresponds to the JSON property `aspects`
2273
+ # @return [Array<Google::Apis::ServiceusageV1::Aspect>]
2274
+ attr_accessor :aspects
2275
+
1558
2276
  # `Authentication` defines the authentication configuration for API methods
1559
2277
  # provided by an API service. Example: name: calendar.googleapis.com
1560
2278
  # authentication: providers: - id: google_calendar_auth jwks_uri: https://www.
@@ -1631,7 +2349,7 @@ module Google
1631
2349
  # documentation: summary: > The Google Calendar API gives access to most
1632
2350
  # calendar features. pages: - name: Overview content: (== include google/foo/
1633
2351
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1634
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2352
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1635
2353
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1636
2354
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1637
2355
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1712,8 +2430,8 @@ module Google
1712
2430
  # @return [Array<Google::Apis::ServiceusageV1::MetricDescriptor>]
1713
2431
  attr_accessor :metrics
1714
2432
 
1715
- # Defines the monitored resources used by this service. This is required by the
1716
- # Service.monitoring and Service.logging configurations.
2433
+ # Defines the monitored resources used by this service. This is required by the `
2434
+ # Service.monitoring` and `Service.logging` configurations.
1717
2435
  # Corresponds to the JSON property `monitoredResources`
1718
2436
  # @return [Array<Google::Apis::ServiceusageV1::MonitoredResourceDescriptor>]
1719
2437
  attr_accessor :monitored_resources
@@ -1834,6 +2552,7 @@ module Google
1834
2552
  # Update properties of this object
1835
2553
  def update!(**args)
1836
2554
  @apis = args[:apis] if args.key?(:apis)
2555
+ @aspects = args[:aspects] if args.key?(:aspects)
1837
2556
  @authentication = args[:authentication] if args.key?(:authentication)
1838
2557
  @backend = args[:backend] if args.key?(:backend)
1839
2558
  @billing = args[:billing] if args.key?(:billing)
@@ -1946,7 +2665,7 @@ module Google
1946
2665
  # documentation: summary: > The Google Calendar API gives access to most
1947
2666
  # calendar features. pages: - name: Overview content: (== include google/foo/
1948
2667
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1949
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2668
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1950
2669
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1951
2670
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1952
2671
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1972,82 +2691,643 @@ module Google
1972
2691
  # @return [Google::Apis::ServiceusageV1::Documentation]
1973
2692
  attr_accessor :documentation
1974
2693
 
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
2694
+ # Configuration for network endpoints. Contains only the names and aliases of
2695
+ # the endpoints.
2696
+ # Corresponds to the JSON property `endpoints`
2697
+ # @return [Array<Google::Apis::ServiceusageV1::Endpoint>]
2698
+ attr_accessor :endpoints
2699
+
2700
+ # Defines the monitored resources used by this service. This is required by the
2701
+ # Service.monitoring and Service.logging configurations.
2702
+ # Corresponds to the JSON property `monitoredResources`
2703
+ # @return [Array<Google::Apis::ServiceusageV1::MonitoredResourceDescriptor>]
2704
+ attr_accessor :monitored_resources
2705
+
2706
+ # Monitoring configuration of the service. The example below shows how to
2707
+ # configure monitored resources and metrics for monitoring. In the example, a
2708
+ # monitored resource and two metrics are defined. The `library.googleapis.com/
2709
+ # book/returned_count` metric is sent to both producer and consumer projects,
2710
+ # whereas the `library.googleapis.com/book/num_overdue` metric is only sent to
2711
+ # the consumer project. monitored_resources: - type: library.googleapis.com/
2712
+ # Branch display_name: "Library Branch" description: "A branch of a library."
2713
+ # launch_stage: GA labels: - key: resource_container description: "The Cloud
2714
+ # container (ie. project id) for the Branch." - key: location description: "The
2715
+ # location of the library branch." - key: branch_id description: "The id of the
2716
+ # branch." metrics: - name: library.googleapis.com/book/returned_count
2717
+ # display_name: "Books Returned" description: "The count of books that have been
2718
+ # returned." launch_stage: GA metric_kind: DELTA value_type: INT64 unit: "1"
2719
+ # labels: - key: customer_id description: "The id of the customer." - name:
2720
+ # library.googleapis.com/book/num_overdue display_name: "Books Overdue"
2721
+ # description: "The current number of overdue books." launch_stage: GA
2722
+ # metric_kind: GAUGE value_type: INT64 unit: "1" labels: - key: customer_id
2723
+ # description: "The id of the customer." monitoring: producer_destinations: -
2724
+ # monitored_resource: library.googleapis.com/Branch metrics: - library.
2725
+ # googleapis.com/book/returned_count consumer_destinations: - monitored_resource:
2726
+ # library.googleapis.com/Branch metrics: - library.googleapis.com/book/
2727
+ # returned_count - library.googleapis.com/book/num_overdue
2728
+ # Corresponds to the JSON property `monitoring`
2729
+ # @return [Google::Apis::ServiceusageV1::Monitoring]
2730
+ attr_accessor :monitoring
2731
+
2732
+ # The DNS address at which this service is available. An example DNS address
2733
+ # would be: `calendar.googleapis.com`.
2734
+ # Corresponds to the JSON property `name`
2735
+ # @return [String]
2736
+ attr_accessor :name
2737
+
2738
+ # Quota configuration helps to achieve fairness and budgeting in service usage.
2739
+ # The metric based quota configuration works this way: - The service
2740
+ # configuration defines a set of metrics. - For API calls, the quota.
2741
+ # metric_rules maps methods to metrics with corresponding costs. - The quota.
2742
+ # limits defines limits on the metrics, which will be used for quota checks at
2743
+ # runtime. An example quota configuration in yaml format: quota: limits: - name:
2744
+ # apiWriteQpsPerProject metric: library.googleapis.com/write_calls unit: "1/min/`
2745
+ # project`" # rate limit for consumer projects values: STANDARD: 10000 (The
2746
+ # metric rules bind all methods to the read_calls metric, except for the
2747
+ # UpdateBook and DeleteBook methods. These two methods are mapped to the
2748
+ # write_calls metric, with the UpdateBook method consuming at twice rate as the
2749
+ # DeleteBook method.) metric_rules: - selector: "*" metric_costs: library.
2750
+ # googleapis.com/read_calls: 1 - selector: google.example.library.v1.
2751
+ # LibraryService.UpdateBook metric_costs: library.googleapis.com/write_calls: 2 -
2752
+ # selector: google.example.library.v1.LibraryService.DeleteBook metric_costs:
2753
+ # library.googleapis.com/write_calls: 1 Corresponding Metric definition: metrics:
2754
+ # - name: library.googleapis.com/read_calls display_name: Read requests
2755
+ # metric_kind: DELTA value_type: INT64 - name: library.googleapis.com/
2756
+ # write_calls display_name: Write requests metric_kind: DELTA value_type: INT64
2757
+ # Corresponds to the JSON property `quota`
2758
+ # @return [Google::Apis::ServiceusageV1::Quota]
2759
+ attr_accessor :quota
2760
+
2761
+ # The product title for this service.
2762
+ # Corresponds to the JSON property `title`
2763
+ # @return [String]
2764
+ attr_accessor :title
2765
+
2766
+ # Configuration controlling usage of a service.
2767
+ # Corresponds to the JSON property `usage`
2768
+ # @return [Google::Apis::ServiceusageV1::Usage]
2769
+ attr_accessor :usage
2770
+
2771
+ def initialize(**args)
2772
+ update!(**args)
2773
+ end
2774
+
2775
+ # Update properties of this object
2776
+ def update!(**args)
2777
+ @apis = args[:apis] if args.key?(:apis)
2778
+ @authentication = args[:authentication] if args.key?(:authentication)
2779
+ @documentation = args[:documentation] if args.key?(:documentation)
2780
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
2781
+ @monitored_resources = args[:monitored_resources] if args.key?(:monitored_resources)
2782
+ @monitoring = args[:monitoring] if args.key?(:monitoring)
2783
+ @name = args[:name] if args.key?(:name)
2784
+ @quota = args[:quota] if args.key?(:quota)
2785
+ @title = args[:title] if args.key?(:title)
2786
+ @usage = args[:usage] if args.key?(:usage)
2787
+ end
2788
+ end
2789
+
2790
+ # Response message for getting service identity.
2791
+ class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
2792
+ include Google::Apis::Core::Hashable
2793
+
2794
+ # Service identity for a service. This is the identity that service producer
2795
+ # should use to access consumer resources.
2796
+ # Corresponds to the JSON property `identity`
2797
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity]
2798
+ attr_accessor :identity
2799
+
2800
+ # Service identity state.
2801
+ # Corresponds to the JSON property `state`
2802
+ # @return [String]
2803
+ attr_accessor :state
2804
+
2805
+ def initialize(**args)
2806
+ update!(**args)
2807
+ end
2808
+
2809
+ # Update properties of this object
2810
+ def update!(**args)
2811
+ @identity = args[:identity] if args.key?(:identity)
2812
+ @state = args[:state] if args.key?(:state)
2813
+ end
2814
+ end
2815
+
2816
+ # Service identity for a service. This is the identity that service producer
2817
+ # should use to access consumer resources.
2818
+ class GoogleApiServiceusageV1beta1ServiceIdentity
2819
+ include Google::Apis::Core::Hashable
2820
+
2821
+ # The email address of the service account that a service producer would use to
2822
+ # access consumer resources.
2823
+ # Corresponds to the JSON property `email`
2824
+ # @return [String]
2825
+ attr_accessor :email
2826
+
2827
+ # The unique and stable id of the service account. https://cloud.google.com/iam/
2828
+ # reference/rest/v1/projects.serviceAccounts#ServiceAccount
2829
+ # Corresponds to the JSON property `uniqueId`
2830
+ # @return [String]
2831
+ attr_accessor :unique_id
2832
+
2833
+ def initialize(**args)
2834
+ update!(**args)
2835
+ end
2836
+
2837
+ # Update properties of this object
2838
+ def update!(**args)
2839
+ @email = args[:email] if args.key?(:email)
2840
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
2841
+ end
2842
+ end
2843
+
2844
+ # A message to group the analysis information.
2845
+ class GoogleApiServiceusageV2alphaAnalysis
2846
+ include Google::Apis::Core::Hashable
2847
+
2848
+ # An analysis result including blockers and warnings.
2849
+ # Corresponds to the JSON property `analysisResult`
2850
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaAnalysisResult]
2851
+ attr_accessor :analysis_result
2852
+
2853
+ # Output only. The type of analysis.
2854
+ # Corresponds to the JSON property `analysisType`
2855
+ # @return [String]
2856
+ attr_accessor :analysis_type
2857
+
2858
+ # Output only. The user friendly display name of the analysis type. E.g. service
2859
+ # dependency analysis, service resource usage analysis, etc.
2860
+ # Corresponds to the JSON property `displayName`
2861
+ # @return [String]
2862
+ attr_accessor :display_name
2863
+
2864
+ # The names of the service that has analysis result of warnings or blockers.
2865
+ # Example: `services/storage.googleapis.com`.
2866
+ # Corresponds to the JSON property `service`
2867
+ # @return [String]
2868
+ attr_accessor :service
2869
+
2870
+ def initialize(**args)
2871
+ update!(**args)
2872
+ end
2873
+
2874
+ # Update properties of this object
2875
+ def update!(**args)
2876
+ @analysis_result = args[:analysis_result] if args.key?(:analysis_result)
2877
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
2878
+ @display_name = args[:display_name] if args.key?(:display_name)
2879
+ @service = args[:service] if args.key?(:service)
2880
+ end
2881
+ end
2882
+
2883
+ # An analysis result including blockers and warnings.
2884
+ class GoogleApiServiceusageV2alphaAnalysisResult
2885
+ include Google::Apis::Core::Hashable
2886
+
2887
+ # Blocking information that would prevent the policy changes at runtime.
2888
+ # Corresponds to the JSON property `blockers`
2889
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaImpact>]
2890
+ attr_accessor :blockers
2891
+
2892
+ # Warning information indicating that the policy changes might be unsafe, but
2893
+ # will not block the changes at runtime.
2894
+ # Corresponds to the JSON property `warnings`
2895
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaImpact>]
2896
+ attr_accessor :warnings
2897
+
2898
+ def initialize(**args)
2899
+ update!(**args)
2900
+ end
2901
+
2902
+ # Update properties of this object
2903
+ def update!(**args)
2904
+ @blockers = args[:blockers] if args.key?(:blockers)
2905
+ @warnings = args[:warnings] if args.key?(:warnings)
2906
+ end
2907
+ end
2908
+
2909
+ # Metadata for the `AnalyzeConsumerPolicy` method.
2910
+ class GoogleApiServiceusageV2alphaAnalyzeConsumerPolicyMetadata
2911
+ include Google::Apis::Core::Hashable
2912
+
2913
+ def initialize(**args)
2914
+ update!(**args)
2915
+ end
2916
+
2917
+ # Update properties of this object
2918
+ def update!(**args)
2919
+ end
2920
+ end
2921
+
2922
+ # The response of analyzing a consumer policy update.
2923
+ class GoogleApiServiceusageV2alphaAnalyzeConsumerPolicyResponse
2924
+ include Google::Apis::Core::Hashable
2925
+
2926
+ # The list of analyses returned from performing the intended policy update
2927
+ # analysis. The analysis is grouped by service name and different analysis types.
2928
+ # The empty analysis list means that the consumer policy can be updated without
2929
+ # any warnings or blockers.
2930
+ # Corresponds to the JSON property `analysis`
2931
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaAnalysis>]
2932
+ attr_accessor :analysis
2933
+
2934
+ def initialize(**args)
2935
+ update!(**args)
2936
+ end
2937
+
2938
+ # Update properties of this object
2939
+ def update!(**args)
2940
+ @analysis = args[:analysis] if args.key?(:analysis)
2941
+ end
2942
+ end
2943
+
2944
+ # Consumer Policy is a set of rules that define what services or service groups
2945
+ # can be used for a cloud resource hierarchy.
2946
+ class GoogleApiServiceusageV2alphaConsumerPolicy
2947
+ include Google::Apis::Core::Hashable
2948
+
2949
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2950
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2951
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2952
+ # 128](https://google.aip.dev/128#annotations)
2953
+ # Corresponds to the JSON property `annotations`
2954
+ # @return [Hash<String,String>]
2955
+ attr_accessor :annotations
2956
+
2957
+ # Output only. The time the policy was created. For singleton policies, this is
2958
+ # the first touch of the policy.
2959
+ # Corresponds to the JSON property `createTime`
2960
+ # @return [String]
2961
+ attr_accessor :create_time
2962
+
2963
+ # Enable rules define usable services, groups, and categories. There can
2964
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2965
+ # later releases.
2966
+ # Corresponds to the JSON property `enableRules`
2967
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule>]
2968
+ attr_accessor :enable_rules
2969
+
2970
+ # Output only. An opaque tag indicating the current version of the policy, used
2971
+ # for concurrency control.
2972
+ # Corresponds to the JSON property `etag`
2973
+ # @return [String]
2974
+ attr_accessor :etag
2975
+
2976
+ # Output only. The resource name of the policy. Only the `default` policy is
2977
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2978
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2979
+ # Corresponds to the JSON property `name`
2980
+ # @return [String]
2981
+ attr_accessor :name
2982
+
2983
+ # Output only. The time the policy was last updated.
2984
+ # Corresponds to the JSON property `updateTime`
2985
+ # @return [String]
2986
+ attr_accessor :update_time
2987
+
2988
+ def initialize(**args)
2989
+ update!(**args)
2990
+ end
2991
+
2992
+ # Update properties of this object
2993
+ def update!(**args)
2994
+ @annotations = args[:annotations] if args.key?(:annotations)
2995
+ @create_time = args[:create_time] if args.key?(:create_time)
2996
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2997
+ @etag = args[:etag] if args.key?(:etag)
2998
+ @name = args[:name] if args.key?(:name)
2999
+ @update_time = args[:update_time] if args.key?(:update_time)
3000
+ end
3001
+ end
3002
+
3003
+ # The consumer policy rule that defines enabled services, groups, and categories.
3004
+ class GoogleApiServiceusageV2alphaEnableRule
3005
+ include Google::Apis::Core::Hashable
3006
+
3007
+ # The names of the services that are enabled. Example: `services/storage.
3008
+ # googleapis.com`.
3009
+ # Corresponds to the JSON property `services`
3010
+ # @return [Array<String>]
3011
+ attr_accessor :services
3012
+
3013
+ def initialize(**args)
3014
+ update!(**args)
3015
+ end
3016
+
3017
+ # Update properties of this object
3018
+ def update!(**args)
3019
+ @services = args[:services] if args.key?(:services)
3020
+ end
3021
+ end
3022
+
3023
+ # A message to group impacts of updating a policy.
3024
+ class GoogleApiServiceusageV2alphaImpact
3025
+ include Google::Apis::Core::Hashable
3026
+
3027
+ # Output only. User friendly impact detail in a free form message.
3028
+ # Corresponds to the JSON property `detail`
3029
+ # @return [String]
3030
+ attr_accessor :detail
3031
+
3032
+ # Output only. The type of impact.
3033
+ # Corresponds to the JSON property `impactType`
3034
+ # @return [String]
3035
+ attr_accessor :impact_type
3036
+
3037
+ # The parent resource that the analysis is based on and the service name that
3038
+ # the analysis is for. Example: `projects/100/services/compute.googleapis.com`,
3039
+ # folders/101/services/compute.googleapis.com` and `organizations/102/services/
3040
+ # compute.googleapis.com`. Usually, the parent resource here is same as the
3041
+ # parent resource of the analyzed policy. However, for some analysis types, the
3042
+ # parent can be different. For example, for resource existence analysis, if the
3043
+ # parent resource of the analyzed policy is a folder or an organization, the
3044
+ # parent resource here can still be the project that contains the resources.
3045
+ # Corresponds to the JSON property `parent`
3046
+ # @return [String]
3047
+ attr_accessor :parent
3048
+
3049
+ def initialize(**args)
3050
+ update!(**args)
3051
+ end
3052
+
3053
+ # Update properties of this object
3054
+ def update!(**args)
3055
+ @detail = args[:detail] if args.key?(:detail)
3056
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3057
+ @parent = args[:parent] if args.key?(:parent)
3058
+ end
3059
+ end
3060
+
3061
+ # Metadata for the `UpdateConsumerPolicy` method.
3062
+ class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
3063
+ include Google::Apis::Core::Hashable
3064
+
3065
+ def initialize(**args)
3066
+ update!(**args)
3067
+ end
3068
+
3069
+ # Update properties of this object
3070
+ def update!(**args)
3071
+ end
3072
+ end
3073
+
3074
+ # A message to group the analysis information.
3075
+ class GoogleApiServiceusageV2betaAnalysis
3076
+ include Google::Apis::Core::Hashable
3077
+
3078
+ # An analysis result including blockers and warnings.
3079
+ # Corresponds to the JSON property `analysisResult`
3080
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult]
3081
+ attr_accessor :analysis_result
3082
+
3083
+ # Output only. The type of analysis.
3084
+ # Corresponds to the JSON property `analysisType`
3085
+ # @return [String]
3086
+ attr_accessor :analysis_type
3087
+
3088
+ # Output only. The user friendly display name of the analysis type. E.g. service
3089
+ # dependency analysis, service resource usage analysis, etc.
3090
+ # Corresponds to the JSON property `displayName`
3091
+ # @return [String]
3092
+ attr_accessor :display_name
3093
+
3094
+ # The names of the service that has analysis result of warnings or blockers.
3095
+ # Example: `services/storage.googleapis.com`.
3096
+ # Corresponds to the JSON property `service`
3097
+ # @return [String]
3098
+ attr_accessor :service
3099
+
3100
+ def initialize(**args)
3101
+ update!(**args)
3102
+ end
3103
+
3104
+ # Update properties of this object
3105
+ def update!(**args)
3106
+ @analysis_result = args[:analysis_result] if args.key?(:analysis_result)
3107
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
3108
+ @display_name = args[:display_name] if args.key?(:display_name)
3109
+ @service = args[:service] if args.key?(:service)
3110
+ end
3111
+ end
3112
+
3113
+ # An analysis result including blockers and warnings.
3114
+ class GoogleApiServiceusageV2betaAnalysisResult
3115
+ include Google::Apis::Core::Hashable
3116
+
3117
+ # Blocking information that would prevent the policy changes at runtime.
3118
+ # Corresponds to the JSON property `blockers`
3119
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
3120
+ attr_accessor :blockers
3121
+
3122
+ # Warning information indicating that the policy changes might be unsafe, but
3123
+ # will not block the changes at runtime.
3124
+ # Corresponds to the JSON property `warnings`
3125
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
3126
+ attr_accessor :warnings
3127
+
3128
+ def initialize(**args)
3129
+ update!(**args)
3130
+ end
3131
+
3132
+ # Update properties of this object
3133
+ def update!(**args)
3134
+ @blockers = args[:blockers] if args.key?(:blockers)
3135
+ @warnings = args[:warnings] if args.key?(:warnings)
3136
+ end
3137
+ end
3138
+
3139
+ # Metadata for the `AnalyzeConsumerPolicy` method.
3140
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
3141
+ include Google::Apis::Core::Hashable
3142
+
3143
+ def initialize(**args)
3144
+ update!(**args)
3145
+ end
3146
+
3147
+ # Update properties of this object
3148
+ def update!(**args)
3149
+ end
3150
+ end
3151
+
3152
+ # The response of analyzing a consumer policy update.
3153
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
3154
+ include Google::Apis::Core::Hashable
3155
+
3156
+ # The list of analyses returned from performing the intended policy update
3157
+ # analysis. The analysis is grouped by service name and different analysis types.
3158
+ # The empty analysis list means that the consumer policy can be updated without
3159
+ # any warnings or blockers.
3160
+ # Corresponds to the JSON property `analysis`
3161
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis>]
3162
+ attr_accessor :analysis
3163
+
3164
+ def initialize(**args)
3165
+ update!(**args)
3166
+ end
3167
+
3168
+ # Update properties of this object
3169
+ def update!(**args)
3170
+ @analysis = args[:analysis] if args.key?(:analysis)
3171
+ end
3172
+ end
3173
+
3174
+ # Consumer Policy is a set of rules that define what services or service groups
3175
+ # can be used for a cloud resource hierarchy.
3176
+ class GoogleApiServiceusageV2betaConsumerPolicy
3177
+ include Google::Apis::Core::Hashable
3178
+
3179
+ # Output only. The time the policy was created. For singleton policies, this is
3180
+ # the first touch of the policy.
3181
+ # Corresponds to the JSON property `createTime`
3182
+ # @return [String]
3183
+ attr_accessor :create_time
3184
+
3185
+ # Enable rules define usable services, groups, and categories. There can
3186
+ # currently be at most one `EnableRule`. This restriction will be lifted in
3187
+ # later releases.
3188
+ # Corresponds to the JSON property `enableRules`
3189
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule>]
3190
+ attr_accessor :enable_rules
3191
+
3192
+ # An opaque tag indicating the current version of the policy, used for
3193
+ # concurrency control.
3194
+ # Corresponds to the JSON property `etag`
3195
+ # @return [String]
3196
+ attr_accessor :etag
3197
+
3198
+ # Output only. The resource name of the policy. Only the `default` policy is
3199
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
3200
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
3201
+ # Corresponds to the JSON property `name`
3202
+ # @return [String]
3203
+ attr_accessor :name
3204
+
3205
+ # Output only. The time the policy was last updated.
3206
+ # Corresponds to the JSON property `updateTime`
3207
+ # @return [String]
3208
+ attr_accessor :update_time
3209
+
3210
+ def initialize(**args)
3211
+ update!(**args)
3212
+ end
3213
+
3214
+ # Update properties of this object
3215
+ def update!(**args)
3216
+ @create_time = args[:create_time] if args.key?(:create_time)
3217
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
3218
+ @etag = args[:etag] if args.key?(:etag)
3219
+ @name = args[:name] if args.key?(:name)
3220
+ @update_time = args[:update_time] if args.key?(:update_time)
3221
+ end
3222
+ end
3223
+
3224
+ # The consumer policy rule that defines enabled services, groups, and categories.
3225
+ class GoogleApiServiceusageV2betaEnableRule
3226
+ include Google::Apis::Core::Hashable
3227
+
3228
+ # The names of the services that are enabled. Example: `services/storage.
3229
+ # googleapis.com`.
3230
+ # Corresponds to the JSON property `services`
3231
+ # @return [Array<String>]
3232
+ attr_accessor :services
3233
+
3234
+ def initialize(**args)
3235
+ update!(**args)
3236
+ end
3237
+
3238
+ # Update properties of this object
3239
+ def update!(**args)
3240
+ @services = args[:services] if args.key?(:services)
3241
+ end
3242
+ end
3243
+
3244
+ # A message to group impacts of updating a policy.
3245
+ class GoogleApiServiceusageV2betaImpact
3246
+ include Google::Apis::Core::Hashable
3247
+
3248
+ # Output only. User friendly impact detail in a free form message.
3249
+ # Corresponds to the JSON property `detail`
3250
+ # @return [String]
3251
+ attr_accessor :detail
3252
+
3253
+ # Output only. The type of impact.
3254
+ # Corresponds to the JSON property `impactType`
3255
+ # @return [String]
3256
+ attr_accessor :impact_type
3257
+
3258
+ # Output only. This field will be populated only for the `
3259
+ # DEPENDENCY_MISSING_DEPENDENCIES` impact type. Example: `services/compute.
3260
+ # googleapis.com`. Impact.detail will be in format : `missing service dependency:
3261
+ # `missing_dependency`.`
3262
+ # Corresponds to the JSON property `missingDependency`
3263
+ # @return [String]
3264
+ attr_accessor :missing_dependency
3265
+
3266
+ def initialize(**args)
3267
+ update!(**args)
3268
+ end
3269
+
3270
+ # Update properties of this object
3271
+ def update!(**args)
3272
+ @detail = args[:detail] if args.key?(:detail)
3273
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3274
+ @missing_dependency = args[:missing_dependency] if args.key?(:missing_dependency)
3275
+ end
3276
+ end
3277
+
3278
+ # McpEnableRule contains MCP enablement related rules.
3279
+ class GoogleApiServiceusageV2betaMcpEnableRule
3280
+ include Google::Apis::Core::Hashable
3281
+
3282
+ # List of enabled MCP services.
3283
+ # Corresponds to the JSON property `mcpServices`
3284
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaMcpService>]
3285
+ attr_accessor :mcp_services
1980
3286
 
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
3287
+ def initialize(**args)
3288
+ update!(**args)
3289
+ end
1986
3290
 
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
3291
+ # Update properties of this object
3292
+ def update!(**args)
3293
+ @mcp_services = args[:mcp_services] if args.key?(:mcp_services)
3294
+ end
3295
+ end
2012
3296
 
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`
3297
+ # MCP Consumer Policy is a set of rules that define MCP related policy for a
3298
+ # cloud resource hierarchy.
3299
+ class GoogleApiServiceusageV2betaMcpPolicy
3300
+ include Google::Apis::Core::Hashable
3301
+
3302
+ # Output only. The time the policy was created. For singleton policies (such as
3303
+ # the `default` policy), this is the first touch of the policy.
3304
+ # Corresponds to the JSON property `createTime`
2016
3305
  # @return [String]
2017
- attr_accessor :name
3306
+ attr_accessor :create_time
2018
3307
 
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
3308
+ # An opaque tag indicating the current version of the policy, used for
3309
+ # concurrency control.
3310
+ # Corresponds to the JSON property `etag`
3311
+ # @return [String]
3312
+ attr_accessor :etag
2041
3313
 
2042
- # The product title for this service.
2043
- # Corresponds to the JSON property `title`
3314
+ # McpEnableRules contains MCP enablement related rules.
3315
+ # Corresponds to the JSON property `mcpEnableRules`
3316
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaMcpEnableRule>]
3317
+ attr_accessor :mcp_enable_rules
3318
+
3319
+ # Output only. The resource name of the policy. Only the `default` policy is
3320
+ # supported. We allow the following formats: `projects/`PROJECT_NUMBER`/
3321
+ # mcpPolicies/default`, `projects/`PROJECT_ID`/mcpPolicies/default`, `folders/`
3322
+ # FOLDER_ID`/mcpPolicies/default`, `organizations/`ORG_ID`/mcpPolicies/default`.
3323
+ # Corresponds to the JSON property `name`
2044
3324
  # @return [String]
2045
- attr_accessor :title
3325
+ attr_accessor :name
2046
3326
 
2047
- # Configuration controlling usage of a service.
2048
- # Corresponds to the JSON property `usage`
2049
- # @return [Google::Apis::ServiceusageV1::Usage]
2050
- attr_accessor :usage
3327
+ # Output only. The time the policy was last updated.
3328
+ # Corresponds to the JSON property `updateTime`
3329
+ # @return [String]
3330
+ attr_accessor :update_time
2051
3331
 
2052
3332
  def initialize(**args)
2053
3333
  update!(**args)
@@ -2055,33 +3335,23 @@ module Google
2055
3335
 
2056
3336
  # Update properties of this object
2057
3337
  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)
3338
+ @create_time = args[:create_time] if args.key?(:create_time)
3339
+ @etag = args[:etag] if args.key?(:etag)
3340
+ @mcp_enable_rules = args[:mcp_enable_rules] if args.key?(:mcp_enable_rules)
2064
3341
  @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)
3342
+ @update_time = args[:update_time] if args.key?(:update_time)
2068
3343
  end
2069
3344
  end
2070
3345
 
2071
- # Response message for getting service identity.
2072
- class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
3346
+ # McpService contains the service names that are enabled for MCP.
3347
+ class GoogleApiServiceusageV2betaMcpService
2073
3348
  include Google::Apis::Core::Hashable
2074
3349
 
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`
3350
+ # The names of the services that are enabled for MCP. Example: `services/library-
3351
+ # example.googleapis.com`
3352
+ # Corresponds to the JSON property `service`
2083
3353
  # @return [String]
2084
- attr_accessor :state
3354
+ attr_accessor :service
2085
3355
 
2086
3356
  def initialize(**args)
2087
3357
  update!(**args)
@@ -2089,27 +3359,26 @@ module Google
2089
3359
 
2090
3360
  # Update properties of this object
2091
3361
  def update!(**args)
2092
- @identity = args[:identity] if args.key?(:identity)
2093
- @state = args[:state] if args.key?(:state)
3362
+ @service = args[:service] if args.key?(:service)
2094
3363
  end
2095
3364
  end
2096
3365
 
2097
- # Service identity for a service. This is the identity that service producer
2098
- # should use to access consumer resources.
2099
- class GoogleApiServiceusageV1beta1ServiceIdentity
3366
+ # Metadata for the `UpdateConsumerPolicy` method.
3367
+ class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
2100
3368
  include Google::Apis::Core::Hashable
2101
3369
 
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`
2105
- # @return [String]
2106
- attr_accessor :email
3370
+ def initialize(**args)
3371
+ update!(**args)
3372
+ end
2107
3373
 
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`
2111
- # @return [String]
2112
- attr_accessor :unique_id
3374
+ # Update properties of this object
3375
+ def update!(**args)
3376
+ end
3377
+ end
3378
+
3379
+ # Metadata for the `UpdateMcpPolicy` method.
3380
+ class GoogleApiServiceusageV2betaUpdateMcpPolicyMetadata
3381
+ include Google::Apis::Core::Hashable
2113
3382
 
2114
3383
  def initialize(**args)
2115
3384
  update!(**args)
@@ -2117,8 +3386,6 @@ module Google
2117
3386
 
2118
3387
  # Update properties of this object
2119
3388
  def update!(**args)
2120
- @email = args[:email] if args.key?(:email)
2121
- @unique_id = args[:unique_id] if args.key?(:unique_id)
2122
3389
  end
2123
3390
  end
2124
3391
 
@@ -2154,7 +3421,7 @@ module Google
2154
3421
  end
2155
3422
  end
2156
3423
 
2157
- # # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
3424
+ # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2158
3425
  # method and one or more HTTP REST endpoints. It allows developers to build a
2159
3426
  # single API service that supports both gRPC APIs and REST APIs. Many systems,
2160
3427
  # including [Google APIs](https://github.com/googleapis/googleapis), [Cloud
@@ -2174,70 +3441,69 @@ module Google
2174
3441
  # Message) ` option (google.api.http) = ` get: "/v1/`name=messages/*`" `; ` `
2175
3442
  # message GetMessageRequest ` string name = 1; // Mapped to URL path. ` message
2176
3443
  # 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
3444
+ # REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `
3445
+ # GetMessage(name: "messages/123456")` Any fields in the request message which
3446
+ # are not bound by the path template automatically become HTTP query parameters
3447
+ # if there is no HTTP request body. For example: service Messaging ` rpc
3448
+ # GetMessage(GetMessageRequest) returns (Message) ` option (google.api.http) = `
3449
+ # get:"/v1/messages/`message_id`" `; ` ` message GetMessageRequest ` message
3450
+ # SubMessage ` string subfield = 1; ` string message_id = 1; // Mapped to URL
3451
+ # path. int64 revision = 2; // Mapped to URL query parameter `revision`.
3452
+ # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. ` This
3453
+ # enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?
3454
+ # revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: "123456" revision:
3455
+ # 2 sub: SubMessage(subfield: "foo"))` Note that fields which are mapped to URL
3456
+ # query parameters must have a primitive type or a repeated primitive type or a
3457
+ # non-repeated message type. In the case of a repeated type, the parameter can
3458
+ # be repeated in the URL as `...?param=A&param=B`. In the case of a message type,
3459
+ # each field of the message is mapped to a separate parameter, such as `...?foo.
3460
+ # a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body`
3461
+ # field specifies the mapping. Consider a REST update method on the message
3462
+ # resource collection: service Messaging ` rpc UpdateMessage(
3463
+ # UpdateMessageRequest) returns (Message) ` option (google.api.http) = ` patch: "
3464
+ # /v1/messages/`message_id`" body: "message" `; ` ` message UpdateMessageRequest
3465
+ # ` string message_id = 1; // mapped to the URL Message message = 2; // mapped
3466
+ # to the body ` The following HTTP JSON to RPC mapping is enabled, where the
3467
+ # representation of the JSON in the request body is determined by protos JSON
3468
+ # encoding: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
3469
+ # UpdateMessage(message_id: "123456" message ` text: "Hi!" `)` The special name `
3470
+ # *` can be used in the body mapping to define that every field not bound by the
3471
+ # path template should be mapped to the request body. This enables the following
3472
+ # alternative definition of the update method: service Messaging ` rpc
3473
+ # UpdateMessage(Message) returns (Message) ` option (google.api.http) = ` patch:
3474
+ # "/v1/messages/`message_id`" body: "*" `; ` ` message Message ` string
3475
+ # message_id = 1; string text = 2; ` The following HTTP JSON to RPC mapping is
3476
+ # enabled: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
3477
+ # UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using `*` in
3478
+ # the body mapping, it is not possible to have HTTP parameters, as all fields
3479
+ # not bound by the path end in the body. This makes this option more rarely used
3480
+ # in practice when defining REST APIs. The common usage of `*` is in custom
3481
+ # methods which don't use the URL at all for transferring data. It is possible
3482
+ # to define multiple HTTP methods for one RPC by using the `additional_bindings`
3483
+ # option. Example: service Messaging ` rpc GetMessage(GetMessageRequest) returns
3484
+ # (Message) ` option (google.api.http) = ` get: "/v1/messages/`message_id`"
3485
+ # additional_bindings ` get: "/v1/users/`user_id`/messages/`message_id`" ` `; ` `
3486
+ # message GetMessageRequest ` string message_id = 1; string user_id = 2; ` This
3487
+ # enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /
3488
+ # v1/messages/123456` - gRPC: `GetMessage(message_id: "123456")` - HTTP: `GET /
3489
+ # v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" message_id: "
3490
+ # 123456")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion
3491
+ # nested messages in the request message) are classified into three categories: -
3492
+ # Fields referred by the path template. They are passed via the URL path. -
3493
+ # Fields referred by the HttpRule.body. They are passed via the HTTP request
3494
+ # body. - All other fields are passed via the URL query parameters, and the
3495
+ # parameter name is the field path in the request message. A repeated field can
3496
+ # be represented as multiple query parameters under the same name. 2. If
3497
+ # HttpRule.body is "*", there is no URL query parameter, all fields are passed
3498
+ # via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is
3499
+ # no HTTP request body, all fields are passed via URL path and URL query
3500
+ # parameters. Path template syntax Template = "/" Segments [ Verb ] ; Segments =
3501
+ # Segment ` "/" Segment ` ; Segment = "*" | "**" | LITERAL | Variable ; Variable
3502
+ # = "`" FieldPath [ "=" Segments ] "`" ; FieldPath = IDENT ` "." IDENT ` ; Verb =
3503
+ # ":" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**
3504
+ # ` matches zero or more URL path segments, which must be the last part of the
3505
+ # URL path except the `Verb`. The syntax `Variable` matches part of the URL path
3506
+ # as specified by its template. A variable template must not contain other
2241
3507
  # variables. If a variable matches a single path segment, its template may be
2242
3508
  # omitted, e.g. ``var`` is equivalent to ``var=*``. The syntax `LITERAL` matches
2243
3509
  # literal text in the URL path. If the `LITERAL` contains any reserved character,
@@ -2252,7 +3518,7 @@ module Google
2252
3518
  # except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the
2253
3519
  # reverse decoding, except "%2F" and "%2f" are left unchanged. Such variables
2254
3520
  # show up in the [Discovery Document](https://developers.google.com/discovery/v1/
2255
- # reference/apis) as ``+var``. ## Using gRPC API Service Configuration gRPC API
3521
+ # reference/apis) as ``+var``. Using gRPC API Service Configuration gRPC API
2256
3522
  # Service Configuration (service config) is a configuration language for
2257
3523
  # configuring a gRPC service to become a user-facing product. The service config
2258
3524
  # is simply the YAML representation of the `google.api.Service` proto message.
@@ -2262,27 +3528,27 @@ module Google
2262
3528
  # effect as the proto annotation. This can be particularly useful if you have a
2263
3529
  # proto that is reused in multiple services. Note that any transcoding specified
2264
3530
  # 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.
3531
+ # the proto. The following example selects a gRPC method and applies an `
3532
+ # HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get:
3533
+ # /v1/messages/`message_id`/`sub.subfield` Special notes When gRPC Transcoding
3534
+ # is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion
3535
+ # must follow the [proto3 specification](https://developers.google.com/protocol-
3536
+ # buffers/docs/proto3#json). While the single segment variable follows the
3537
+ # semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
3538
+ # Simple String Expansion, the multi segment variable **does not** follow RFC
3539
+ # 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved
3540
+ # Expansion does not expand special characters like `?` and `#`, which would
3541
+ # lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
3542
+ # for multi segment variables. The path variables **must not** refer to any
3543
+ # repeated or mapped field, because client libraries are not capable of handling
3544
+ # such variable expansion. The path variables **must not** capture the leading "/
3545
+ # " character. The reason is that the most common use case "`var`" does not
3546
+ # capture the leading "/" character. For consistency, all path variables must
3547
+ # share the same behavior. Repeated message fields must not be mapped to URL
3548
+ # query parameters, because no client library can support such complicated
3549
+ # mapping. If an API needs to use a JSON array for request or response body, it
3550
+ # can map the request or response body to a repeated field. However, some gRPC
3551
+ # Transcoding implementations may not support this feature.
2286
3552
  class HttpRule
2287
3553
  include Google::Apis::Core::Hashable
2288
3554
 
@@ -2364,6 +3630,40 @@ module Google
2364
3630
  end
2365
3631
  end
2366
3632
 
3633
+ # A message to group impacts of updating a policy.
3634
+ class Impact
3635
+ include Google::Apis::Core::Hashable
3636
+
3637
+ # Output only. User friendly impact detail in a free form message.
3638
+ # Corresponds to the JSON property `detail`
3639
+ # @return [String]
3640
+ attr_accessor :detail
3641
+
3642
+ # Output only. The type of impact.
3643
+ # Corresponds to the JSON property `impactType`
3644
+ # @return [String]
3645
+ attr_accessor :impact_type
3646
+
3647
+ # Output only. This field will be populated only for the `
3648
+ # DEPENDENCY_MISSING_DEPENDENCIES` impact type. Example: `services/compute.
3649
+ # googleapis.com`. Impact.detail will be in format : `missing service dependency:
3650
+ # `missing_dependency`.`
3651
+ # Corresponds to the JSON property `missingDependency`
3652
+ # @return [String]
3653
+ attr_accessor :missing_dependency
3654
+
3655
+ def initialize(**args)
3656
+ update!(**args)
3657
+ end
3658
+
3659
+ # Update properties of this object
3660
+ def update!(**args)
3661
+ @detail = args[:detail] if args.key?(:detail)
3662
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3663
+ @missing_dependency = args[:missing_dependency] if args.key?(:missing_dependency)
3664
+ end
3665
+ end
3666
+
2367
3667
  # Metadata message that provides information such as progress, partial failures,
2368
3668
  # and similar information on each GetOperation call of LRO returned by
2369
3669
  # ImportAdminOverrides.
@@ -2479,8 +3779,8 @@ module Google
2479
3779
  # protobuf. This should be used **only** by APIs who have already set the
2480
3780
  # language_settings.java.package_name" field in gapic.yaml. API teams should use
2481
3781
  # the protobuf java_package option where possible. Example of a YAML
2482
- # configuration:: publishing: java_settings: library_package: com.google.cloud.
2483
- # pubsub.v1
3782
+ # configuration:: publishing: library_settings: java_settings: library_package:
3783
+ # com.google.cloud.pubsub.v1
2484
3784
  # Corresponds to the JSON property `libraryPackage`
2485
3785
  # @return [String]
2486
3786
  attr_accessor :library_package
@@ -2595,6 +3895,14 @@ module Google
2595
3895
  # @return [Array<Google::Apis::ServiceusageV1::Operation>]
2596
3896
  attr_accessor :operations
2597
3897
 
3898
+ # Unordered list. Unreachable resources. Populated when the request sets `
3899
+ # ListOperationsRequest.return_partial_success` and reads across collections.
3900
+ # For example, when attempting to list all resources across all supported
3901
+ # locations.
3902
+ # Corresponds to the JSON property `unreachable`
3903
+ # @return [Array<String>]
3904
+ attr_accessor :unreachable
3905
+
2598
3906
  def initialize(**args)
2599
3907
  update!(**args)
2600
3908
  end
@@ -2603,6 +3911,7 @@ module Google
2603
3911
  def update!(**args)
2604
3912
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2605
3913
  @operations = args[:operations] if args.key?(:operations)
3914
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2606
3915
  end
2607
3916
  end
2608
3917
 
@@ -2788,10 +4097,21 @@ module Google
2788
4097
  end
2789
4098
  end
2790
4099
 
2791
- # Method represents a method of an API interface.
4100
+ # Method represents a method of an API interface. New usages of this message as
4101
+ # an alternative to MethodDescriptorProto are strongly discouraged. This message
4102
+ # does not reliability preserve all information necessary to model the schema
4103
+ # and preserve semantics. Instead make use of FileDescriptorSet which preserves
4104
+ # the necessary information.
2792
4105
  class MethodProp
2793
4106
  include Google::Apis::Core::Hashable
2794
4107
 
4108
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS. This
4109
+ # field should be ignored, instead the edition should be inherited from Api.
4110
+ # This is similar to Field and EnumValue.
4111
+ # Corresponds to the JSON property `edition`
4112
+ # @return [String]
4113
+ attr_accessor :edition
4114
+
2795
4115
  # The simple name of this method.
2796
4116
  # Corresponds to the JSON property `name`
2797
4117
  # @return [String]
@@ -2824,7 +4144,8 @@ module Google
2824
4144
  # @return [String]
2825
4145
  attr_accessor :response_type_url
2826
4146
 
2827
- # The source syntax of this method.
4147
+ # The source syntax of this method. This field should be ignored, instead the
4148
+ # syntax should be inherited from Api. This is similar to Field and EnumValue.
2828
4149
  # Corresponds to the JSON property `syntax`
2829
4150
  # @return [String]
2830
4151
  attr_accessor :syntax
@@ -2835,6 +4156,7 @@ module Google
2835
4156
 
2836
4157
  # Update properties of this object
2837
4158
  def update!(**args)
4159
+ @edition = args[:edition] if args.key?(:edition)
2838
4160
  @name = args[:name] if args.key?(:name)
2839
4161
  @options = args[:options] if args.key?(:options)
2840
4162
  @request_streaming = args[:request_streaming] if args.key?(:request_streaming)
@@ -2845,10 +4167,52 @@ module Google
2845
4167
  end
2846
4168
  end
2847
4169
 
4170
+ # Defines policies applying to an RPC method.
4171
+ class MethodPolicy
4172
+ include Google::Apis::Core::Hashable
4173
+
4174
+ # Policies that are applicable to the request message.
4175
+ # Corresponds to the JSON property `requestPolicies`
4176
+ # @return [Array<Google::Apis::ServiceusageV1::FieldPolicy>]
4177
+ attr_accessor :request_policies
4178
+
4179
+ # Selects a method to which these policies should be enforced, for example, "
4180
+ # google.pubsub.v1.Subscriber.CreateSubscription". Refer to selector for syntax
4181
+ # details. NOTE: This field must not be set in the proto annotation. It will be
4182
+ # automatically filled by the service config compiler .
4183
+ # Corresponds to the JSON property `selector`
4184
+ # @return [String]
4185
+ attr_accessor :selector
4186
+
4187
+ def initialize(**args)
4188
+ update!(**args)
4189
+ end
4190
+
4191
+ # Update properties of this object
4192
+ def update!(**args)
4193
+ @request_policies = args[:request_policies] if args.key?(:request_policies)
4194
+ @selector = args[:selector] if args.key?(:selector)
4195
+ end
4196
+ end
4197
+
2848
4198
  # Describes the generator configuration for a method.
2849
4199
  class MethodSettings
2850
4200
  include Google::Apis::Core::Hashable
2851
4201
 
4202
+ # List of top-level fields of the request message, that should be automatically
4203
+ # populated by the client libraries based on their (google.api.field_info).
4204
+ # format. Currently supported format: UUID4. Example of a YAML configuration:
4205
+ # publishing: method_settings: - selector: google.example.v1.ExampleService.
4206
+ # CreateExample auto_populated_fields: - request_id
4207
+ # Corresponds to the JSON property `autoPopulatedFields`
4208
+ # @return [Array<String>]
4209
+ attr_accessor :auto_populated_fields
4210
+
4211
+ # `BatchingConfigProto` defines the batching configuration for an API method.
4212
+ # Corresponds to the JSON property `batching`
4213
+ # @return [Google::Apis::ServiceusageV1::BatchingConfigProto]
4214
+ attr_accessor :batching
4215
+
2852
4216
  # Describes settings to use when generating API methods that use the long-
2853
4217
  # running operation pattern. All default values below are from those used in the
2854
4218
  # client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2859,7 +4223,9 @@ module Google
2859
4223
  attr_accessor :long_running
2860
4224
 
2861
4225
  # 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.
4226
+ # This is used to find the method to apply the options. Example: publishing:
4227
+ # method_settings: - selector: google.storage.control.v2.StorageControl.
4228
+ # CreateFolder # method settings for CreateFolder...
2863
4229
  # Corresponds to the JSON property `selector`
2864
4230
  # @return [String]
2865
4231
  attr_accessor :selector
@@ -2870,6 +4236,8 @@ module Google
2870
4236
 
2871
4237
  # Update properties of this object
2872
4238
  def update!(**args)
4239
+ @auto_populated_fields = args[:auto_populated_fields] if args.key?(:auto_populated_fields)
4240
+ @batching = args[:batching] if args.key?(:batching)
2873
4241
  @long_running = args[:long_running] if args.key?(:long_running)
2874
4242
  @selector = args[:selector] if args.key?(:selector)
2875
4243
  end
@@ -3042,6 +4410,11 @@ module Google
3042
4410
  # @return [String]
3043
4411
  attr_accessor :sample_period
3044
4412
 
4413
+ # The scope of the timeseries data of the metric.
4414
+ # Corresponds to the JSON property `timeSeriesResourceHierarchyLevel`
4415
+ # @return [Array<String>]
4416
+ attr_accessor :time_series_resource_hierarchy_level
4417
+
3045
4418
  def initialize(**args)
3046
4419
  update!(**args)
3047
4420
  end
@@ -3051,6 +4424,7 @@ module Google
3051
4424
  @ingest_delay = args[:ingest_delay] if args.key?(:ingest_delay)
3052
4425
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
3053
4426
  @sample_period = args[:sample_period] if args.key?(:sample_period)
4427
+ @time_series_resource_hierarchy_level = args[:time_series_resource_hierarchy_level] if args.key?(:time_series_resource_hierarchy_level)
3054
4428
  end
3055
4429
  end
3056
4430
 
@@ -3184,7 +4558,7 @@ module Google
3184
4558
 
3185
4559
  # Required. The monitored resource type. For example, the type `"
3186
4560
  # cloudsql_database"` represents databases in Google Cloud SQL. For a list of
3187
- # types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/
4561
+ # types, see [Monitored resource types](https://cloud.google.com/monitoring/api/
3188
4562
  # resources) and [Logging resource types](https://cloud.google.com/logging/docs/
3189
4563
  # api/v2/resource-list).
3190
4564
  # Corresponds to the JSON property `type`
@@ -3380,13 +4754,13 @@ module Google
3380
4754
  # @return [String]
3381
4755
  attr_accessor :name
3382
4756
 
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`.
4757
+ # The normal, successful response of the operation. If the original method
4758
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
4759
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
4760
+ # response should be the resource. For other methods, the response should have
4761
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
4762
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
4763
+ # `TakeSnapshotResponse`.
3390
4764
  # Corresponds to the JSON property `response`
3391
4765
  # @return [Hash<String,Object>]
3392
4766
  attr_accessor :response
@@ -3425,7 +4799,9 @@ module Google
3425
4799
  end
3426
4800
 
3427
4801
  # A protocol buffer option, which can be attached to a message, field,
3428
- # enumeration, etc.
4802
+ # enumeration, etc. New usages of this message as an alternative to FileOptions,
4803
+ # MessageOptions, FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions,
4804
+ # or MethodOptions are strongly discouraged.
3429
4805
  class Option
3430
4806
  include Google::Apis::Core::Hashable
3431
4807
 
@@ -3461,7 +4837,7 @@ module Google
3461
4837
  class Page
3462
4838
  include Google::Apis::Core::Hashable
3463
4839
 
3464
- # The Markdown content of the page. You can use (== include `path` ==) to
4840
+ # The Markdown content of the page. You can use ```(== include `path` ==)``` to
3465
4841
  # include content from a Markdown file. The content can be used to produce the
3466
4842
  # documentation page such as HTML format page.
3467
4843
  # Corresponds to the JSON property `content`
@@ -3506,6 +4882,16 @@ module Google
3506
4882
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3507
4883
  attr_accessor :common
3508
4884
 
4885
+ # The package name to use in Php. Clobbers the php_namespace option set in the
4886
+ # protobuf. This should be used **only** by APIs who have already set the
4887
+ # language_settings.php.package_name" field in gapic.yaml. API teams should use
4888
+ # the protobuf php_namespace option where possible. Example of a YAML
4889
+ # configuration:: publishing: library_settings: php_settings: library_package:
4890
+ # Google\Cloud\PubSub\V1
4891
+ # Corresponds to the JSON property `libraryPackage`
4892
+ # @return [String]
4893
+ attr_accessor :library_package
4894
+
3509
4895
  def initialize(**args)
3510
4896
  update!(**args)
3511
4897
  end
@@ -3513,6 +4899,7 @@ module Google
3513
4899
  # Update properties of this object
3514
4900
  def update!(**args)
3515
4901
  @common = args[:common] if args.key?(:common)
4902
+ @library_package = args[:library_package] if args.key?(:library_package)
3516
4903
  end
3517
4904
  end
3518
4905
 
@@ -3565,7 +4952,7 @@ module Google
3565
4952
  # @return [Array<Google::Apis::ServiceusageV1::MethodSettings>]
3566
4953
  attr_accessor :method_settings
3567
4954
 
3568
- # Link to a place that API users can report issues. Example: https://
4955
+ # Link to a *public* URI where users can report issues. Example: https://
3569
4956
  # issuetracker.google.com/issues/new?component=190865&template=1161103
3570
4957
  # Corresponds to the JSON property `newIssueUri`
3571
4958
  # @return [String]
@@ -3576,6 +4963,18 @@ module Google
3576
4963
  # @return [String]
3577
4964
  attr_accessor :organization
3578
4965
 
4966
+ # Optional link to proto reference documentation. Example: https://cloud.google.
4967
+ # com/pubsub/lite/docs/reference/rpc
4968
+ # Corresponds to the JSON property `protoReferenceDocumentationUri`
4969
+ # @return [String]
4970
+ attr_accessor :proto_reference_documentation_uri
4971
+
4972
+ # Optional link to REST reference documentation. Example: https://cloud.google.
4973
+ # com/pubsub/lite/docs/reference/rest
4974
+ # Corresponds to the JSON property `restReferenceDocumentationUri`
4975
+ # @return [String]
4976
+ attr_accessor :rest_reference_documentation_uri
4977
+
3579
4978
  def initialize(**args)
3580
4979
  update!(**args)
3581
4980
  end
@@ -3591,6 +4990,8 @@ module Google
3591
4990
  @method_settings = args[:method_settings] if args.key?(:method_settings)
3592
4991
  @new_issue_uri = args[:new_issue_uri] if args.key?(:new_issue_uri)
3593
4992
  @organization = args[:organization] if args.key?(:organization)
4993
+ @proto_reference_documentation_uri = args[:proto_reference_documentation_uri] if args.key?(:proto_reference_documentation_uri)
4994
+ @rest_reference_documentation_uri = args[:rest_reference_documentation_uri] if args.key?(:rest_reference_documentation_uri)
3594
4995
  end
3595
4996
  end
3596
4997
 
@@ -3603,6 +5004,12 @@ module Google
3603
5004
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3604
5005
  attr_accessor :common
3605
5006
 
5007
+ # Experimental features to be included during client library generation. These
5008
+ # fields will be deprecated once the feature graduates and is enabled by default.
5009
+ # Corresponds to the JSON property `experimentalFeatures`
5010
+ # @return [Google::Apis::ServiceusageV1::ExperimentalFeatures]
5011
+ attr_accessor :experimental_features
5012
+
3606
5013
  def initialize(**args)
3607
5014
  update!(**args)
3608
5015
  end
@@ -3610,6 +5017,7 @@ module Google
3610
5017
  # Update properties of this object
3611
5018
  def update!(**args)
3612
5019
  @common = args[:common] if args.key?(:common)
5020
+ @experimental_features = args[:experimental_features] if args.key?(:experimental_features)
3613
5021
  end
3614
5022
  end
3615
5023
 
@@ -3729,11 +5137,11 @@ module Google
3729
5137
  # @return [String]
3730
5138
  attr_accessor :name
3731
5139
 
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.
5140
+ # Specify the unit of the quota limit. It uses the same syntax as
5141
+ # MetricDescriptor.unit. The supported unit kinds are determined by the quota
5142
+ # backend system. Here are some examples: * "1/min/`project`" for quota per
5143
+ # minute per project. Note: the order of unit components is insignificant. The "
5144
+ # 1" at the beginning is required to follow the metric unit syntax.
3737
5145
  # Corresponds to the JSON property `unit`
3738
5146
  # @return [String]
3739
5147
  attr_accessor :unit
@@ -3839,6 +5247,46 @@ module Google
3839
5247
  end
3840
5248
  end
3841
5249
 
5250
+ # Metadata for the `RemoveEnableRules` method.
5251
+ class RemoveEnableRulesMetadata
5252
+ include Google::Apis::Core::Hashable
5253
+
5254
+ def initialize(**args)
5255
+ update!(**args)
5256
+ end
5257
+
5258
+ # Update properties of this object
5259
+ def update!(**args)
5260
+ end
5261
+ end
5262
+
5263
+ # The response message of `RemoveEnableRules` method.
5264
+ class RemoveEnableRulesResponse
5265
+ include Google::Apis::Core::Hashable
5266
+
5267
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
5268
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
5269
+ # consumerPolicies/default`.
5270
+ # Corresponds to the JSON property `parent`
5271
+ # @return [String]
5272
+ attr_accessor :parent
5273
+
5274
+ # The values removed from the parent consumer policy.
5275
+ # Corresponds to the JSON property `removedValues`
5276
+ # @return [Array<String>]
5277
+ attr_accessor :removed_values
5278
+
5279
+ def initialize(**args)
5280
+ update!(**args)
5281
+ end
5282
+
5283
+ # Update properties of this object
5284
+ def update!(**args)
5285
+ @parent = args[:parent] if args.key?(:parent)
5286
+ @removed_values = args[:removed_values] if args.key?(:removed_values)
5287
+ end
5288
+ end
5289
+
3842
5290
  # Settings for Ruby client libraries.
3843
5291
  class RubySettings
3844
5292
  include Google::Apis::Core::Hashable
@@ -3858,6 +5306,40 @@ module Google
3858
5306
  end
3859
5307
  end
3860
5308
 
5309
+ # This message is used to configure the generation of a subset of the RPCs in a
5310
+ # service for client libraries. Note: This feature should not be used in most
5311
+ # cases.
5312
+ class SelectiveGapicGeneration
5313
+ include Google::Apis::Core::Hashable
5314
+
5315
+ # Setting this to true indicates to the client generators that methods that
5316
+ # would be excluded from the generation should instead be generated in a way
5317
+ # that indicates these methods should not be consumed by end users. How this is
5318
+ # expressed is up to individual language implementations to decide. Some
5319
+ # examples may be: added annotations, obfuscated identifiers, or other language
5320
+ # idiomatic patterns.
5321
+ # Corresponds to the JSON property `generateOmittedAsInternal`
5322
+ # @return [Boolean]
5323
+ attr_accessor :generate_omitted_as_internal
5324
+ alias_method :generate_omitted_as_internal?, :generate_omitted_as_internal
5325
+
5326
+ # An allowlist of the fully qualified names of RPCs that should be included on
5327
+ # public client surfaces.
5328
+ # Corresponds to the JSON property `methods`
5329
+ # @return [Array<String>]
5330
+ attr_accessor :methods_prop
5331
+
5332
+ def initialize(**args)
5333
+ update!(**args)
5334
+ end
5335
+
5336
+ # Update properties of this object
5337
+ def update!(**args)
5338
+ @generate_omitted_as_internal = args[:generate_omitted_as_internal] if args.key?(:generate_omitted_as_internal)
5339
+ @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
5340
+ end
5341
+ end
5342
+
3861
5343
  # Service identity for a service. This is the identity that service producer
3862
5344
  # should use to access consumer resources.
3863
5345
  class ServiceIdentity
@@ -4059,10 +5541,19 @@ module Google
4059
5541
  end
4060
5542
  end
4061
5543
 
4062
- # A protocol buffer message type.
5544
+ # A protocol buffer message type. New usages of this message as an alternative
5545
+ # to DescriptorProto are strongly discouraged. This message does not reliability
5546
+ # preserve all information necessary to model the schema and preserve semantics.
5547
+ # Instead make use of FileDescriptorSet which preserves the necessary
5548
+ # information.
4063
5549
  class Type
4064
5550
  include Google::Apis::Core::Hashable
4065
5551
 
5552
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
5553
+ # Corresponds to the JSON property `edition`
5554
+ # @return [String]
5555
+ attr_accessor :edition
5556
+
4066
5557
  # The list of fields.
4067
5558
  # Corresponds to the JSON property `fields`
4068
5559
  # @return [Array<Google::Apis::ServiceusageV1::Field>]
@@ -4100,6 +5591,7 @@ module Google
4100
5591
 
4101
5592
  # Update properties of this object
4102
5593
  def update!(**args)
5594
+ @edition = args[:edition] if args.key?(:edition)
4103
5595
  @fields = args[:fields] if args.key?(:fields)
4104
5596
  @name = args[:name] if args.key?(:name)
4105
5597
  @oneofs = args[:oneofs] if args.key?(:oneofs)
@@ -4124,6 +5616,32 @@ module Google
4124
5616
  end
4125
5617
  end
4126
5618
 
5619
+ # Metadata for the `UpdateConsumerPolicy` method.
5620
+ class UpdateConsumerPolicyMetadata
5621
+ include Google::Apis::Core::Hashable
5622
+
5623
+ def initialize(**args)
5624
+ update!(**args)
5625
+ end
5626
+
5627
+ # Update properties of this object
5628
+ def update!(**args)
5629
+ end
5630
+ end
5631
+
5632
+ # Metadata for the `UpdateContentSecurityPolicy` method.
5633
+ class UpdateContentSecurityPolicyMetadata
5634
+ include Google::Apis::Core::Hashable
5635
+
5636
+ def initialize(**args)
5637
+ update!(**args)
5638
+ end
5639
+
5640
+ # Update properties of this object
5641
+ def update!(**args)
5642
+ end
5643
+ end
5644
+
4127
5645
  # Configuration controlling usage of a service.
4128
5646
  class Usage
4129
5647
  include Google::Apis::Core::Hashable
@@ -4167,21 +5685,15 @@ module Google
4167
5685
  end
4168
5686
  end
4169
5687
 
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
5688
+ # Usage configuration rules for the service.
4180
5689
  class UsageRule
4181
5690
  include Google::Apis::Core::Hashable
4182
5691
 
4183
- # If true, the selected method allows unregistered calls, e.g. calls that don't
4184
- # identify any user or application.
5692
+ # Use this rule to configure unregistered calls for the service. Unregistered
5693
+ # calls are calls that do not contain consumer project identity. (Example: calls
5694
+ # that do not contain an API key). WARNING: By default, API methods do not allow
5695
+ # unregistered calls, and each method call must be identified by a consumer
5696
+ # project identity.
4185
5697
  # Corresponds to the JSON property `allowUnregisteredCalls`
4186
5698
  # @return [Boolean]
4187
5699
  attr_accessor :allow_unregistered_calls