1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
type: com.google.api.codegen.ConfigProto
config_schema_version: 1.0.0
# The settings of generated code in a specific language.
language_settings:
java:
package_name: com.google.cloud.devtools.containeranalysis.v1alpha1
python:
package_name: google.cloud.devtools.containeranalysis_v1alpha1.gapic
go:
package_name: cloud.google.com/go/devtools/containeranalysis/apiv1alpha1
csharp:
package_name: Google.Devtools.Containeranalysis.V1Alpha1
ruby:
package_name: Google::Cloud::Devtools::Containeranalysis::V1alpha1
php:
package_name: Google\Cloud\Devtools\Containeranalysis\V1alpha1
nodejs:
package_name: containeranalysis.v1alpha1
# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.devtools.containeranalysis.v1alpha1.ContainerAnalysis
# A list of resource collection configurations.
# Consists of a name_pattern and an entity_name.
# The name_pattern is a pattern to describe the names of the resources of this
# collection, using the platform's conventions for URI patterns. A generator
# may use this to generate methods to compose and decompose such names. The
# pattern should use named placeholders as in `shelves/{shelf}/books/{book}`;
# those will be taken as hints for the parameter names of the generated
# methods. If empty, no name methods are generated.
# The entity_name is the name to be used as a basis for generated methods and
# classes.
collections:
- name_pattern: projects/{project}
entity_name: project
language_overrides:
- language: csharp
common_resource_name: Google.Api.Gax.ResourceNames.ProjectName
- name_pattern: projects/{project}/notes/{note}
entity_name: note
- name_pattern: projects/{project}/occurrences/{occurrence}
entity_name: occurrence
# Definition for retryable codes.
retry_codes_def:
- name: idempotent
retry_codes:
- UNAVAILABLE
- DEADLINE_EXCEEDED
- name: non_idempotent
retry_codes:
# Definition for retry/backoff parameters.
retry_params_def:
- name: default
initial_retry_delay_millis: 100
retry_delay_multiplier: 1.3
max_retry_delay_millis: 60000
initial_rpc_timeout_millis: 20000
rpc_timeout_multiplier: 1
max_rpc_timeout_millis: 20000
total_timeout_millis: 600000
# A list of method configurations.
# Common properties:
# name - The simple name of the method.
# flattening - Specifies the configuration for parameter flattening.
# Describes the parameter groups for which a generator should produce
# method overloads which allow a client to directly pass request message
# fields as method parameters. This information may or may not be used,
# depending on the target language.
# Consists of groups, which each represent a list of parameters to be
# flattened. Each parameter listed must be a field of the request
# message.
# required_fields - Fields that are always required for a request to be
# valid.
#
# resource_name_treatment - An enum that specifies how to treat the
# resource name formats defined in the field_name_patterns
# and response_field_name_patterns fields.
# UNSET: default value
# NONE: the collection configs will not be used by the generated code.
# VALIDATE: string fields will be validated by the client against the
# specified resource name formats.
# STATIC_TYPES: the client will use generated types for resource names.
# page_streaming - Specifies the configuration for paging.
# Describes information for generating a method which transforms a
# paging list RPC into a stream of resources.
# Consists of a request and a response.
# The request specifies request information of the list method. It
# defines which fields match the paging pattern in the request. The
# request consists of a page_size_field and a token_field. The
# page_size_field is the name of the optional field specifying the
# maximum number of elements to be returned in the response. The
# token_field is the name of the field in the request containing the
# page token.
# The response specifies response information of the list method. It
# defines which fields match the paging pattern in the response. The
# response consists of a token_field and a resources_field. The
# token_field is the name of the field in the response containing the
# next page token. The resources_field is the name of the field in the
# response containing the list of resources belonging to the page.
# retry_codes_name - Specifies the configuration for retryable codes. The
# name must be defined in interfaces.retry_codes_def.
# retry_params_name - Specifies the configuration for retry/backoff
# parameters. The name must be defined in interfaces.retry_params_def.
# field_name_patterns - Maps the field name of the request type to
# entity_name of interfaces.collections.
# Specifies the string pattern that the field must follow.
# timeout_millis - Specifies the default timeout for a non-retrying call. If
# the call is retrying, refer to retry_params_name instead.
methods:
- name: GetOccurrence
flattening:
groups:
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: occurrence
timeout_millis: 60000
- name: ListOccurrences
flattening:
groups:
- parameters:
- parent
required_fields:
- parent
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: occurrences
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
parent: project
timeout_millis: 60000
- name: DeleteOccurrence
flattening:
groups:
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: occurrence
timeout_millis: 60000
- name: CreateOccurrence
flattening:
groups:
- parameters:
- parent
- occurrence
required_fields:
- parent
- occurrence
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
parent: project
timeout_millis: 60000
- name: UpdateOccurrence
flattening:
groups:
- parameters:
- name
- occurrence
required_fields:
- name
- occurrence
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
name: occurrence
timeout_millis: 60000
- name: GetOccurrenceNote
flattening:
groups:
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: occurrence
timeout_millis: 60000
- name: GetNote
flattening:
groups:
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: note
timeout_millis: 60000
- name: ListNotes
flattening:
groups:
- parameters:
- parent
required_fields:
- parent
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: notes
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
parent: project
timeout_millis: 60000
- name: DeleteNote
flattening:
groups:
- parameters:
- name
required_fields:
- name
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: note
timeout_millis: 60000
- name: CreateNote
flattening:
groups:
- parameters:
- parent
- note_id
- note
required_fields:
- parent
- note_id
- note
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
parent: project
timeout_millis: 60000
- name: UpdateNote
flattening:
groups:
- parameters:
- name
- note
required_fields:
- name
- note
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
name: note
timeout_millis: 60000
- name: ListNoteOccurrences
flattening:
groups:
- parameters:
- name
required_fields:
- name
page_streaming:
request:
page_size_field: page_size
token_field: page_token
response:
token_field: next_page_token
resources_field: occurrences
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: note
timeout_millis: 60000
- name: GetVulnzOccurrencesSummary
flattening:
groups:
- parameters:
- parent
required_fields:
- parent
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
parent: project
timeout_millis: 60000
- name: SetIamPolicy
flattening:
groups:
- parameters:
- resource
- policy
required_fields:
- resource
- policy
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: note
timeout_millis: 60000
- name: GetIamPolicy
flattening:
groups:
- parameters:
- resource
required_fields:
- resource
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: note
timeout_millis: 60000
- name: TestIamPermissions
flattening:
groups:
- parameters:
- resource
- permissions
required_fields:
- resource
- permissions
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
resource: note
timeout_millis: 60000