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
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.trace.v2
python:
package_name: google.cloud.trace_v2.gapic
ruby:
package_name: Google::Cloud::Trace::V2
release_level: BETA
php:
package_name: Google\Cloud\Trace\V2
nodejs:
package_name: trace.v2
domain_layer_location: google-cloud
go:
package_name: cloud.google.com/go/trace/apiv2
csharp:
package_name: Google.Cloud.Trace.V2
# A list of API interface configurations.
interfaces:
# The fully qualified name of the API interface.
- name: google.devtools.cloudtrace.v2.TraceService
# 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}/traces/{trace}/spans/{span}
entity_name: span
# Definition for smoke test.
smoke_test:
method: BatchWriteSpans
init_fields:
- name%project=$PROJECT_ID
# 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.2
max_retry_delay_millis: 1000
initial_rpc_timeout_millis: 30000
rpc_timeout_multiplier: 1.5
max_rpc_timeout_millis: 60000
total_timeout_millis: 120000
# 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.
#
# 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: BatchWriteSpans
flattening:
groups:
- parameters:
- name
- spans
required_fields:
- name
- spans
retry_codes_name: non_idempotent
retry_params_name: default
field_name_patterns:
name: project
timeout_millis: 30000
resource_name_treatment: STATIC_TYPES
- name: CreateSpan
required_fields:
- name
- span_id
- display_name
- start_time
- end_time
retry_codes_name: idempotent
retry_params_name: default
field_name_patterns:
name: span
timeout_millis: 30000
resource_name_treatment: STATIC_TYPES
resource_name_generation:
- message_name: BatchWriteSpansRequest
field_entity_map:
name: project
- message_name: Span
field_entity_map:
name: span