google-apis-serviceusage_v1 0.28.0 → 0.62.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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