1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package metricsscope
18
19 import (
20 "context"
21 "fmt"
22 "math"
23 "net/url"
24
25 "cloud.google.com/go/longrunning"
26 lroauto "cloud.google.com/go/longrunning/autogen"
27 longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
28 metricsscopepb "cloud.google.com/go/monitoring/metricsscope/apiv1/metricsscopepb"
29 gax "github.com/googleapis/gax-go/v2"
30 "google.golang.org/api/option"
31 "google.golang.org/api/option/internaloption"
32 gtransport "google.golang.org/api/transport/grpc"
33 "google.golang.org/grpc"
34 )
35
36 var newMetricsScopesClientHook clientHook
37
38
39 type MetricsScopesCallOptions struct {
40 GetMetricsScope []gax.CallOption
41 ListMetricsScopesByMonitoredProject []gax.CallOption
42 CreateMonitoredProject []gax.CallOption
43 DeleteMonitoredProject []gax.CallOption
44 }
45
46 func defaultMetricsScopesGRPCClientOptions() []option.ClientOption {
47 return []option.ClientOption{
48 internaloption.WithDefaultEndpoint("monitoring.googleapis.com:443"),
49 internaloption.WithDefaultEndpointTemplate("monitoring.UNIVERSE_DOMAIN:443"),
50 internaloption.WithDefaultMTLSEndpoint("monitoring.mtls.googleapis.com:443"),
51 internaloption.WithDefaultUniverseDomain("googleapis.com"),
52 internaloption.WithDefaultAudience("https://monitoring.googleapis.com/"),
53 internaloption.WithDefaultScopes(DefaultAuthScopes()...),
54 internaloption.EnableJwtWithScope(),
55 option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
56 grpc.MaxCallRecvMsgSize(math.MaxInt32))),
57 }
58 }
59
60 func defaultMetricsScopesCallOptions() *MetricsScopesCallOptions {
61 return &MetricsScopesCallOptions{
62 GetMetricsScope: []gax.CallOption{},
63 ListMetricsScopesByMonitoredProject: []gax.CallOption{},
64 CreateMonitoredProject: []gax.CallOption{},
65 DeleteMonitoredProject: []gax.CallOption{},
66 }
67 }
68
69
70 type internalMetricsScopesClient interface {
71 Close() error
72 setGoogleClientInfo(...string)
73 Connection() *grpc.ClientConn
74 GetMetricsScope(context.Context, *metricsscopepb.GetMetricsScopeRequest, ...gax.CallOption) (*metricsscopepb.MetricsScope, error)
75 ListMetricsScopesByMonitoredProject(context.Context, *metricsscopepb.ListMetricsScopesByMonitoredProjectRequest, ...gax.CallOption) (*metricsscopepb.ListMetricsScopesByMonitoredProjectResponse, error)
76 CreateMonitoredProject(context.Context, *metricsscopepb.CreateMonitoredProjectRequest, ...gax.CallOption) (*CreateMonitoredProjectOperation, error)
77 CreateMonitoredProjectOperation(name string) *CreateMonitoredProjectOperation
78 DeleteMonitoredProject(context.Context, *metricsscopepb.DeleteMonitoredProjectRequest, ...gax.CallOption) (*DeleteMonitoredProjectOperation, error)
79 DeleteMonitoredProjectOperation(name string) *DeleteMonitoredProjectOperation
80 }
81
82
83
84
85
86
87 type MetricsScopesClient struct {
88
89 internalClient internalMetricsScopesClient
90
91
92 CallOptions *MetricsScopesCallOptions
93
94
95
96
97 LROClient *lroauto.OperationsClient
98 }
99
100
101
102
103
104 func (c *MetricsScopesClient) Close() error {
105 return c.internalClient.Close()
106 }
107
108
109
110
111 func (c *MetricsScopesClient) setGoogleClientInfo(keyval ...string) {
112 c.internalClient.setGoogleClientInfo(keyval...)
113 }
114
115
116
117
118
119 func (c *MetricsScopesClient) Connection() *grpc.ClientConn {
120 return c.internalClient.Connection()
121 }
122
123
124 func (c *MetricsScopesClient) GetMetricsScope(ctx context.Context, req *metricsscopepb.GetMetricsScopeRequest, opts ...gax.CallOption) (*metricsscopepb.MetricsScope, error) {
125 return c.internalClient.GetMetricsScope(ctx, req, opts...)
126 }
127
128
129
130
131 func (c *MetricsScopesClient) ListMetricsScopesByMonitoredProject(ctx context.Context, req *metricsscopepb.ListMetricsScopesByMonitoredProjectRequest, opts ...gax.CallOption) (*metricsscopepb.ListMetricsScopesByMonitoredProjectResponse, error) {
132 return c.internalClient.ListMetricsScopesByMonitoredProject(ctx, req, opts...)
133 }
134
135
136
137 func (c *MetricsScopesClient) CreateMonitoredProject(ctx context.Context, req *metricsscopepb.CreateMonitoredProjectRequest, opts ...gax.CallOption) (*CreateMonitoredProjectOperation, error) {
138 return c.internalClient.CreateMonitoredProject(ctx, req, opts...)
139 }
140
141
142
143 func (c *MetricsScopesClient) CreateMonitoredProjectOperation(name string) *CreateMonitoredProjectOperation {
144 return c.internalClient.CreateMonitoredProjectOperation(name)
145 }
146
147
148 func (c *MetricsScopesClient) DeleteMonitoredProject(ctx context.Context, req *metricsscopepb.DeleteMonitoredProjectRequest, opts ...gax.CallOption) (*DeleteMonitoredProjectOperation, error) {
149 return c.internalClient.DeleteMonitoredProject(ctx, req, opts...)
150 }
151
152
153
154 func (c *MetricsScopesClient) DeleteMonitoredProjectOperation(name string) *DeleteMonitoredProjectOperation {
155 return c.internalClient.DeleteMonitoredProjectOperation(name)
156 }
157
158
159
160
161 type metricsScopesGRPCClient struct {
162
163 connPool gtransport.ConnPool
164
165
166 CallOptions **MetricsScopesCallOptions
167
168
169 metricsScopesClient metricsscopepb.MetricsScopesClient
170
171
172
173
174 LROClient **lroauto.OperationsClient
175
176
177 xGoogHeaders []string
178 }
179
180
181
182
183
184
185 func NewMetricsScopesClient(ctx context.Context, opts ...option.ClientOption) (*MetricsScopesClient, error) {
186 clientOpts := defaultMetricsScopesGRPCClientOptions()
187 if newMetricsScopesClientHook != nil {
188 hookOpts, err := newMetricsScopesClientHook(ctx, clientHookParams{})
189 if err != nil {
190 return nil, err
191 }
192 clientOpts = append(clientOpts, hookOpts...)
193 }
194
195 connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...)
196 if err != nil {
197 return nil, err
198 }
199 client := MetricsScopesClient{CallOptions: defaultMetricsScopesCallOptions()}
200
201 c := &metricsScopesGRPCClient{
202 connPool: connPool,
203 metricsScopesClient: metricsscopepb.NewMetricsScopesClient(connPool),
204 CallOptions: &client.CallOptions,
205 }
206 c.setGoogleClientInfo()
207
208 client.internalClient = c
209
210 client.LROClient, err = lroauto.NewOperationsClient(ctx, gtransport.WithConnPool(connPool))
211 if err != nil {
212
213
214
215
216
217
218 return nil, err
219 }
220 c.LROClient = &client.LROClient
221 return &client, nil
222 }
223
224
225
226
227
228 func (c *metricsScopesGRPCClient) Connection() *grpc.ClientConn {
229 return c.connPool.Conn()
230 }
231
232
233
234
235 func (c *metricsScopesGRPCClient) setGoogleClientInfo(keyval ...string) {
236 kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
237 kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
238 c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)}
239 }
240
241
242
243 func (c *metricsScopesGRPCClient) Close() error {
244 return c.connPool.Close()
245 }
246
247 func (c *metricsScopesGRPCClient) GetMetricsScope(ctx context.Context, req *metricsscopepb.GetMetricsScopeRequest, opts ...gax.CallOption) (*metricsscopepb.MetricsScope, error) {
248 hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}
249
250 hds = append(c.xGoogHeaders, hds...)
251 ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
252 opts = append((*c.CallOptions).GetMetricsScope[0:len((*c.CallOptions).GetMetricsScope):len((*c.CallOptions).GetMetricsScope)], opts...)
253 var resp *metricsscopepb.MetricsScope
254 err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
255 var err error
256 resp, err = c.metricsScopesClient.GetMetricsScope(ctx, req, settings.GRPC...)
257 return err
258 }, opts...)
259 if err != nil {
260 return nil, err
261 }
262 return resp, nil
263 }
264
265 func (c *metricsScopesGRPCClient) ListMetricsScopesByMonitoredProject(ctx context.Context, req *metricsscopepb.ListMetricsScopesByMonitoredProjectRequest, opts ...gax.CallOption) (*metricsscopepb.ListMetricsScopesByMonitoredProjectResponse, error) {
266 ctx = gax.InsertMetadataIntoOutgoingContext(ctx, c.xGoogHeaders...)
267 opts = append((*c.CallOptions).ListMetricsScopesByMonitoredProject[0:len((*c.CallOptions).ListMetricsScopesByMonitoredProject):len((*c.CallOptions).ListMetricsScopesByMonitoredProject)], opts...)
268 var resp *metricsscopepb.ListMetricsScopesByMonitoredProjectResponse
269 err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
270 var err error
271 resp, err = c.metricsScopesClient.ListMetricsScopesByMonitoredProject(ctx, req, settings.GRPC...)
272 return err
273 }, opts...)
274 if err != nil {
275 return nil, err
276 }
277 return resp, nil
278 }
279
280 func (c *metricsScopesGRPCClient) CreateMonitoredProject(ctx context.Context, req *metricsscopepb.CreateMonitoredProjectRequest, opts ...gax.CallOption) (*CreateMonitoredProjectOperation, error) {
281 hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent()))}
282
283 hds = append(c.xGoogHeaders, hds...)
284 ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
285 opts = append((*c.CallOptions).CreateMonitoredProject[0:len((*c.CallOptions).CreateMonitoredProject):len((*c.CallOptions).CreateMonitoredProject)], opts...)
286 var resp *longrunningpb.Operation
287 err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
288 var err error
289 resp, err = c.metricsScopesClient.CreateMonitoredProject(ctx, req, settings.GRPC...)
290 return err
291 }, opts...)
292 if err != nil {
293 return nil, err
294 }
295 return &CreateMonitoredProjectOperation{
296 lro: longrunning.InternalNewOperation(*c.LROClient, resp),
297 }, nil
298 }
299
300 func (c *metricsScopesGRPCClient) DeleteMonitoredProject(ctx context.Context, req *metricsscopepb.DeleteMonitoredProjectRequest, opts ...gax.CallOption) (*DeleteMonitoredProjectOperation, error) {
301 hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName()))}
302
303 hds = append(c.xGoogHeaders, hds...)
304 ctx = gax.InsertMetadataIntoOutgoingContext(ctx, hds...)
305 opts = append((*c.CallOptions).DeleteMonitoredProject[0:len((*c.CallOptions).DeleteMonitoredProject):len((*c.CallOptions).DeleteMonitoredProject)], opts...)
306 var resp *longrunningpb.Operation
307 err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
308 var err error
309 resp, err = c.metricsScopesClient.DeleteMonitoredProject(ctx, req, settings.GRPC...)
310 return err
311 }, opts...)
312 if err != nil {
313 return nil, err
314 }
315 return &DeleteMonitoredProjectOperation{
316 lro: longrunning.InternalNewOperation(*c.LROClient, resp),
317 }, nil
318 }
319
320
321
322 func (c *metricsScopesGRPCClient) CreateMonitoredProjectOperation(name string) *CreateMonitoredProjectOperation {
323 return &CreateMonitoredProjectOperation{
324 lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}),
325 }
326 }
327
328
329
330 func (c *metricsScopesGRPCClient) DeleteMonitoredProjectOperation(name string) *DeleteMonitoredProjectOperation {
331 return &DeleteMonitoredProjectOperation{
332 lro: longrunning.InternalNewOperation(*c.LROClient, &longrunningpb.Operation{Name: name}),
333 }
334 }
335
View as plain text