google-apis-serviceusage_v1 0.28.0 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,46 @@ module Google
22
22
  module Apis
23
23
  module ServiceusageV1
24
24
 
25
+ # Metadata for the `AddEnableRules` method.
26
+ class AddEnableRulesMetadata
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # The response message of `AddEnableRules` method.
39
+ class AddEnableRulesResponse
40
+ include Google::Apis::Core::Hashable
41
+
42
+ # The values added to the parent consumer policy.
43
+ # Corresponds to the JSON property `addedValues`
44
+ # @return [Array<String>]
45
+ attr_accessor :added_values
46
+
47
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
48
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
49
+ # consumerPolicies/default`.
50
+ # Corresponds to the JSON property `parent`
51
+ # @return [String]
52
+ attr_accessor :parent
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @added_values = args[:added_values] if args.key?(:added_values)
61
+ @parent = args[:parent] if args.key?(:parent)
62
+ end
63
+ end
64
+
25
65
  # Quota policy created by quota administrator.
26
66
  class AdminQuotaPolicy
27
67
  include Google::Apis::Core::Hashable
@@ -33,7 +73,7 @@ module Google
33
73
  attr_accessor :container
34
74
 
35
75
  # If this map is nonempty, then this policy applies only to specific values for
36
- # dimensions defined in the limit unit. For example, an policy on a limit with
76
+ # dimensions defined in the limit unit. For example, a policy on a limit with
37
77
  # the unit `1/`project`/`region`` could contain an entry with the key `region`
38
78
  # and the value `us-east-1`; the policy is only applied to quota consumed in
39
79
  # that region. This map has the following restrictions: * If `region` appears as
@@ -87,6 +127,106 @@ module Google
87
127
  end
88
128
  end
89
129
 
130
+ # A message to group the analysis information.
131
+ class Analysis
132
+ include Google::Apis::Core::Hashable
133
+
134
+ # An analysis result including blockers and warnings.
135
+ # Corresponds to the JSON property `analysis`
136
+ # @return [Google::Apis::ServiceusageV1::AnalysisResult]
137
+ attr_accessor :analysis
138
+
139
+ # Output only. The type of analysis.
140
+ # Corresponds to the JSON property `analysisType`
141
+ # @return [String]
142
+ attr_accessor :analysis_type
143
+
144
+ # Output only. The user friendly display name of the analysis type. E.g. service
145
+ # dependency analysis, service resource usage analysis, etc.
146
+ # Corresponds to the JSON property `displayName`
147
+ # @return [String]
148
+ attr_accessor :display_name
149
+
150
+ # The names of the service that has analysis result of warnings or blockers.
151
+ # Example: `services/storage.googleapis.com`.
152
+ # Corresponds to the JSON property `service`
153
+ # @return [String]
154
+ attr_accessor :service
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @analysis = args[:analysis] if args.key?(:analysis)
163
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
164
+ @display_name = args[:display_name] if args.key?(:display_name)
165
+ @service = args[:service] if args.key?(:service)
166
+ end
167
+ end
168
+
169
+ # An analysis result including blockers and warnings.
170
+ class AnalysisResult
171
+ include Google::Apis::Core::Hashable
172
+
173
+ # Blocking information that would prevent the policy changes at runtime.
174
+ # Corresponds to the JSON property `blockers`
175
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
176
+ attr_accessor :blockers
177
+
178
+ # Warning information indicating that the policy changes might be unsafe, but
179
+ # will not block the changes at runtime.
180
+ # Corresponds to the JSON property `warnings`
181
+ # @return [Array<Google::Apis::ServiceusageV1::Impact>]
182
+ attr_accessor :warnings
183
+
184
+ def initialize(**args)
185
+ update!(**args)
186
+ end
187
+
188
+ # Update properties of this object
189
+ def update!(**args)
190
+ @blockers = args[:blockers] if args.key?(:blockers)
191
+ @warnings = args[:warnings] if args.key?(:warnings)
192
+ end
193
+ end
194
+
195
+ # Metadata for the `AnalyzeConsumerPolicy` method.
196
+ class AnalyzeConsumerPolicyMetadata
197
+ include Google::Apis::Core::Hashable
198
+
199
+ def initialize(**args)
200
+ update!(**args)
201
+ end
202
+
203
+ # Update properties of this object
204
+ def update!(**args)
205
+ end
206
+ end
207
+
208
+ # The response of analyzing a consumer policy update.
209
+ class AnalyzeConsumerPolicyResponse
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # The list of analyses returned from performing the intended policy update
213
+ # analysis. The analysis is grouped by service name and different analysis types.
214
+ # The empty analysis list means that the consumer policy can be updated without
215
+ # any warnings or blockers.
216
+ # Corresponds to the JSON property `analysis`
217
+ # @return [Array<Google::Apis::ServiceusageV1::Analysis>]
218
+ attr_accessor :analysis
219
+
220
+ def initialize(**args)
221
+ update!(**args)
222
+ end
223
+
224
+ # Update properties of this object
225
+ def update!(**args)
226
+ @analysis = args[:analysis] if args.key?(:analysis)
227
+ end
228
+ end
229
+
90
230
  # Api is a light-weight descriptor for an API Interface. Interfaces are also
91
231
  # described as "protocol buffer services" in some contexts, such as by the "
92
232
  # service" keyword in a .proto file, but they are different from API Services,
@@ -162,6 +302,33 @@ module Google
162
302
  end
163
303
  end
164
304
 
305
+ # Aspect represents Generic aspect. It is used to configure an aspect without
306
+ # making direct changes to service.proto
307
+ class Aspect
308
+ include Google::Apis::Core::Hashable
309
+
310
+ # The type of this aspect configuration.
311
+ # Corresponds to the JSON property `kind`
312
+ # @return [String]
313
+ attr_accessor :kind
314
+
315
+ # Content of the configuration. The underlying schema should be defined by
316
+ # Aspect owners as protobuf message under `apiserving/configaspects/proto`.
317
+ # Corresponds to the JSON property `spec`
318
+ # @return [Hash<String,Object>]
319
+ attr_accessor :spec
320
+
321
+ def initialize(**args)
322
+ update!(**args)
323
+ end
324
+
325
+ # Update properties of this object
326
+ def update!(**args)
327
+ @kind = args[:kind] if args.key?(:kind)
328
+ @spec = args[:spec] if args.key?(:spec)
329
+ end
330
+ end
331
+
165
332
  # Configuration for an authentication provider, including support for [JSON Web
166
333
  # Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
167
334
  class AuthProvider
@@ -419,6 +586,14 @@ module Google
419
586
  # @return [String]
420
587
  attr_accessor :jwt_audience
421
588
 
589
+ # The load balancing policy used for connection to the application backend.
590
+ # Defined as an arbitrary string to accomondate custom load balancing policies
591
+ # supported by the underlying channel, but suggest most users use one of the
592
+ # standard policies, such as the default, "RoundRobin".
593
+ # Corresponds to the JSON property `loadBalancingPolicy`
594
+ # @return [String]
595
+ attr_accessor :load_balancing_policy
596
+
422
597
  # Deprecated, do not use.
423
598
  # Corresponds to the JSON property `minDeadline`
424
599
  # @return [Float]
@@ -430,6 +605,11 @@ module Google
430
605
  # @return [Float]
431
606
  attr_accessor :operation_deadline
432
607
 
608
+ # The map between request protocol and the backend address.
609
+ # Corresponds to the JSON property `overridesByRequestProtocol`
610
+ # @return [Hash<String,Google::Apis::ServiceusageV1::BackendRule>]
611
+ attr_accessor :overrides_by_request_protocol
612
+
433
613
  #
434
614
  # Corresponds to the JSON property `pathTranslation`
435
615
  # @return [String]
@@ -464,8 +644,10 @@ module Google
464
644
  @deadline = args[:deadline] if args.key?(:deadline)
465
645
  @disable_auth = args[:disable_auth] if args.key?(:disable_auth)
466
646
  @jwt_audience = args[:jwt_audience] if args.key?(:jwt_audience)
647
+ @load_balancing_policy = args[:load_balancing_policy] if args.key?(:load_balancing_policy)
467
648
  @min_deadline = args[:min_deadline] if args.key?(:min_deadline)
468
649
  @operation_deadline = args[:operation_deadline] if args.key?(:operation_deadline)
650
+ @overrides_by_request_protocol = args[:overrides_by_request_protocol] if args.key?(:overrides_by_request_protocol)
469
651
  @path_translation = args[:path_translation] if args.key?(:path_translation)
470
652
  @protocol = args[:protocol] if args.key?(:protocol)
471
653
  @selector = args[:selector] if args.key?(:selector)
@@ -713,7 +895,9 @@ module Google
713
895
  # @return [Google::Apis::ServiceusageV1::RubySettings]
714
896
  attr_accessor :ruby_settings
715
897
 
716
- # Version of the API to apply these settings to.
898
+ # Version of the API to apply these settings to. This is the full protobuf
899
+ # package for the API, ending in the version element. Examples: "google.cloud.
900
+ # speech.v1" and "google.spanner.admin.database.v1".
717
901
  # Corresponds to the JSON property `version`
718
902
  # @return [String]
719
903
  attr_accessor :version
@@ -753,6 +937,12 @@ module Google
753
937
  # @return [String]
754
938
  attr_accessor :reference_docs_uri
755
939
 
940
+ # This message is used to configure the generation of a subset of the RPCs in a
941
+ # service for client libraries.
942
+ # Corresponds to the JSON property `selectiveGapicGeneration`
943
+ # @return [Google::Apis::ServiceusageV1::SelectiveGapicGeneration]
944
+ attr_accessor :selective_gapic_generation
945
+
756
946
  def initialize(**args)
757
947
  update!(**args)
758
948
  end
@@ -761,6 +951,58 @@ module Google
761
951
  def update!(**args)
762
952
  @destinations = args[:destinations] if args.key?(:destinations)
763
953
  @reference_docs_uri = args[:reference_docs_uri] if args.key?(:reference_docs_uri)
954
+ @selective_gapic_generation = args[:selective_gapic_generation] if args.key?(:selective_gapic_generation)
955
+ end
956
+ end
957
+
958
+ # Consumer Policy is a set of rules that define what services or service groups
959
+ # can be used for a cloud resource hierarchy.
960
+ class ConsumerPolicy
961
+ include Google::Apis::Core::Hashable
962
+
963
+ # Optional. Annotations is an unstructured key-value map stored with a policy
964
+ # that may be set by external tools to store and retrieve arbitrary metadata.
965
+ # They are not queryable and should be preserved when modifying objects. [AIP-
966
+ # 128](https://google.aip.dev/128#annotations)
967
+ # Corresponds to the JSON property `annotations`
968
+ # @return [Hash<String,String>]
969
+ attr_accessor :annotations
970
+
971
+ # Enable rules define usable services and service groups.
972
+ # Corresponds to the JSON property `enableRules`
973
+ # @return [Array<Google::Apis::ServiceusageV1::EnableRule>]
974
+ attr_accessor :enable_rules
975
+
976
+ # An opaque tag indicating the current version of the policy, used for
977
+ # concurrency control.
978
+ # Corresponds to the JSON property `etag`
979
+ # @return [String]
980
+ attr_accessor :etag
981
+
982
+ # Output only. The resource name of the policy. We only allow consumer policy
983
+ # name as `default` for now: `projects/12345/consumerPolicies/default`, `folders/
984
+ # 12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`
985
+ # .
986
+ # Corresponds to the JSON property `name`
987
+ # @return [String]
988
+ attr_accessor :name
989
+
990
+ # The last-modified time.
991
+ # Corresponds to the JSON property `updateTime`
992
+ # @return [String]
993
+ attr_accessor :update_time
994
+
995
+ def initialize(**args)
996
+ update!(**args)
997
+ end
998
+
999
+ # Update properties of this object
1000
+ def update!(**args)
1001
+ @annotations = args[:annotations] if args.key?(:annotations)
1002
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
1003
+ @etag = args[:etag] if args.key?(:etag)
1004
+ @name = args[:name] if args.key?(:name)
1005
+ @update_time = args[:update_time] if args.key?(:update_time)
764
1006
  end
765
1007
  end
766
1008
 
@@ -813,12 +1055,14 @@ module Google
813
1055
  # @return [Array<String>]
814
1056
  attr_accessor :allowed_response_extensions
815
1057
 
816
- # A list of full type names of provided contexts.
1058
+ # A list of full type names of provided contexts. It is used to support
1059
+ # propagating HTTP headers and ETags from the response extension.
817
1060
  # Corresponds to the JSON property `provided`
818
1061
  # @return [Array<String>]
819
1062
  attr_accessor :provided
820
1063
 
821
- # A list of full type names of requested contexts.
1064
+ # A list of full type names of requested contexts, only the requested context
1065
+ # will be made available to the backend.
822
1066
  # Corresponds to the JSON property `requested`
823
1067
  # @return [Array<String>]
824
1068
  attr_accessor :requested
@@ -855,6 +1099,11 @@ module Google
855
1099
  # @return [String]
856
1100
  attr_accessor :environment
857
1101
 
1102
+ # Defines policies applying to the API methods of the service.
1103
+ # Corresponds to the JSON property `methodPolicies`
1104
+ # @return [Array<Google::Apis::ServiceusageV1::MethodPolicy>]
1105
+ attr_accessor :method_policies
1106
+
858
1107
  def initialize(**args)
859
1108
  update!(**args)
860
1109
  end
@@ -862,6 +1111,7 @@ module Google
862
1111
  # Update properties of this object
863
1112
  def update!(**args)
864
1113
  @environment = args[:environment] if args.key?(:environment)
1114
+ @method_policies = args[:method_policies] if args.key?(:method_policies)
865
1115
  end
866
1116
  end
867
1117
 
@@ -1050,7 +1300,7 @@ module Google
1050
1300
  # documentation: summary: > The Google Calendar API gives access to most
1051
1301
  # calendar features. pages: - name: Overview content: (== include google/foo/
1052
1302
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1053
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
1303
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1054
1304
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1055
1305
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1056
1306
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1075,6 +1325,12 @@ module Google
1075
1325
  class Documentation
1076
1326
  include Google::Apis::Core::Hashable
1077
1327
 
1328
+ # Optional information about the IAM configuration. This is typically used to
1329
+ # link to documentation about a product's IAM roles and permissions.
1330
+ # Corresponds to the JSON property `additionalIamInfo`
1331
+ # @return [String]
1332
+ attr_accessor :additional_iam_info
1333
+
1078
1334
  # The URL to the root of documentation.
1079
1335
  # Corresponds to the JSON property `documentationRootUrl`
1080
1336
  # @return [String]
@@ -1100,6 +1356,12 @@ module Google
1100
1356
  # @return [Array<Google::Apis::ServiceusageV1::DocumentationRule>]
1101
1357
  attr_accessor :rules
1102
1358
 
1359
+ # Specifies section and content to override the boilerplate content. Currently
1360
+ # overrides following sections: 1. rest.service.client_libraries
1361
+ # Corresponds to the JSON property `sectionOverrides`
1362
+ # @return [Array<Google::Apis::ServiceusageV1::Page>]
1363
+ attr_accessor :section_overrides
1364
+
1103
1365
  # Specifies the service root url if the default one (the service name from the
1104
1366
  # yaml file) is not suitable. This can be seen in any fully specified service
1105
1367
  # urls as well as sections that show a base that other urls are relative to.
@@ -1120,10 +1382,12 @@ module Google
1120
1382
 
1121
1383
  # Update properties of this object
1122
1384
  def update!(**args)
1385
+ @additional_iam_info = args[:additional_iam_info] if args.key?(:additional_iam_info)
1123
1386
  @documentation_root_url = args[:documentation_root_url] if args.key?(:documentation_root_url)
1124
1387
  @overview = args[:overview] if args.key?(:overview)
1125
1388
  @pages = args[:pages] if args.key?(:pages)
1126
1389
  @rules = args[:rules] if args.key?(:rules)
1390
+ @section_overrides = args[:section_overrides] if args.key?(:section_overrides)
1127
1391
  @service_root_url = args[:service_root_url] if args.key?(:service_root_url)
1128
1392
  @summary = args[:summary] if args.key?(:summary)
1129
1393
  end
@@ -1146,6 +1410,12 @@ module Google
1146
1410
  # @return [String]
1147
1411
  attr_accessor :description
1148
1412
 
1413
+ # String of comma or space separated case-sensitive words for which method/field
1414
+ # name replacement will be disabled.
1415
+ # Corresponds to the JSON property `disableReplacementWords`
1416
+ # @return [String]
1417
+ attr_accessor :disable_replacement_words
1418
+
1149
1419
  # The selector is a comma-separated list of patterns for any element such as a
1150
1420
  # method, a field, an enum value. Each pattern is a qualified name of the
1151
1421
  # element which may end in "*", indicating a wildcard. Wildcards are only
@@ -1165,6 +1435,7 @@ module Google
1165
1435
  def update!(**args)
1166
1436
  @deprecation_description = args[:deprecation_description] if args.key?(:deprecation_description)
1167
1437
  @description = args[:description] if args.key?(:description)
1438
+ @disable_replacement_words = args[:disable_replacement_words] if args.key?(:disable_replacement_words)
1168
1439
  @selector = args[:selector] if args.key?(:selector)
1169
1440
  end
1170
1441
  end
@@ -1178,6 +1449,42 @@ module Google
1178
1449
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1179
1450
  attr_accessor :common
1180
1451
 
1452
+ # Namespaces which must be aliased in snippets due to a known (but non-generator-
1453
+ # predictable) naming collision
1454
+ # Corresponds to the JSON property `forcedNamespaceAliases`
1455
+ # @return [Array<String>]
1456
+ attr_accessor :forced_namespace_aliases
1457
+
1458
+ # Method signatures (in the form "service.method(signature)") which are provided
1459
+ # separately, so shouldn't be generated. Snippets *calling* these methods are
1460
+ # still generated, however.
1461
+ # Corresponds to the JSON property `handwrittenSignatures`
1462
+ # @return [Array<String>]
1463
+ attr_accessor :handwritten_signatures
1464
+
1465
+ # List of full resource types to ignore during generation. This is typically
1466
+ # used for API-specific Location resources, which should be handled by the
1467
+ # generator as if they were actually the common Location resources. Example
1468
+ # entry: "documentai.googleapis.com/Location"
1469
+ # Corresponds to the JSON property `ignoredResources`
1470
+ # @return [Array<String>]
1471
+ attr_accessor :ignored_resources
1472
+
1473
+ # Map from full resource types to the effective short name for the resource.
1474
+ # This is used when otherwise resource named from different services would cause
1475
+ # naming collisions. Example entry: "datalabeling.googleapis.com/Dataset": "
1476
+ # DataLabelingDataset"
1477
+ # Corresponds to the JSON property `renamedResources`
1478
+ # @return [Hash<String,String>]
1479
+ attr_accessor :renamed_resources
1480
+
1481
+ # Map from original service names to renamed versions. This is used when the
1482
+ # default generated types would cause a naming conflict. (Neither name is fully-
1483
+ # qualified.) Example: Subscriber to SubscriberServiceApi.
1484
+ # Corresponds to the JSON property `renamedServices`
1485
+ # @return [Hash<String,String>]
1486
+ attr_accessor :renamed_services
1487
+
1181
1488
  def initialize(**args)
1182
1489
  update!(**args)
1183
1490
  end
@@ -1185,6 +1492,11 @@ module Google
1185
1492
  # Update properties of this object
1186
1493
  def update!(**args)
1187
1494
  @common = args[:common] if args.key?(:common)
1495
+ @forced_namespace_aliases = args[:forced_namespace_aliases] if args.key?(:forced_namespace_aliases)
1496
+ @handwritten_signatures = args[:handwritten_signatures] if args.key?(:handwritten_signatures)
1497
+ @ignored_resources = args[:ignored_resources] if args.key?(:ignored_resources)
1498
+ @renamed_resources = args[:renamed_resources] if args.key?(:renamed_resources)
1499
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1188
1500
  end
1189
1501
  end
1190
1502
 
@@ -1229,6 +1541,48 @@ module Google
1229
1541
  end
1230
1542
  end
1231
1543
 
1544
+ # The consumer policy rule that defines usable services and service groups.
1545
+ class EnableRule
1546
+ include Google::Apis::Core::Hashable
1547
+
1548
+ # Client and resource project enable type.
1549
+ # Corresponds to the JSON property `enableType`
1550
+ # @return [String]
1551
+ attr_accessor :enable_type
1552
+
1553
+ # DEPRECATED: Please use field `values`. Service group should have prefix `
1554
+ # groups/`. The names of the service groups that are enabled (Not Implemented).
1555
+ # Example: `groups/googleServices`.
1556
+ # Corresponds to the JSON property `groups`
1557
+ # @return [Array<String>]
1558
+ attr_accessor :groups
1559
+
1560
+ # DEPRECATED: Please use field `values`. Service should have prefix `services/`.
1561
+ # The names of the services that are enabled. Example: `storage.googleapis.com`.
1562
+ # Corresponds to the JSON property `services`
1563
+ # @return [Array<String>]
1564
+ attr_accessor :services
1565
+
1566
+ # The names of the services or service groups that are enabled. Example: `
1567
+ # services/storage.googleapis.com`, `groups/googleServices`, `groups/allServices`
1568
+ # .
1569
+ # Corresponds to the JSON property `values`
1570
+ # @return [Array<String>]
1571
+ attr_accessor :values
1572
+
1573
+ def initialize(**args)
1574
+ update!(**args)
1575
+ end
1576
+
1577
+ # Update properties of this object
1578
+ def update!(**args)
1579
+ @enable_type = args[:enable_type] if args.key?(:enable_type)
1580
+ @groups = args[:groups] if args.key?(:groups)
1581
+ @services = args[:services] if args.key?(:services)
1582
+ @values = args[:values] if args.key?(:values)
1583
+ end
1584
+ end
1585
+
1232
1586
  # Request message for the `EnableService` method.
1233
1587
  class EnableServiceRequest
1234
1588
  include Google::Apis::Core::Hashable
@@ -1278,9 +1632,9 @@ module Google
1278
1632
  class Endpoint
1279
1633
  include Google::Apis::Core::Hashable
1280
1634
 
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.
1635
+ # Aliases for this endpoint, these will be served by the same UrlMap as the
1636
+ # parent endpoint, and will be provisioned in the GCP stack for the Regional
1637
+ # Endpoints.
1284
1638
  # Corresponds to the JSON property `aliases`
1285
1639
  # @return [Array<String>]
1286
1640
  attr_accessor :aliases
@@ -1325,6 +1679,11 @@ module Google
1325
1679
  class Enum
1326
1680
  include Google::Apis::Core::Hashable
1327
1681
 
1682
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
1683
+ # Corresponds to the JSON property `edition`
1684
+ # @return [String]
1685
+ attr_accessor :edition
1686
+
1328
1687
  # Enum value definitions.
1329
1688
  # Corresponds to the JSON property `enumvalue`
1330
1689
  # @return [Array<Google::Apis::ServiceusageV1::EnumValue>]
@@ -1357,6 +1716,7 @@ module Google
1357
1716
 
1358
1717
  # Update properties of this object
1359
1718
  def update!(**args)
1719
+ @edition = args[:edition] if args.key?(:edition)
1360
1720
  @enumvalue = args[:enumvalue] if args.key?(:enumvalue)
1361
1721
  @name = args[:name] if args.key?(:name)
1362
1722
  @options = args[:options] if args.key?(:options)
@@ -1396,6 +1756,49 @@ module Google
1396
1756
  end
1397
1757
  end
1398
1758
 
1759
+ # Experimental features to be included during client library generation. These
1760
+ # fields will be deprecated once the feature graduates and is enabled by default.
1761
+ class ExperimentalFeatures
1762
+ include Google::Apis::Core::Hashable
1763
+
1764
+ # Enables generation of protobuf code using new types that are more Pythonic
1765
+ # which are included in `protobuf>=5.29.x`. This feature will be enabled by
1766
+ # default 1 month after launching the feature in preview packages.
1767
+ # Corresponds to the JSON property `protobufPythonicTypesEnabled`
1768
+ # @return [Boolean]
1769
+ attr_accessor :protobuf_pythonic_types_enabled
1770
+ alias_method :protobuf_pythonic_types_enabled?, :protobuf_pythonic_types_enabled
1771
+
1772
+ # Enables generation of asynchronous REST clients if `rest` transport is enabled.
1773
+ # By default, asynchronous REST clients will not be generated. This feature
1774
+ # will be enabled by default 1 month after launching the feature in preview
1775
+ # packages.
1776
+ # Corresponds to the JSON property `restAsyncIoEnabled`
1777
+ # @return [Boolean]
1778
+ attr_accessor :rest_async_io_enabled
1779
+ alias_method :rest_async_io_enabled?, :rest_async_io_enabled
1780
+
1781
+ # Disables generation of an unversioned Python package for this client library.
1782
+ # This means that the module names will need to be versioned in import
1783
+ # statements. For example `import google.cloud.library_v2` instead of `import
1784
+ # google.cloud.library`.
1785
+ # Corresponds to the JSON property `unversionedPackageDisabled`
1786
+ # @return [Boolean]
1787
+ attr_accessor :unversioned_package_disabled
1788
+ alias_method :unversioned_package_disabled?, :unversioned_package_disabled
1789
+
1790
+ def initialize(**args)
1791
+ update!(**args)
1792
+ end
1793
+
1794
+ # Update properties of this object
1795
+ def update!(**args)
1796
+ @protobuf_pythonic_types_enabled = args[:protobuf_pythonic_types_enabled] if args.key?(:protobuf_pythonic_types_enabled)
1797
+ @rest_async_io_enabled = args[:rest_async_io_enabled] if args.key?(:rest_async_io_enabled)
1798
+ @unversioned_package_disabled = args[:unversioned_package_disabled] if args.key?(:unversioned_package_disabled)
1799
+ end
1800
+ end
1801
+
1399
1802
  # A single field of a message type.
1400
1803
  class Field
1401
1804
  include Google::Apis::Core::Hashable
@@ -1472,6 +1875,50 @@ module Google
1472
1875
  end
1473
1876
  end
1474
1877
 
1878
+ # Google API Policy Annotation This message defines a simple API policy
1879
+ # annotation that can be used to annotate API request and response message
1880
+ # fields with applicable policies. One field may have multiple applicable
1881
+ # policies that must all be satisfied before a request can be processed. This
1882
+ # policy annotation is used to generate the overall policy that will be used for
1883
+ # automatic runtime policy enforcement and documentation generation.
1884
+ class FieldPolicy
1885
+ include Google::Apis::Core::Hashable
1886
+
1887
+ # Specifies the required permission(s) for the resource referred to by the field.
1888
+ # It requires the field contains a valid resource reference, and the request
1889
+ # must pass the permission checks to proceed. For example, "resourcemanager.
1890
+ # projects.get".
1891
+ # Corresponds to the JSON property `resourcePermission`
1892
+ # @return [String]
1893
+ attr_accessor :resource_permission
1894
+
1895
+ # Specifies the resource type for the resource referred to by the field.
1896
+ # Corresponds to the JSON property `resourceType`
1897
+ # @return [String]
1898
+ attr_accessor :resource_type
1899
+
1900
+ # Selects one or more request or response message fields to apply this `
1901
+ # FieldPolicy`. When a `FieldPolicy` is used in proto annotation, the selector
1902
+ # must be left as empty. The service config generator will automatically fill
1903
+ # the correct value. When a `FieldPolicy` is used in service config, the
1904
+ # selector must be a comma-separated string with valid request or response field
1905
+ # paths, such as "foo.bar" or "foo.bar,foo.baz".
1906
+ # Corresponds to the JSON property `selector`
1907
+ # @return [String]
1908
+ attr_accessor :selector
1909
+
1910
+ def initialize(**args)
1911
+ update!(**args)
1912
+ end
1913
+
1914
+ # Update properties of this object
1915
+ def update!(**args)
1916
+ @resource_permission = args[:resource_permission] if args.key?(:resource_permission)
1917
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
1918
+ @selector = args[:selector] if args.key?(:selector)
1919
+ end
1920
+ end
1921
+
1475
1922
  # Metadata for the `GetServiceIdentity` method.
1476
1923
  class GetServiceIdentityMetadata
1477
1924
  include Google::Apis::Core::Hashable
@@ -1520,6 +1967,13 @@ module Google
1520
1967
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
1521
1968
  attr_accessor :common
1522
1969
 
1970
+ # Map of service names to renamed services. Keys are the package relative
1971
+ # service names and values are the name to be used for the service client and
1972
+ # call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin
1973
+ # Corresponds to the JSON property `renamedServices`
1974
+ # @return [Hash<String,String>]
1975
+ attr_accessor :renamed_services
1976
+
1523
1977
  def initialize(**args)
1524
1978
  update!(**args)
1525
1979
  end
@@ -1527,6 +1981,7 @@ module Google
1527
1981
  # Update properties of this object
1528
1982
  def update!(**args)
1529
1983
  @common = args[:common] if args.key?(:common)
1984
+ @renamed_services = args[:renamed_services] if args.key?(:renamed_services)
1530
1985
  end
1531
1986
  end
1532
1987
 
@@ -1555,6 +2010,14 @@ module Google
1555
2010
  # @return [Array<Google::Apis::ServiceusageV1::Api>]
1556
2011
  attr_accessor :apis
1557
2012
 
2013
+ # Configuration aspects. This is a repeated field to allow multiple aspects to
2014
+ # be configured. The kind field in each ConfigAspect specifies the type of
2015
+ # aspect. The spec field contains the configuration for that aspect. The schema
2016
+ # for the spec field is defined by the backend service owners.
2017
+ # Corresponds to the JSON property `aspects`
2018
+ # @return [Array<Google::Apis::ServiceusageV1::Aspect>]
2019
+ attr_accessor :aspects
2020
+
1558
2021
  # `Authentication` defines the authentication configuration for API methods
1559
2022
  # provided by an API service. Example: name: calendar.googleapis.com
1560
2023
  # authentication: providers: - id: google_calendar_auth jwks_uri: https://www.
@@ -1631,7 +2094,7 @@ module Google
1631
2094
  # documentation: summary: > The Google Calendar API gives access to most
1632
2095
  # calendar features. pages: - name: Overview content: (== include google/foo/
1633
2096
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1634
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2097
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1635
2098
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1636
2099
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1637
2100
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -1834,6 +2297,7 @@ module Google
1834
2297
  # Update properties of this object
1835
2298
  def update!(**args)
1836
2299
  @apis = args[:apis] if args.key?(:apis)
2300
+ @aspects = args[:aspects] if args.key?(:aspects)
1837
2301
  @authentication = args[:authentication] if args.key?(:authentication)
1838
2302
  @backend = args[:backend] if args.key?(:backend)
1839
2303
  @billing = args[:billing] if args.key?(:billing)
@@ -1946,7 +2410,7 @@ module Google
1946
2410
  # documentation: summary: > The Google Calendar API gives access to most
1947
2411
  # calendar features. pages: - name: Overview content: (== include google/foo/
1948
2412
  # overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==
1949
- # ) subpages; - name: Java content: (== include google/foo/tutorial_java.md ==)
2413
+ # ) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==)
1950
2414
  # rules: - selector: google.calendar.Calendar.Get description: > ... - selector:
1951
2415
  # google.calendar.Calendar.Put description: > ... Documentation is provided in
1952
2416
  # markdown syntax. In addition to standard markdown features, definition lists,
@@ -2122,6 +2586,315 @@ module Google
2122
2586
  end
2123
2587
  end
2124
2588
 
2589
+ # Consumer Policy is a set of rules that define what services or service groups
2590
+ # can be used for a cloud resource hierarchy.
2591
+ class GoogleApiServiceusageV2alphaConsumerPolicy
2592
+ include Google::Apis::Core::Hashable
2593
+
2594
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2595
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2596
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2597
+ # 128](https://google.aip.dev/128#annotations)
2598
+ # Corresponds to the JSON property `annotations`
2599
+ # @return [Hash<String,String>]
2600
+ attr_accessor :annotations
2601
+
2602
+ # Output only. The time the policy was created. For singleton policies, this is
2603
+ # the first touch of the policy.
2604
+ # Corresponds to the JSON property `createTime`
2605
+ # @return [String]
2606
+ attr_accessor :create_time
2607
+
2608
+ # Enable rules define usable services, groups, and categories. There can
2609
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2610
+ # later releases.
2611
+ # Corresponds to the JSON property `enableRules`
2612
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule>]
2613
+ attr_accessor :enable_rules
2614
+
2615
+ # Output only. An opaque tag indicating the current version of the policy, used
2616
+ # for concurrency control.
2617
+ # Corresponds to the JSON property `etag`
2618
+ # @return [String]
2619
+ attr_accessor :etag
2620
+
2621
+ # Output only. The resource name of the policy. Only the `default` policy is
2622
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2623
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2624
+ # Corresponds to the JSON property `name`
2625
+ # @return [String]
2626
+ attr_accessor :name
2627
+
2628
+ # Output only. The time the policy was last updated.
2629
+ # Corresponds to the JSON property `updateTime`
2630
+ # @return [String]
2631
+ attr_accessor :update_time
2632
+
2633
+ def initialize(**args)
2634
+ update!(**args)
2635
+ end
2636
+
2637
+ # Update properties of this object
2638
+ def update!(**args)
2639
+ @annotations = args[:annotations] if args.key?(:annotations)
2640
+ @create_time = args[:create_time] if args.key?(:create_time)
2641
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2642
+ @etag = args[:etag] if args.key?(:etag)
2643
+ @name = args[:name] if args.key?(:name)
2644
+ @update_time = args[:update_time] if args.key?(:update_time)
2645
+ end
2646
+ end
2647
+
2648
+ # The consumer policy rule that defines enabled services, groups, and categories.
2649
+ class GoogleApiServiceusageV2alphaEnableRule
2650
+ include Google::Apis::Core::Hashable
2651
+
2652
+ # The names of the services that are enabled. Example: `services/storage.
2653
+ # googleapis.com`.
2654
+ # Corresponds to the JSON property `services`
2655
+ # @return [Array<String>]
2656
+ attr_accessor :services
2657
+
2658
+ def initialize(**args)
2659
+ update!(**args)
2660
+ end
2661
+
2662
+ # Update properties of this object
2663
+ def update!(**args)
2664
+ @services = args[:services] if args.key?(:services)
2665
+ end
2666
+ end
2667
+
2668
+ # Metadata for the `UpdateConsumerPolicy` method.
2669
+ class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
2670
+ include Google::Apis::Core::Hashable
2671
+
2672
+ def initialize(**args)
2673
+ update!(**args)
2674
+ end
2675
+
2676
+ # Update properties of this object
2677
+ def update!(**args)
2678
+ end
2679
+ end
2680
+
2681
+ # A message to group the analysis information.
2682
+ class GoogleApiServiceusageV2betaAnalysis
2683
+ include Google::Apis::Core::Hashable
2684
+
2685
+ # An analysis result including blockers and warnings.
2686
+ # Corresponds to the JSON property `analysisResult`
2687
+ # @return [Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult]
2688
+ attr_accessor :analysis_result
2689
+
2690
+ # Output only. The type of analysis.
2691
+ # Corresponds to the JSON property `analysisType`
2692
+ # @return [String]
2693
+ attr_accessor :analysis_type
2694
+
2695
+ # Output only. The user friendly display name of the analysis type. E.g. service
2696
+ # dependency analysis, service resource usage analysis, etc.
2697
+ # Corresponds to the JSON property `displayName`
2698
+ # @return [String]
2699
+ attr_accessor :display_name
2700
+
2701
+ # The names of the service that has analysis result of warnings or blockers.
2702
+ # Example: `services/storage.googleapis.com`.
2703
+ # Corresponds to the JSON property `service`
2704
+ # @return [String]
2705
+ attr_accessor :service
2706
+
2707
+ def initialize(**args)
2708
+ update!(**args)
2709
+ end
2710
+
2711
+ # Update properties of this object
2712
+ def update!(**args)
2713
+ @analysis_result = args[:analysis_result] if args.key?(:analysis_result)
2714
+ @analysis_type = args[:analysis_type] if args.key?(:analysis_type)
2715
+ @display_name = args[:display_name] if args.key?(:display_name)
2716
+ @service = args[:service] if args.key?(:service)
2717
+ end
2718
+ end
2719
+
2720
+ # An analysis result including blockers and warnings.
2721
+ class GoogleApiServiceusageV2betaAnalysisResult
2722
+ include Google::Apis::Core::Hashable
2723
+
2724
+ # Blocking information that would prevent the policy changes at runtime.
2725
+ # Corresponds to the JSON property `blockers`
2726
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2727
+ attr_accessor :blockers
2728
+
2729
+ # Warning information indicating that the policy changes might be unsafe, but
2730
+ # will not block the changes at runtime.
2731
+ # Corresponds to the JSON property `warnings`
2732
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact>]
2733
+ attr_accessor :warnings
2734
+
2735
+ def initialize(**args)
2736
+ update!(**args)
2737
+ end
2738
+
2739
+ # Update properties of this object
2740
+ def update!(**args)
2741
+ @blockers = args[:blockers] if args.key?(:blockers)
2742
+ @warnings = args[:warnings] if args.key?(:warnings)
2743
+ end
2744
+ end
2745
+
2746
+ # Metadata for the `AnalyzeConsumerPolicy` method.
2747
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
2748
+ include Google::Apis::Core::Hashable
2749
+
2750
+ def initialize(**args)
2751
+ update!(**args)
2752
+ end
2753
+
2754
+ # Update properties of this object
2755
+ def update!(**args)
2756
+ end
2757
+ end
2758
+
2759
+ # The response of analyzing a consumer policy update.
2760
+ class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
2761
+ include Google::Apis::Core::Hashable
2762
+
2763
+ # The list of analyses returned from performing the intended policy update
2764
+ # analysis. The analysis is grouped by service name and different analysis types.
2765
+ # The empty analysis list means that the consumer policy can be updated without
2766
+ # any warnings or blockers.
2767
+ # Corresponds to the JSON property `analysis`
2768
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis>]
2769
+ attr_accessor :analysis
2770
+
2771
+ def initialize(**args)
2772
+ update!(**args)
2773
+ end
2774
+
2775
+ # Update properties of this object
2776
+ def update!(**args)
2777
+ @analysis = args[:analysis] if args.key?(:analysis)
2778
+ end
2779
+ end
2780
+
2781
+ # Consumer Policy is a set of rules that define what services or service groups
2782
+ # can be used for a cloud resource hierarchy.
2783
+ class GoogleApiServiceusageV2betaConsumerPolicy
2784
+ include Google::Apis::Core::Hashable
2785
+
2786
+ # Optional. Annotations is an unstructured key-value map stored with a policy
2787
+ # that may be set by external tools to store and retrieve arbitrary metadata.
2788
+ # They are not queryable and should be preserved when modifying objects. [AIP-
2789
+ # 128](https://google.aip.dev/128#annotations)
2790
+ # Corresponds to the JSON property `annotations`
2791
+ # @return [Hash<String,String>]
2792
+ attr_accessor :annotations
2793
+
2794
+ # Output only. The time the policy was created. For singleton policies, this is
2795
+ # the first touch of the policy.
2796
+ # Corresponds to the JSON property `createTime`
2797
+ # @return [String]
2798
+ attr_accessor :create_time
2799
+
2800
+ # Enable rules define usable services, groups, and categories. There can
2801
+ # currently be at most one `EnableRule`. This restriction will be lifted in
2802
+ # later releases.
2803
+ # Corresponds to the JSON property `enableRules`
2804
+ # @return [Array<Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule>]
2805
+ attr_accessor :enable_rules
2806
+
2807
+ # Output only. An opaque tag indicating the current version of the policy, used
2808
+ # for concurrency control.
2809
+ # Corresponds to the JSON property `etag`
2810
+ # @return [String]
2811
+ attr_accessor :etag
2812
+
2813
+ # Output only. The resource name of the policy. Only the `default` policy is
2814
+ # supported: `projects/12345/consumerPolicies/default`, `folders/12345/
2815
+ # consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.
2816
+ # Corresponds to the JSON property `name`
2817
+ # @return [String]
2818
+ attr_accessor :name
2819
+
2820
+ # Output only. The time the policy was last updated.
2821
+ # Corresponds to the JSON property `updateTime`
2822
+ # @return [String]
2823
+ attr_accessor :update_time
2824
+
2825
+ def initialize(**args)
2826
+ update!(**args)
2827
+ end
2828
+
2829
+ # Update properties of this object
2830
+ def update!(**args)
2831
+ @annotations = args[:annotations] if args.key?(:annotations)
2832
+ @create_time = args[:create_time] if args.key?(:create_time)
2833
+ @enable_rules = args[:enable_rules] if args.key?(:enable_rules)
2834
+ @etag = args[:etag] if args.key?(:etag)
2835
+ @name = args[:name] if args.key?(:name)
2836
+ @update_time = args[:update_time] if args.key?(:update_time)
2837
+ end
2838
+ end
2839
+
2840
+ # The consumer policy rule that defines enabled services, groups, and categories.
2841
+ class GoogleApiServiceusageV2betaEnableRule
2842
+ include Google::Apis::Core::Hashable
2843
+
2844
+ # The names of the services that are enabled. Example: `services/storage.
2845
+ # googleapis.com`.
2846
+ # Corresponds to the JSON property `services`
2847
+ # @return [Array<String>]
2848
+ attr_accessor :services
2849
+
2850
+ def initialize(**args)
2851
+ update!(**args)
2852
+ end
2853
+
2854
+ # Update properties of this object
2855
+ def update!(**args)
2856
+ @services = args[:services] if args.key?(:services)
2857
+ end
2858
+ end
2859
+
2860
+ # A message to group impacts of updating a policy.
2861
+ class GoogleApiServiceusageV2betaImpact
2862
+ include Google::Apis::Core::Hashable
2863
+
2864
+ # Output only. User friendly impact detail in a free form message.
2865
+ # Corresponds to the JSON property `detail`
2866
+ # @return [String]
2867
+ attr_accessor :detail
2868
+
2869
+ # Output only. The type of impact.
2870
+ # Corresponds to the JSON property `impactType`
2871
+ # @return [String]
2872
+ attr_accessor :impact_type
2873
+
2874
+ def initialize(**args)
2875
+ update!(**args)
2876
+ end
2877
+
2878
+ # Update properties of this object
2879
+ def update!(**args)
2880
+ @detail = args[:detail] if args.key?(:detail)
2881
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
2882
+ end
2883
+ end
2884
+
2885
+ # Metadata for the `UpdateConsumerPolicy` method.
2886
+ class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
2887
+ include Google::Apis::Core::Hashable
2888
+
2889
+ def initialize(**args)
2890
+ update!(**args)
2891
+ end
2892
+
2893
+ # Update properties of this object
2894
+ def update!(**args)
2895
+ end
2896
+ end
2897
+
2125
2898
  # Defines the HTTP configuration for an API service. It contains a list of
2126
2899
  # HttpRule, each specifying the mapping of an RPC method to one or more HTTP
2127
2900
  # REST API methods.
@@ -2154,7 +2927,7 @@ module Google
2154
2927
  end
2155
2928
  end
2156
2929
 
2157
- # # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2930
+ # gRPC Transcoding gRPC Transcoding is a feature for mapping between a gRPC
2158
2931
  # method and one or more HTTP REST endpoints. It allows developers to build a
2159
2932
  # single API service that supports both gRPC APIs and REST APIs. Many systems,
2160
2933
  # including [Google APIs](https://github.com/googleapis/googleapis), [Cloud
@@ -2174,70 +2947,69 @@ module Google
2174
2947
  # Message) ` option (google.api.http) = ` get: "/v1/`name=messages/*`" `; ` `
2175
2948
  # message GetMessageRequest ` string name = 1; // Mapped to URL path. ` message
2176
2949
  # 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
2950
+ # REST to gRPC mapping as below: - HTTP: `GET /v1/messages/123456` - gRPC: `
2951
+ # GetMessage(name: "messages/123456")` Any fields in the request message which
2952
+ # are not bound by the path template automatically become HTTP query parameters
2953
+ # if there is no HTTP request body. For example: service Messaging ` rpc
2954
+ # GetMessage(GetMessageRequest) returns (Message) ` option (google.api.http) = `
2955
+ # get:"/v1/messages/`message_id`" `; ` ` message GetMessageRequest ` message
2956
+ # SubMessage ` string subfield = 1; ` string message_id = 1; // Mapped to URL
2957
+ # path. int64 revision = 2; // Mapped to URL query parameter `revision`.
2958
+ # SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. ` This
2959
+ # enables a HTTP JSON to RPC mapping as below: - HTTP: `GET /v1/messages/123456?
2960
+ # revision=2&sub.subfield=foo` - gRPC: `GetMessage(message_id: "123456" revision:
2961
+ # 2 sub: SubMessage(subfield: "foo"))` Note that fields which are mapped to URL
2962
+ # query parameters must have a primitive type or a repeated primitive type or a
2963
+ # non-repeated message type. In the case of a repeated type, the parameter can
2964
+ # be repeated in the URL as `...?param=A&param=B`. In the case of a message type,
2965
+ # each field of the message is mapped to a separate parameter, such as `...?foo.
2966
+ # a=A&foo.b=B&foo.c=C`. For HTTP methods that allow a request body, the `body`
2967
+ # field specifies the mapping. Consider a REST update method on the message
2968
+ # resource collection: service Messaging ` rpc UpdateMessage(
2969
+ # UpdateMessageRequest) returns (Message) ` option (google.api.http) = ` patch: "
2970
+ # /v1/messages/`message_id`" body: "message" `; ` ` message UpdateMessageRequest
2971
+ # ` string message_id = 1; // mapped to the URL Message message = 2; // mapped
2972
+ # to the body ` The following HTTP JSON to RPC mapping is enabled, where the
2973
+ # representation of the JSON in the request body is determined by protos JSON
2974
+ # encoding: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
2975
+ # UpdateMessage(message_id: "123456" message ` text: "Hi!" `)` The special name `
2976
+ # *` can be used in the body mapping to define that every field not bound by the
2977
+ # path template should be mapped to the request body. This enables the following
2978
+ # alternative definition of the update method: service Messaging ` rpc
2979
+ # UpdateMessage(Message) returns (Message) ` option (google.api.http) = ` patch:
2980
+ # "/v1/messages/`message_id`" body: "*" `; ` ` message Message ` string
2981
+ # message_id = 1; string text = 2; ` The following HTTP JSON to RPC mapping is
2982
+ # enabled: - HTTP: `PATCH /v1/messages/123456 ` "text": "Hi!" `` - gRPC: `
2983
+ # UpdateMessage(message_id: "123456" text: "Hi!")` Note that when using `*` in
2984
+ # the body mapping, it is not possible to have HTTP parameters, as all fields
2985
+ # not bound by the path end in the body. This makes this option more rarely used
2986
+ # in practice when defining REST APIs. The common usage of `*` is in custom
2987
+ # methods which don't use the URL at all for transferring data. It is possible
2988
+ # to define multiple HTTP methods for one RPC by using the `additional_bindings`
2989
+ # option. Example: service Messaging ` rpc GetMessage(GetMessageRequest) returns
2990
+ # (Message) ` option (google.api.http) = ` get: "/v1/messages/`message_id`"
2991
+ # additional_bindings ` get: "/v1/users/`user_id`/messages/`message_id`" ` `; ` `
2992
+ # message GetMessageRequest ` string message_id = 1; string user_id = 2; ` This
2993
+ # enables the following two alternative HTTP JSON to RPC mappings: - HTTP: `GET /
2994
+ # v1/messages/123456` - gRPC: `GetMessage(message_id: "123456")` - HTTP: `GET /
2995
+ # v1/users/me/messages/123456` - gRPC: `GetMessage(user_id: "me" message_id: "
2996
+ # 123456")` Rules for HTTP mapping 1. Leaf request fields (recursive expansion
2997
+ # nested messages in the request message) are classified into three categories: -
2998
+ # Fields referred by the path template. They are passed via the URL path. -
2999
+ # Fields referred by the HttpRule.body. They are passed via the HTTP request
3000
+ # body. - All other fields are passed via the URL query parameters, and the
3001
+ # parameter name is the field path in the request message. A repeated field can
3002
+ # be represented as multiple query parameters under the same name. 2. If
3003
+ # HttpRule.body is "*", there is no URL query parameter, all fields are passed
3004
+ # via URL path and HTTP request body. 3. If HttpRule.body is omitted, there is
3005
+ # no HTTP request body, all fields are passed via URL path and URL query
3006
+ # parameters. Path template syntax Template = "/" Segments [ Verb ] ; Segments =
3007
+ # Segment ` "/" Segment ` ; Segment = "*" | "**" | LITERAL | Variable ; Variable
3008
+ # = "`" FieldPath [ "=" Segments ] "`" ; FieldPath = IDENT ` "." IDENT ` ; Verb =
3009
+ # ":" LITERAL ; The syntax `*` matches a single URL path segment. The syntax `**
3010
+ # ` matches zero or more URL path segments, which must be the last part of the
3011
+ # URL path except the `Verb`. The syntax `Variable` matches part of the URL path
3012
+ # as specified by its template. A variable template must not contain other
2241
3013
  # variables. If a variable matches a single path segment, its template may be
2242
3014
  # omitted, e.g. ``var`` is equivalent to ``var=*``. The syntax `LITERAL` matches
2243
3015
  # literal text in the URL path. If the `LITERAL` contains any reserved character,
@@ -2252,7 +3024,7 @@ module Google
2252
3024
  # except `[-_.~/0-9a-zA-Z]` are percent-encoded. The server side does the
2253
3025
  # reverse decoding, except "%2F" and "%2f" are left unchanged. Such variables
2254
3026
  # show up in the [Discovery Document](https://developers.google.com/discovery/v1/
2255
- # reference/apis) as ``+var``. ## Using gRPC API Service Configuration gRPC API
3027
+ # reference/apis) as ``+var``. Using gRPC API Service Configuration gRPC API
2256
3028
  # Service Configuration (service config) is a configuration language for
2257
3029
  # configuring a gRPC service to become a user-facing product. The service config
2258
3030
  # is simply the YAML representation of the `google.api.Service` proto message.
@@ -2262,27 +3034,27 @@ module Google
2262
3034
  # effect as the proto annotation. This can be particularly useful if you have a
2263
3035
  # proto that is reused in multiple services. Note that any transcoding specified
2264
3036
  # 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.
3037
+ # the proto. The following example selects a gRPC method and applies an `
3038
+ # HttpRule` to it: http: rules: - selector: example.v1.Messaging.GetMessage get:
3039
+ # /v1/messages/`message_id`/`sub.subfield` Special notes When gRPC Transcoding
3040
+ # is used to map a gRPC to JSON REST endpoints, the proto to JSON conversion
3041
+ # must follow the [proto3 specification](https://developers.google.com/protocol-
3042
+ # buffers/docs/proto3#json). While the single segment variable follows the
3043
+ # semantics of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
3044
+ # Simple String Expansion, the multi segment variable **does not** follow RFC
3045
+ # 6570 Section 3.2.3 Reserved Expansion. The reason is that the Reserved
3046
+ # Expansion does not expand special characters like `?` and `#`, which would
3047
+ # lead to invalid URLs. As the result, gRPC Transcoding uses a custom encoding
3048
+ # for multi segment variables. The path variables **must not** refer to any
3049
+ # repeated or mapped field, because client libraries are not capable of handling
3050
+ # such variable expansion. The path variables **must not** capture the leading "/
3051
+ # " character. The reason is that the most common use case "`var`" does not
3052
+ # capture the leading "/" character. For consistency, all path variables must
3053
+ # share the same behavior. Repeated message fields must not be mapped to URL
3054
+ # query parameters, because no client library can support such complicated
3055
+ # mapping. If an API needs to use a JSON array for request or response body, it
3056
+ # can map the request or response body to a repeated field. However, some gRPC
3057
+ # Transcoding implementations may not support this feature.
2286
3058
  class HttpRule
2287
3059
  include Google::Apis::Core::Hashable
2288
3060
 
@@ -2364,6 +3136,44 @@ module Google
2364
3136
  end
2365
3137
  end
2366
3138
 
3139
+ # A message to group impacts of updating a policy.
3140
+ class Impact
3141
+ include Google::Apis::Core::Hashable
3142
+
3143
+ # Output only. User friendly impact detail in a free form message.
3144
+ # Corresponds to the JSON property `detail`
3145
+ # @return [String]
3146
+ attr_accessor :detail
3147
+
3148
+ # Output only. The type of impact.
3149
+ # Corresponds to the JSON property `impactType`
3150
+ # @return [String]
3151
+ attr_accessor :impact_type
3152
+
3153
+ # The parent resource that the analysis is based on and the service name that
3154
+ # the analysis is for. Example: `projects/100/services/compute.googleapis.com`,
3155
+ # folders/101/services/compute.googleapis.com` and `organizations/102/services/
3156
+ # compute.googleapis.com`. Usually, the parent resource here is same as the
3157
+ # parent resource of the analyzed policy. However, for some analysis types, the
3158
+ # parent can be different. For example, for resource existence analysis, if the
3159
+ # parent resource of the analyzed policy is a folder or an organization, the
3160
+ # parent resource here can still be the project that contains the resources.
3161
+ # Corresponds to the JSON property `parent`
3162
+ # @return [String]
3163
+ attr_accessor :parent
3164
+
3165
+ def initialize(**args)
3166
+ update!(**args)
3167
+ end
3168
+
3169
+ # Update properties of this object
3170
+ def update!(**args)
3171
+ @detail = args[:detail] if args.key?(:detail)
3172
+ @impact_type = args[:impact_type] if args.key?(:impact_type)
3173
+ @parent = args[:parent] if args.key?(:parent)
3174
+ end
3175
+ end
3176
+
2367
3177
  # Metadata message that provides information such as progress, partial failures,
2368
3178
  # and similar information on each GetOperation call of LRO returned by
2369
3179
  # ImportAdminOverrides.
@@ -2479,8 +3289,8 @@ module Google
2479
3289
  # protobuf. This should be used **only** by APIs who have already set the
2480
3290
  # language_settings.java.package_name" field in gapic.yaml. API teams should use
2481
3291
  # the protobuf java_package option where possible. Example of a YAML
2482
- # configuration:: publishing: java_settings: library_package: com.google.cloud.
2483
- # pubsub.v1
3292
+ # configuration:: publishing: library_settings: java_settings: library_package:
3293
+ # com.google.cloud.pubsub.v1
2484
3294
  # Corresponds to the JSON property `libraryPackage`
2485
3295
  # @return [String]
2486
3296
  attr_accessor :library_package
@@ -2845,10 +3655,47 @@ module Google
2845
3655
  end
2846
3656
  end
2847
3657
 
3658
+ # Defines policies applying to an RPC method.
3659
+ class MethodPolicy
3660
+ include Google::Apis::Core::Hashable
3661
+
3662
+ # Policies that are applicable to the request message.
3663
+ # Corresponds to the JSON property `requestPolicies`
3664
+ # @return [Array<Google::Apis::ServiceusageV1::FieldPolicy>]
3665
+ attr_accessor :request_policies
3666
+
3667
+ # Selects a method to which these policies should be enforced, for example, "
3668
+ # google.pubsub.v1.Subscriber.CreateSubscription". Refer to selector for syntax
3669
+ # details. NOTE: This field must not be set in the proto annotation. It will be
3670
+ # automatically filled by the service config compiler .
3671
+ # Corresponds to the JSON property `selector`
3672
+ # @return [String]
3673
+ attr_accessor :selector
3674
+
3675
+ def initialize(**args)
3676
+ update!(**args)
3677
+ end
3678
+
3679
+ # Update properties of this object
3680
+ def update!(**args)
3681
+ @request_policies = args[:request_policies] if args.key?(:request_policies)
3682
+ @selector = args[:selector] if args.key?(:selector)
3683
+ end
3684
+ end
3685
+
2848
3686
  # Describes the generator configuration for a method.
2849
3687
  class MethodSettings
2850
3688
  include Google::Apis::Core::Hashable
2851
3689
 
3690
+ # List of top-level fields of the request message, that should be automatically
3691
+ # populated by the client libraries based on their (google.api.field_info).
3692
+ # format. Currently supported format: UUID4. Example of a YAML configuration:
3693
+ # publishing: method_settings: - selector: google.example.v1.ExampleService.
3694
+ # CreateExample auto_populated_fields: - request_id
3695
+ # Corresponds to the JSON property `autoPopulatedFields`
3696
+ # @return [Array<String>]
3697
+ attr_accessor :auto_populated_fields
3698
+
2852
3699
  # Describes settings to use when generating API methods that use the long-
2853
3700
  # running operation pattern. All default values below are from those used in the
2854
3701
  # client library generators (e.g. [Java](https://github.com/googleapis/gapic-
@@ -2859,7 +3706,9 @@ module Google
2859
3706
  attr_accessor :long_running
2860
3707
 
2861
3708
  # 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.
3709
+ # This is used to find the method to apply the options. Example: publishing:
3710
+ # method_settings: - selector: google.storage.control.v2.StorageControl.
3711
+ # CreateFolder # method settings for CreateFolder...
2863
3712
  # Corresponds to the JSON property `selector`
2864
3713
  # @return [String]
2865
3714
  attr_accessor :selector
@@ -2870,6 +3719,7 @@ module Google
2870
3719
 
2871
3720
  # Update properties of this object
2872
3721
  def update!(**args)
3722
+ @auto_populated_fields = args[:auto_populated_fields] if args.key?(:auto_populated_fields)
2873
3723
  @long_running = args[:long_running] if args.key?(:long_running)
2874
3724
  @selector = args[:selector] if args.key?(:selector)
2875
3725
  end
@@ -3042,6 +3892,11 @@ module Google
3042
3892
  # @return [String]
3043
3893
  attr_accessor :sample_period
3044
3894
 
3895
+ # The scope of the timeseries data of the metric.
3896
+ # Corresponds to the JSON property `timeSeriesResourceHierarchyLevel`
3897
+ # @return [Array<String>]
3898
+ attr_accessor :time_series_resource_hierarchy_level
3899
+
3045
3900
  def initialize(**args)
3046
3901
  update!(**args)
3047
3902
  end
@@ -3051,6 +3906,7 @@ module Google
3051
3906
  @ingest_delay = args[:ingest_delay] if args.key?(:ingest_delay)
3052
3907
  @launch_stage = args[:launch_stage] if args.key?(:launch_stage)
3053
3908
  @sample_period = args[:sample_period] if args.key?(:sample_period)
3909
+ @time_series_resource_hierarchy_level = args[:time_series_resource_hierarchy_level] if args.key?(:time_series_resource_hierarchy_level)
3054
3910
  end
3055
3911
  end
3056
3912
 
@@ -3184,7 +4040,7 @@ module Google
3184
4040
 
3185
4041
  # Required. The monitored resource type. For example, the type `"
3186
4042
  # cloudsql_database"` represents databases in Google Cloud SQL. For a list of
3187
- # types, see [Monitoring resource types](https://cloud.google.com/monitoring/api/
4043
+ # types, see [Monitored resource types](https://cloud.google.com/monitoring/api/
3188
4044
  # resources) and [Logging resource types](https://cloud.google.com/logging/docs/
3189
4045
  # api/v2/resource-list).
3190
4046
  # Corresponds to the JSON property `type`
@@ -3380,13 +4236,13 @@ module Google
3380
4236
  # @return [String]
3381
4237
  attr_accessor :name
3382
4238
 
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`.
4239
+ # The normal, successful response of the operation. If the original method
4240
+ # returns no data on success, such as `Delete`, the response is `google.protobuf.
4241
+ # Empty`. If the original method is standard `Get`/`Create`/`Update`, the
4242
+ # response should be the resource. For other methods, the response should have
4243
+ # the type `XxxResponse`, where `Xxx` is the original method name. For example,
4244
+ # if the original method name is `TakeSnapshot()`, the inferred response type is
4245
+ # `TakeSnapshotResponse`.
3390
4246
  # Corresponds to the JSON property `response`
3391
4247
  # @return [Hash<String,Object>]
3392
4248
  attr_accessor :response
@@ -3461,7 +4317,7 @@ module Google
3461
4317
  class Page
3462
4318
  include Google::Apis::Core::Hashable
3463
4319
 
3464
- # The Markdown content of the page. You can use (== include `path` ==) to
4320
+ # The Markdown content of the page. You can use ```(== include `path` ==)``` to
3465
4321
  # include content from a Markdown file. The content can be used to produce the
3466
4322
  # documentation page such as HTML format page.
3467
4323
  # Corresponds to the JSON property `content`
@@ -3565,7 +4421,7 @@ module Google
3565
4421
  # @return [Array<Google::Apis::ServiceusageV1::MethodSettings>]
3566
4422
  attr_accessor :method_settings
3567
4423
 
3568
- # Link to a place that API users can report issues. Example: https://
4424
+ # Link to a *public* URI where users can report issues. Example: https://
3569
4425
  # issuetracker.google.com/issues/new?component=190865&template=1161103
3570
4426
  # Corresponds to the JSON property `newIssueUri`
3571
4427
  # @return [String]
@@ -3576,6 +4432,18 @@ module Google
3576
4432
  # @return [String]
3577
4433
  attr_accessor :organization
3578
4434
 
4435
+ # Optional link to proto reference documentation. Example: https://cloud.google.
4436
+ # com/pubsub/lite/docs/reference/rpc
4437
+ # Corresponds to the JSON property `protoReferenceDocumentationUri`
4438
+ # @return [String]
4439
+ attr_accessor :proto_reference_documentation_uri
4440
+
4441
+ # Optional link to REST reference documentation. Example: https://cloud.google.
4442
+ # com/pubsub/lite/docs/reference/rest
4443
+ # Corresponds to the JSON property `restReferenceDocumentationUri`
4444
+ # @return [String]
4445
+ attr_accessor :rest_reference_documentation_uri
4446
+
3579
4447
  def initialize(**args)
3580
4448
  update!(**args)
3581
4449
  end
@@ -3591,6 +4459,8 @@ module Google
3591
4459
  @method_settings = args[:method_settings] if args.key?(:method_settings)
3592
4460
  @new_issue_uri = args[:new_issue_uri] if args.key?(:new_issue_uri)
3593
4461
  @organization = args[:organization] if args.key?(:organization)
4462
+ @proto_reference_documentation_uri = args[:proto_reference_documentation_uri] if args.key?(:proto_reference_documentation_uri)
4463
+ @rest_reference_documentation_uri = args[:rest_reference_documentation_uri] if args.key?(:rest_reference_documentation_uri)
3594
4464
  end
3595
4465
  end
3596
4466
 
@@ -3603,6 +4473,12 @@ module Google
3603
4473
  # @return [Google::Apis::ServiceusageV1::CommonLanguageSettings]
3604
4474
  attr_accessor :common
3605
4475
 
4476
+ # Experimental features to be included during client library generation. These
4477
+ # fields will be deprecated once the feature graduates and is enabled by default.
4478
+ # Corresponds to the JSON property `experimentalFeatures`
4479
+ # @return [Google::Apis::ServiceusageV1::ExperimentalFeatures]
4480
+ attr_accessor :experimental_features
4481
+
3606
4482
  def initialize(**args)
3607
4483
  update!(**args)
3608
4484
  end
@@ -3610,6 +4486,7 @@ module Google
3610
4486
  # Update properties of this object
3611
4487
  def update!(**args)
3612
4488
  @common = args[:common] if args.key?(:common)
4489
+ @experimental_features = args[:experimental_features] if args.key?(:experimental_features)
3613
4490
  end
3614
4491
  end
3615
4492
 
@@ -3729,11 +4606,11 @@ module Google
3729
4606
  # @return [String]
3730
4607
  attr_accessor :name
3731
4608
 
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.
4609
+ # Specify the unit of the quota limit. It uses the same syntax as
4610
+ # MetricDescriptor.unit. The supported unit kinds are determined by the quota
4611
+ # backend system. Here are some examples: * "1/min/`project`" for quota per
4612
+ # minute per project. Note: the order of unit components is insignificant. The "
4613
+ # 1" at the beginning is required to follow the metric unit syntax.
3737
4614
  # Corresponds to the JSON property `unit`
3738
4615
  # @return [String]
3739
4616
  attr_accessor :unit
@@ -3839,6 +4716,46 @@ module Google
3839
4716
  end
3840
4717
  end
3841
4718
 
4719
+ # Metadata for the `RemoveEnableRules` method.
4720
+ class RemoveEnableRulesMetadata
4721
+ include Google::Apis::Core::Hashable
4722
+
4723
+ def initialize(**args)
4724
+ update!(**args)
4725
+ end
4726
+
4727
+ # Update properties of this object
4728
+ def update!(**args)
4729
+ end
4730
+ end
4731
+
4732
+ # The response message of `RemoveEnableRules` method.
4733
+ class RemoveEnableRulesResponse
4734
+ include Google::Apis::Core::Hashable
4735
+
4736
+ # The parent consumer policy. It can be `projects/12345/consumerPolicies/default`
4737
+ # , or `folders/12345/consumerPolicies/default`, or `organizations/12345/
4738
+ # consumerPolicies/default`.
4739
+ # Corresponds to the JSON property `parent`
4740
+ # @return [String]
4741
+ attr_accessor :parent
4742
+
4743
+ # The values removed from the parent consumer policy.
4744
+ # Corresponds to the JSON property `removedValues`
4745
+ # @return [Array<String>]
4746
+ attr_accessor :removed_values
4747
+
4748
+ def initialize(**args)
4749
+ update!(**args)
4750
+ end
4751
+
4752
+ # Update properties of this object
4753
+ def update!(**args)
4754
+ @parent = args[:parent] if args.key?(:parent)
4755
+ @removed_values = args[:removed_values] if args.key?(:removed_values)
4756
+ end
4757
+ end
4758
+
3842
4759
  # Settings for Ruby client libraries.
3843
4760
  class RubySettings
3844
4761
  include Google::Apis::Core::Hashable
@@ -3858,6 +4775,39 @@ module Google
3858
4775
  end
3859
4776
  end
3860
4777
 
4778
+ # This message is used to configure the generation of a subset of the RPCs in a
4779
+ # service for client libraries.
4780
+ class SelectiveGapicGeneration
4781
+ include Google::Apis::Core::Hashable
4782
+
4783
+ # Setting this to true indicates to the client generators that methods that
4784
+ # would be excluded from the generation should instead be generated in a way
4785
+ # that indicates these methods should not be consumed by end users. How this is
4786
+ # expressed is up to individual language implementations to decide. Some
4787
+ # examples may be: added annotations, obfuscated identifiers, or other language
4788
+ # idiomatic patterns.
4789
+ # Corresponds to the JSON property `generateOmittedAsInternal`
4790
+ # @return [Boolean]
4791
+ attr_accessor :generate_omitted_as_internal
4792
+ alias_method :generate_omitted_as_internal?, :generate_omitted_as_internal
4793
+
4794
+ # An allowlist of the fully qualified names of RPCs that should be included on
4795
+ # public client surfaces.
4796
+ # Corresponds to the JSON property `methods`
4797
+ # @return [Array<String>]
4798
+ attr_accessor :methods_prop
4799
+
4800
+ def initialize(**args)
4801
+ update!(**args)
4802
+ end
4803
+
4804
+ # Update properties of this object
4805
+ def update!(**args)
4806
+ @generate_omitted_as_internal = args[:generate_omitted_as_internal] if args.key?(:generate_omitted_as_internal)
4807
+ @methods_prop = args[:methods_prop] if args.key?(:methods_prop)
4808
+ end
4809
+ end
4810
+
3861
4811
  # Service identity for a service. This is the identity that service producer
3862
4812
  # should use to access consumer resources.
3863
4813
  class ServiceIdentity
@@ -4063,6 +5013,11 @@ module Google
4063
5013
  class Type
4064
5014
  include Google::Apis::Core::Hashable
4065
5015
 
5016
+ # The source edition string, only valid when syntax is SYNTAX_EDITIONS.
5017
+ # Corresponds to the JSON property `edition`
5018
+ # @return [String]
5019
+ attr_accessor :edition
5020
+
4066
5021
  # The list of fields.
4067
5022
  # Corresponds to the JSON property `fields`
4068
5023
  # @return [Array<Google::Apis::ServiceusageV1::Field>]
@@ -4100,6 +5055,7 @@ module Google
4100
5055
 
4101
5056
  # Update properties of this object
4102
5057
  def update!(**args)
5058
+ @edition = args[:edition] if args.key?(:edition)
4103
5059
  @fields = args[:fields] if args.key?(:fields)
4104
5060
  @name = args[:name] if args.key?(:name)
4105
5061
  @oneofs = args[:oneofs] if args.key?(:oneofs)
@@ -4124,6 +5080,19 @@ module Google
4124
5080
  end
4125
5081
  end
4126
5082
 
5083
+ # Metadata for the `UpdateConsumerPolicy` method.
5084
+ class UpdateConsumerPolicyMetadata
5085
+ include Google::Apis::Core::Hashable
5086
+
5087
+ def initialize(**args)
5088
+ update!(**args)
5089
+ end
5090
+
5091
+ # Update properties of this object
5092
+ def update!(**args)
5093
+ end
5094
+ end
5095
+
4127
5096
  # Configuration controlling usage of a service.
4128
5097
  class Usage
4129
5098
  include Google::Apis::Core::Hashable
@@ -4167,21 +5136,15 @@ module Google
4167
5136
  end
4168
5137
  end
4169
5138
 
4170
- # Usage configuration rules for the service. NOTE: Under development. Use this
4171
- # rule to configure unregistered calls for the service. Unregistered calls are
4172
- # calls that do not contain consumer project identity. (Example: calls that do
4173
- # not contain an API key). By default, API methods do not allow unregistered
4174
- # calls, and each method call must be identified by a consumer project identity.
4175
- # Use this rule to allow/disallow unregistered calls. Example of an API that
4176
- # wants to allow unregistered calls for entire service. usage: rules: - selector:
4177
- # "*" allow_unregistered_calls: true Example of a method that wants to allow
4178
- # unregistered calls. usage: rules: - selector: "google.example.library.v1.
4179
- # LibraryService.CreateBook" allow_unregistered_calls: true
5139
+ # Usage configuration rules for the service.
4180
5140
  class UsageRule
4181
5141
  include Google::Apis::Core::Hashable
4182
5142
 
4183
- # If true, the selected method allows unregistered calls, e.g. calls that don't
4184
- # identify any user or application.
5143
+ # Use this rule to configure unregistered calls for the service. Unregistered
5144
+ # calls are calls that do not contain consumer project identity. (Example: calls
5145
+ # that do not contain an API key). WARNING: By default, API methods do not allow
5146
+ # unregistered calls, and each method call must be identified by a consumer
5147
+ # project identity.
4185
5148
  # Corresponds to the JSON property `allowUnregisteredCalls`
4186
5149
  # @return [Boolean]
4187
5150
  attr_accessor :allow_unregistered_calls