google-apis-serviceusage_v1 0.28.0 → 0.71.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 `analysis`
136
+ # @return [Google::Apis::ServiceusageV1::AnalysisResult]
137
+ attr_accessor :analysis
138
+
139
+ # Output only. The type of analysis.
140
+ # Corresponds to the JSON property `analysisType`
141
+ # @return [String]
142
+ attr_accessor :analysis_type
143
+
144
+ # Output only. The user friendly display name of the analysis type. E.g. service
145
+ # dependency analysis, service resource usage analysis, etc.
146
+ # Corresponds to the JSON property `displayName`
147
+ # @return [String]
148
+ attr_accessor :display_name
149
+
150
+ # The names of the service that has analysis result of warnings or blockers.
151
+ # Example: `services/storage.googleapis.com`.
152
+ # Corresponds to the JSON property `service`
153
+ # @return [String]
154
+ attr_accessor :service
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @analysis = args[:analysis] if args.key?(:analysis)
163
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
164
+ @display_name = args[:display_name] if args.key?(:display_name)
165
+ @service = args[:service] if args.key?(:service)
166
+ end
167
+ end
168
+
169
+ # An analysis result including blockers and warnings.
170
+ class AnalysisResult
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # Blocking information that would prevent the policy changes at runtime.
174
+ # Corresponds to the JSON property `blockers`
175
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
176
+ attr_accessor :blockers
177
+
178
+ # Warning information indicating that the policy changes might be unsafe, but
179
+ # will not block the changes at runtime.
180
+ # Corresponds to the JSON property `warnings`
181
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
182
+ attr_accessor :warnings
183
+
184
+ def initialize(**args)
185
+ update!(**args)
186
+ end
187
+
188
+ # Update properties of this object
189
+ def update!(**args)
190
+ @blockers = args[:blockers] if args.key?(:blockers)
191
+ @warnings = args[:warnings] if args.key?(:warnings)
192
+ end
193
+ end
194
+
195
+ # Metadata for the `AnalyzeConsumerPolicy` method.
196
+ class AnalyzeConsumerPolicyMetadata
197
+ include Google::Apis::Core::Hashable
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ end
206
+ end
207
+
208
+ # The response of analyzing a consumer policy update.
209
+ class AnalyzeConsumerPolicyResponse
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # The list of analyses returned from performing the intended policy update
213
+ # analysis. The analysis is grouped by service name and different analysis types.
214
+ # The empty analysis list means that the consumer policy can be updated without
215
+ # any warnings or blockers.
216
+ # Corresponds to the JSON property `analysis`
217
+ # @return [Array<Google::Apis::ServiceusageV1::Analysis>]
218
+ attr_accessor :analysis
219
+
220
+ def initialize(**args)
221
+ update!(**args)
222
+ end
223
+
224
+ # Update properties of this object
225
+ def update!(**args)
226
+ @analysis = args[:analysis] if args.key?(:analysis)
227
+ end
228
+ end
229
+
90
230
  # Api is a light-weight descriptor for an API Interface. Interfaces are also
91
231
  # described as "protocol buffer services" in some contexts, such as by the "
92
232
  # service" keyword in a .proto file, but they are different from API Services,
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,33 @@ 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
+ # Content of the configuration. The underlying schema should be defined by
326
+ # Aspect owners as protobuf message under `google/api/configaspects/proto`.
327
+ # Corresponds to the JSON property `spec`
328
+ # @return [Hash<String,Object>]
329
+ attr_accessor :spec
330
+
331
+ def initialize(**args)
332
+ update!(**args)
333
+ end
334
+
335
+ # Update properties of this object
336
+ def update!(**args)
337
+ @kind = args[:kind] if args.key?(:kind)
338
+ @spec = args[:spec] if args.key?(:spec)
339
+ end
340
+ end
341
+
165
342
  # Configuration for an authentication provider, including support for [JSON Web
166
343
  # Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
167
344
  class AuthProvider
@@ -419,6 +596,14 @@ module Google
419
596
  # @return [String]
420
597
  attr_accessor :jwt_audience
421
598
 
599
+ # The load balancing policy used for connection to the application backend.
600
+ # Defined as an arbitrary string to accomondate custom load balancing policies
601
+ # supported by the underlying channel, but suggest most users use one of the
602
+ # standard policies, such as the default, "RoundRobin".
603
+ # Corresponds to the JSON property `loadBalancingPolicy`
604
+ # @return [String]
605
+ attr_accessor :load_balancing_policy
606
+
422
607
  # Deprecated, do not use.
423
608
  # Corresponds to the JSON property `minDeadline`
424
609
  # @return [Float]
@@ -430,7 +615,12 @@ module Google
430
615
  # @return [Float]
431
616
  attr_accessor :operation_deadline
432
617
 
433
- #
618
+ # The map between request protocol and the backend address.
619
+ # Corresponds to the JSON property `overridesByRequestProtocol`
620
+ # @return [Hash<String,Google::Apis::ServiceusageV1::BackendRule>]
621
+ attr_accessor :overrides_by_request_protocol
622
+
623
+ # no-lint
434
624
  # Corresponds to the JSON property `pathTranslation`
435
625
  # @return [String]
436
626
  attr_accessor :path_translation
@@ -464,8 +654,10 @@ module Google
464
654
  @deadline = args[:deadline] if args.key?(:deadline)
465
655
  @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
466
656
  @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
657
+ @load_balancing_policy = args[:load_balancing_policy] if args.key?(:load_balancing_policy)
467
658
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
468
659
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
660
+ @overrides_by_request_protocol = args[:overrides_by_request_protocol] if args.key?(:overrides_by_request_protocol)
469
661
  @path_translation = args[:path_translation] if args.key?(:path_translation)
470
662
  @protocol = args[:protocol] if args.key?(:protocol)
471
663
  @selector = args[:selector] if args.key?(:selector)
@@ -580,6 +772,140 @@ module Google
580
772
  end
581
773
  end
582
774
 
775
+ # `BatchingConfigProto` defines the batching configuration for an API method.
776
+ class BatchingConfigProto
777
+ include Google::Apis::Core::Hashable
778
+
779
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
780
+ # used for batching, and, optionally, the fields of the response message to be
781
+ # used for demultiplexing.
782
+ # Corresponds to the JSON property `batchDescriptor`
783
+ # @return [Google::Apis::ServiceusageV1::BatchingDescriptorProto]
784
+ attr_accessor :batch_descriptor
785
+
786
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
787
+ # acts as a trigger to send a batch of messages as a request. At least one
788
+ # threshold must be positive nonzero.
789
+ # Corresponds to the JSON property `thresholds`
790
+ # @return [Google::Apis::ServiceusageV1::BatchingSettingsProto]
791
+ attr_accessor :thresholds
792
+
793
+ def initialize(**args)
794
+ update!(**args)
795
+ end
796
+
797
+ # Update properties of this object
798
+ def update!(**args)
799
+ @batch_descriptor = args[:batch_descriptor] if args.key?(:batch_descriptor)
800
+ @thresholds = args[:thresholds] if args.key?(:thresholds)
801
+ end
802
+ end
803
+
804
+ # `BatchingDescriptorProto` specifies the fields of the request message to be
805
+ # used for batching, and, optionally, the fields of the response message to be
806
+ # used for demultiplexing.
807
+ class BatchingDescriptorProto
808
+ include Google::Apis::Core::Hashable
809
+
810
+ # The repeated field in the request message to be aggregated by batching.
811
+ # Corresponds to the JSON property `batchedField`
812
+ # @return [String]
813
+ attr_accessor :batched_field
814
+
815
+ # A list of the fields in the request message. Two requests will be batched
816
+ # together only if the values of every field specified in `
817
+ # request_discriminator_fields` is equal between the two requests.
818
+ # Corresponds to the JSON property `discriminatorFields`
819
+ # @return [Array<String>]
820
+ attr_accessor :discriminator_fields
821
+
822
+ # Optional. When present, indicates the field in the response message to be used
823
+ # to demultiplex the response into multiple response messages, in correspondence
824
+ # with the multiple request messages originally batched together.
825
+ # Corresponds to the JSON property `subresponseField`
826
+ # @return [String]
827
+ attr_accessor :subresponse_field
828
+
829
+ def initialize(**args)
830
+ update!(**args)
831
+ end
832
+
833
+ # Update properties of this object
834
+ def update!(**args)
835
+ @batched_field = args[:batched_field] if args.key?(:batched_field)
836
+ @discriminator_fields = args[:discriminator_fields] if args.key?(:discriminator_fields)
837
+ @subresponse_field = args[:subresponse_field] if args.key?(:subresponse_field)
838
+ end
839
+ end
840
+
841
+ # `BatchingSettingsProto` specifies a set of batching thresholds, each of which
842
+ # acts as a trigger to send a batch of messages as a request. At least one
843
+ # threshold must be positive nonzero.
844
+ class BatchingSettingsProto
845
+ include Google::Apis::Core::Hashable
846
+
847
+ # The duration after which a batch should be sent, starting from the addition of
848
+ # the first message to that batch.
849
+ # Corresponds to the JSON property `delayThreshold`
850
+ # @return [String]
851
+ attr_accessor :delay_threshold
852
+
853
+ # The maximum number of elements collected in a batch that could be accepted by
854
+ # server.
855
+ # Corresponds to the JSON property `elementCountLimit`
856
+ # @return [Fixnum]
857
+ attr_accessor :element_count_limit
858
+
859
+ # The number of elements of a field collected into a batch which, if exceeded,
860
+ # causes the batch to be sent.
861
+ # Corresponds to the JSON property `elementCountThreshold`
862
+ # @return [Fixnum]
863
+ attr_accessor :element_count_threshold
864
+
865
+ # The maximum size of data allowed by flow control.
866
+ # Corresponds to the JSON property `flowControlByteLimit`
867
+ # @return [Fixnum]
868
+ attr_accessor :flow_control_byte_limit
869
+
870
+ # The maximum number of elements allowed by flow control.
871
+ # Corresponds to the JSON property `flowControlElementLimit`
872
+ # @return [Fixnum]
873
+ attr_accessor :flow_control_element_limit
874
+
875
+ # The behavior to take when the flow control limit is exceeded.
876
+ # Corresponds to the JSON property `flowControlLimitExceededBehavior`
877
+ # @return [String]
878
+ attr_accessor :flow_control_limit_exceeded_behavior
879
+
880
+ # The maximum size of the request that could be accepted by server.
881
+ # Corresponds to the JSON property `requestByteLimit`
882
+ # @return [Fixnum]
883
+ attr_accessor :request_byte_limit
884
+
885
+ # The aggregated size of the batched field which, if exceeded, causes the batch
886
+ # to be sent. This size is computed by aggregating the sizes of the request
887
+ # field to be batched, not of the entire request message.
888
+ # Corresponds to the JSON property `requestByteThreshold`
889
+ # @return [Fixnum]
890
+ attr_accessor :request_byte_threshold
891
+
892
+ def initialize(**args)
893
+ update!(**args)
894
+ end
895
+
896
+ # Update properties of this object
897
+ def update!(**args)
898
+ @delay_threshold = args[:delay_threshold] if args.key?(:delay_threshold)
899
+ @element_count_limit = args[:element_count_limit] if args.key?(:element_count_limit)
900
+ @element_count_threshold = args[:element_count_threshold] if args.key?(:element_count_threshold)
901
+ @flow_control_byte_limit = args[:flow_control_byte_limit] if args.key?(:flow_control_byte_limit)
902
+ @flow_control_element_limit = args[:flow_control_element_limit] if args.key?(:flow_control_element_limit)
903
+ @flow_control_limit_exceeded_behavior = args[:flow_control_limit_exceeded_behavior] if args.key?(:flow_control_limit_exceeded_behavior)
904
+ @request_byte_limit = args[:request_byte_limit] if args.key?(:request_byte_limit)
905
+ @request_byte_threshold = args[:request_byte_threshold] if args.key?(:request_byte_threshold)
906
+ end
907
+ end
908
+
583
909
  # Billing related configuration of the service. The following example shows how
584
910
  # to configure monitored resources and metrics for billing, `
585
911
  # consumer_destinations` is the only supported destination and the monitored
@@ -713,7 +1039,9 @@ module Google
713
1039
  # @return [Google::Apis::ServiceusageV1::RubySettings]
714
1040
  attr_accessor :ruby_settings
715
1041
 
716
- # Version of the API to apply these settings to.
1042
+ # Version of the API to apply these settings to. This is the full protobuf
1043
+ # package for the API, ending in the version element. Examples: "google.cloud.
1044
+ # speech.v1" and "google.spanner.admin.database.v1".
717
1045
  # Corresponds to the JSON property `version`
718
1046
  # @return [String]
719
1047
  attr_accessor :version
@@ -753,6 +1081,12 @@ module Google
753
1081
  # @return [String]
754
1082
  attr_accessor :reference_docs_uri
755
1083
 
1084
+ # This message is used to configure the generation of a subset of the RPCs in a
1085
+ # service for client libraries.
1086
+ # Corresponds to the JSON property `selectiveGapicGeneration`
1087
+ # @return [Google::Apis::ServiceusageV1::SelectiveGapicGeneration]
1088
+ attr_accessor :selective_gapic_generation
1089
+
756
1090
  def initialize(**args)
757
1091
  update!(**args)
758
1092
  end
@@ -761,6 +1095,130 @@ module Google
761
1095
  def update!(**args)
762
1096
  @destinations = args[:destinations] if args.key?(:destinations)
763
1097
  @reference_docs_uri = args[:reference_docs_uri] if args.key?(:reference_docs_uri)
1098
+ @selective_gapic_generation = args[:selective_gapic_generation] if args.key?(:selective_gapic_generation)
1099
+ end
1100
+ end
1101
+
1102
+ # Consumer Policy is a set of rules that define what services or service groups
1103
+ # can be used for a cloud resource hierarchy.
1104
+ class ConsumerPolicy
1105
+ include Google::Apis::Core::Hashable
1106
+
1107
+ # Optional. Annotations is an unstructured key-value map stored with a policy
1108
+ # that may be set by external tools to store and retrieve arbitrary metadata.
1109
+ # They are not queryable and should be preserved when modifying objects. [AIP-
1110
+ # 128](https://google.aip.dev/128#annotations)
1111
+ # Corresponds to the JSON property `annotations`
1112
+ # @return [Hash<String,String>]
1113
+ attr_accessor :annotations
1114
+
1115
+ # Enable rules define usable services and service groups.
1116
+ # Corresponds to the JSON property `enableRules`
1117
+ # @return [Array<Google::Apis::ServiceusageV1::EnableRule>]
1118
+ attr_accessor :enable_rules
1119
+
1120
+ # An opaque tag indicating the current version of the policy, used for
1121
+ # concurrency control.
1122
+ # Corresponds to the JSON property `etag`
1123
+ # @return [String]
1124
+ attr_accessor :etag
1125
+
1126
+ # Output only. The resource name of the policy. We only allow consumer policy
1127
+ # name as `default` for now: `projects/12345/consumerPolicies/default`, `folders/
1128
+ # 12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`
1129
+ # .
1130
+ # Corresponds to the JSON property `name`
1131
+ # @return [String]
1132
+ attr_accessor :name
1133
+
1134
+ # The last-modified time.
1135
+ # Corresponds to the JSON property `updateTime`
1136
+ # @return [String]
1137
+ attr_accessor :update_time
1138
+
1139
+ def initialize(**args)
1140
+ update!(**args)
1141
+ end
1142
+
1143
+ # Update properties of this object
1144
+ def update!(**args)
1145
+ @annotations = args[:annotations] if args.key?(:annotations)
1146
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
1147
+ @etag = args[:etag] if args.key?(:etag)
1148
+ @name = args[:name] if args.key?(:name)
1149
+ @update_time = args[:update_time] if args.key?(:update_time)
1150
+ end
1151
+ end
1152
+
1153
+ # ContentSecurity defines the content security related fields of a MCP policy.
1154
+ class ContentSecurity
1155
+ include Google::Apis::Core::Hashable
1156
+
1157
+ # List of content security providers that are enabled for content scanning.
1158
+ # Corresponds to the JSON property `contentSecurityProviders`
1159
+ # @return [Array<Google::Apis::ServiceusageV1::ContentSecurityProvider>]
1160
+ attr_accessor :content_security_providers
1161
+
1162
+ def initialize(**args)
1163
+ update!(**args)
1164
+ end
1165
+
1166
+ # Update properties of this object
1167
+ def update!(**args)
1168
+ @content_security_providers = args[:content_security_providers] if args.key?(:content_security_providers)
1169
+ end
1170
+ end
1171
+
1172
+ # Content Security Policy contains the content security related policy of a
1173
+ # resource.
1174
+ class ContentSecurityPolicy
1175
+ include Google::Apis::Core::Hashable
1176
+
1177
+ # ContentSecurity defines the content security related fields of a MCP policy.
1178
+ # Corresponds to the JSON property `mcpContentSecurity`
1179
+ # @return [Google::Apis::ServiceusageV1::ContentSecurity]
1180
+ attr_accessor :mcp_content_security
1181
+
1182
+ # Output only. The resource name of the policy. Only the `default` policy is
1183
+ # supported. We allow the following formats: `projects/`PROJECT_NUMBER`/
1184
+ # contentSecurityPolicies/default`, `projects/`PROJECT_ID`/
1185
+ # contentSecurityPolicies/default`, We only support project level content
1186
+ # security policy for now.
1187
+ # Corresponds to the JSON property `name`
1188
+ # @return [String]
1189
+ attr_accessor :name
1190
+
1191
+ def initialize(**args)
1192
+ update!(**args)
1193
+ end
1194
+
1195
+ # Update properties of this object
1196
+ def update!(**args)
1197
+ @mcp_content_security = args[:mcp_content_security] if args.key?(:mcp_content_security)
1198
+ @name = args[:name] if args.key?(:name)
1199
+ end
1200
+ end
1201
+
1202
+ # ContentSecurityProvider contains the name of content security provider.
1203
+ class ContentSecurityProvider
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ # Name of security service for content scanning, such as Google Cloud Model
1207
+ # Armor or supported third-party ISV solutions. If it is Google 1P service, the
1208
+ # name should be prefixed with `services/`. If it is a 3P service, the format
1209
+ # needs to be documented. The currently supported values are: - `services/
1210
+ # modelarmor.googleapis.com` for Google Cloud Model Armor.
1211
+ # Corresponds to the JSON property `name`
1212
+ # @return [String]
1213
+ attr_accessor :name
1214
+
1215
+ def initialize(**args)
1216
+ update!(**args)
1217
+ end
1218
+
1219
+ # Update properties of this object
1220
+ def update!(**args)
1221
+ @name = args[:name] if args.key?(:name)
764
1222
  end
765
1223
  end
766
1224
 
@@ -813,12 +1271,14 @@ module Google
813
1271
  # @return [Array<String>]
814
1272
  attr_accessor :allowed_response_extensions
815
1273
 
816
- # A list of full type names of provided contexts.
1274
+ # A list of full type names of provided contexts. It is used to support
1275
+ # propagating HTTP headers and ETags from the response extension.
817
1276
  # Corresponds to the JSON property `provided`
818
1277
  # @return [Array<String>]
819
1278
  attr_accessor :provided
820
1279
 
821
- # A list of full type names of requested contexts.
1280
+ # A list of full type names of requested contexts, only the requested context
1281
+ # will be made available to the backend.
822
1282
  # Corresponds to the JSON property `requested`
823
1283
  # @return [Array<String>]
824
1284
  attr_accessor :requested
@@ -855,6 +1315,11 @@ module Google
855
1315
  # @return [String]
856
1316
  attr_accessor :environment
857
1317
 
1318
+ # Defines policies applying to the API methods of the service.
1319
+ # Corresponds to the JSON property `methodPolicies`
1320
+ # @return [Array<Google::Apis::ServiceusageV1::MethodPolicy>]
1321
+ attr_accessor :method_policies
1322
+
858
1323
  def initialize(**args)
859
1324
  update!(**args)
860
1325
  end
@@ -862,6 +1327,7 @@ module Google
862
1327
  # Update properties of this object
863
1328
  def update!(**args)
864
1329
  @environment = args[:environment] if args.key?(:environment)
1330
+ @method_policies = args[:method_policies] if args.key?(:method_policies)
865
1331
  end
866
1332
  end
867
1333
 
@@ -1050,7 +1516,7 @@ module Google
1050
1516
  # documentation: summary: > The Google Calendar API gives access to most
1051
1517
  # calendar features. pages: - name: Overview content: (== include google/foo/
1052
1518
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1053
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
1519
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1054
1520
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1055
1521
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1056
1522
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1075,6 +1541,12 @@ module Google
1075
1541
  class Documentation
1076
1542
  include Google::Apis::Core::Hashable
1077
1543
 
1544
+ # Optional information about the IAM configuration. This is typically used to
1545
+ # link to documentation about a product's IAM roles and permissions.
1546
+ # Corresponds to the JSON property `additionalIamInfo`
1547
+ # @return [String]
1548
+ attr_accessor :additional_iam_info
1549
+
1078
1550
  # The URL to the root of documentation.
1079
1551
  # Corresponds to the JSON property `documentationRootUrl`
1080
1552
  # @return [String]
@@ -1100,6 +1572,12 @@ module Google
1100
1572
  # @return [Array<Google::Apis::ServiceusageV1::DocumentationRule>]
1101
1573
  attr_accessor :rules
1102
1574
 
1575
+ # Specifies section and content to override the boilerplate content. Currently
1576
+ # overrides following sections: 1. rest.service.client_libraries
1577
+ # Corresponds to the JSON property `sectionOverrides`
1578
+ # @return [Array<Google::Apis::ServiceusageV1::Page>]
1579
+ attr_accessor :section_overrides
1580
+
1103
1581
  # Specifies the service root url if the default one (the service name from the
1104
1582
  # yaml file) is not suitable. This can be seen in any fully specified service
1105
1583
  # urls as well as sections that show a base that other urls are relative to.
@@ -1120,10 +1598,12 @@ module Google
1120
1598
 
1121
1599
  # Update properties of this object
1122
1600
  def update!(**args)
1601
+ @additional_iam_info = args[:additional_iam_info] if args.key?(:additional_iam_info)
1123
1602
  @documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
1124
1603
  @overview = args[:overview] if args.key?(:overview)
1125
1604
  @pages = args[:pages] if args.key?(:pages)
1126
1605
  @rules = args[:rules] if args.key?(:rules)
1606
+ @section_overrides = args[:section_overrides] if args.key?(:section_overrides)
1127
1607
  @service_root_url = args[:service_root_url] if args.key?(:service_root_url)
1128
1608
  @summary = args[:summary] if args.key?(:summary)
1129
1609
  end
@@ -1146,6 +1626,12 @@ module Google
1146
1626
  # @return [String]
1147
1627
  attr_accessor :description
1148
1628
 
1629
+ # String of comma or space separated case-sensitive words for which method/field
1630
+ # name replacement will be disabled.
1631
+ # Corresponds to the JSON property `disableReplacementWords`
1632
+ # @return [String]
1633
+ attr_accessor :disable_replacement_words
1634
+
1149
1635
  # The selector is a comma-separated list of patterns for any element such as a
1150
1636
  # method, a field, an enum value. Each pattern is a qualified name of the
1151
1637
  # element which may end in "*", indicating a wildcard. Wildcards are only
@@ -1165,6 +1651,7 @@ module Google
1165
1651
  def update!(**args)
1166
1652
  @deprecation_description = args[:deprecation_description] if args.key?(:deprecation_description)
1167
1653
  @description = args[:description] if args.key?(:description)
1654
+ @disable_replacement_words = args[:disable_replacement_words] if args.key?(:disable_replacement_words)
1168
1655
  @selector = args[:selector] if args.key?(:selector)
1169
1656
  end
1170
1657
  end
@@ -1178,6 +1665,42 @@ module Google
1178
1665
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1179
1666
  attr_accessor :common
1180
1667
 
1668
+ # Namespaces which must be aliased in snippets due to a known (but non-generator-
1669
+ # predictable) naming collision
1670
+ # Corresponds to the JSON property `forcedNamespaceAliases`
1671
+ # @return [Array<String>]
1672
+ attr_accessor :forced_namespace_aliases
1673
+
1674
+ # Method signatures (in the form "service.method(signature)") which are provided
1675
+ # separately, so shouldn't be generated. Snippets *calling* these methods are
1676
+ # still generated, however.
1677
+ # Corresponds to the JSON property `handwrittenSignatures`
1678
+ # @return [Array<String>]
1679
+ attr_accessor :handwritten_signatures
1680
+
1681
+ # List of full resource types to ignore during generation. This is typically
1682
+ # used for API-specific Location resources, which should be handled by the
1683
+ # generator as if they were actually the common Location resources. Example
1684
+ # entry: "documentai.googleapis.com/Location"
1685
+ # Corresponds to the JSON property `ignoredResources`
1686
+ # @return [Array<String>]
1687
+ attr_accessor :ignored_resources
1688
+
1689
+ # Map from full resource types to the effective short name for the resource.
1690
+ # This is used when otherwise resource named from different services would cause
1691
+ # naming collisions. Example entry: "datalabeling.googleapis.com/Dataset": "
1692
+ # DataLabelingDataset"
1693
+ # Corresponds to the JSON property `renamedResources`
1694
+ # @return [Hash<String,String>]
1695
+ attr_accessor :renamed_resources
1696
+
1697
+ # Map from original service names to renamed versions. This is used when the
1698
+ # default generated types would cause a naming conflict. (Neither name is fully-
1699
+ # qualified.) Example: Subscriber to SubscriberServiceApi.
1700
+ # Corresponds to the JSON property `renamedServices`
1701
+ # @return [Hash<String,String>]
1702
+ attr_accessor :renamed_services
1703
+
1181
1704
  def initialize(**args)
1182
1705
  update!(**args)
1183
1706
  end
@@ -1185,6 +1708,11 @@ module Google
1185
1708
  # Update properties of this object
1186
1709
  def update!(**args)
1187
1710
  @common = args[:common] if args.key?(:common)
1711
+ @forced_namespace_aliases = args[:forced_namespace_aliases] if args.key?(:forced_namespace_aliases)
1712
+ @handwritten_signatures = args[:handwritten_signatures] if args.key?(:handwritten_signatures)
1713
+ @ignored_resources = args[:ignored_resources] if args.key?(:ignored_resources)
1714
+ @renamed_resources = args[:renamed_resources] if args.key?(:renamed_resources)
1715
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1188
1716
  end
1189
1717
  end
1190
1718
 
@@ -1229,6 +1757,48 @@ module Google
1229
1757
  end
1230
1758
  end
1231
1759
 
1760
+ # The consumer policy rule that defines usable services and service groups.
1761
+ class EnableRule
1762
+ include Google::Apis::Core::Hashable
1763
+
1764
+ # Client and resource project enable type.
1765
+ # Corresponds to the JSON property `enableType`
1766
+ # @return [String]
1767
+ attr_accessor :enable_type
1768
+
1769
+ # DEPRECATED: Please use field `values`. Service group should have prefix `
1770
+ # groups/`. The names of the service groups that are enabled (Not Implemented).
1771
+ # Example: `groups/googleServices`.
1772
+ # Corresponds to the JSON property `groups`
1773
+ # @return [Array<String>]
1774
+ attr_accessor :groups
1775
+
1776
+ # DEPRECATED: Please use field `values`. Service should have prefix `services/`.
1777
+ # The names of the services that are enabled. Example: `storage.googleapis.com`.
1778
+ # Corresponds to the JSON property `services`
1779
+ # @return [Array<String>]
1780
+ attr_accessor :services
1781
+
1782
+ # The names of the services or service groups that are enabled. Example: `
1783
+ # services/storage.googleapis.com`, `groups/googleServices`, `groups/allServices`
1784
+ # .
1785
+ # Corresponds to the JSON property `values`
1786
+ # @return [Array<String>]
1787
+ attr_accessor :values
1788
+
1789
+ def initialize(**args)
1790
+ update!(**args)
1791
+ end
1792
+
1793
+ # Update properties of this object
1794
+ def update!(**args)
1795
+ @enable_type = args[:enable_type] if args.key?(:enable_type)
1796
+ @groups = args[:groups] if args.key?(:groups)
1797
+ @services = args[:services] if args.key?(:services)
1798
+ @values = args[:values] if args.key?(:values)
1799
+ end
1800
+ end
1801
+
1232
1802
  # Request message for the `EnableService` method.
1233
1803
  class EnableServiceRequest
1234
1804
  include Google::Apis::Core::Hashable
@@ -1278,9 +1848,9 @@ module Google
1278
1848
  class Endpoint
1279
1849
  include Google::Apis::Core::Hashable
1280
1850
 
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.
1851
+ # Aliases for this endpoint, these will be served by the same UrlMap as the
1852
+ # parent endpoint, and will be provisioned in the GCP stack for the Regional
1853
+ # Endpoints.
1284
1854
  # Corresponds to the JSON property `aliases`
1285
1855
  # @return [Array<String>]
1286
1856
  attr_accessor :aliases
@@ -1321,10 +1891,19 @@ module Google
1321
1891
  end
1322
1892
  end
1323
1893
 
1324
- # Enum type definition.
1894
+ # Enum type definition. New usages of this message as an alternative to
1895
+ # EnumDescriptorProto are strongly discouraged. This message does not
1896
+ # reliability preserve all information necessary to model the schema and
1897
+ # preserve semantics. Instead make use of FileDescriptorSet which preserves the
1898
+ # necessary information.
1325
1899
  class Enum
1326
1900
  include Google::Apis::Core::Hashable
1327
1901
 
1902
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
1903
+ # Corresponds to the JSON property `edition`
1904
+ # @return [String]
1905
+ attr_accessor :edition
1906
+
1328
1907
  # Enum value definitions.
1329
1908
  # Corresponds to the JSON property `enumvalue`
1330
1909
  # @return [Array<Google::Apis::ServiceusageV1::EnumValue>]
@@ -1357,6 +1936,7 @@ module Google
1357
1936
 
1358
1937
  # Update properties of this object
1359
1938
  def update!(**args)
1939
+ @edition = args[:edition] if args.key?(:edition)
1360
1940
  @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
1361
1941
  @name = args[:name] if args.key?(:name)
1362
1942
  @options = args[:options] if args.key?(:options)
@@ -1365,7 +1945,11 @@ module Google
1365
1945
  end
1366
1946
  end
1367
1947
 
1368
- # Enum value definition.
1948
+ # Enum value definition. New usages of this message as an alternative to
1949
+ # EnumValueDescriptorProto are strongly discouraged. This message does not
1950
+ # reliability preserve all information necessary to model the schema and
1951
+ # preserve semantics. Instead make use of FileDescriptorSet which preserves the
1952
+ # necessary information.
1369
1953
  class EnumValue
1370
1954
  include Google::Apis::Core::Hashable
1371
1955
 
@@ -1396,7 +1980,54 @@ module Google
1396
1980
  end
1397
1981
  end
1398
1982
 
1399
- # A single field of a message type.
1983
+ # Experimental features to be included during client library generation. These
1984
+ # fields will be deprecated once the feature graduates and is enabled by default.
1985
+ class ExperimentalFeatures
1986
+ include Google::Apis::Core::Hashable
1987
+
1988
+ # Enables generation of protobuf code using new types that are more Pythonic
1989
+ # which are included in `protobuf>=5.29.x`. This feature will be enabled by
1990
+ # default 1 month after launching the feature in preview packages.
1991
+ # Corresponds to the JSON property `protobufPythonicTypesEnabled`
1992
+ # @return [Boolean]
1993
+ attr_accessor :protobuf_pythonic_types_enabled
1994
+ alias_method :protobuf_pythonic_types_enabled?, :protobuf_pythonic_types_enabled
1995
+
1996
+ # Enables generation of asynchronous REST clients if `rest` transport is enabled.
1997
+ # By default, asynchronous REST clients will not be generated. This feature
1998
+ # will be enabled by default 1 month after launching the feature in preview
1999
+ # packages.
2000
+ # Corresponds to the JSON property `restAsyncIoEnabled`
2001
+ # @return [Boolean]
2002
+ attr_accessor :rest_async_io_enabled
2003
+ alias_method :rest_async_io_enabled?, :rest_async_io_enabled
2004
+
2005
+ # Disables generation of an unversioned Python package for this client library.
2006
+ # This means that the module names will need to be versioned in import
2007
+ # statements. For example `import google.cloud.library_v2` instead of `import
2008
+ # google.cloud.library`.
2009
+ # Corresponds to the JSON property `unversionedPackageDisabled`
2010
+ # @return [Boolean]
2011
+ attr_accessor :unversioned_package_disabled
2012
+ alias_method :unversioned_package_disabled?, :unversioned_package_disabled
2013
+
2014
+ def initialize(**args)
2015
+ update!(**args)
2016
+ end
2017
+
2018
+ # Update properties of this object
2019
+ def update!(**args)
2020
+ @protobuf_pythonic_types_enabled = args[:protobuf_pythonic_types_enabled] if args.key?(:protobuf_pythonic_types_enabled)
2021
+ @rest_async_io_enabled = args[:rest_async_io_enabled] if args.key?(:rest_async_io_enabled)
2022
+ @unversioned_package_disabled = args[:unversioned_package_disabled] if args.key?(:unversioned_package_disabled)
2023
+ end
2024
+ end
2025
+
2026
+ # A single field of a message type. New usages of this message as an alternative
2027
+ # to FieldDescriptorProto are strongly discouraged. This message does not
2028
+ # reliability preserve all information necessary to model the schema and
2029
+ # preserve semantics. Instead make use of FileDescriptorSet which preserves the
2030
+ # necessary information.
1400
2031
  class Field
1401
2032
  include Google::Apis::Core::Hashable
1402
2033
 
@@ -1472,6 +2103,50 @@ module Google
1472
2103
  end
1473
2104
  end
1474
2105
 
2106
+ # Google API Policy Annotation This message defines a simple API policy
2107
+ # annotation that can be used to annotate API request and response message
2108
+ # fields with applicable policies. One field may have multiple applicable
2109
+ # policies that must all be satisfied before a request can be processed. This
2110
+ # policy annotation is used to generate the overall policy that will be used for
2111
+ # automatic runtime policy enforcement and documentation generation.
2112
+ class FieldPolicy
2113
+ include Google::Apis::Core::Hashable
2114
+
2115
+ # Specifies the required permission(s) for the resource referred to by the field.
2116
+ # It requires the field contains a valid resource reference, and the request
2117
+ # must pass the permission checks to proceed. For example, "resourcemanager.
2118
+ # projects.get".
2119
+ # Corresponds to the JSON property `resourcePermission`
2120
+ # @return [String]
2121
+ attr_accessor :resource_permission
2122
+
2123
+ # Specifies the resource type for the resource referred to by the field.
2124
+ # Corresponds to the JSON property `resourceType`
2125
+ # @return [String]
2126
+ attr_accessor :resource_type
2127
+
2128
+ # Selects one or more request or response message fields to apply this `
2129
+ # FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector
2130
+ # must be left as empty. The service config generator will automatically fill
2131
+ # the correct value. When a `FieldPolicy` is used in service config, the
2132
+ # selector must be a comma-separated string with valid request or response field
2133
+ # paths, such as "foo.bar" or "foo.bar,foo.baz".
2134
+ # Corresponds to the JSON property `selector`
2135
+ # @return [String]
2136
+ attr_accessor :selector
2137
+
2138
+ def initialize(**args)
2139
+ update!(**args)
2140
+ end
2141
+
2142
+ # Update properties of this object
2143
+ def update!(**args)
2144
+ @resource_permission = args[:resource_permission] if args.key?(:resource_permission)
2145
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
2146
+ @selector = args[:selector] if args.key?(:selector)
2147
+ end
2148
+ end
2149
+
1475
2150
  # Metadata for the `GetServiceIdentity` method.
1476
2151
  class GetServiceIdentityMetadata
1477
2152
  include Google::Apis::Core::Hashable
@@ -1520,6 +2195,14 @@ module Google
1520
2195
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1521
2196
  attr_accessor :common
1522
2197
 
2198
+ # Map of service names to renamed services. Keys are the package relative
2199
+ # service names and values are the name to be used for the service client and
2200
+ # call options. Example: publishing: go_settings: renamed_services: Publisher:
2201
+ # TopicAdmin
2202
+ # Corresponds to the JSON property `renamedServices`
2203
+ # @return [Hash<String,String>]
2204
+ attr_accessor :renamed_services
2205
+
1523
2206
  def initialize(**args)
1524
2207
  update!(**args)
1525
2208
  end
@@ -1527,6 +2210,7 @@ module Google
1527
2210
  # Update properties of this object
1528
2211
  def update!(**args)
1529
2212
  @common = args[:common] if args.key?(:common)
2213
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1530
2214
  end
1531
2215
  end
1532
2216
 
@@ -1555,6 +2239,14 @@ module Google
1555
2239
  # @return [Array<Google::Apis::ServiceusageV1::Api>]
1556
2240
  attr_accessor :apis
1557
2241
 
2242
+ # Configuration aspects. This is a repeated field to allow multiple aspects to
2243
+ # be configured. The kind field in each ConfigAspect specifies the type of
2244
+ # aspect. The spec field contains the configuration for that aspect. The schema
2245
+ # for the spec field is defined by the backend service owners.
2246
+ # Corresponds to the JSON property `aspects`
2247
+ # @return [Array<Google::Apis::ServiceusageV1::Aspect>]
2248
+ attr_accessor :aspects
2249
+
1558
2250
  # `Authentication` defines the authentication configuration for API methods
1559
2251
  # provided by an API service. Example: name: calendar.googleapis.com
1560
2252
  # authentication: providers: - id: google_calendar_auth jwks_uri: https://www.
@@ -1631,7 +2323,7 @@ module Google
1631
2323
  # documentation: summary: > The Google Calendar API gives access to most
1632
2324
  # calendar features. pages: - name: Overview content: (== include google/foo/
1633
2325
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1634
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2326
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1635
2327
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1636
2328
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1637
2329
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1834,6 +2526,7 @@ module Google
1834
2526
  # Update properties of this object
1835
2527
  def update!(**args)
1836
2528
  @apis = args[:apis] if args.key?(:apis)
2529
+ @aspects = args[:aspects] if args.key?(:aspects)
1837
2530
  @authentication = args[:authentication] if args.key?(:authentication)
1838
2531
  @backend = args[:backend] if args.key?(:backend)
1839
2532
  @billing = args[:billing] if args.key?(:billing)
@@ -1946,7 +2639,7 @@ module Google
1946
2639
  # documentation: summary: > The Google Calendar API gives access to most
1947
2640
  # calendar features. pages: - name: Overview content: (== include google/foo/
1948
2641
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1949
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2642
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1950
2643
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1951
2644
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1952
2645
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -2039,15 +2732,316 @@ module Google
2039
2732
  # @return [Google::Apis::ServiceusageV1::Quota]
2040
2733
  attr_accessor :quota
2041
2734
 
2042
- # The product title for this service.
2043
- # Corresponds to the JSON property `title`
2735
+ # The product title for this service.
2736
+ # Corresponds to the JSON property `title`
2737
+ # @return [String]
2738
+ attr_accessor :title
2739
+
2740
+ # Configuration controlling usage of a service.
2741
+ # Corresponds to the JSON property `usage`
2742
+ # @return [Google::Apis::ServiceusageV1::Usage]
2743
+ attr_accessor :usage
2744
+
2745
+ def initialize(**args)
2746
+ update!(**args)
2747
+ end
2748
+
2749
+ # Update properties of this object
2750
+ def update!(**args)
2751
+ @apis = args[:apis] if args.key?(:apis)
2752
+ @authentication = args[:authentication] if args.key?(:authentication)
2753
+ @documentation = args[:documentation] if args.key?(:documentation)
2754
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
2755
+ @monitored_resources = args[:monitored_resources] if args.key?(:monitored_resources)
2756
+ @monitoring = args[:monitoring] if args.key?(:monitoring)
2757
+ @name = args[:name] if args.key?(:name)
2758
+ @quota = args[:quota] if args.key?(:quota)
2759
+ @title = args[:title] if args.key?(:title)
2760
+ @usage = args[:usage] if args.key?(:usage)
2761
+ end
2762
+ end
2763
+
2764
+ # Response message for getting service identity.
2765
+ class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
2766
+ include Google::Apis::Core::Hashable
2767
+
2768
+ # Service identity for a service. This is the identity that service producer
2769
+ # should use to access consumer resources.
2770
+ # Corresponds to the JSON property `identity`
2771
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity]
2772
+ attr_accessor :identity
2773
+
2774
+ # Service identity state.
2775
+ # Corresponds to the JSON property `state`
2776
+ # @return [String]
2777
+ attr_accessor :state
2778
+
2779
+ def initialize(**args)
2780
+ update!(**args)
2781
+ end
2782
+
2783
+ # Update properties of this object
2784
+ def update!(**args)
2785
+ @identity = args[:identity] if args.key?(:identity)
2786
+ @state = args[:state] if args.key?(:state)
2787
+ end
2788
+ end
2789
+
2790
+ # Service identity for a service. This is the identity that service producer
2791
+ # should use to access consumer resources.
2792
+ class GoogleApiServiceusageV1beta1ServiceIdentity
2793
+ include Google::Apis::Core::Hashable
2794
+
2795
+ # The email address of the service account that a service producer would use to
2796
+ # access consumer resources.
2797
+ # Corresponds to the JSON property `email`
2798
+ # @return [String]
2799
+ attr_accessor :email
2800
+
2801
+ # The unique and stable id of the service account. https://cloud.google.com/iam/
2802
+ # reference/rest/v1/projects.serviceAccounts#ServiceAccount
2803
+ # Corresponds to the JSON property `uniqueId`
2804
+ # @return [String]
2805
+ attr_accessor :unique_id
2806
+
2807
+ def initialize(**args)
2808
+ update!(**args)
2809
+ end
2810
+
2811
+ # Update properties of this object
2812
+ def update!(**args)
2813
+ @email = args[:email] if args.key?(:email)
2814
+ @unique_id = args[:unique_id] if args.key?(:unique_id)
2815
+ end
2816
+ end
2817
+
2818
+ # Consumer Policy is a set of rules that define what services or service groups
2819
+ # can be used for a cloud resource hierarchy.
2820
+ class GoogleApiServiceusageV2alphaConsumerPolicy
2821
+ include Google::Apis::Core::Hashable
2822
+
2823
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2824
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2825
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2826
+ # 128](https://google.aip.dev/128#annotations)
2827
+ # Corresponds to the JSON property `annotations`
2828
+ # @return [Hash<String,String>]
2829
+ attr_accessor :annotations
2830
+
2831
+ # Output only. The time the policy was created. For singleton policies, this is
2832
+ # the first touch of the policy.
2833
+ # Corresponds to the JSON property `createTime`
2834
+ # @return [String]
2835
+ attr_accessor :create_time
2836
+
2837
+ # Enable rules define usable services, groups, and categories. There can
2838
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2839
+ # later releases.
2840
+ # Corresponds to the JSON property `enableRules`
2841
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule>]
2842
+ attr_accessor :enable_rules
2843
+
2844
+ # Output only. An opaque tag indicating the current version of the policy, used
2845
+ # for concurrency control.
2846
+ # Corresponds to the JSON property `etag`
2847
+ # @return [String]
2848
+ attr_accessor :etag
2849
+
2850
+ # Output only. The resource name of the policy. Only the `default` policy is
2851
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2852
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2853
+ # Corresponds to the JSON property `name`
2854
+ # @return [String]
2855
+ attr_accessor :name
2856
+
2857
+ # Output only. The time the policy was last updated.
2858
+ # Corresponds to the JSON property `updateTime`
2859
+ # @return [String]
2860
+ attr_accessor :update_time
2861
+
2862
+ def initialize(**args)
2863
+ update!(**args)
2864
+ end
2865
+
2866
+ # Update properties of this object
2867
+ def update!(**args)
2868
+ @annotations = args[:annotations] if args.key?(:annotations)
2869
+ @create_time = args[:create_time] if args.key?(:create_time)
2870
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2871
+ @etag = args[:etag] if args.key?(:etag)
2872
+ @name = args[:name] if args.key?(:name)
2873
+ @update_time = args[:update_time] if args.key?(:update_time)
2874
+ end
2875
+ end
2876
+
2877
+ # The consumer policy rule that defines enabled services, groups, and categories.
2878
+ class GoogleApiServiceusageV2alphaEnableRule
2879
+ include Google::Apis::Core::Hashable
2880
+
2881
+ # The names of the services that are enabled. Example: `services/storage.
2882
+ # googleapis.com`.
2883
+ # Corresponds to the JSON property `services`
2884
+ # @return [Array<String>]
2885
+ attr_accessor :services
2886
+
2887
+ def initialize(**args)
2888
+ update!(**args)
2889
+ end
2890
+
2891
+ # Update properties of this object
2892
+ def update!(**args)
2893
+ @services = args[:services] if args.key?(:services)
2894
+ end
2895
+ end
2896
+
2897
+ # Metadata for the `UpdateConsumerPolicy` method.
2898
+ class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
2899
+ include Google::Apis::Core::Hashable
2900
+
2901
+ def initialize(**args)
2902
+ update!(**args)
2903
+ end
2904
+
2905
+ # Update properties of this object
2906
+ def update!(**args)
2907
+ end
2908
+ end
2909
+
2910
+ # A message to group the analysis information.
2911
+ class GoogleApiServiceusageV2betaAnalysis
2912
+ include Google::Apis::Core::Hashable
2913
+
2914
+ # An analysis result including blockers and warnings.
2915
+ # Corresponds to the JSON property `analysisResult`
2916
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult]
2917
+ attr_accessor :analysis_result
2918
+
2919
+ # Output only. The type of analysis.
2920
+ # Corresponds to the JSON property `analysisType`
2921
+ # @return [String]
2922
+ attr_accessor :analysis_type
2923
+
2924
+ # Output only. The user friendly display name of the analysis type. E.g. service
2925
+ # dependency analysis, service resource usage analysis, etc.
2926
+ # Corresponds to the JSON property `displayName`
2927
+ # @return [String]
2928
+ attr_accessor :display_name
2929
+
2930
+ # The names of the service that has analysis result of warnings or blockers.
2931
+ # Example: `services/storage.googleapis.com`.
2932
+ # Corresponds to the JSON property `service`
2933
+ # @return [String]
2934
+ attr_accessor :service
2935
+
2936
+ def initialize(**args)
2937
+ update!(**args)
2938
+ end
2939
+
2940
+ # Update properties of this object
2941
+ def update!(**args)
2942
+ @analysis_result = args[:analysis_result] if args.key?(:analysis_result)
2943
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
2944
+ @display_name = args[:display_name] if args.key?(:display_name)
2945
+ @service = args[:service] if args.key?(:service)
2946
+ end
2947
+ end
2948
+
2949
+ # An analysis result including blockers and warnings.
2950
+ class GoogleApiServiceusageV2betaAnalysisResult
2951
+ include Google::Apis::Core::Hashable
2952
+
2953
+ # Blocking information that would prevent the policy changes at runtime.
2954
+ # Corresponds to the JSON property `blockers`
2955
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2956
+ attr_accessor :blockers
2957
+
2958
+ # Warning information indicating that the policy changes might be unsafe, but
2959
+ # will not block the changes at runtime.
2960
+ # Corresponds to the JSON property `warnings`
2961
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2962
+ attr_accessor :warnings
2963
+
2964
+ def initialize(**args)
2965
+ update!(**args)
2966
+ end
2967
+
2968
+ # Update properties of this object
2969
+ def update!(**args)
2970
+ @blockers = args[:blockers] if args.key?(:blockers)
2971
+ @warnings = args[:warnings] if args.key?(:warnings)
2972
+ end
2973
+ end
2974
+
2975
+ # Metadata for the `AnalyzeConsumerPolicy` method.
2976
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
2977
+ include Google::Apis::Core::Hashable
2978
+
2979
+ def initialize(**args)
2980
+ update!(**args)
2981
+ end
2982
+
2983
+ # Update properties of this object
2984
+ def update!(**args)
2985
+ end
2986
+ end
2987
+
2988
+ # The response of analyzing a consumer policy update.
2989
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
2990
+ include Google::Apis::Core::Hashable
2991
+
2992
+ # The list of analyses returned from performing the intended policy update
2993
+ # analysis. The analysis is grouped by service name and different analysis types.
2994
+ # The empty analysis list means that the consumer policy can be updated without
2995
+ # any warnings or blockers.
2996
+ # Corresponds to the JSON property `analysis`
2997
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis>]
2998
+ attr_accessor :analysis
2999
+
3000
+ def initialize(**args)
3001
+ update!(**args)
3002
+ end
3003
+
3004
+ # Update properties of this object
3005
+ def update!(**args)
3006
+ @analysis = args[:analysis] if args.key?(:analysis)
3007
+ end
3008
+ end
3009
+
3010
+ # Consumer Policy is a set of rules that define what services or service groups
3011
+ # can be used for a cloud resource hierarchy.
3012
+ class GoogleApiServiceusageV2betaConsumerPolicy
3013
+ include Google::Apis::Core::Hashable
3014
+
3015
+ # Output only. The time the policy was created. For singleton policies, this is
3016
+ # the first touch of the policy.
3017
+ # Corresponds to the JSON property `createTime`
3018
+ # @return [String]
3019
+ attr_accessor :create_time
3020
+
3021
+ # Enable rules define usable services, groups, and categories. There can
3022
+ # currently be at most one `EnableRule`. This restriction will be lifted in
3023
+ # later releases.
3024
+ # Corresponds to the JSON property `enableRules`
3025
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule>]
3026
+ attr_accessor :enable_rules
3027
+
3028
+ # An opaque tag indicating the current version of the policy, used for
3029
+ # concurrency control.
3030
+ # Corresponds to the JSON property `etag`
2044
3031
  # @return [String]
2045
- attr_accessor :title
3032
+ attr_accessor :etag
2046
3033
 
2047
- # Configuration controlling usage of a service.
2048
- # Corresponds to the JSON property `usage`
2049
- # @return [Google::Apis::ServiceusageV1::Usage]
2050
- attr_accessor :usage
3034
+ # Output only. The resource name of the policy. Only the `default` policy is
3035
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
3036
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
3037
+ # Corresponds to the JSON property `name`
3038
+ # @return [String]
3039
+ attr_accessor :name
3040
+
3041
+ # Output only. The time the policy was last updated.
3042
+ # Corresponds to the JSON property `updateTime`
3043
+ # @return [String]
3044
+ attr_accessor :update_time
2051
3045
 
2052
3046
  def initialize(**args)
2053
3047
  update!(**args)
@@ -2055,33 +3049,23 @@ module Google
2055
3049
 
2056
3050
  # Update properties of this object
2057
3051
  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)
3052
+ @create_time = args[:create_time] if args.key?(:create_time)
3053
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
3054
+ @etag = args[:etag] if args.key?(:etag)
2064
3055
  @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)
3056
+ @update_time = args[:update_time] if args.key?(:update_time)
2068
3057
  end
2069
3058
  end
2070
3059
 
2071
- # Response message for getting service identity.
2072
- class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
3060
+ # The consumer policy rule that defines enabled services, groups, and categories.
3061
+ class GoogleApiServiceusageV2betaEnableRule
2073
3062
  include Google::Apis::Core::Hashable
2074
3063
 
2075
- # Service identity for a service. This is the identity that service producer
2076
- # should use to access consumer resources.
2077
- # Corresponds to the JSON property `identity`
2078
- # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity]
2079
- attr_accessor :identity
2080
-
2081
- # Service identity state.
2082
- # Corresponds to the JSON property `state`
2083
- # @return [String]
2084
- attr_accessor :state
3064
+ # The names of the services that are enabled. Example: `services/storage.
3065
+ # googleapis.com`.
3066
+ # Corresponds to the JSON property `services`
3067
+ # @return [Array<String>]
3068
+ attr_accessor :services
2085
3069
 
2086
3070
  def initialize(**args)
2087
3071
  update!(**args)
@@ -2089,27 +3073,47 @@ module Google
2089
3073
 
2090
3074
  # Update properties of this object
2091
3075
  def update!(**args)
2092
- @identity = args[:identity] if args.key?(:identity)
2093
- @state = args[:state] if args.key?(:state)
3076
+ @services = args[:services] if args.key?(:services)
2094
3077
  end
2095
3078
  end
2096
3079
 
2097
- # Service identity for a service. This is the identity that service producer
2098
- # should use to access consumer resources.
2099
- class GoogleApiServiceusageV1beta1ServiceIdentity
3080
+ # A message to group impacts of updating a policy.
3081
+ class GoogleApiServiceusageV2betaImpact
2100
3082
  include Google::Apis::Core::Hashable
2101
3083
 
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`
3084
+ # Output only. User friendly impact detail in a free form message.
3085
+ # Corresponds to the JSON property `detail`
2105
3086
  # @return [String]
2106
- attr_accessor :email
3087
+ attr_accessor :detail
2107
3088
 
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`
3089
+ # Output only. The type of impact.
3090
+ # Corresponds to the JSON property `impactType`
2111
3091
  # @return [String]
2112
- attr_accessor :unique_id
3092
+ attr_accessor :impact_type
3093
+
3094
+ # Output only. This field will be populated only for the `
3095
+ # DEPENDENCY_MISSING_DEPENDENCIES` impact type. Example: `services/compute.
3096
+ # googleapis.com`. Impact.detail will be in format : `missing service dependency:
3097
+ # `missing_dependency`.`
3098
+ # Corresponds to the JSON property `missingDependency`
3099
+ # @return [String]
3100
+ attr_accessor :missing_dependency
3101
+
3102
+ def initialize(**args)
3103
+ update!(**args)
3104
+ end
3105
+
3106
+ # Update properties of this object
3107
+ def update!(**args)
3108
+ @detail = args[:detail] if args.key?(:detail)
3109
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3110
+ @missing_dependency = args[:missing_dependency] if args.key?(:missing_dependency)
3111
+ end
3112
+ end
3113
+
3114
+ # Metadata for the `UpdateConsumerPolicy` method.
3115
+ class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
3116
+ include Google::Apis::Core::Hashable
2113
3117
 
2114
3118
  def initialize(**args)
2115
3119
  update!(**args)
@@ -2117,8 +3121,6 @@ module Google
2117
3121
 
2118
3122
  # Update properties of this object
2119
3123
  def update!(**args)
2120
- @email = args[:email] if args.key?(:email)
2121
- @unique_id = args[:unique_id] if args.key?(:unique_id)
2122
3124
  end
2123
3125
  end
2124
3126
 
@@ -2154,7 +3156,7 @@ module Google
2154
3156
  end
2155
3157
  end
2156
3158
 
2157
- # # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
3159
+ # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2158
3160
  # method and one or more HTTP REST endpoints. It allows developers to build a
2159
3161
  # single API service that supports both gRPC APIs and REST APIs. Many systems,
2160
3162
  # including [Google APIs](https://github.com/googleapis/googleapis), [Cloud
@@ -2174,70 +3176,69 @@ module Google
2174
3176
  # Message) ` option (google.api.http) = ` get: "/v1/`name=messages/*`" `; ` `
2175
3177
  # message GetMessageRequest ` string name = 1; // Mapped to URL path. ` message
2176
3178
  # 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
3179
+ # REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `
3180
+ # GetMessage(name: "messages/123456")` Any fields in the request message which
3181
+ # are not bound by the path template automatically become HTTP query parameters
3182
+ # if there is no HTTP request body. For example: service Messaging ` rpc
3183
+ # GetMessage(GetMessageRequest) returns (Message) ` option (google.api.http) = `
3184
+ # get:"/v1/messages/`message_id`" `; ` ` message GetMessageRequest ` message
3185
+ # SubMessage ` string subfield = 1; ` string message_id = 1; // Mapped to URL
3186
+ # path. int64 revision = 2; // Mapped to URL query parameter `revision`.
3187
+ # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. ` This
3188
+ # enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?
3189
+ # revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: "123456" revision:
3190
+ # 2 sub: SubMessage(subfield: "foo"))` Note that fields which are mapped to URL
3191
+ # query parameters must have a primitive type or a repeated primitive type or a
3192
+ # non-repeated message type. In the case of a repeated type, the parameter can
3193
+ # be repeated in the URL as `...?param=A&param=B`. In the case of a message type,
3194
+ # each field of the message is mapped to a separate parameter, such as `...?foo.
3195
+ # a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body`
3196
+ # field specifies the mapping. Consider a REST update method on the message
3197
+ # resource collection: service Messaging ` rpc UpdateMessage(
3198
+ # UpdateMessageRequest) returns (Message) ` option (google.api.http) = ` patch: "
3199
+ # /v1/messages/`message_id`" body: "message" `; ` ` message UpdateMessageRequest
3200
+ # ` string message_id = 1; // mapped to the URL Message message = 2; // mapped
3201
+ # to the body ` The following HTTP JSON to RPC mapping is enabled, where the
3202
+ # representation of the JSON in the request body is determined by protos JSON
3203
+ # encoding: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
3204
+ # UpdateMessage(message_id: "123456" message ` text: "Hi!" `)` The special name `
3205
+ # *` can be used in the body mapping to define that every field not bound by the
3206
+ # path template should be mapped to the request body. This enables the following
3207
+ # alternative definition of the update method: service Messaging ` rpc
3208
+ # UpdateMessage(Message) returns (Message) ` option (google.api.http) = ` patch:
3209
+ # "/v1/messages/`message_id`" body: "*" `; ` ` message Message ` string
3210
+ # message_id = 1; string text = 2; ` The following HTTP JSON to RPC mapping is
3211
+ # enabled: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
3212
+ # UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using `*` in
3213
+ # the body mapping, it is not possible to have HTTP parameters, as all fields
3214
+ # not bound by the path end in the body. This makes this option more rarely used
3215
+ # in practice when defining REST APIs. The common usage of `*` is in custom
3216
+ # methods which don't use the URL at all for transferring data. It is possible
3217
+ # to define multiple HTTP methods for one RPC by using the `additional_bindings`
3218
+ # option. Example: service Messaging ` rpc GetMessage(GetMessageRequest) returns
3219
+ # (Message) ` option (google.api.http) = ` get: "/v1/messages/`message_id`"
3220
+ # additional_bindings ` get: "/v1/users/`user_id`/messages/`message_id`" ` `; ` `
3221
+ # message GetMessageRequest ` string message_id = 1; string user_id = 2; ` This
3222
+ # enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /
3223
+ # v1/messages/123456` - gRPC: `GetMessage(message_id: "123456")` - HTTP: `GET /
3224
+ # v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" message_id: "
3225
+ # 123456")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion
3226
+ # nested messages in the request message) are classified into three categories: -
3227
+ # Fields referred by the path template. They are passed via the URL path. -
3228
+ # Fields referred by the HttpRule.body. They are passed via the HTTP request
3229
+ # body. - All other fields are passed via the URL query parameters, and the
3230
+ # parameter name is the field path in the request message. A repeated field can
3231
+ # be represented as multiple query parameters under the same name. 2. If
3232
+ # HttpRule.body is "*", there is no URL query parameter, all fields are passed
3233
+ # via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is
3234
+ # no HTTP request body, all fields are passed via URL path and URL query
3235
+ # parameters. Path template syntax Template = "/" Segments [ Verb ] ; Segments =
3236
+ # Segment ` "/" Segment ` ; Segment = "*" | "**" | LITERAL | Variable ; Variable
3237
+ # = "`" FieldPath [ "=" Segments ] "`" ; FieldPath = IDENT ` "." IDENT ` ; Verb =
3238
+ # ":" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**
3239
+ # ` matches zero or more URL path segments, which must be the last part of the
3240
+ # URL path except the `Verb`. The syntax `Variable` matches part of the URL path
3241
+ # as specified by its template. A variable template must not contain other
2241
3242
  # variables. If a variable matches a single path segment, its template may be
2242
3243
  # omitted, e.g. ``var`` is equivalent to ``var=*``. The syntax `LITERAL` matches
2243
3244
  # literal text in the URL path. If the `LITERAL` contains any reserved character,
@@ -2252,7 +3253,7 @@ module Google
2252
3253
  # except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the
2253
3254
  # reverse decoding, except "%2F" and "%2f" are left unchanged. Such variables
2254
3255
  # show up in the [Discovery Document](https://developers.google.com/discovery/v1/
2255
- # reference/apis) as ``+var``. ## Using gRPC API Service Configuration gRPC API
3256
+ # reference/apis) as ``+var``. Using gRPC API Service Configuration gRPC API
2256
3257
  # Service Configuration (service config) is a configuration language for
2257
3258
  # configuring a gRPC service to become a user-facing product. The service config
2258
3259
  # is simply the YAML representation of the `google.api.Service` proto message.
@@ -2262,27 +3263,27 @@ module Google
2262
3263
  # effect as the proto annotation. This can be particularly useful if you have a
2263
3264
  # proto that is reused in multiple services. Note that any transcoding specified
2264
3265
  # 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.
3266
+ # the proto. The following example selects a gRPC method and applies an `
3267
+ # HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get:
3268
+ # /v1/messages/`message_id`/`sub.subfield` Special notes When gRPC Transcoding
3269
+ # is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion
3270
+ # must follow the [proto3 specification](https://developers.google.com/protocol-
3271
+ # buffers/docs/proto3#json). While the single segment variable follows the
3272
+ # semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
3273
+ # Simple String Expansion, the multi segment variable **does not** follow RFC
3274
+ # 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved
3275
+ # Expansion does not expand special characters like `?` and `#`, which would
3276
+ # lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
3277
+ # for multi segment variables. The path variables **must not** refer to any
3278
+ # repeated or mapped field, because client libraries are not capable of handling
3279
+ # such variable expansion. The path variables **must not** capture the leading "/
3280
+ # " character. The reason is that the most common use case "`var`" does not
3281
+ # capture the leading "/" character. For consistency, all path variables must
3282
+ # share the same behavior. Repeated message fields must not be mapped to URL
3283
+ # query parameters, because no client library can support such complicated
3284
+ # mapping. If an API needs to use a JSON array for request or response body, it
3285
+ # can map the request or response body to a repeated field. However, some gRPC
3286
+ # Transcoding implementations may not support this feature.
2286
3287
  class HttpRule
2287
3288
  include Google::Apis::Core::Hashable
2288
3289
 
@@ -2364,6 +3365,44 @@ module Google
2364
3365
  end
2365
3366
  end
2366
3367
 
3368
+ # A message to group impacts of updating a policy.
3369
+ class Impact
3370
+ include Google::Apis::Core::Hashable
3371
+
3372
+ # Output only. User friendly impact detail in a free form message.
3373
+ # Corresponds to the JSON property `detail`
3374
+ # @return [String]
3375
+ attr_accessor :detail
3376
+
3377
+ # Output only. The type of impact.
3378
+ # Corresponds to the JSON property `impactType`
3379
+ # @return [String]
3380
+ attr_accessor :impact_type
3381
+
3382
+ # The parent resource that the analysis is based on and the service name that
3383
+ # the analysis is for. Example: `projects/100/services/compute.googleapis.com`,
3384
+ # folders/101/services/compute.googleapis.com` and `organizations/102/services/
3385
+ # compute.googleapis.com`. Usually, the parent resource here is same as the
3386
+ # parent resource of the analyzed policy. However, for some analysis types, the
3387
+ # parent can be different. For example, for resource existence analysis, if the
3388
+ # parent resource of the analyzed policy is a folder or an organization, the
3389
+ # parent resource here can still be the project that contains the resources.
3390
+ # Corresponds to the JSON property `parent`
3391
+ # @return [String]
3392
+ attr_accessor :parent
3393
+
3394
+ def initialize(**args)
3395
+ update!(**args)
3396
+ end
3397
+
3398
+ # Update properties of this object
3399
+ def update!(**args)
3400
+ @detail = args[:detail] if args.key?(:detail)
3401
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3402
+ @parent = args[:parent] if args.key?(:parent)
3403
+ end
3404
+ end
3405
+
2367
3406
  # Metadata message that provides information such as progress, partial failures,
2368
3407
  # and similar information on each GetOperation call of LRO returned by
2369
3408
  # ImportAdminOverrides.
@@ -2479,8 +3518,8 @@ module Google
2479
3518
  # protobuf. This should be used **only** by APIs who have already set the
2480
3519
  # language_settings.java.package_name" field in gapic.yaml. API teams should use
2481
3520
  # the protobuf java_package option where possible. Example of a YAML
2482
- # configuration:: publishing: java_settings: library_package: com.google.cloud.
2483
- # pubsub.v1
3521
+ # configuration:: publishing: library_settings: java_settings: library_package:
3522
+ # com.google.cloud.pubsub.v1
2484
3523
  # Corresponds to the JSON property `libraryPackage`
2485
3524
  # @return [String]
2486
3525
  attr_accessor :library_package
@@ -2595,6 +3634,13 @@ module Google
2595
3634
  # @return [Array<Google::Apis::ServiceusageV1::Operation>]
2596
3635
  attr_accessor :operations
2597
3636
 
3637
+ # Unordered list. Unreachable resources. Populated when the request sets `
3638
+ # ListOperationsRequest.return_partial_success` and reads across collections e.g.
3639
+ # when attempting to list all resources across all supported locations.
3640
+ # Corresponds to the JSON property `unreachable`
3641
+ # @return [Array<String>]
3642
+ attr_accessor :unreachable
3643
+
2598
3644
  def initialize(**args)
2599
3645
  update!(**args)
2600
3646
  end
@@ -2603,6 +3649,7 @@ module Google
2603
3649
  def update!(**args)
2604
3650
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2605
3651
  @operations = args[:operations] if args.key?(:operations)
3652
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
2606
3653
  end
2607
3654
  end
2608
3655
 
@@ -2788,10 +3835,109 @@ module Google
2788
3835
  end
2789
3836
  end
2790
3837
 
2791
- # Method represents a method of an API interface.
3838
+ # McpEnableRule contains MCP enablement related rules.
3839
+ class McpEnableRule
3840
+ include Google::Apis::Core::Hashable
3841
+
3842
+ # List of enabled MCP services.
3843
+ # Corresponds to the JSON property `mcpServices`
3844
+ # @return [Array<Google::Apis::ServiceusageV1::McpService>]
3845
+ attr_accessor :mcp_services
3846
+
3847
+ def initialize(**args)
3848
+ update!(**args)
3849
+ end
3850
+
3851
+ # Update properties of this object
3852
+ def update!(**args)
3853
+ @mcp_services = args[:mcp_services] if args.key?(:mcp_services)
3854
+ end
3855
+ end
3856
+
3857
+ # MCP Consumer Policy is a set of rules that define MCP related policy for a
3858
+ # cloud resource hierarchy.
3859
+ class McpPolicy
3860
+ include Google::Apis::Core::Hashable
3861
+
3862
+ # Output only. The time the policy was created. For singleton policies (such as
3863
+ # the `default` policy), this is the first touch of the policy.
3864
+ # Corresponds to the JSON property `createTime`
3865
+ # @return [String]
3866
+ attr_accessor :create_time
3867
+
3868
+ # An opaque tag indicating the current version of the policy, used for
3869
+ # concurrency control.
3870
+ # Corresponds to the JSON property `etag`
3871
+ # @return [String]
3872
+ attr_accessor :etag
3873
+
3874
+ # McpEnableRules contains MCP enablement related rules.
3875
+ # Corresponds to the JSON property `mcpEnableRules`
3876
+ # @return [Array<Google::Apis::ServiceusageV1::McpEnableRule>]
3877
+ attr_accessor :mcp_enable_rules
3878
+
3879
+ # Output only. The resource name of the policy. Only the `default` policy is
3880
+ # supported. We allow the following formats: `projects/`PROJECT_NUMBER`/
3881
+ # mcpPolicies/default`, `projects/`PROJECT_ID`/mcpPolicies/default`, `folders/`
3882
+ # FOLDER_ID`/mcpPolicies/default`, `organizations/`ORG_ID`/mcpPolicies/default`.
3883
+ # Corresponds to the JSON property `name`
3884
+ # @return [String]
3885
+ attr_accessor :name
3886
+
3887
+ # Output only. The time the policy was last updated.
3888
+ # Corresponds to the JSON property `updateTime`
3889
+ # @return [String]
3890
+ attr_accessor :update_time
3891
+
3892
+ def initialize(**args)
3893
+ update!(**args)
3894
+ end
3895
+
3896
+ # Update properties of this object
3897
+ def update!(**args)
3898
+ @create_time = args[:create_time] if args.key?(:create_time)
3899
+ @etag = args[:etag] if args.key?(:etag)
3900
+ @mcp_enable_rules = args[:mcp_enable_rules] if args.key?(:mcp_enable_rules)
3901
+ @name = args[:name] if args.key?(:name)
3902
+ @update_time = args[:update_time] if args.key?(:update_time)
3903
+ end
3904
+ end
3905
+
3906
+ # McpService contains the service names that are enabled for MCP.
3907
+ class McpService
3908
+ include Google::Apis::Core::Hashable
3909
+
3910
+ # The names of the services that are enabled for MCP. Example: `services/library-
3911
+ # example.googleapis.com`
3912
+ # Corresponds to the JSON property `service`
3913
+ # @return [String]
3914
+ attr_accessor :service
3915
+
3916
+ def initialize(**args)
3917
+ update!(**args)
3918
+ end
3919
+
3920
+ # Update properties of this object
3921
+ def update!(**args)
3922
+ @service = args[:service] if args.key?(:service)
3923
+ end
3924
+ end
3925
+
3926
+ # Method represents a method of an API interface. New usages of this message as
3927
+ # an alternative to MethodDescriptorProto are strongly discouraged. This message
3928
+ # does not reliability preserve all information necessary to model the schema
3929
+ # and preserve semantics. Instead make use of FileDescriptorSet which preserves
3930
+ # the necessary information.
2792
3931
  class MethodProp
2793
3932
  include Google::Apis::Core::Hashable
2794
3933
 
3934
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS. This
3935
+ # field should be ignored, instead the edition should be inherited from Api.
3936
+ # This is similar to Field and EnumValue.
3937
+ # Corresponds to the JSON property `edition`
3938
+ # @return [String]
3939
+ attr_accessor :edition
3940
+
2795
3941
  # The simple name of this method.
2796
3942
  # Corresponds to the JSON property `name`
2797
3943
  # @return [String]
@@ -2824,7 +3970,8 @@ module Google
2824
3970
  # @return [String]
2825
3971
  attr_accessor :response_type_url
2826
3972
 
2827
- # The source syntax of this method.
3973
+ # The source syntax of this method. This field should be ignored, instead the
3974
+ # syntax should be inherited from Api. This is similar to Field and EnumValue.
2828
3975
  # Corresponds to the JSON property `syntax`
2829
3976
  # @return [String]
2830
3977
  attr_accessor :syntax
@@ -2835,6 +3982,7 @@ module Google
2835
3982
 
2836
3983
  # Update properties of this object
2837
3984
  def update!(**args)
3985
+ @edition = args[:edition] if args.key?(:edition)
2838
3986
  @name = args[:name] if args.key?(:name)
2839
3987
  @options = args[:options] if args.key?(:options)
2840
3988
  @request_streaming = args[:request_streaming] if args.key?(:request_streaming)
@@ -2845,10 +3993,52 @@ module Google
2845
3993
  end
2846
3994
  end
2847
3995
 
3996
+ # Defines policies applying to an RPC method.
3997
+ class MethodPolicy
3998
+ include Google::Apis::Core::Hashable
3999
+
4000
+ # Policies that are applicable to the request message.
4001
+ # Corresponds to the JSON property `requestPolicies`
4002
+ # @return [Array<Google::Apis::ServiceusageV1::FieldPolicy>]
4003
+ attr_accessor :request_policies
4004
+
4005
+ # Selects a method to which these policies should be enforced, for example, "
4006
+ # google.pubsub.v1.Subscriber.CreateSubscription". Refer to selector for syntax
4007
+ # details. NOTE: This field must not be set in the proto annotation. It will be
4008
+ # automatically filled by the service config compiler .
4009
+ # Corresponds to the JSON property `selector`
4010
+ # @return [String]
4011
+ attr_accessor :selector
4012
+
4013
+ def initialize(**args)
4014
+ update!(**args)
4015
+ end
4016
+
4017
+ # Update properties of this object
4018
+ def update!(**args)
4019
+ @request_policies = args[:request_policies] if args.key?(:request_policies)
4020
+ @selector = args[:selector] if args.key?(:selector)
4021
+ end
4022
+ end
4023
+
2848
4024
  # Describes the generator configuration for a method.
2849
4025
  class MethodSettings
2850
4026
  include Google::Apis::Core::Hashable
2851
4027
 
4028
+ # List of top-level fields of the request message, that should be automatically
4029
+ # populated by the client libraries based on their (google.api.field_info).
4030
+ # format. Currently supported format: UUID4. Example of a YAML configuration:
4031
+ # publishing: method_settings: - selector: google.example.v1.ExampleService.
4032
+ # CreateExample auto_populated_fields: - request_id
4033
+ # Corresponds to the JSON property `autoPopulatedFields`
4034
+ # @return [Array<String>]
4035
+ attr_accessor :auto_populated_fields
4036
+
4037
+ # `BatchingConfigProto` defines the batching configuration for an API method.
4038
+ # Corresponds to the JSON property `batching`
4039
+ # @return [Google::Apis::ServiceusageV1::BatchingConfigProto]
4040
+ attr_accessor :batching
4041
+
2852
4042
  # Describes settings to use when generating API methods that use the long-
2853
4043
  # running operation pattern. All default values below are from those used in the
2854
4044
  # client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2859,7 +4049,9 @@ module Google
2859
4049
  attr_accessor :long_running
2860
4050
 
2861
4051
  # 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.
4052
+ # This is used to find the method to apply the options. Example: publishing:
4053
+ # method_settings: - selector: google.storage.control.v2.StorageControl.
4054
+ # CreateFolder # method settings for CreateFolder...
2863
4055
  # Corresponds to the JSON property `selector`
2864
4056
  # @return [String]
2865
4057
  attr_accessor :selector
@@ -2870,6 +4062,8 @@ module Google
2870
4062
 
2871
4063
  # Update properties of this object
2872
4064
  def update!(**args)
4065
+ @auto_populated_fields = args[:auto_populated_fields] if args.key?(:auto_populated_fields)
4066
+ @batching = args[:batching] if args.key?(:batching)
2873
4067
  @long_running = args[:long_running] if args.key?(:long_running)
2874
4068
  @selector = args[:selector] if args.key?(:selector)
2875
4069
  end
@@ -3042,6 +4236,11 @@ module Google
3042
4236
  # @return [String]
3043
4237
  attr_accessor :sample_period
3044
4238
 
4239
+ # The scope of the timeseries data of the metric.
4240
+ # Corresponds to the JSON property `timeSeriesResourceHierarchyLevel`
4241
+ # @return [Array<String>]
4242
+ attr_accessor :time_series_resource_hierarchy_level
4243
+
3045
4244
  def initialize(**args)
3046
4245
  update!(**args)
3047
4246
  end
@@ -3051,6 +4250,7 @@ module Google
3051
4250
  @ingest_delay = args[:ingest_delay] if args.key?(:ingest_delay)
3052
4251
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
3053
4252
  @sample_period = args[:sample_period] if args.key?(:sample_period)
4253
+ @time_series_resource_hierarchy_level = args[:time_series_resource_hierarchy_level] if args.key?(:time_series_resource_hierarchy_level)
3054
4254
  end
3055
4255
  end
3056
4256
 
@@ -3184,7 +4384,7 @@ module Google
3184
4384
 
3185
4385
  # Required. The monitored resource type. For example, the type `"
3186
4386
  # cloudsql_database"` represents databases in Google Cloud SQL. For a list of
3187
- # types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/
4387
+ # types, see [Monitored resource types](https://cloud.google.com/monitoring/api/
3188
4388
  # resources) and [Logging resource types](https://cloud.google.com/logging/docs/
3189
4389
  # api/v2/resource-list).
3190
4390
  # Corresponds to the JSON property `type`
@@ -3380,13 +4580,13 @@ module Google
3380
4580
  # @return [String]
3381
4581
  attr_accessor :name
3382
4582
 
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`.
4583
+ # The normal, successful response of the operation. If the original method
4584
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
4585
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
4586
+ # response should be the resource. For other methods, the response should have
4587
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
4588
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
4589
+ # `TakeSnapshotResponse`.
3390
4590
  # Corresponds to the JSON property `response`
3391
4591
  # @return [Hash<String,Object>]
3392
4592
  attr_accessor :response
@@ -3425,7 +4625,9 @@ module Google
3425
4625
  end
3426
4626
 
3427
4627
  # A protocol buffer option, which can be attached to a message, field,
3428
- # enumeration, etc.
4628
+ # enumeration, etc. New usages of this message as an alternative to FileOptions,
4629
+ # MessageOptions, FieldOptions, EnumOptions, EnumValueOptions, ServiceOptions,
4630
+ # or MethodOptions are strongly discouraged.
3429
4631
  class Option
3430
4632
  include Google::Apis::Core::Hashable
3431
4633
 
@@ -3461,7 +4663,7 @@ module Google
3461
4663
  class Page
3462
4664
  include Google::Apis::Core::Hashable
3463
4665
 
3464
- # The Markdown content of the page. You can use (== include `path` ==) to
4666
+ # The Markdown content of the page. You can use ```(== include `path` ==)``` to
3465
4667
  # include content from a Markdown file. The content can be used to produce the
3466
4668
  # documentation page such as HTML format page.
3467
4669
  # Corresponds to the JSON property `content`
@@ -3506,6 +4708,16 @@ module Google
3506
4708
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3507
4709
  attr_accessor :common
3508
4710
 
4711
+ # The package name to use in Php. Clobbers the php_namespace option set in the
4712
+ # protobuf. This should be used **only** by APIs who have already set the
4713
+ # language_settings.php.package_name" field in gapic.yaml. API teams should use
4714
+ # the protobuf php_namespace option where possible. Example of a YAML
4715
+ # configuration:: publishing: library_settings: php_settings: library_package:
4716
+ # Google\Cloud\PubSub\V1
4717
+ # Corresponds to the JSON property `libraryPackage`
4718
+ # @return [String]
4719
+ attr_accessor :library_package
4720
+
3509
4721
  def initialize(**args)
3510
4722
  update!(**args)
3511
4723
  end
@@ -3513,6 +4725,7 @@ module Google
3513
4725
  # Update properties of this object
3514
4726
  def update!(**args)
3515
4727
  @common = args[:common] if args.key?(:common)
4728
+ @library_package = args[:library_package] if args.key?(:library_package)
3516
4729
  end
3517
4730
  end
3518
4731
 
@@ -3565,7 +4778,7 @@ module Google
3565
4778
  # @return [Array<Google::Apis::ServiceusageV1::MethodSettings>]
3566
4779
  attr_accessor :method_settings
3567
4780
 
3568
- # Link to a place that API users can report issues. Example: https://
4781
+ # Link to a *public* URI where users can report issues. Example: https://
3569
4782
  # issuetracker.google.com/issues/new?component=190865&template=1161103
3570
4783
  # Corresponds to the JSON property `newIssueUri`
3571
4784
  # @return [String]
@@ -3576,6 +4789,18 @@ module Google
3576
4789
  # @return [String]
3577
4790
  attr_accessor :organization
3578
4791
 
4792
+ # Optional link to proto reference documentation. Example: https://cloud.google.
4793
+ # com/pubsub/lite/docs/reference/rpc
4794
+ # Corresponds to the JSON property `protoReferenceDocumentationUri`
4795
+ # @return [String]
4796
+ attr_accessor :proto_reference_documentation_uri
4797
+
4798
+ # Optional link to REST reference documentation. Example: https://cloud.google.
4799
+ # com/pubsub/lite/docs/reference/rest
4800
+ # Corresponds to the JSON property `restReferenceDocumentationUri`
4801
+ # @return [String]
4802
+ attr_accessor :rest_reference_documentation_uri
4803
+
3579
4804
  def initialize(**args)
3580
4805
  update!(**args)
3581
4806
  end
@@ -3591,6 +4816,8 @@ module Google
3591
4816
  @method_settings = args[:method_settings] if args.key?(:method_settings)
3592
4817
  @new_issue_uri = args[:new_issue_uri] if args.key?(:new_issue_uri)
3593
4818
  @organization = args[:organization] if args.key?(:organization)
4819
+ @proto_reference_documentation_uri = args[:proto_reference_documentation_uri] if args.key?(:proto_reference_documentation_uri)
4820
+ @rest_reference_documentation_uri = args[:rest_reference_documentation_uri] if args.key?(:rest_reference_documentation_uri)
3594
4821
  end
3595
4822
  end
3596
4823
 
@@ -3603,6 +4830,12 @@ module Google
3603
4830
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3604
4831
  attr_accessor :common
3605
4832
 
4833
+ # Experimental features to be included during client library generation. These
4834
+ # fields will be deprecated once the feature graduates and is enabled by default.
4835
+ # Corresponds to the JSON property `experimentalFeatures`
4836
+ # @return [Google::Apis::ServiceusageV1::ExperimentalFeatures]
4837
+ attr_accessor :experimental_features
4838
+
3606
4839
  def initialize(**args)
3607
4840
  update!(**args)
3608
4841
  end
@@ -3610,6 +4843,7 @@ module Google
3610
4843
  # Update properties of this object
3611
4844
  def update!(**args)
3612
4845
  @common = args[:common] if args.key?(:common)
4846
+ @experimental_features = args[:experimental_features] if args.key?(:experimental_features)
3613
4847
  end
3614
4848
  end
3615
4849
 
@@ -3729,11 +4963,11 @@ module Google
3729
4963
  # @return [String]
3730
4964
  attr_accessor :name
3731
4965
 
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.
4966
+ # Specify the unit of the quota limit. It uses the same syntax as
4967
+ # MetricDescriptor.unit. The supported unit kinds are determined by the quota
4968
+ # backend system. Here are some examples: * "1/min/`project`" for quota per
4969
+ # minute per project. Note: the order of unit components is insignificant. The "
4970
+ # 1" at the beginning is required to follow the metric unit syntax.
3737
4971
  # Corresponds to the JSON property `unit`
3738
4972
  # @return [String]
3739
4973
  attr_accessor :unit
@@ -3839,6 +5073,46 @@ module Google
3839
5073
  end
3840
5074
  end
3841
5075
 
5076
+ # Metadata for the `RemoveEnableRules` method.
5077
+ class RemoveEnableRulesMetadata
5078
+ include Google::Apis::Core::Hashable
5079
+
5080
+ def initialize(**args)
5081
+ update!(**args)
5082
+ end
5083
+
5084
+ # Update properties of this object
5085
+ def update!(**args)
5086
+ end
5087
+ end
5088
+
5089
+ # The response message of `RemoveEnableRules` method.
5090
+ class RemoveEnableRulesResponse
5091
+ include Google::Apis::Core::Hashable
5092
+
5093
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
5094
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
5095
+ # consumerPolicies/default`.
5096
+ # Corresponds to the JSON property `parent`
5097
+ # @return [String]
5098
+ attr_accessor :parent
5099
+
5100
+ # The values removed from the parent consumer policy.
5101
+ # Corresponds to the JSON property `removedValues`
5102
+ # @return [Array<String>]
5103
+ attr_accessor :removed_values
5104
+
5105
+ def initialize(**args)
5106
+ update!(**args)
5107
+ end
5108
+
5109
+ # Update properties of this object
5110
+ def update!(**args)
5111
+ @parent = args[:parent] if args.key?(:parent)
5112
+ @removed_values = args[:removed_values] if args.key?(:removed_values)
5113
+ end
5114
+ end
5115
+
3842
5116
  # Settings for Ruby client libraries.
3843
5117
  class RubySettings
3844
5118
  include Google::Apis::Core::Hashable
@@ -3858,6 +5132,39 @@ module Google
3858
5132
  end
3859
5133
  end
3860
5134
 
5135
+ # This message is used to configure the generation of a subset of the RPCs in a
5136
+ # service for client libraries.
5137
+ class SelectiveGapicGeneration
5138
+ include Google::Apis::Core::Hashable
5139
+
5140
+ # Setting this to true indicates to the client generators that methods that
5141
+ # would be excluded from the generation should instead be generated in a way
5142
+ # that indicates these methods should not be consumed by end users. How this is
5143
+ # expressed is up to individual language implementations to decide. Some
5144
+ # examples may be: added annotations, obfuscated identifiers, or other language
5145
+ # idiomatic patterns.
5146
+ # Corresponds to the JSON property `generateOmittedAsInternal`
5147
+ # @return [Boolean]
5148
+ attr_accessor :generate_omitted_as_internal
5149
+ alias_method :generate_omitted_as_internal?, :generate_omitted_as_internal
5150
+
5151
+ # An allowlist of the fully qualified names of RPCs that should be included on
5152
+ # public client surfaces.
5153
+ # Corresponds to the JSON property `methods`
5154
+ # @return [Array<String>]
5155
+ attr_accessor :methods_prop
5156
+
5157
+ def initialize(**args)
5158
+ update!(**args)
5159
+ end
5160
+
5161
+ # Update properties of this object
5162
+ def update!(**args)
5163
+ @generate_omitted_as_internal = args[:generate_omitted_as_internal] if args.key?(:generate_omitted_as_internal)
5164
+ @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
5165
+ end
5166
+ end
5167
+
3861
5168
  # Service identity for a service. This is the identity that service producer
3862
5169
  # should use to access consumer resources.
3863
5170
  class ServiceIdentity
@@ -4059,10 +5366,19 @@ module Google
4059
5366
  end
4060
5367
  end
4061
5368
 
4062
- # A protocol buffer message type.
5369
+ # A protocol buffer message type. New usages of this message as an alternative
5370
+ # to DescriptorProto are strongly discouraged. This message does not reliability
5371
+ # preserve all information necessary to model the schema and preserve semantics.
5372
+ # Instead make use of FileDescriptorSet which preserves the necessary
5373
+ # information.
4063
5374
  class Type
4064
5375
  include Google::Apis::Core::Hashable
4065
5376
 
5377
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
5378
+ # Corresponds to the JSON property `edition`
5379
+ # @return [String]
5380
+ attr_accessor :edition
5381
+
4066
5382
  # The list of fields.
4067
5383
  # Corresponds to the JSON property `fields`
4068
5384
  # @return [Array<Google::Apis::ServiceusageV1::Field>]
@@ -4100,6 +5416,7 @@ module Google
4100
5416
 
4101
5417
  # Update properties of this object
4102
5418
  def update!(**args)
5419
+ @edition = args[:edition] if args.key?(:edition)
4103
5420
  @fields = args[:fields] if args.key?(:fields)
4104
5421
  @name = args[:name] if args.key?(:name)
4105
5422
  @oneofs = args[:oneofs] if args.key?(:oneofs)
@@ -4124,6 +5441,45 @@ module Google
4124
5441
  end
4125
5442
  end
4126
5443
 
5444
+ # Metadata for the `UpdateConsumerPolicy` method.
5445
+ class UpdateConsumerPolicyMetadata
5446
+ include Google::Apis::Core::Hashable
5447
+
5448
+ def initialize(**args)
5449
+ update!(**args)
5450
+ end
5451
+
5452
+ # Update properties of this object
5453
+ def update!(**args)
5454
+ end
5455
+ end
5456
+
5457
+ # Metadata for the `UpdateContentSecurityPolicy` method.
5458
+ class UpdateContentSecurityPolicyMetadata
5459
+ include Google::Apis::Core::Hashable
5460
+
5461
+ def initialize(**args)
5462
+ update!(**args)
5463
+ end
5464
+
5465
+ # Update properties of this object
5466
+ def update!(**args)
5467
+ end
5468
+ end
5469
+
5470
+ # Metadata for the `UpdateMcpPolicy` method.
5471
+ class UpdateMcpPolicyMetadata
5472
+ include Google::Apis::Core::Hashable
5473
+
5474
+ def initialize(**args)
5475
+ update!(**args)
5476
+ end
5477
+
5478
+ # Update properties of this object
5479
+ def update!(**args)
5480
+ end
5481
+ end
5482
+
4127
5483
  # Configuration controlling usage of a service.
4128
5484
  class Usage
4129
5485
  include Google::Apis::Core::Hashable
@@ -4167,21 +5523,15 @@ module Google
4167
5523
  end
4168
5524
  end
4169
5525
 
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
5526
+ # Usage configuration rules for the service.
4180
5527
  class UsageRule
4181
5528
  include Google::Apis::Core::Hashable
4182
5529
 
4183
- # If true, the selected method allows unregistered calls, e.g. calls that don't
4184
- # identify any user or application.
5530
+ # Use this rule to configure unregistered calls for the service. Unregistered
5531
+ # calls are calls that do not contain consumer project identity. (Example: calls
5532
+ # that do not contain an API key). WARNING: By default, API methods do not allow
5533
+ # unregistered calls, and each method call must be identified by a consumer
5534
+ # project identity.
4185
5535
  # Corresponds to the JSON property `allowUnregisteredCalls`
4186
5536
  # @return [Boolean]
4187
5537
  attr_accessor :allow_unregistered_calls