google-apis-serviceusage_v1 0.28.0 → 0.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,46 @@ module Google
22
22
  module Apis
23
23
  module ServiceusageV1
24
24
 
25
+ # Metadata for the `AddEnableRules` method.
26
+ class AddEnableRulesMetadata
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # The response message of `AddEnableRules` method.
39
+ class AddEnableRulesResponse
40
+ include Google::Apis::Core::Hashable
41
+
42
+ # The values added to the parent consumer policy.
43
+ # Corresponds to the JSON property `addedValues`
44
+ # @return [Array<String>]
45
+ attr_accessor :added_values
46
+
47
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
48
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
49
+ # consumerPolicies/default`.
50
+ # Corresponds to the JSON property `parent`
51
+ # @return [String]
52
+ attr_accessor :parent
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @added_values = args[:added_values] if args.key?(:added_values)
61
+ @parent = args[:parent] if args.key?(:parent)
62
+ end
63
+ end
64
+
25
65
  # Quota policy created by quota administrator.
26
66
  class AdminQuotaPolicy
27
67
  include Google::Apis::Core::Hashable
@@ -33,7 +73,7 @@ module Google
33
73
  attr_accessor :container
34
74
 
35
75
  # If this map is nonempty, then this policy applies only to specific values for
36
- # dimensions defined in the limit unit. For example, an policy on a limit with
76
+ # dimensions defined in the limit unit. For example, a policy on a limit with
37
77
  # the unit `1/`project`/`region`` could contain an entry with the key `region`
38
78
  # and the value `us-east-1`; the policy is only applied to quota consumed in
39
79
  # that region. This map has the following restrictions: * If `region` appears as
@@ -87,6 +127,106 @@ module Google
87
127
  end
88
128
  end
89
129
 
130
+ # A message to group the analysis information.
131
+ class Analysis
132
+ include Google::Apis::Core::Hashable
133
+
134
+ # An analysis result including blockers and warnings.
135
+ # Corresponds to the JSON property `analysis`
136
+ # @return [Google::Apis::ServiceusageV1::AnalysisResult]
137
+ attr_accessor :analysis
138
+
139
+ # Output only. The type of analysis.
140
+ # Corresponds to the JSON property `analysisType`
141
+ # @return [String]
142
+ attr_accessor :analysis_type
143
+
144
+ # Output only. The user friendly display name of the analysis type. E.g. service
145
+ # dependency analysis, service resource usage analysis, etc.
146
+ # Corresponds to the JSON property `displayName`
147
+ # @return [String]
148
+ attr_accessor :display_name
149
+
150
+ # The names of the service that has analysis result of warnings or blockers.
151
+ # Example: `services/storage.googleapis.com`.
152
+ # Corresponds to the JSON property `service`
153
+ # @return [String]
154
+ attr_accessor :service
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @analysis = args[:analysis] if args.key?(:analysis)
163
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
164
+ @display_name = args[:display_name] if args.key?(:display_name)
165
+ @service = args[:service] if args.key?(:service)
166
+ end
167
+ end
168
+
169
+ # An analysis result including blockers and warnings.
170
+ class AnalysisResult
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # Blocking information that would prevent the policy changes at runtime.
174
+ # Corresponds to the JSON property `blockers`
175
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
176
+ attr_accessor :blockers
177
+
178
+ # Warning information indicating that the policy changes might be unsafe, but
179
+ # will not block the changes at runtime.
180
+ # Corresponds to the JSON property `warnings`
181
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
182
+ attr_accessor :warnings
183
+
184
+ def initialize(**args)
185
+ update!(**args)
186
+ end
187
+
188
+ # Update properties of this object
189
+ def update!(**args)
190
+ @blockers = args[:blockers] if args.key?(:blockers)
191
+ @warnings = args[:warnings] if args.key?(:warnings)
192
+ end
193
+ end
194
+
195
+ # Metadata for the `AnalyzeConsumerPolicy` method.
196
+ class AnalyzeConsumerPolicyMetadata
197
+ include Google::Apis::Core::Hashable
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ end
206
+ end
207
+
208
+ # The response of analyzing a consumer policy update.
209
+ class AnalyzeConsumerPolicyResponse
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # The list of analyses returned from performing the intended policy update
213
+ # analysis. The analysis is grouped by service name and different analysis types.
214
+ # The empty analysis list means that the consumer policy can be updated without
215
+ # any warnings or blockers.
216
+ # Corresponds to the JSON property `analysis`
217
+ # @return [Array<Google::Apis::ServiceusageV1::Analysis>]
218
+ attr_accessor :analysis
219
+
220
+ def initialize(**args)
221
+ update!(**args)
222
+ end
223
+
224
+ # Update properties of this object
225
+ def update!(**args)
226
+ @analysis = args[:analysis] if args.key?(:analysis)
227
+ end
228
+ end
229
+
90
230
  # Api is a light-weight descriptor for an API Interface. Interfaces are also
91
231
  # described as "protocol buffer services" in some contexts, such as by the "
92
232
  # service" keyword in a .proto file, but they are different from API Services,
@@ -430,6 +570,11 @@ module Google
430
570
  # @return [Float]
431
571
  attr_accessor :operation_deadline
432
572
 
573
+ # The map between request protocol and the backend address.
574
+ # Corresponds to the JSON property `overridesByRequestProtocol`
575
+ # @return [Hash<String,Google::Apis::ServiceusageV1::BackendRule>]
576
+ attr_accessor :overrides_by_request_protocol
577
+
433
578
  #
434
579
  # Corresponds to the JSON property `pathTranslation`
435
580
  # @return [String]
@@ -466,6 +611,7 @@ module Google
466
611
  @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
467
612
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
468
613
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
614
+ @overrides_by_request_protocol = args[:overrides_by_request_protocol] if args.key?(:overrides_by_request_protocol)
469
615
  @path_translation = args[:path_translation] if args.key?(:path_translation)
470
616
  @protocol = args[:protocol] if args.key?(:protocol)
471
617
  @selector = args[:selector] if args.key?(:selector)
@@ -713,7 +859,9 @@ module Google
713
859
  # @return [Google::Apis::ServiceusageV1::RubySettings]
714
860
  attr_accessor :ruby_settings
715
861
 
716
- # Version of the API to apply these settings to.
862
+ # Version of the API to apply these settings to. This is the full protobuf
863
+ # package for the API, ending in the version element. Examples: "google.cloud.
864
+ # speech.v1" and "google.spanner.admin.database.v1".
717
865
  # Corresponds to the JSON property `version`
718
866
  # @return [String]
719
867
  attr_accessor :version
@@ -753,6 +901,12 @@ module Google
753
901
  # @return [String]
754
902
  attr_accessor :reference_docs_uri
755
903
 
904
+ # This message is used to configure the generation of a subset of the RPCs in a
905
+ # service for client libraries.
906
+ # Corresponds to the JSON property `selectiveGapicGeneration`
907
+ # @return [Google::Apis::ServiceusageV1::SelectiveGapicGeneration]
908
+ attr_accessor :selective_gapic_generation
909
+
756
910
  def initialize(**args)
757
911
  update!(**args)
758
912
  end
@@ -761,6 +915,58 @@ module Google
761
915
  def update!(**args)
762
916
  @destinations = args[:destinations] if args.key?(:destinations)
763
917
  @reference_docs_uri = args[:reference_docs_uri] if args.key?(:reference_docs_uri)
918
+ @selective_gapic_generation = args[:selective_gapic_generation] if args.key?(:selective_gapic_generation)
919
+ end
920
+ end
921
+
922
+ # Consumer Policy is a set of rules that define what services or service groups
923
+ # can be used for a cloud resource hierarchy.
924
+ class ConsumerPolicy
925
+ include Google::Apis::Core::Hashable
926
+
927
+ # Optional. Annotations is an unstructured key-value map stored with a policy
928
+ # that may be set by external tools to store and retrieve arbitrary metadata.
929
+ # They are not queryable and should be preserved when modifying objects. [AIP-
930
+ # 128](https://google.aip.dev/128#annotations)
931
+ # Corresponds to the JSON property `annotations`
932
+ # @return [Hash<String,String>]
933
+ attr_accessor :annotations
934
+
935
+ # Enable rules define usable services and service groups.
936
+ # Corresponds to the JSON property `enableRules`
937
+ # @return [Array<Google::Apis::ServiceusageV1::EnableRule>]
938
+ attr_accessor :enable_rules
939
+
940
+ # An opaque tag indicating the current version of the policy, used for
941
+ # concurrency control.
942
+ # Corresponds to the JSON property `etag`
943
+ # @return [String]
944
+ attr_accessor :etag
945
+
946
+ # Output only. The resource name of the policy. We only allow consumer policy
947
+ # name as `default` for now: `projects/12345/consumerPolicies/default`, `folders/
948
+ # 12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`
949
+ # .
950
+ # Corresponds to the JSON property `name`
951
+ # @return [String]
952
+ attr_accessor :name
953
+
954
+ # The last-modified time.
955
+ # Corresponds to the JSON property `updateTime`
956
+ # @return [String]
957
+ attr_accessor :update_time
958
+
959
+ def initialize(**args)
960
+ update!(**args)
961
+ end
962
+
963
+ # Update properties of this object
964
+ def update!(**args)
965
+ @annotations = args[:annotations] if args.key?(:annotations)
966
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
967
+ @etag = args[:etag] if args.key?(:etag)
968
+ @name = args[:name] if args.key?(:name)
969
+ @update_time = args[:update_time] if args.key?(:update_time)
764
970
  end
765
971
  end
766
972
 
@@ -813,12 +1019,14 @@ module Google
813
1019
  # @return [Array<String>]
814
1020
  attr_accessor :allowed_response_extensions
815
1021
 
816
- # A list of full type names of provided contexts.
1022
+ # A list of full type names of provided contexts. It is used to support
1023
+ # propagating HTTP headers and ETags from the response extension.
817
1024
  # Corresponds to the JSON property `provided`
818
1025
  # @return [Array<String>]
819
1026
  attr_accessor :provided
820
1027
 
821
- # A list of full type names of requested contexts.
1028
+ # A list of full type names of requested contexts, only the requested context
1029
+ # will be made available to the backend.
822
1030
  # Corresponds to the JSON property `requested`
823
1031
  # @return [Array<String>]
824
1032
  attr_accessor :requested
@@ -855,6 +1063,11 @@ module Google
855
1063
  # @return [String]
856
1064
  attr_accessor :environment
857
1065
 
1066
+ # Defines policies applying to the API methods of the service.
1067
+ # Corresponds to the JSON property `methodPolicies`
1068
+ # @return [Array<Google::Apis::ServiceusageV1::MethodPolicy>]
1069
+ attr_accessor :method_policies
1070
+
858
1071
  def initialize(**args)
859
1072
  update!(**args)
860
1073
  end
@@ -862,6 +1075,7 @@ module Google
862
1075
  # Update properties of this object
863
1076
  def update!(**args)
864
1077
  @environment = args[:environment] if args.key?(:environment)
1078
+ @method_policies = args[:method_policies] if args.key?(:method_policies)
865
1079
  end
866
1080
  end
867
1081
 
@@ -1050,7 +1264,7 @@ module Google
1050
1264
  # documentation: summary: > The Google Calendar API gives access to most
1051
1265
  # calendar features. pages: - name: Overview content: (== include google/foo/
1052
1266
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1053
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
1267
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1054
1268
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1055
1269
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1056
1270
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1075,6 +1289,12 @@ module Google
1075
1289
  class Documentation
1076
1290
  include Google::Apis::Core::Hashable
1077
1291
 
1292
+ # Optional information about the IAM configuration. This is typically used to
1293
+ # link to documentation about a product's IAM roles and permissions.
1294
+ # Corresponds to the JSON property `additionalIamInfo`
1295
+ # @return [String]
1296
+ attr_accessor :additional_iam_info
1297
+
1078
1298
  # The URL to the root of documentation.
1079
1299
  # Corresponds to the JSON property `documentationRootUrl`
1080
1300
  # @return [String]
@@ -1100,6 +1320,13 @@ module Google
1100
1320
  # @return [Array<Google::Apis::ServiceusageV1::DocumentationRule>]
1101
1321
  attr_accessor :rules
1102
1322
 
1323
+ # Specifies section and content to override boilerplate content provided by go/
1324
+ # api-docgen. Currently overrides following sections: 1. rest.service.
1325
+ # client_libraries
1326
+ # Corresponds to the JSON property `sectionOverrides`
1327
+ # @return [Array<Google::Apis::ServiceusageV1::Page>]
1328
+ attr_accessor :section_overrides
1329
+
1103
1330
  # Specifies the service root url if the default one (the service name from the
1104
1331
  # yaml file) is not suitable. This can be seen in any fully specified service
1105
1332
  # urls as well as sections that show a base that other urls are relative to.
@@ -1120,10 +1347,12 @@ module Google
1120
1347
 
1121
1348
  # Update properties of this object
1122
1349
  def update!(**args)
1350
+ @additional_iam_info = args[:additional_iam_info] if args.key?(:additional_iam_info)
1123
1351
  @documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
1124
1352
  @overview = args[:overview] if args.key?(:overview)
1125
1353
  @pages = args[:pages] if args.key?(:pages)
1126
1354
  @rules = args[:rules] if args.key?(:rules)
1355
+ @section_overrides = args[:section_overrides] if args.key?(:section_overrides)
1127
1356
  @service_root_url = args[:service_root_url] if args.key?(:service_root_url)
1128
1357
  @summary = args[:summary] if args.key?(:summary)
1129
1358
  end
@@ -1146,6 +1375,12 @@ module Google
1146
1375
  # @return [String]
1147
1376
  attr_accessor :description
1148
1377
 
1378
+ # String of comma or space separated case-sensitive words for which method/field
1379
+ # name replacement will be disabled by go/api-docgen.
1380
+ # Corresponds to the JSON property `disableReplacementWords`
1381
+ # @return [String]
1382
+ attr_accessor :disable_replacement_words
1383
+
1149
1384
  # The selector is a comma-separated list of patterns for any element such as a
1150
1385
  # method, a field, an enum value. Each pattern is a qualified name of the
1151
1386
  # element which may end in "*", indicating a wildcard. Wildcards are only
@@ -1165,6 +1400,7 @@ module Google
1165
1400
  def update!(**args)
1166
1401
  @deprecation_description = args[:deprecation_description] if args.key?(:deprecation_description)
1167
1402
  @description = args[:description] if args.key?(:description)
1403
+ @disable_replacement_words = args[:disable_replacement_words] if args.key?(:disable_replacement_words)
1168
1404
  @selector = args[:selector] if args.key?(:selector)
1169
1405
  end
1170
1406
  end
@@ -1178,6 +1414,42 @@ module Google
1178
1414
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1179
1415
  attr_accessor :common
1180
1416
 
1417
+ # Namespaces which must be aliased in snippets due to a known (but non-generator-
1418
+ # predictable) naming collision
1419
+ # Corresponds to the JSON property `forcedNamespaceAliases`
1420
+ # @return [Array<String>]
1421
+ attr_accessor :forced_namespace_aliases
1422
+
1423
+ # Method signatures (in the form "service.method(signature)") which are provided
1424
+ # separately, so shouldn't be generated. Snippets *calling* these methods are
1425
+ # still generated, however.
1426
+ # Corresponds to the JSON property `handwrittenSignatures`
1427
+ # @return [Array<String>]
1428
+ attr_accessor :handwritten_signatures
1429
+
1430
+ # List of full resource types to ignore during generation. This is typically
1431
+ # used for API-specific Location resources, which should be handled by the
1432
+ # generator as if they were actually the common Location resources. Example
1433
+ # entry: "documentai.googleapis.com/Location"
1434
+ # Corresponds to the JSON property `ignoredResources`
1435
+ # @return [Array<String>]
1436
+ attr_accessor :ignored_resources
1437
+
1438
+ # Map from full resource types to the effective short name for the resource.
1439
+ # This is used when otherwise resource named from different services would cause
1440
+ # naming collisions. Example entry: "datalabeling.googleapis.com/Dataset": "
1441
+ # DataLabelingDataset"
1442
+ # Corresponds to the JSON property `renamedResources`
1443
+ # @return [Hash<String,String>]
1444
+ attr_accessor :renamed_resources
1445
+
1446
+ # Map from original service names to renamed versions. This is used when the
1447
+ # default generated types would cause a naming conflict. (Neither name is fully-
1448
+ # qualified.) Example: Subscriber to SubscriberServiceApi.
1449
+ # Corresponds to the JSON property `renamedServices`
1450
+ # @return [Hash<String,String>]
1451
+ attr_accessor :renamed_services
1452
+
1181
1453
  def initialize(**args)
1182
1454
  update!(**args)
1183
1455
  end
@@ -1185,6 +1457,11 @@ module Google
1185
1457
  # Update properties of this object
1186
1458
  def update!(**args)
1187
1459
  @common = args[:common] if args.key?(:common)
1460
+ @forced_namespace_aliases = args[:forced_namespace_aliases] if args.key?(:forced_namespace_aliases)
1461
+ @handwritten_signatures = args[:handwritten_signatures] if args.key?(:handwritten_signatures)
1462
+ @ignored_resources = args[:ignored_resources] if args.key?(:ignored_resources)
1463
+ @renamed_resources = args[:renamed_resources] if args.key?(:renamed_resources)
1464
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1188
1465
  end
1189
1466
  end
1190
1467
 
@@ -1229,6 +1506,48 @@ module Google
1229
1506
  end
1230
1507
  end
1231
1508
 
1509
+ # The consumer policy rule that defines usable services and service groups.
1510
+ class EnableRule
1511
+ include Google::Apis::Core::Hashable
1512
+
1513
+ # Client and resource project enable type.
1514
+ # Corresponds to the JSON property `enableType`
1515
+ # @return [String]
1516
+ attr_accessor :enable_type
1517
+
1518
+ # DEPRECATED: Please use field `values`. Service group should have prefix `
1519
+ # groups/`. The names of the service groups that are enabled (Not Implemented).
1520
+ # Example: `groups/googleServices`.
1521
+ # Corresponds to the JSON property `groups`
1522
+ # @return [Array<String>]
1523
+ attr_accessor :groups
1524
+
1525
+ # DEPRECATED: Please use field `values`. Service should have prefix `services/`.
1526
+ # The names of the services that are enabled. Example: `storage.googleapis.com`.
1527
+ # Corresponds to the JSON property `services`
1528
+ # @return [Array<String>]
1529
+ attr_accessor :services
1530
+
1531
+ # The names of the services or service groups that are enabled. Example: `
1532
+ # services/storage.googleapis.com`, `groups/googleServices`, `groups/allServices`
1533
+ # .
1534
+ # Corresponds to the JSON property `values`
1535
+ # @return [Array<String>]
1536
+ attr_accessor :values
1537
+
1538
+ def initialize(**args)
1539
+ update!(**args)
1540
+ end
1541
+
1542
+ # Update properties of this object
1543
+ def update!(**args)
1544
+ @enable_type = args[:enable_type] if args.key?(:enable_type)
1545
+ @groups = args[:groups] if args.key?(:groups)
1546
+ @services = args[:services] if args.key?(:services)
1547
+ @values = args[:values] if args.key?(:values)
1548
+ end
1549
+ end
1550
+
1232
1551
  # Request message for the `EnableService` method.
1233
1552
  class EnableServiceRequest
1234
1553
  include Google::Apis::Core::Hashable
@@ -1278,9 +1597,9 @@ module Google
1278
1597
  class Endpoint
1279
1598
  include Google::Apis::Core::Hashable
1280
1599
 
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.
1600
+ # Aliases for this endpoint, these will be served by the same UrlMap as the
1601
+ # parent endpoint, and will be provisioned in the GCP stack for the Regional
1602
+ # Endpoints.
1284
1603
  # Corresponds to the JSON property `aliases`
1285
1604
  # @return [Array<String>]
1286
1605
  attr_accessor :aliases
@@ -1325,6 +1644,11 @@ module Google
1325
1644
  class Enum
1326
1645
  include Google::Apis::Core::Hashable
1327
1646
 
1647
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
1648
+ # Corresponds to the JSON property `edition`
1649
+ # @return [String]
1650
+ attr_accessor :edition
1651
+
1328
1652
  # Enum value definitions.
1329
1653
  # Corresponds to the JSON property `enumvalue`
1330
1654
  # @return [Array<Google::Apis::ServiceusageV1::EnumValue>]
@@ -1357,6 +1681,7 @@ module Google
1357
1681
 
1358
1682
  # Update properties of this object
1359
1683
  def update!(**args)
1684
+ @edition = args[:edition] if args.key?(:edition)
1360
1685
  @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
1361
1686
  @name = args[:name] if args.key?(:name)
1362
1687
  @options = args[:options] if args.key?(:options)
@@ -1396,6 +1721,39 @@ module Google
1396
1721
  end
1397
1722
  end
1398
1723
 
1724
+ # Experimental features to be included during client library generation. These
1725
+ # fields will be deprecated once the feature graduates and is enabled by default.
1726
+ class ExperimentalFeatures
1727
+ include Google::Apis::Core::Hashable
1728
+
1729
+ # Enables generation of protobuf code using new types that are more Pythonic
1730
+ # which are included in `protobuf>=5.29.x`. This feature will be enabled by
1731
+ # default 1 month after launching the feature in preview packages.
1732
+ # Corresponds to the JSON property `protobufPythonicTypesEnabled`
1733
+ # @return [Boolean]
1734
+ attr_accessor :protobuf_pythonic_types_enabled
1735
+ alias_method :protobuf_pythonic_types_enabled?, :protobuf_pythonic_types_enabled
1736
+
1737
+ # Enables generation of asynchronous REST clients if `rest` transport is enabled.
1738
+ # By default, asynchronous REST clients will not be generated. This feature
1739
+ # will be enabled by default 1 month after launching the feature in preview
1740
+ # packages.
1741
+ # Corresponds to the JSON property `restAsyncIoEnabled`
1742
+ # @return [Boolean]
1743
+ attr_accessor :rest_async_io_enabled
1744
+ alias_method :rest_async_io_enabled?, :rest_async_io_enabled
1745
+
1746
+ def initialize(**args)
1747
+ update!(**args)
1748
+ end
1749
+
1750
+ # Update properties of this object
1751
+ def update!(**args)
1752
+ @protobuf_pythonic_types_enabled = args[:protobuf_pythonic_types_enabled] if args.key?(:protobuf_pythonic_types_enabled)
1753
+ @rest_async_io_enabled = args[:rest_async_io_enabled] if args.key?(:rest_async_io_enabled)
1754
+ end
1755
+ end
1756
+
1399
1757
  # A single field of a message type.
1400
1758
  class Field
1401
1759
  include Google::Apis::Core::Hashable
@@ -1472,6 +1830,50 @@ module Google
1472
1830
  end
1473
1831
  end
1474
1832
 
1833
+ # Google API Policy Annotation This message defines a simple API policy
1834
+ # annotation that can be used to annotate API request and response message
1835
+ # fields with applicable policies. One field may have multiple applicable
1836
+ # policies that must all be satisfied before a request can be processed. This
1837
+ # policy annotation is used to generate the overall policy that will be used for
1838
+ # automatic runtime policy enforcement and documentation generation.
1839
+ class FieldPolicy
1840
+ include Google::Apis::Core::Hashable
1841
+
1842
+ # Specifies the required permission(s) for the resource referred to by the field.
1843
+ # It requires the field contains a valid resource reference, and the request
1844
+ # must pass the permission checks to proceed. For example, "resourcemanager.
1845
+ # projects.get".
1846
+ # Corresponds to the JSON property `resourcePermission`
1847
+ # @return [String]
1848
+ attr_accessor :resource_permission
1849
+
1850
+ # Specifies the resource type for the resource referred to by the field.
1851
+ # Corresponds to the JSON property `resourceType`
1852
+ # @return [String]
1853
+ attr_accessor :resource_type
1854
+
1855
+ # Selects one or more request or response message fields to apply this `
1856
+ # FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector
1857
+ # must be left as empty. The service config generator will automatically fill
1858
+ # the correct value. When a `FieldPolicy` is used in service config, the
1859
+ # selector must be a comma-separated string with valid request or response field
1860
+ # paths, such as "foo.bar" or "foo.bar,foo.baz".
1861
+ # Corresponds to the JSON property `selector`
1862
+ # @return [String]
1863
+ attr_accessor :selector
1864
+
1865
+ def initialize(**args)
1866
+ update!(**args)
1867
+ end
1868
+
1869
+ # Update properties of this object
1870
+ def update!(**args)
1871
+ @resource_permission = args[:resource_permission] if args.key?(:resource_permission)
1872
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
1873
+ @selector = args[:selector] if args.key?(:selector)
1874
+ end
1875
+ end
1876
+
1475
1877
  # Metadata for the `GetServiceIdentity` method.
1476
1878
  class GetServiceIdentityMetadata
1477
1879
  include Google::Apis::Core::Hashable
@@ -1520,6 +1922,13 @@ module Google
1520
1922
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1521
1923
  attr_accessor :common
1522
1924
 
1925
+ # Map of service names to renamed services. Keys are the package relative
1926
+ # service names and values are the name to be used for the service client and
1927
+ # call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin
1928
+ # Corresponds to the JSON property `renamedServices`
1929
+ # @return [Hash<String,String>]
1930
+ attr_accessor :renamed_services
1931
+
1523
1932
  def initialize(**args)
1524
1933
  update!(**args)
1525
1934
  end
@@ -1527,6 +1936,7 @@ module Google
1527
1936
  # Update properties of this object
1528
1937
  def update!(**args)
1529
1938
  @common = args[:common] if args.key?(:common)
1939
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1530
1940
  end
1531
1941
  end
1532
1942
 
@@ -1631,7 +2041,7 @@ module Google
1631
2041
  # documentation: summary: > The Google Calendar API gives access to most
1632
2042
  # calendar features. pages: - name: Overview content: (== include google/foo/
1633
2043
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1634
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2044
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1635
2045
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1636
2046
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1637
2047
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1946,7 +2356,7 @@ module Google
1946
2356
  # documentation: summary: > The Google Calendar API gives access to most
1947
2357
  # calendar features. pages: - name: Overview content: (== include google/foo/
1948
2358
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1949
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2359
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1950
2360
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1951
2361
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1952
2362
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -2122,6 +2532,315 @@ module Google
2122
2532
  end
2123
2533
  end
2124
2534
 
2535
+ # Consumer Policy is a set of rules that define what services or service groups
2536
+ # can be used for a cloud resource hierarchy.
2537
+ class GoogleApiServiceusageV2alphaConsumerPolicy
2538
+ include Google::Apis::Core::Hashable
2539
+
2540
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2541
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2542
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2543
+ # 128](https://google.aip.dev/128#annotations)
2544
+ # Corresponds to the JSON property `annotations`
2545
+ # @return [Hash<String,String>]
2546
+ attr_accessor :annotations
2547
+
2548
+ # Output only. The time the policy was created. For singleton policies, this is
2549
+ # the first touch of the policy.
2550
+ # Corresponds to the JSON property `createTime`
2551
+ # @return [String]
2552
+ attr_accessor :create_time
2553
+
2554
+ # Enable rules define usable services, groups, and categories. There can
2555
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2556
+ # later releases.
2557
+ # Corresponds to the JSON property `enableRules`
2558
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule>]
2559
+ attr_accessor :enable_rules
2560
+
2561
+ # Output only. An opaque tag indicating the current version of the policy, used
2562
+ # for concurrency control.
2563
+ # Corresponds to the JSON property `etag`
2564
+ # @return [String]
2565
+ attr_accessor :etag
2566
+
2567
+ # Output only. The resource name of the policy. Only the `default` policy is
2568
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2569
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2570
+ # Corresponds to the JSON property `name`
2571
+ # @return [String]
2572
+ attr_accessor :name
2573
+
2574
+ # Output only. The time the policy was last updated.
2575
+ # Corresponds to the JSON property `updateTime`
2576
+ # @return [String]
2577
+ attr_accessor :update_time
2578
+
2579
+ def initialize(**args)
2580
+ update!(**args)
2581
+ end
2582
+
2583
+ # Update properties of this object
2584
+ def update!(**args)
2585
+ @annotations = args[:annotations] if args.key?(:annotations)
2586
+ @create_time = args[:create_time] if args.key?(:create_time)
2587
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2588
+ @etag = args[:etag] if args.key?(:etag)
2589
+ @name = args[:name] if args.key?(:name)
2590
+ @update_time = args[:update_time] if args.key?(:update_time)
2591
+ end
2592
+ end
2593
+
2594
+ # The consumer policy rule that defines enabled services, groups, and categories.
2595
+ class GoogleApiServiceusageV2alphaEnableRule
2596
+ include Google::Apis::Core::Hashable
2597
+
2598
+ # The names of the services that are enabled. Example: `services/storage.
2599
+ # googleapis.com`.
2600
+ # Corresponds to the JSON property `services`
2601
+ # @return [Array<String>]
2602
+ attr_accessor :services
2603
+
2604
+ def initialize(**args)
2605
+ update!(**args)
2606
+ end
2607
+
2608
+ # Update properties of this object
2609
+ def update!(**args)
2610
+ @services = args[:services] if args.key?(:services)
2611
+ end
2612
+ end
2613
+
2614
+ # Metadata for the `UpdateConsumerPolicy` method.
2615
+ class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
2616
+ include Google::Apis::Core::Hashable
2617
+
2618
+ def initialize(**args)
2619
+ update!(**args)
2620
+ end
2621
+
2622
+ # Update properties of this object
2623
+ def update!(**args)
2624
+ end
2625
+ end
2626
+
2627
+ # A message to group the analysis information.
2628
+ class GoogleApiServiceusageV2betaAnalysis
2629
+ include Google::Apis::Core::Hashable
2630
+
2631
+ # An analysis result including blockers and warnings.
2632
+ # Corresponds to the JSON property `analysis`
2633
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult]
2634
+ attr_accessor :analysis
2635
+
2636
+ # Output only. The type of analysis.
2637
+ # Corresponds to the JSON property `analysisType`
2638
+ # @return [String]
2639
+ attr_accessor :analysis_type
2640
+
2641
+ # Output only. The user friendly display name of the analysis type. E.g. service
2642
+ # dependency analysis, service resource usage analysis, etc.
2643
+ # Corresponds to the JSON property `displayName`
2644
+ # @return [String]
2645
+ attr_accessor :display_name
2646
+
2647
+ # The names of the service that has analysis result of warnings or blockers.
2648
+ # Example: `services/storage.googleapis.com`.
2649
+ # Corresponds to the JSON property `service`
2650
+ # @return [String]
2651
+ attr_accessor :service
2652
+
2653
+ def initialize(**args)
2654
+ update!(**args)
2655
+ end
2656
+
2657
+ # Update properties of this object
2658
+ def update!(**args)
2659
+ @analysis = args[:analysis] if args.key?(:analysis)
2660
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
2661
+ @display_name = args[:display_name] if args.key?(:display_name)
2662
+ @service = args[:service] if args.key?(:service)
2663
+ end
2664
+ end
2665
+
2666
+ # An analysis result including blockers and warnings.
2667
+ class GoogleApiServiceusageV2betaAnalysisResult
2668
+ include Google::Apis::Core::Hashable
2669
+
2670
+ # Blocking information that would prevent the policy changes at runtime.
2671
+ # Corresponds to the JSON property `blockers`
2672
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2673
+ attr_accessor :blockers
2674
+
2675
+ # Warning information indicating that the policy changes might be unsafe, but
2676
+ # will not block the changes at runtime.
2677
+ # Corresponds to the JSON property `warnings`
2678
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2679
+ attr_accessor :warnings
2680
+
2681
+ def initialize(**args)
2682
+ update!(**args)
2683
+ end
2684
+
2685
+ # Update properties of this object
2686
+ def update!(**args)
2687
+ @blockers = args[:blockers] if args.key?(:blockers)
2688
+ @warnings = args[:warnings] if args.key?(:warnings)
2689
+ end
2690
+ end
2691
+
2692
+ # Metadata for the `AnalyzeConsumerPolicy` method.
2693
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
2694
+ include Google::Apis::Core::Hashable
2695
+
2696
+ def initialize(**args)
2697
+ update!(**args)
2698
+ end
2699
+
2700
+ # Update properties of this object
2701
+ def update!(**args)
2702
+ end
2703
+ end
2704
+
2705
+ # The response of analyzing a consumer policy update.
2706
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
2707
+ include Google::Apis::Core::Hashable
2708
+
2709
+ # The list of analyses returned from performing the intended policy update
2710
+ # analysis. The analysis is grouped by service name and different analysis types.
2711
+ # The empty analysis list means that the consumer policy can be updated without
2712
+ # any warnings or blockers.
2713
+ # Corresponds to the JSON property `analysis`
2714
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis>]
2715
+ attr_accessor :analysis
2716
+
2717
+ def initialize(**args)
2718
+ update!(**args)
2719
+ end
2720
+
2721
+ # Update properties of this object
2722
+ def update!(**args)
2723
+ @analysis = args[:analysis] if args.key?(:analysis)
2724
+ end
2725
+ end
2726
+
2727
+ # Consumer Policy is a set of rules that define what services or service groups
2728
+ # can be used for a cloud resource hierarchy.
2729
+ class GoogleApiServiceusageV2betaConsumerPolicy
2730
+ include Google::Apis::Core::Hashable
2731
+
2732
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2733
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2734
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2735
+ # 128](https://google.aip.dev/128#annotations)
2736
+ # Corresponds to the JSON property `annotations`
2737
+ # @return [Hash<String,String>]
2738
+ attr_accessor :annotations
2739
+
2740
+ # Output only. The time the policy was created. For singleton policies, this is
2741
+ # the first touch of the policy.
2742
+ # Corresponds to the JSON property `createTime`
2743
+ # @return [String]
2744
+ attr_accessor :create_time
2745
+
2746
+ # Enable rules define usable services, groups, and categories. There can
2747
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2748
+ # later releases.
2749
+ # Corresponds to the JSON property `enableRules`
2750
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule>]
2751
+ attr_accessor :enable_rules
2752
+
2753
+ # Output only. An opaque tag indicating the current version of the policy, used
2754
+ # for concurrency control.
2755
+ # Corresponds to the JSON property `etag`
2756
+ # @return [String]
2757
+ attr_accessor :etag
2758
+
2759
+ # Output only. The resource name of the policy. Only the `default` policy is
2760
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2761
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2762
+ # Corresponds to the JSON property `name`
2763
+ # @return [String]
2764
+ attr_accessor :name
2765
+
2766
+ # Output only. The time the policy was last updated.
2767
+ # Corresponds to the JSON property `updateTime`
2768
+ # @return [String]
2769
+ attr_accessor :update_time
2770
+
2771
+ def initialize(**args)
2772
+ update!(**args)
2773
+ end
2774
+
2775
+ # Update properties of this object
2776
+ def update!(**args)
2777
+ @annotations = args[:annotations] if args.key?(:annotations)
2778
+ @create_time = args[:create_time] if args.key?(:create_time)
2779
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2780
+ @etag = args[:etag] if args.key?(:etag)
2781
+ @name = args[:name] if args.key?(:name)
2782
+ @update_time = args[:update_time] if args.key?(:update_time)
2783
+ end
2784
+ end
2785
+
2786
+ # The consumer policy rule that defines enabled services, groups, and categories.
2787
+ class GoogleApiServiceusageV2betaEnableRule
2788
+ include Google::Apis::Core::Hashable
2789
+
2790
+ # The names of the services that are enabled. Example: `services/storage.
2791
+ # googleapis.com`.
2792
+ # Corresponds to the JSON property `services`
2793
+ # @return [Array<String>]
2794
+ attr_accessor :services
2795
+
2796
+ def initialize(**args)
2797
+ update!(**args)
2798
+ end
2799
+
2800
+ # Update properties of this object
2801
+ def update!(**args)
2802
+ @services = args[:services] if args.key?(:services)
2803
+ end
2804
+ end
2805
+
2806
+ # A message to group impacts of updating a policy.
2807
+ class GoogleApiServiceusageV2betaImpact
2808
+ include Google::Apis::Core::Hashable
2809
+
2810
+ # Output only. User friendly impact detail in a free form message.
2811
+ # Corresponds to the JSON property `detail`
2812
+ # @return [String]
2813
+ attr_accessor :detail
2814
+
2815
+ # Output only. The type of impact.
2816
+ # Corresponds to the JSON property `impactType`
2817
+ # @return [String]
2818
+ attr_accessor :impact_type
2819
+
2820
+ def initialize(**args)
2821
+ update!(**args)
2822
+ end
2823
+
2824
+ # Update properties of this object
2825
+ def update!(**args)
2826
+ @detail = args[:detail] if args.key?(:detail)
2827
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
2828
+ end
2829
+ end
2830
+
2831
+ # Metadata for the `UpdateConsumerPolicy` method.
2832
+ class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
2833
+ include Google::Apis::Core::Hashable
2834
+
2835
+ def initialize(**args)
2836
+ update!(**args)
2837
+ end
2838
+
2839
+ # Update properties of this object
2840
+ def update!(**args)
2841
+ end
2842
+ end
2843
+
2125
2844
  # Defines the HTTP configuration for an API service. It contains a list of
2126
2845
  # HttpRule, each specifying the mapping of an RPC method to one or more HTTP
2127
2846
  # REST API methods.
@@ -2154,7 +2873,7 @@ module Google
2154
2873
  end
2155
2874
  end
2156
2875
 
2157
- # # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2876
+ # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2158
2877
  # method and one or more HTTP REST endpoints. It allows developers to build a
2159
2878
  # single API service that supports both gRPC APIs and REST APIs. Many systems,
2160
2879
  # including [Google APIs](https://github.com/googleapis/googleapis), [Cloud
@@ -2174,70 +2893,69 @@ module Google
2174
2893
  # Message) ` option (google.api.http) = ` get: "/v1/`name=messages/*`" `; ` `
2175
2894
  # message GetMessageRequest ` string name = 1; // Mapped to URL path. ` message
2176
2895
  # 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
2896
+ # REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `
2897
+ # GetMessage(name: "messages/123456")` Any fields in the request message which
2898
+ # are not bound by the path template automatically become HTTP query parameters
2899
+ # if there is no HTTP request body. For example: service Messaging ` rpc
2900
+ # GetMessage(GetMessageRequest) returns (Message) ` option (google.api.http) = `
2901
+ # get:"/v1/messages/`message_id`" `; ` ` message GetMessageRequest ` message
2902
+ # SubMessage ` string subfield = 1; ` string message_id = 1; // Mapped to URL
2903
+ # path. int64 revision = 2; // Mapped to URL query parameter `revision`.
2904
+ # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. ` This
2905
+ # enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?
2906
+ # revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: "123456" revision:
2907
+ # 2 sub: SubMessage(subfield: "foo"))` Note that fields which are mapped to URL
2908
+ # query parameters must have a primitive type or a repeated primitive type or a
2909
+ # non-repeated message type. In the case of a repeated type, the parameter can
2910
+ # be repeated in the URL as `...?param=A&param=B`. In the case of a message type,
2911
+ # each field of the message is mapped to a separate parameter, such as `...?foo.
2912
+ # a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body`
2913
+ # field specifies the mapping. Consider a REST update method on the message
2914
+ # resource collection: service Messaging ` rpc UpdateMessage(
2915
+ # UpdateMessageRequest) returns (Message) ` option (google.api.http) = ` patch: "
2916
+ # /v1/messages/`message_id`" body: "message" `; ` ` message UpdateMessageRequest
2917
+ # ` string message_id = 1; // mapped to the URL Message message = 2; // mapped
2918
+ # to the body ` The following HTTP JSON to RPC mapping is enabled, where the
2919
+ # representation of the JSON in the request body is determined by protos JSON
2920
+ # encoding: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
2921
+ # UpdateMessage(message_id: "123456" message ` text: "Hi!" `)` The special name `
2922
+ # *` can be used in the body mapping to define that every field not bound by the
2923
+ # path template should be mapped to the request body. This enables the following
2924
+ # alternative definition of the update method: service Messaging ` rpc
2925
+ # UpdateMessage(Message) returns (Message) ` option (google.api.http) = ` patch:
2926
+ # "/v1/messages/`message_id`" body: "*" `; ` ` message Message ` string
2927
+ # message_id = 1; string text = 2; ` The following HTTP JSON to RPC mapping is
2928
+ # enabled: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
2929
+ # UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using `*` in
2930
+ # the body mapping, it is not possible to have HTTP parameters, as all fields
2931
+ # not bound by the path end in the body. This makes this option more rarely used
2932
+ # in practice when defining REST APIs. The common usage of `*` is in custom
2933
+ # methods which don't use the URL at all for transferring data. It is possible
2934
+ # to define multiple HTTP methods for one RPC by using the `additional_bindings`
2935
+ # option. Example: service Messaging ` rpc GetMessage(GetMessageRequest) returns
2936
+ # (Message) ` option (google.api.http) = ` get: "/v1/messages/`message_id`"
2937
+ # additional_bindings ` get: "/v1/users/`user_id`/messages/`message_id`" ` `; ` `
2938
+ # message GetMessageRequest ` string message_id = 1; string user_id = 2; ` This
2939
+ # enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /
2940
+ # v1/messages/123456` - gRPC: `GetMessage(message_id: "123456")` - HTTP: `GET /
2941
+ # v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" message_id: "
2942
+ # 123456")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion
2943
+ # nested messages in the request message) are classified into three categories: -
2944
+ # Fields referred by the path template. They are passed via the URL path. -
2945
+ # Fields referred by the HttpRule.body. They are passed via the HTTP request
2946
+ # body. - All other fields are passed via the URL query parameters, and the
2947
+ # parameter name is the field path in the request message. A repeated field can
2948
+ # be represented as multiple query parameters under the same name. 2. If
2949
+ # HttpRule.body is "*", there is no URL query parameter, all fields are passed
2950
+ # via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is
2951
+ # no HTTP request body, all fields are passed via URL path and URL query
2952
+ # parameters. Path template syntax Template = "/" Segments [ Verb ] ; Segments =
2953
+ # Segment ` "/" Segment ` ; Segment = "*" | "**" | LITERAL | Variable ; Variable
2954
+ # = "`" FieldPath [ "=" Segments ] "`" ; FieldPath = IDENT ` "." IDENT ` ; Verb =
2955
+ # ":" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**
2956
+ # ` matches zero or more URL path segments, which must be the last part of the
2957
+ # URL path except the `Verb`. The syntax `Variable` matches part of the URL path
2958
+ # as specified by its template. A variable template must not contain other
2241
2959
  # variables. If a variable matches a single path segment, its template may be
2242
2960
  # omitted, e.g. ``var`` is equivalent to ``var=*``. The syntax `LITERAL` matches
2243
2961
  # literal text in the URL path. If the `LITERAL` contains any reserved character,
@@ -2252,7 +2970,7 @@ module Google
2252
2970
  # except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the
2253
2971
  # reverse decoding, except "%2F" and "%2f" are left unchanged. Such variables
2254
2972
  # show up in the [Discovery Document](https://developers.google.com/discovery/v1/
2255
- # reference/apis) as ``+var``. ## Using gRPC API Service Configuration gRPC API
2973
+ # reference/apis) as ``+var``. Using gRPC API Service Configuration gRPC API
2256
2974
  # Service Configuration (service config) is a configuration language for
2257
2975
  # configuring a gRPC service to become a user-facing product. The service config
2258
2976
  # is simply the YAML representation of the `google.api.Service` proto message.
@@ -2262,27 +2980,27 @@ module Google
2262
2980
  # effect as the proto annotation. This can be particularly useful if you have a
2263
2981
  # proto that is reused in multiple services. Note that any transcoding specified
2264
2982
  # 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.
2983
+ # the proto. The following example selects a gRPC method and applies an `
2984
+ # HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get:
2985
+ # /v1/messages/`message_id`/`sub.subfield` Special notes When gRPC Transcoding
2986
+ # is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion
2987
+ # must follow the [proto3 specification](https://developers.google.com/protocol-
2988
+ # buffers/docs/proto3#json). While the single segment variable follows the
2989
+ # semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
2990
+ # Simple String Expansion, the multi segment variable **does not** follow RFC
2991
+ # 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved
2992
+ # Expansion does not expand special characters like `?` and `#`, which would
2993
+ # lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
2994
+ # for multi segment variables. The path variables **must not** refer to any
2995
+ # repeated or mapped field, because client libraries are not capable of handling
2996
+ # such variable expansion. The path variables **must not** capture the leading "/
2997
+ # " character. The reason is that the most common use case "`var`" does not
2998
+ # capture the leading "/" character. For consistency, all path variables must
2999
+ # share the same behavior. Repeated message fields must not be mapped to URL
3000
+ # query parameters, because no client library can support such complicated
3001
+ # mapping. If an API needs to use a JSON array for request or response body, it
3002
+ # can map the request or response body to a repeated field. However, some gRPC
3003
+ # Transcoding implementations may not support this feature.
2286
3004
  class HttpRule
2287
3005
  include Google::Apis::Core::Hashable
2288
3006
 
@@ -2364,6 +3082,44 @@ module Google
2364
3082
  end
2365
3083
  end
2366
3084
 
3085
+ # A message to group impacts of updating a policy.
3086
+ class Impact
3087
+ include Google::Apis::Core::Hashable
3088
+
3089
+ # Output only. User friendly impact detail in a free form message.
3090
+ # Corresponds to the JSON property `detail`
3091
+ # @return [String]
3092
+ attr_accessor :detail
3093
+
3094
+ # Output only. The type of impact.
3095
+ # Corresponds to the JSON property `impactType`
3096
+ # @return [String]
3097
+ attr_accessor :impact_type
3098
+
3099
+ # The parent resource that the analysis is based on and the service name that
3100
+ # the analysis is for. Example: `projects/100/services/compute.googleapis.com`,
3101
+ # folders/101/services/compute.googleapis.com` and `organizations/102/services/
3102
+ # compute.googleapis.com`. Usually, the parent resource here is same as the
3103
+ # parent resource of the analyzed policy. However, for some analysis types, the
3104
+ # parent can be different. For example, for resource existence analysis, if the
3105
+ # parent resource of the analyzed policy is a folder or an organization, the
3106
+ # parent resource here can still be the project that contains the resources.
3107
+ # Corresponds to the JSON property `parent`
3108
+ # @return [String]
3109
+ attr_accessor :parent
3110
+
3111
+ def initialize(**args)
3112
+ update!(**args)
3113
+ end
3114
+
3115
+ # Update properties of this object
3116
+ def update!(**args)
3117
+ @detail = args[:detail] if args.key?(:detail)
3118
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3119
+ @parent = args[:parent] if args.key?(:parent)
3120
+ end
3121
+ end
3122
+
2367
3123
  # Metadata message that provides information such as progress, partial failures,
2368
3124
  # and similar information on each GetOperation call of LRO returned by
2369
3125
  # ImportAdminOverrides.
@@ -2845,10 +3601,47 @@ module Google
2845
3601
  end
2846
3602
  end
2847
3603
 
3604
+ # Defines policies applying to an RPC method.
3605
+ class MethodPolicy
3606
+ include Google::Apis::Core::Hashable
3607
+
3608
+ # Policies that are applicable to the request message.
3609
+ # Corresponds to the JSON property `requestPolicies`
3610
+ # @return [Array<Google::Apis::ServiceusageV1::FieldPolicy>]
3611
+ attr_accessor :request_policies
3612
+
3613
+ # Selects a method to which these policies should be enforced, for example, "
3614
+ # google.pubsub.v1.Subscriber.CreateSubscription". Refer to selector for syntax
3615
+ # details. NOTE: This field must not be set in the proto annotation. It will be
3616
+ # automatically filled by the service config compiler .
3617
+ # Corresponds to the JSON property `selector`
3618
+ # @return [String]
3619
+ attr_accessor :selector
3620
+
3621
+ def initialize(**args)
3622
+ update!(**args)
3623
+ end
3624
+
3625
+ # Update properties of this object
3626
+ def update!(**args)
3627
+ @request_policies = args[:request_policies] if args.key?(:request_policies)
3628
+ @selector = args[:selector] if args.key?(:selector)
3629
+ end
3630
+ end
3631
+
2848
3632
  # Describes the generator configuration for a method.
2849
3633
  class MethodSettings
2850
3634
  include Google::Apis::Core::Hashable
2851
3635
 
3636
+ # List of top-level fields of the request message, that should be automatically
3637
+ # populated by the client libraries based on their (google.api.field_info).
3638
+ # format. Currently supported format: UUID4. Example of a YAML configuration:
3639
+ # publishing: method_settings: - selector: google.example.v1.ExampleService.
3640
+ # CreateExample auto_populated_fields: - request_id
3641
+ # Corresponds to the JSON property `autoPopulatedFields`
3642
+ # @return [Array<String>]
3643
+ attr_accessor :auto_populated_fields
3644
+
2852
3645
  # Describes settings to use when generating API methods that use the long-
2853
3646
  # running operation pattern. All default values below are from those used in the
2854
3647
  # client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2859,7 +3652,9 @@ module Google
2859
3652
  attr_accessor :long_running
2860
3653
 
2861
3654
  # 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.
3655
+ # This is used to find the method to apply the options. Example: publishing:
3656
+ # method_settings: - selector: google.storage.control.v2.StorageControl.
3657
+ # CreateFolder # method settings for CreateFolder...
2863
3658
  # Corresponds to the JSON property `selector`
2864
3659
  # @return [String]
2865
3660
  attr_accessor :selector
@@ -2870,6 +3665,7 @@ module Google
2870
3665
 
2871
3666
  # Update properties of this object
2872
3667
  def update!(**args)
3668
+ @auto_populated_fields = args[:auto_populated_fields] if args.key?(:auto_populated_fields)
2873
3669
  @long_running = args[:long_running] if args.key?(:long_running)
2874
3670
  @selector = args[:selector] if args.key?(:selector)
2875
3671
  end
@@ -3042,6 +3838,11 @@ module Google
3042
3838
  # @return [String]
3043
3839
  attr_accessor :sample_period
3044
3840
 
3841
+ # The scope of the timeseries data of the metric.
3842
+ # Corresponds to the JSON property `timeSeriesResourceHierarchyLevel`
3843
+ # @return [Array<String>]
3844
+ attr_accessor :time_series_resource_hierarchy_level
3845
+
3045
3846
  def initialize(**args)
3046
3847
  update!(**args)
3047
3848
  end
@@ -3051,6 +3852,7 @@ module Google
3051
3852
  @ingest_delay = args[:ingest_delay] if args.key?(:ingest_delay)
3052
3853
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
3053
3854
  @sample_period = args[:sample_period] if args.key?(:sample_period)
3855
+ @time_series_resource_hierarchy_level = args[:time_series_resource_hierarchy_level] if args.key?(:time_series_resource_hierarchy_level)
3054
3856
  end
3055
3857
  end
3056
3858
 
@@ -3184,7 +3986,7 @@ module Google
3184
3986
 
3185
3987
  # Required. The monitored resource type. For example, the type `"
3186
3988
  # cloudsql_database"` represents databases in Google Cloud SQL. For a list of
3187
- # types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/
3989
+ # types, see [Monitored resource types](https://cloud.google.com/monitoring/api/
3188
3990
  # resources) and [Logging resource types](https://cloud.google.com/logging/docs/
3189
3991
  # api/v2/resource-list).
3190
3992
  # Corresponds to the JSON property `type`
@@ -3380,13 +4182,13 @@ module Google
3380
4182
  # @return [String]
3381
4183
  attr_accessor :name
3382
4184
 
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`.
4185
+ # The normal, successful response of the operation. If the original method
4186
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
4187
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
4188
+ # response should be the resource. For other methods, the response should have
4189
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
4190
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
4191
+ # `TakeSnapshotResponse`.
3390
4192
  # Corresponds to the JSON property `response`
3391
4193
  # @return [Hash<String,Object>]
3392
4194
  attr_accessor :response
@@ -3565,7 +4367,7 @@ module Google
3565
4367
  # @return [Array<Google::Apis::ServiceusageV1::MethodSettings>]
3566
4368
  attr_accessor :method_settings
3567
4369
 
3568
- # Link to a place that API users can report issues. Example: https://
4370
+ # Link to a *public* URI where users can report issues. Example: https://
3569
4371
  # issuetracker.google.com/issues/new?component=190865&template=1161103
3570
4372
  # Corresponds to the JSON property `newIssueUri`
3571
4373
  # @return [String]
@@ -3576,6 +4378,18 @@ module Google
3576
4378
  # @return [String]
3577
4379
  attr_accessor :organization
3578
4380
 
4381
+ # Optional link to proto reference documentation. Example: https://cloud.google.
4382
+ # com/pubsub/lite/docs/reference/rpc
4383
+ # Corresponds to the JSON property `protoReferenceDocumentationUri`
4384
+ # @return [String]
4385
+ attr_accessor :proto_reference_documentation_uri
4386
+
4387
+ # Optional link to REST reference documentation. Example: https://cloud.google.
4388
+ # com/pubsub/lite/docs/reference/rest
4389
+ # Corresponds to the JSON property `restReferenceDocumentationUri`
4390
+ # @return [String]
4391
+ attr_accessor :rest_reference_documentation_uri
4392
+
3579
4393
  def initialize(**args)
3580
4394
  update!(**args)
3581
4395
  end
@@ -3591,6 +4405,8 @@ module Google
3591
4405
  @method_settings = args[:method_settings] if args.key?(:method_settings)
3592
4406
  @new_issue_uri = args[:new_issue_uri] if args.key?(:new_issue_uri)
3593
4407
  @organization = args[:organization] if args.key?(:organization)
4408
+ @proto_reference_documentation_uri = args[:proto_reference_documentation_uri] if args.key?(:proto_reference_documentation_uri)
4409
+ @rest_reference_documentation_uri = args[:rest_reference_documentation_uri] if args.key?(:rest_reference_documentation_uri)
3594
4410
  end
3595
4411
  end
3596
4412
 
@@ -3603,6 +4419,12 @@ module Google
3603
4419
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3604
4420
  attr_accessor :common
3605
4421
 
4422
+ # Experimental features to be included during client library generation. These
4423
+ # fields will be deprecated once the feature graduates and is enabled by default.
4424
+ # Corresponds to the JSON property `experimentalFeatures`
4425
+ # @return [Google::Apis::ServiceusageV1::ExperimentalFeatures]
4426
+ attr_accessor :experimental_features
4427
+
3606
4428
  def initialize(**args)
3607
4429
  update!(**args)
3608
4430
  end
@@ -3610,6 +4432,7 @@ module Google
3610
4432
  # Update properties of this object
3611
4433
  def update!(**args)
3612
4434
  @common = args[:common] if args.key?(:common)
4435
+ @experimental_features = args[:experimental_features] if args.key?(:experimental_features)
3613
4436
  end
3614
4437
  end
3615
4438
 
@@ -3729,11 +4552,11 @@ module Google
3729
4552
  # @return [String]
3730
4553
  attr_accessor :name
3731
4554
 
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.
4555
+ # Specify the unit of the quota limit. It uses the same syntax as
4556
+ # MetricDescriptor.unit. The supported unit kinds are determined by the quota
4557
+ # backend system. Here are some examples: * "1/min/`project`" for quota per
4558
+ # minute per project. Note: the order of unit components is insignificant. The "
4559
+ # 1" at the beginning is required to follow the metric unit syntax.
3737
4560
  # Corresponds to the JSON property `unit`
3738
4561
  # @return [String]
3739
4562
  attr_accessor :unit
@@ -3839,6 +4662,46 @@ module Google
3839
4662
  end
3840
4663
  end
3841
4664
 
4665
+ # Metadata for the `RemoveEnableRules` method.
4666
+ class RemoveEnableRulesMetadata
4667
+ include Google::Apis::Core::Hashable
4668
+
4669
+ def initialize(**args)
4670
+ update!(**args)
4671
+ end
4672
+
4673
+ # Update properties of this object
4674
+ def update!(**args)
4675
+ end
4676
+ end
4677
+
4678
+ # The response message of `RemoveEnableRules` method.
4679
+ class RemoveEnableRulesResponse
4680
+ include Google::Apis::Core::Hashable
4681
+
4682
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
4683
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
4684
+ # consumerPolicies/default`.
4685
+ # Corresponds to the JSON property `parent`
4686
+ # @return [String]
4687
+ attr_accessor :parent
4688
+
4689
+ # The values removed from the parent consumer policy.
4690
+ # Corresponds to the JSON property `removedValues`
4691
+ # @return [Array<String>]
4692
+ attr_accessor :removed_values
4693
+
4694
+ def initialize(**args)
4695
+ update!(**args)
4696
+ end
4697
+
4698
+ # Update properties of this object
4699
+ def update!(**args)
4700
+ @parent = args[:parent] if args.key?(:parent)
4701
+ @removed_values = args[:removed_values] if args.key?(:removed_values)
4702
+ end
4703
+ end
4704
+
3842
4705
  # Settings for Ruby client libraries.
3843
4706
  class RubySettings
3844
4707
  include Google::Apis::Core::Hashable
@@ -3858,6 +4721,27 @@ module Google
3858
4721
  end
3859
4722
  end
3860
4723
 
4724
+ # This message is used to configure the generation of a subset of the RPCs in a
4725
+ # service for client libraries.
4726
+ class SelectiveGapicGeneration
4727
+ include Google::Apis::Core::Hashable
4728
+
4729
+ # An allowlist of the fully qualified names of RPCs that should be included on
4730
+ # public client surfaces.
4731
+ # Corresponds to the JSON property `methods`
4732
+ # @return [Array<String>]
4733
+ attr_accessor :methods_prop
4734
+
4735
+ def initialize(**args)
4736
+ update!(**args)
4737
+ end
4738
+
4739
+ # Update properties of this object
4740
+ def update!(**args)
4741
+ @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
4742
+ end
4743
+ end
4744
+
3861
4745
  # Service identity for a service. This is the identity that service producer
3862
4746
  # should use to access consumer resources.
3863
4747
  class ServiceIdentity
@@ -4063,6 +4947,11 @@ module Google
4063
4947
  class Type
4064
4948
  include Google::Apis::Core::Hashable
4065
4949
 
4950
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
4951
+ # Corresponds to the JSON property `edition`
4952
+ # @return [String]
4953
+ attr_accessor :edition
4954
+
4066
4955
  # The list of fields.
4067
4956
  # Corresponds to the JSON property `fields`
4068
4957
  # @return [Array<Google::Apis::ServiceusageV1::Field>]
@@ -4100,6 +4989,7 @@ module Google
4100
4989
 
4101
4990
  # Update properties of this object
4102
4991
  def update!(**args)
4992
+ @edition = args[:edition] if args.key?(:edition)
4103
4993
  @fields = args[:fields] if args.key?(:fields)
4104
4994
  @name = args[:name] if args.key?(:name)
4105
4995
  @oneofs = args[:oneofs] if args.key?(:oneofs)
@@ -4124,6 +5014,19 @@ module Google
4124
5014
  end
4125
5015
  end
4126
5016
 
5017
+ # Metadata for the `UpdateConsumerPolicy` method.
5018
+ class UpdateConsumerPolicyMetadata
5019
+ include Google::Apis::Core::Hashable
5020
+
5021
+ def initialize(**args)
5022
+ update!(**args)
5023
+ end
5024
+
5025
+ # Update properties of this object
5026
+ def update!(**args)
5027
+ end
5028
+ end
5029
+
4127
5030
  # Configuration controlling usage of a service.
4128
5031
  class Usage
4129
5032
  include Google::Apis::Core::Hashable