dns_zone.go raw
1 // Code generated by sdkgen-v2. DO NOT EDIT.
2 package dnssdk
3
4 import (
5 "context"
6
7 access "github.com/yandex-cloud/go-genproto/yandex/cloud/access"
8 dns "github.com/yandex-cloud/go-genproto/yandex/cloud/dns/v1"
9 operation "github.com/yandex-cloud/go-genproto/yandex/cloud/operation"
10 sdkop "github.com/yandex-cloud/go-sdk/v2/pkg/operation"
11 "github.com/yandex-cloud/go-sdk/v2/pkg/transport"
12 "google.golang.org/grpc"
13 proto "google.golang.org/protobuf/proto"
14 "google.golang.org/protobuf/reflect/protoreflect"
15 emptypb "google.golang.org/protobuf/types/known/emptypb"
16 )
17
18 // DnsZoneClient provides methods for managing DnsZone resources of Yandex.Cloud Dns.
19 type DnsZoneClient interface {
20 Get(context.Context, *dns.GetDnsZoneRequest, ...grpc.CallOption) (*dns.DnsZone, error)
21 List(context.Context, *dns.ListDnsZonesRequest, ...grpc.CallOption) (*dns.ListDnsZonesResponse, error)
22 Create(context.Context, *dns.CreateDnsZoneRequest, ...grpc.CallOption) (*DnsZoneCreateOperation, error)
23 Update(context.Context, *dns.UpdateDnsZoneRequest, ...grpc.CallOption) (*DnsZoneUpdateOperation, error)
24 Move(context.Context, *dns.MoveDnsZoneRequest, ...grpc.CallOption) (*DnsZoneMoveOperation, error)
25 Delete(context.Context, *dns.DeleteDnsZoneRequest, ...grpc.CallOption) (*DnsZoneDeleteOperation, error)
26 GetRecordSet(context.Context, *dns.GetDnsZoneRecordSetRequest, ...grpc.CallOption) (*dns.RecordSet, error)
27 ListRecordSets(context.Context, *dns.ListDnsZoneRecordSetsRequest, ...grpc.CallOption) (*dns.ListDnsZoneRecordSetsResponse, error)
28 UpdateRecordSets(context.Context, *dns.UpdateRecordSetsRequest, ...grpc.CallOption) (*DnsZoneUpdateRecordSetsOperation, error)
29 UpsertRecordSets(context.Context, *dns.UpsertRecordSetsRequest, ...grpc.CallOption) (*DnsZoneUpsertRecordSetsOperation, error)
30 ListOperations(context.Context, *dns.ListDnsZoneOperationsRequest, ...grpc.CallOption) (*dns.ListDnsZoneOperationsResponse, error)
31 ListAccessBindings(context.Context, *access.ListAccessBindingsRequest, ...grpc.CallOption) (*access.ListAccessBindingsResponse, error)
32 SetAccessBindings(context.Context, *access.SetAccessBindingsRequest, ...grpc.CallOption) (*DnsZoneSetAccessBindingsOperation, error)
33 UpdateAccessBindings(context.Context, *access.UpdateAccessBindingsRequest, ...grpc.CallOption) (*DnsZoneUpdateAccessBindingsOperation, error)
34 UpdatePrivateNetworks(context.Context, *dns.UpdateDnsZonePrivateNetworksRequest, ...grpc.CallOption) (*DnsZoneUpdatePrivateNetworksOperation, error)
35 }
36
37 var _ DnsZoneClient = dnsZoneClient{}
38
39 type dnsZoneClient struct {
40 connector transport.Connector
41 }
42
43 // NewDnsZoneClient returns DnsZoneClient implementation.
44 func NewDnsZoneClient(connector transport.Connector) DnsZoneClient {
45 return dnsZoneClient{connector}
46 }
47
48 // Get is an operation of Yandex.Cloud Dns DnsZone service.
49 func (c dnsZoneClient) Get(ctx context.Context, in *dns.GetDnsZoneRequest, opts ...grpc.CallOption) (*dns.DnsZone, error) {
50 connection, err := c.connector.GetConnection(ctx, DnsZoneGet, opts...)
51 if err != nil {
52 return nil, err
53 }
54 return dns.NewDnsZoneServiceClient(connection).Get(ctx, in, opts...)
55 }
56
57 // List is an operation of Yandex.Cloud Dns DnsZone service.
58 func (c dnsZoneClient) List(ctx context.Context, in *dns.ListDnsZonesRequest, opts ...grpc.CallOption) (*dns.ListDnsZonesResponse, error) {
59 connection, err := c.connector.GetConnection(ctx, DnsZoneList, opts...)
60 if err != nil {
61 return nil, err
62 }
63 return dns.NewDnsZoneServiceClient(connection).List(ctx, in, opts...)
64 }
65
66 // DnsZoneCreateOperation is used to monitor the state of Create operations.
67 type DnsZoneCreateOperation struct {
68 sdkop.Operation
69 }
70
71 // Metadata retrieves the operation metadata.
72 func (o *DnsZoneCreateOperation) Metadata() *dns.CreateDnsZoneMetadata {
73 return o.Operation.Metadata().(*dns.CreateDnsZoneMetadata)
74 }
75
76 // Response retrieves the operation response.
77 func (o *DnsZoneCreateOperation) Response() *dns.DnsZone {
78 return o.Operation.Response().(*dns.DnsZone)
79 }
80
81 // Wait polls the operation until it's done.
82 func (o *DnsZoneCreateOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*dns.DnsZone, error) {
83 abstract, err := o.Operation.Wait(ctx, opts...)
84 response, _ := abstract.(*dns.DnsZone)
85 return response, err
86 }
87
88 // WaitInterval polls the operation until it's done with custom interval.
89 func (o *DnsZoneCreateOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*dns.DnsZone, error) {
90 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
91 response, _ := abstract.(*dns.DnsZone)
92 return response, err
93 }
94
95 // Create is an operation of Yandex.Cloud Dns DnsZone service.
96 // It returns an object which should be used to monitor the operation state.
97 func (c dnsZoneClient) Create(ctx context.Context, in *dns.CreateDnsZoneRequest, opts ...grpc.CallOption) (*DnsZoneCreateOperation, error) {
98 connection, err := c.connector.GetConnection(ctx, DnsZoneCreate, opts...)
99 if err != nil {
100 return nil, err
101 }
102 pb, err := dns.NewDnsZoneServiceClient(connection).Create(ctx, in, opts...)
103 if err != nil {
104 return nil, err
105 }
106 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
107 Poll: c.pollOperation,
108 GetResourceID: func(metadata proto.Message) string {
109 return metadata.(*dns.CreateDnsZoneMetadata).GetDnsZoneId()
110 },
111 MetadataType: (*dns.CreateDnsZoneMetadata)(nil),
112 ResponseType: (*dns.DnsZone)(nil),
113 })
114 if err != nil {
115 return nil, err
116 }
117 return &DnsZoneCreateOperation{*op}, nil
118 }
119
120 // DnsZoneUpdateOperation is used to monitor the state of Update operations.
121 type DnsZoneUpdateOperation struct {
122 sdkop.Operation
123 }
124
125 // Metadata retrieves the operation metadata.
126 func (o *DnsZoneUpdateOperation) Metadata() *dns.UpdateDnsZoneMetadata {
127 return o.Operation.Metadata().(*dns.UpdateDnsZoneMetadata)
128 }
129
130 // Response retrieves the operation response.
131 func (o *DnsZoneUpdateOperation) Response() *dns.DnsZone {
132 return o.Operation.Response().(*dns.DnsZone)
133 }
134
135 // Wait polls the operation until it's done.
136 func (o *DnsZoneUpdateOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*dns.DnsZone, error) {
137 abstract, err := o.Operation.Wait(ctx, opts...)
138 response, _ := abstract.(*dns.DnsZone)
139 return response, err
140 }
141
142 // WaitInterval polls the operation until it's done with custom interval.
143 func (o *DnsZoneUpdateOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*dns.DnsZone, error) {
144 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
145 response, _ := abstract.(*dns.DnsZone)
146 return response, err
147 }
148
149 // Update is an operation of Yandex.Cloud Dns DnsZone service.
150 // It returns an object which should be used to monitor the operation state.
151 func (c dnsZoneClient) Update(ctx context.Context, in *dns.UpdateDnsZoneRequest, opts ...grpc.CallOption) (*DnsZoneUpdateOperation, error) {
152 connection, err := c.connector.GetConnection(ctx, DnsZoneUpdate, opts...)
153 if err != nil {
154 return nil, err
155 }
156 pb, err := dns.NewDnsZoneServiceClient(connection).Update(ctx, in, opts...)
157 if err != nil {
158 return nil, err
159 }
160 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
161 Poll: c.pollOperation,
162 GetResourceID: func(metadata proto.Message) string {
163 return metadata.(*dns.UpdateDnsZoneMetadata).GetDnsZoneId()
164 },
165 MetadataType: (*dns.UpdateDnsZoneMetadata)(nil),
166 ResponseType: (*dns.DnsZone)(nil),
167 })
168 if err != nil {
169 return nil, err
170 }
171 return &DnsZoneUpdateOperation{*op}, nil
172 }
173
174 // DnsZoneMoveOperation is used to monitor the state of Move operations.
175 type DnsZoneMoveOperation struct {
176 sdkop.Operation
177 }
178
179 // Metadata retrieves the operation metadata.
180 func (o *DnsZoneMoveOperation) Metadata() *dns.MoveDnsZoneMetadata {
181 return o.Operation.Metadata().(*dns.MoveDnsZoneMetadata)
182 }
183
184 // Response retrieves the operation response.
185 func (o *DnsZoneMoveOperation) Response() *dns.DnsZone {
186 return o.Operation.Response().(*dns.DnsZone)
187 }
188
189 // Wait polls the operation until it's done.
190 func (o *DnsZoneMoveOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*dns.DnsZone, error) {
191 abstract, err := o.Operation.Wait(ctx, opts...)
192 response, _ := abstract.(*dns.DnsZone)
193 return response, err
194 }
195
196 // WaitInterval polls the operation until it's done with custom interval.
197 func (o *DnsZoneMoveOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*dns.DnsZone, error) {
198 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
199 response, _ := abstract.(*dns.DnsZone)
200 return response, err
201 }
202
203 // Move is an operation of Yandex.Cloud Dns DnsZone service.
204 // It returns an object which should be used to monitor the operation state.
205 func (c dnsZoneClient) Move(ctx context.Context, in *dns.MoveDnsZoneRequest, opts ...grpc.CallOption) (*DnsZoneMoveOperation, error) {
206 connection, err := c.connector.GetConnection(ctx, DnsZoneMove, opts...)
207 if err != nil {
208 return nil, err
209 }
210 pb, err := dns.NewDnsZoneServiceClient(connection).Move(ctx, in, opts...)
211 if err != nil {
212 return nil, err
213 }
214 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
215 Poll: c.pollOperation,
216 GetResourceID: func(metadata proto.Message) string {
217 return metadata.(*dns.MoveDnsZoneMetadata).GetDnsZoneId()
218 },
219 MetadataType: (*dns.MoveDnsZoneMetadata)(nil),
220 ResponseType: (*dns.DnsZone)(nil),
221 })
222 if err != nil {
223 return nil, err
224 }
225 return &DnsZoneMoveOperation{*op}, nil
226 }
227
228 // DnsZoneDeleteOperation is used to monitor the state of Delete operations.
229 type DnsZoneDeleteOperation struct {
230 sdkop.Operation
231 }
232
233 // Metadata retrieves the operation metadata.
234 func (o *DnsZoneDeleteOperation) Metadata() *dns.DeleteDnsZoneMetadata {
235 return o.Operation.Metadata().(*dns.DeleteDnsZoneMetadata)
236 }
237
238 // Response retrieves the operation response.
239 func (o *DnsZoneDeleteOperation) Response() *emptypb.Empty {
240 return o.Operation.Response().(*emptypb.Empty)
241 }
242
243 // Wait polls the operation until it's done.
244 func (o *DnsZoneDeleteOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*emptypb.Empty, error) {
245 abstract, err := o.Operation.Wait(ctx, opts...)
246 response, _ := abstract.(*emptypb.Empty)
247 return response, err
248 }
249
250 // WaitInterval polls the operation until it's done with custom interval.
251 func (o *DnsZoneDeleteOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*emptypb.Empty, error) {
252 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
253 response, _ := abstract.(*emptypb.Empty)
254 return response, err
255 }
256
257 // Delete is an operation of Yandex.Cloud Dns DnsZone service.
258 // It returns an object which should be used to monitor the operation state.
259 func (c dnsZoneClient) Delete(ctx context.Context, in *dns.DeleteDnsZoneRequest, opts ...grpc.CallOption) (*DnsZoneDeleteOperation, error) {
260 connection, err := c.connector.GetConnection(ctx, DnsZoneDelete, opts...)
261 if err != nil {
262 return nil, err
263 }
264 pb, err := dns.NewDnsZoneServiceClient(connection).Delete(ctx, in, opts...)
265 if err != nil {
266 return nil, err
267 }
268 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
269 Poll: c.pollOperation,
270 GetResourceID: func(metadata proto.Message) string {
271 return metadata.(*dns.DeleteDnsZoneMetadata).GetDnsZoneId()
272 },
273 MetadataType: (*dns.DeleteDnsZoneMetadata)(nil),
274 ResponseType: (*emptypb.Empty)(nil),
275 })
276 if err != nil {
277 return nil, err
278 }
279 return &DnsZoneDeleteOperation{*op}, nil
280 }
281
282 // GetRecordSet is an operation of Yandex.Cloud Dns DnsZone service.
283 func (c dnsZoneClient) GetRecordSet(ctx context.Context, in *dns.GetDnsZoneRecordSetRequest, opts ...grpc.CallOption) (*dns.RecordSet, error) {
284 connection, err := c.connector.GetConnection(ctx, DnsZoneGetRecordSet, opts...)
285 if err != nil {
286 return nil, err
287 }
288 return dns.NewDnsZoneServiceClient(connection).GetRecordSet(ctx, in, opts...)
289 }
290
291 // ListRecordSets is an operation of Yandex.Cloud Dns DnsZone service.
292 func (c dnsZoneClient) ListRecordSets(ctx context.Context, in *dns.ListDnsZoneRecordSetsRequest, opts ...grpc.CallOption) (*dns.ListDnsZoneRecordSetsResponse, error) {
293 connection, err := c.connector.GetConnection(ctx, DnsZoneListRecordSets, opts...)
294 if err != nil {
295 return nil, err
296 }
297 return dns.NewDnsZoneServiceClient(connection).ListRecordSets(ctx, in, opts...)
298 }
299
300 // DnsZoneUpdateRecordSetsOperation is used to monitor the state of UpdateRecordSets operations.
301 type DnsZoneUpdateRecordSetsOperation struct {
302 sdkop.Operation
303 }
304
305 // Metadata retrieves the operation metadata.
306 func (o *DnsZoneUpdateRecordSetsOperation) Metadata() *dns.UpdateRecordSetsMetadata {
307 return o.Operation.Metadata().(*dns.UpdateRecordSetsMetadata)
308 }
309
310 // Response retrieves the operation response.
311 func (o *DnsZoneUpdateRecordSetsOperation) Response() *dns.RecordSetDiff {
312 return o.Operation.Response().(*dns.RecordSetDiff)
313 }
314
315 // Wait polls the operation until it's done.
316 func (o *DnsZoneUpdateRecordSetsOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*dns.RecordSetDiff, error) {
317 abstract, err := o.Operation.Wait(ctx, opts...)
318 response, _ := abstract.(*dns.RecordSetDiff)
319 return response, err
320 }
321
322 // WaitInterval polls the operation until it's done with custom interval.
323 func (o *DnsZoneUpdateRecordSetsOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*dns.RecordSetDiff, error) {
324 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
325 response, _ := abstract.(*dns.RecordSetDiff)
326 return response, err
327 }
328
329 // UpdateRecordSets is an operation of Yandex.Cloud Dns DnsZone service.
330 // It returns an object which should be used to monitor the operation state.
331 func (c dnsZoneClient) UpdateRecordSets(ctx context.Context, in *dns.UpdateRecordSetsRequest, opts ...grpc.CallOption) (*DnsZoneUpdateRecordSetsOperation, error) {
332 connection, err := c.connector.GetConnection(ctx, DnsZoneUpdateRecordSets, opts...)
333 if err != nil {
334 return nil, err
335 }
336 pb, err := dns.NewDnsZoneServiceClient(connection).UpdateRecordSets(ctx, in, opts...)
337 if err != nil {
338 return nil, err
339 }
340 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
341 Poll: c.pollOperation,
342 MetadataType: (*dns.UpdateRecordSetsMetadata)(nil),
343 ResponseType: (*dns.RecordSetDiff)(nil),
344 })
345 if err != nil {
346 return nil, err
347 }
348 return &DnsZoneUpdateRecordSetsOperation{*op}, nil
349 }
350
351 // DnsZoneUpsertRecordSetsOperation is used to monitor the state of UpsertRecordSets operations.
352 type DnsZoneUpsertRecordSetsOperation struct {
353 sdkop.Operation
354 }
355
356 // Metadata retrieves the operation metadata.
357 func (o *DnsZoneUpsertRecordSetsOperation) Metadata() *dns.UpsertRecordSetsMetadata {
358 return o.Operation.Metadata().(*dns.UpsertRecordSetsMetadata)
359 }
360
361 // Response retrieves the operation response.
362 func (o *DnsZoneUpsertRecordSetsOperation) Response() *dns.RecordSetDiff {
363 return o.Operation.Response().(*dns.RecordSetDiff)
364 }
365
366 // Wait polls the operation until it's done.
367 func (o *DnsZoneUpsertRecordSetsOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*dns.RecordSetDiff, error) {
368 abstract, err := o.Operation.Wait(ctx, opts...)
369 response, _ := abstract.(*dns.RecordSetDiff)
370 return response, err
371 }
372
373 // WaitInterval polls the operation until it's done with custom interval.
374 func (o *DnsZoneUpsertRecordSetsOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*dns.RecordSetDiff, error) {
375 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
376 response, _ := abstract.(*dns.RecordSetDiff)
377 return response, err
378 }
379
380 // UpsertRecordSets is an operation of Yandex.Cloud Dns DnsZone service.
381 // It returns an object which should be used to monitor the operation state.
382 func (c dnsZoneClient) UpsertRecordSets(ctx context.Context, in *dns.UpsertRecordSetsRequest, opts ...grpc.CallOption) (*DnsZoneUpsertRecordSetsOperation, error) {
383 connection, err := c.connector.GetConnection(ctx, DnsZoneUpsertRecordSets, opts...)
384 if err != nil {
385 return nil, err
386 }
387 pb, err := dns.NewDnsZoneServiceClient(connection).UpsertRecordSets(ctx, in, opts...)
388 if err != nil {
389 return nil, err
390 }
391 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
392 Poll: c.pollOperation,
393 MetadataType: (*dns.UpsertRecordSetsMetadata)(nil),
394 ResponseType: (*dns.RecordSetDiff)(nil),
395 })
396 if err != nil {
397 return nil, err
398 }
399 return &DnsZoneUpsertRecordSetsOperation{*op}, nil
400 }
401
402 // ListOperations is an operation of Yandex.Cloud Dns DnsZone service.
403 func (c dnsZoneClient) ListOperations(ctx context.Context, in *dns.ListDnsZoneOperationsRequest, opts ...grpc.CallOption) (*dns.ListDnsZoneOperationsResponse, error) {
404 connection, err := c.connector.GetConnection(ctx, DnsZoneListOperations, opts...)
405 if err != nil {
406 return nil, err
407 }
408 return dns.NewDnsZoneServiceClient(connection).ListOperations(ctx, in, opts...)
409 }
410
411 // ListAccessBindings is an operation of Yandex.Cloud Dns DnsZone service.
412 func (c dnsZoneClient) ListAccessBindings(ctx context.Context, in *access.ListAccessBindingsRequest, opts ...grpc.CallOption) (*access.ListAccessBindingsResponse, error) {
413 connection, err := c.connector.GetConnection(ctx, DnsZoneListAccessBindings, opts...)
414 if err != nil {
415 return nil, err
416 }
417 return dns.NewDnsZoneServiceClient(connection).ListAccessBindings(ctx, in, opts...)
418 }
419
420 // DnsZoneSetAccessBindingsOperation is used to monitor the state of SetAccessBindings operations.
421 type DnsZoneSetAccessBindingsOperation struct {
422 sdkop.Operation
423 }
424
425 // Metadata retrieves the operation metadata.
426 func (o *DnsZoneSetAccessBindingsOperation) Metadata() *access.SetAccessBindingsMetadata {
427 return o.Operation.Metadata().(*access.SetAccessBindingsMetadata)
428 }
429
430 // Response retrieves the operation response.
431 func (o *DnsZoneSetAccessBindingsOperation) Response() *emptypb.Empty {
432 return o.Operation.Response().(*emptypb.Empty)
433 }
434
435 // Wait polls the operation until it's done.
436 func (o *DnsZoneSetAccessBindingsOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*emptypb.Empty, error) {
437 abstract, err := o.Operation.Wait(ctx, opts...)
438 response, _ := abstract.(*emptypb.Empty)
439 return response, err
440 }
441
442 // WaitInterval polls the operation until it's done with custom interval.
443 func (o *DnsZoneSetAccessBindingsOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*emptypb.Empty, error) {
444 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
445 response, _ := abstract.(*emptypb.Empty)
446 return response, err
447 }
448
449 // SetAccessBindings is an operation of Yandex.Cloud Dns DnsZone service.
450 // It returns an object which should be used to monitor the operation state.
451 func (c dnsZoneClient) SetAccessBindings(ctx context.Context, in *access.SetAccessBindingsRequest, opts ...grpc.CallOption) (*DnsZoneSetAccessBindingsOperation, error) {
452 connection, err := c.connector.GetConnection(ctx, DnsZoneSetAccessBindings, opts...)
453 if err != nil {
454 return nil, err
455 }
456 pb, err := dns.NewDnsZoneServiceClient(connection).SetAccessBindings(ctx, in, opts...)
457 if err != nil {
458 return nil, err
459 }
460 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
461 Poll: c.pollOperation,
462 MetadataType: (*access.SetAccessBindingsMetadata)(nil),
463 ResponseType: (*emptypb.Empty)(nil),
464 })
465 if err != nil {
466 return nil, err
467 }
468 return &DnsZoneSetAccessBindingsOperation{*op}, nil
469 }
470
471 // DnsZoneUpdateAccessBindingsOperation is used to monitor the state of UpdateAccessBindings operations.
472 type DnsZoneUpdateAccessBindingsOperation struct {
473 sdkop.Operation
474 }
475
476 // Metadata retrieves the operation metadata.
477 func (o *DnsZoneUpdateAccessBindingsOperation) Metadata() *access.UpdateAccessBindingsMetadata {
478 return o.Operation.Metadata().(*access.UpdateAccessBindingsMetadata)
479 }
480
481 // Response retrieves the operation response.
482 func (o *DnsZoneUpdateAccessBindingsOperation) Response() *emptypb.Empty {
483 return o.Operation.Response().(*emptypb.Empty)
484 }
485
486 // Wait polls the operation until it's done.
487 func (o *DnsZoneUpdateAccessBindingsOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*emptypb.Empty, error) {
488 abstract, err := o.Operation.Wait(ctx, opts...)
489 response, _ := abstract.(*emptypb.Empty)
490 return response, err
491 }
492
493 // WaitInterval polls the operation until it's done with custom interval.
494 func (o *DnsZoneUpdateAccessBindingsOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*emptypb.Empty, error) {
495 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
496 response, _ := abstract.(*emptypb.Empty)
497 return response, err
498 }
499
500 // UpdateAccessBindings is an operation of Yandex.Cloud Dns DnsZone service.
501 // It returns an object which should be used to monitor the operation state.
502 func (c dnsZoneClient) UpdateAccessBindings(ctx context.Context, in *access.UpdateAccessBindingsRequest, opts ...grpc.CallOption) (*DnsZoneUpdateAccessBindingsOperation, error) {
503 connection, err := c.connector.GetConnection(ctx, DnsZoneUpdateAccessBindings, opts...)
504 if err != nil {
505 return nil, err
506 }
507 pb, err := dns.NewDnsZoneServiceClient(connection).UpdateAccessBindings(ctx, in, opts...)
508 if err != nil {
509 return nil, err
510 }
511 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
512 Poll: c.pollOperation,
513 MetadataType: (*access.UpdateAccessBindingsMetadata)(nil),
514 ResponseType: (*emptypb.Empty)(nil),
515 })
516 if err != nil {
517 return nil, err
518 }
519 return &DnsZoneUpdateAccessBindingsOperation{*op}, nil
520 }
521
522 // DnsZoneUpdatePrivateNetworksOperation is used to monitor the state of UpdatePrivateNetworks operations.
523 type DnsZoneUpdatePrivateNetworksOperation struct {
524 sdkop.Operation
525 }
526
527 // Metadata retrieves the operation metadata.
528 func (o *DnsZoneUpdatePrivateNetworksOperation) Metadata() *dns.UpdateDnsZonePrivateNetworksMetadata {
529 return o.Operation.Metadata().(*dns.UpdateDnsZonePrivateNetworksMetadata)
530 }
531
532 // Response retrieves the operation response.
533 func (o *DnsZoneUpdatePrivateNetworksOperation) Response() *dns.DnsZone {
534 return o.Operation.Response().(*dns.DnsZone)
535 }
536
537 // Wait polls the operation until it's done.
538 func (o *DnsZoneUpdatePrivateNetworksOperation) Wait(ctx context.Context, opts ...grpc.CallOption) (*dns.DnsZone, error) {
539 abstract, err := o.Operation.Wait(ctx, opts...)
540 response, _ := abstract.(*dns.DnsZone)
541 return response, err
542 }
543
544 // WaitInterval polls the operation until it's done with custom interval.
545 func (o *DnsZoneUpdatePrivateNetworksOperation) WaitInterval(ctx context.Context, pollInterval sdkop.PollIntervalFunc, opts ...grpc.CallOption) (*dns.DnsZone, error) {
546 abstract, err := o.Operation.WaitInterval(ctx, pollInterval, opts...)
547 response, _ := abstract.(*dns.DnsZone)
548 return response, err
549 }
550
551 // UpdatePrivateNetworks is an operation of Yandex.Cloud Dns DnsZone service.
552 // It returns an object which should be used to monitor the operation state.
553 func (c dnsZoneClient) UpdatePrivateNetworks(ctx context.Context, in *dns.UpdateDnsZonePrivateNetworksRequest, opts ...grpc.CallOption) (*DnsZoneUpdatePrivateNetworksOperation, error) {
554 connection, err := c.connector.GetConnection(ctx, DnsZoneUpdatePrivateNetworks, opts...)
555 if err != nil {
556 return nil, err
557 }
558 pb, err := dns.NewDnsZoneServiceClient(connection).UpdatePrivateNetworks(ctx, in, opts...)
559 if err != nil {
560 return nil, err
561 }
562 op, err := sdkop.NewOperation(pb, &sdkop.Concretization{
563 Poll: c.pollOperation,
564 GetResourceID: func(metadata proto.Message) string {
565 return metadata.(*dns.UpdateDnsZonePrivateNetworksMetadata).GetDnsZoneId()
566 },
567 MetadataType: (*dns.UpdateDnsZonePrivateNetworksMetadata)(nil),
568 ResponseType: (*dns.DnsZone)(nil),
569 })
570 if err != nil {
571 return nil, err
572 }
573 return &DnsZoneUpdatePrivateNetworksOperation{*op}, nil
574 }
575
576 // pollOperation returns the current state of the polled operation.
577 func (c dnsZoneClient) pollOperation(ctx context.Context, operationId string, opts ...grpc.CallOption) (sdkop.YCOperation, error) {
578 connection, err := c.connector.GetConnection(ctx, DnsZoneOperationPoller, opts...)
579 if err != nil {
580 return nil, err
581 }
582 return operation.NewOperationServiceClient(connection).Get(ctx, &operation.GetOperationRequest{OperationId: operationId}, opts...)
583 }
584
585 var (
586 DnsZoneGet = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.Get")
587 DnsZoneList = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.List")
588 DnsZoneCreate = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.Create")
589 DnsZoneUpdate = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.Update")
590 DnsZoneMove = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.Move")
591 DnsZoneDelete = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.Delete")
592 DnsZoneGetRecordSet = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.GetRecordSet")
593 DnsZoneListRecordSets = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.ListRecordSets")
594 DnsZoneUpdateRecordSets = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.UpdateRecordSets")
595 DnsZoneUpsertRecordSets = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.UpsertRecordSets")
596 DnsZoneListOperations = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.ListOperations")
597 DnsZoneListAccessBindings = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.ListAccessBindings")
598 DnsZoneSetAccessBindings = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.SetAccessBindings")
599 DnsZoneUpdateAccessBindings = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.UpdateAccessBindings")
600 DnsZoneUpdatePrivateNetworks = protoreflect.FullName("yandex.cloud.dns.v1.DnsZoneService.UpdatePrivateNetworks")
601 DnsZoneOperationPoller = protoreflect.FullName("yandex.cloud.operation.OperationService.Get")
602 )
603