Includes the following changes since last vendoring:
docker/swarmkit#2795 - Add capabilities list to container specification
docker/swarmkit#2845 - Fix linting error
docker/swarmkit#2848 - Bump fernet/fernet-go
docker/swarmkit#2856 - Add ListServiceStatuses grpc method
docker/swarmkit#2857 - Use Service Placement Constraints in Enforcer
Signed-off-by: Drew Erny <drew.erny@docker.com>
... | ... |
@@ -130,10 +130,10 @@ github.com/containerd/ttrpc f02858b1457c5ca3aaec3a0803eb |
130 | 130 |
github.com/gogo/googleapis d31c731455cb061f42baff3bda55bad0118b126b # v1.2.0 |
131 | 131 |
|
132 | 132 |
# cluster |
133 |
-github.com/docker/swarmkit 59163bf75df38489d4a10392265d27156dc473c5 |
|
133 |
+github.com/docker/swarmkit 1e20cbf4caaeaba79c75af00bce5f41085db4082 |
|
134 | 134 |
github.com/gogo/protobuf ba06b47c162d49f2af050fb4c75bcbc86a159d5c # v1.2.1 |
135 | 135 |
github.com/cloudflare/cfssl 5d63dbd981b5c408effbb58c442d54761ff94fbd # 1.3.2 |
136 |
-github.com/fernet/fernet-go 1b2437bc582b3cfbb341ee5a29f8ef5b42912ff2 |
|
136 |
+github.com/fernet/fernet-go 9eac43b88a5efb8651d24de9b68e87567e029736 |
|
137 | 137 |
github.com/google/certificate-transparency-go 37a384cd035e722ea46e55029093e26687138edf # v1.0.20 |
138 | 138 |
golang.org/x/crypto 88737f569e3a9c7ab309cdc09a07fe7fc87233c3 |
139 | 139 |
golang.org/x/time fbb02b2291d28baffd63558aa44b4b56f178d650 |
... | ... |
@@ -321,13 +321,62 @@ func (m *ListServicesResponse) Reset() { *m = ListServicesRes |
321 | 321 |
func (*ListServicesResponse) ProtoMessage() {} |
322 | 322 |
func (*ListServicesResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{23} } |
323 | 323 |
|
324 |
+// ListServiceStatusesRequest is a request to get the aggregate status of a |
|
325 |
+// service by computing the number of running vs desired tasks. It includes |
|
326 |
+// only a service ID. |
|
327 |
+type ListServiceStatusesRequest struct { |
|
328 |
+ // Services is a list of service IDs to get statuses for. |
|
329 |
+ Services []string `protobuf:"bytes,1,rep,name=services" json:"services,omitempty"` |
|
330 |
+} |
|
331 |
+ |
|
332 |
+func (m *ListServiceStatusesRequest) Reset() { *m = ListServiceStatusesRequest{} } |
|
333 |
+func (*ListServiceStatusesRequest) ProtoMessage() {} |
|
334 |
+func (*ListServiceStatusesRequest) Descriptor() ([]byte, []int) { |
|
335 |
+ return fileDescriptorControl, []int{24} |
|
336 |
+} |
|
337 |
+ |
|
338 |
+// ListServiceStatusesResponse is a response containing the aggregate status of |
|
339 |
+// a service, formed by computing the number of running vs desired tasks. The |
|
340 |
+// values returned are only valid for the point in time at which the request is |
|
341 |
+// made. |
|
342 |
+type ListServiceStatusesResponse struct { |
|
343 |
+ Statuses []*ListServiceStatusesResponse_ServiceStatus `protobuf:"bytes,1,rep,name=statuses" json:"statuses,omitempty"` |
|
344 |
+} |
|
345 |
+ |
|
346 |
+func (m *ListServiceStatusesResponse) Reset() { *m = ListServiceStatusesResponse{} } |
|
347 |
+func (*ListServiceStatusesResponse) ProtoMessage() {} |
|
348 |
+func (*ListServiceStatusesResponse) Descriptor() ([]byte, []int) { |
|
349 |
+ return fileDescriptorControl, []int{25} |
|
350 |
+} |
|
351 |
+ |
|
352 |
+type ListServiceStatusesResponse_ServiceStatus struct { |
|
353 |
+ // ServiceID is the ID of the service this status describes |
|
354 |
+ ServiceID string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"` |
|
355 |
+ // DesiredTasks is the number of tasks desired to be running according to the |
|
356 |
+ // service definition at request time. It is a uint64 because that is what |
|
357 |
+ // the replicas field on the service spec is |
|
358 |
+ DesiredTasks uint64 `protobuf:"varint,2,opt,name=desired_tasks,json=desiredTasks,proto3" json:"desired_tasks,omitempty"` |
|
359 |
+ // RunningTasks is the number of tasks currently in the Running state at |
|
360 |
+ // request time. This may be larger than desired tasks if, for example, a |
|
361 |
+ // service has been scaled down. |
|
362 |
+ RunningTasks uint64 `protobuf:"varint,3,opt,name=running_tasks,json=runningTasks,proto3" json:"running_tasks,omitempty"` |
|
363 |
+} |
|
364 |
+ |
|
365 |
+func (m *ListServiceStatusesResponse_ServiceStatus) Reset() { |
|
366 |
+ *m = ListServiceStatusesResponse_ServiceStatus{} |
|
367 |
+} |
|
368 |
+func (*ListServiceStatusesResponse_ServiceStatus) ProtoMessage() {} |
|
369 |
+func (*ListServiceStatusesResponse_ServiceStatus) Descriptor() ([]byte, []int) { |
|
370 |
+ return fileDescriptorControl, []int{25, 0} |
|
371 |
+} |
|
372 |
+ |
|
324 | 373 |
type CreateNetworkRequest struct { |
325 | 374 |
Spec *NetworkSpec `protobuf:"bytes,1,opt,name=spec" json:"spec,omitempty"` |
326 | 375 |
} |
327 | 376 |
|
328 | 377 |
func (m *CreateNetworkRequest) Reset() { *m = CreateNetworkRequest{} } |
329 | 378 |
func (*CreateNetworkRequest) ProtoMessage() {} |
330 |
-func (*CreateNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{24} } |
|
379 |
+func (*CreateNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{26} } |
|
331 | 380 |
|
332 | 381 |
type CreateNetworkResponse struct { |
333 | 382 |
Network *Network `protobuf:"bytes,1,opt,name=network" json:"network,omitempty"` |
... | ... |
@@ -335,7 +384,7 @@ type CreateNetworkResponse struct { |
335 | 335 |
|
336 | 336 |
func (m *CreateNetworkResponse) Reset() { *m = CreateNetworkResponse{} } |
337 | 337 |
func (*CreateNetworkResponse) ProtoMessage() {} |
338 |
-func (*CreateNetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{25} } |
|
338 |
+func (*CreateNetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{27} } |
|
339 | 339 |
|
340 | 340 |
type GetNetworkRequest struct { |
341 | 341 |
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
... | ... |
@@ -344,7 +393,7 @@ type GetNetworkRequest struct { |
344 | 344 |
|
345 | 345 |
func (m *GetNetworkRequest) Reset() { *m = GetNetworkRequest{} } |
346 | 346 |
func (*GetNetworkRequest) ProtoMessage() {} |
347 |
-func (*GetNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{26} } |
|
347 |
+func (*GetNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{28} } |
|
348 | 348 |
|
349 | 349 |
type GetNetworkResponse struct { |
350 | 350 |
Network *Network `protobuf:"bytes,1,opt,name=network" json:"network,omitempty"` |
... | ... |
@@ -352,7 +401,7 @@ type GetNetworkResponse struct { |
352 | 352 |
|
353 | 353 |
func (m *GetNetworkResponse) Reset() { *m = GetNetworkResponse{} } |
354 | 354 |
func (*GetNetworkResponse) ProtoMessage() {} |
355 |
-func (*GetNetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{27} } |
|
355 |
+func (*GetNetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{29} } |
|
356 | 356 |
|
357 | 357 |
type RemoveNetworkRequest struct { |
358 | 358 |
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
... | ... |
@@ -361,14 +410,14 @@ type RemoveNetworkRequest struct { |
361 | 361 |
|
362 | 362 |
func (m *RemoveNetworkRequest) Reset() { *m = RemoveNetworkRequest{} } |
363 | 363 |
func (*RemoveNetworkRequest) ProtoMessage() {} |
364 |
-func (*RemoveNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{28} } |
|
364 |
+func (*RemoveNetworkRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{30} } |
|
365 | 365 |
|
366 | 366 |
type RemoveNetworkResponse struct { |
367 | 367 |
} |
368 | 368 |
|
369 | 369 |
func (m *RemoveNetworkResponse) Reset() { *m = RemoveNetworkResponse{} } |
370 | 370 |
func (*RemoveNetworkResponse) ProtoMessage() {} |
371 |
-func (*RemoveNetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{29} } |
|
371 |
+func (*RemoveNetworkResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{31} } |
|
372 | 372 |
|
373 | 373 |
type ListNetworksRequest struct { |
374 | 374 |
Filters *ListNetworksRequest_Filters `protobuf:"bytes,1,opt,name=filters" json:"filters,omitempty"` |
... | ... |
@@ -376,7 +425,7 @@ type ListNetworksRequest struct { |
376 | 376 |
|
377 | 377 |
func (m *ListNetworksRequest) Reset() { *m = ListNetworksRequest{} } |
378 | 378 |
func (*ListNetworksRequest) ProtoMessage() {} |
379 |
-func (*ListNetworksRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{30} } |
|
379 |
+func (*ListNetworksRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{32} } |
|
380 | 380 |
|
381 | 381 |
type ListNetworksRequest_Filters struct { |
382 | 382 |
Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"` |
... | ... |
@@ -389,7 +438,7 @@ type ListNetworksRequest_Filters struct { |
389 | 389 |
func (m *ListNetworksRequest_Filters) Reset() { *m = ListNetworksRequest_Filters{} } |
390 | 390 |
func (*ListNetworksRequest_Filters) ProtoMessage() {} |
391 | 391 |
func (*ListNetworksRequest_Filters) Descriptor() ([]byte, []int) { |
392 |
- return fileDescriptorControl, []int{30, 0} |
|
392 |
+ return fileDescriptorControl, []int{32, 0} |
|
393 | 393 |
} |
394 | 394 |
|
395 | 395 |
type ListNetworksResponse struct { |
... | ... |
@@ -398,7 +447,7 @@ type ListNetworksResponse struct { |
398 | 398 |
|
399 | 399 |
func (m *ListNetworksResponse) Reset() { *m = ListNetworksResponse{} } |
400 | 400 |
func (*ListNetworksResponse) ProtoMessage() {} |
401 |
-func (*ListNetworksResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{31} } |
|
401 |
+func (*ListNetworksResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{33} } |
|
402 | 402 |
|
403 | 403 |
type GetClusterRequest struct { |
404 | 404 |
ClusterID string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` |
... | ... |
@@ -406,7 +455,7 @@ type GetClusterRequest struct { |
406 | 406 |
|
407 | 407 |
func (m *GetClusterRequest) Reset() { *m = GetClusterRequest{} } |
408 | 408 |
func (*GetClusterRequest) ProtoMessage() {} |
409 |
-func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{32} } |
|
409 |
+func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{34} } |
|
410 | 410 |
|
411 | 411 |
type GetClusterResponse struct { |
412 | 412 |
Cluster *Cluster `protobuf:"bytes,1,opt,name=cluster" json:"cluster,omitempty"` |
... | ... |
@@ -414,7 +463,7 @@ type GetClusterResponse struct { |
414 | 414 |
|
415 | 415 |
func (m *GetClusterResponse) Reset() { *m = GetClusterResponse{} } |
416 | 416 |
func (*GetClusterResponse) ProtoMessage() {} |
417 |
-func (*GetClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{33} } |
|
417 |
+func (*GetClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{35} } |
|
418 | 418 |
|
419 | 419 |
type ListClustersRequest struct { |
420 | 420 |
Filters *ListClustersRequest_Filters `protobuf:"bytes,1,opt,name=filters" json:"filters,omitempty"` |
... | ... |
@@ -422,7 +471,7 @@ type ListClustersRequest struct { |
422 | 422 |
|
423 | 423 |
func (m *ListClustersRequest) Reset() { *m = ListClustersRequest{} } |
424 | 424 |
func (*ListClustersRequest) ProtoMessage() {} |
425 |
-func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{34} } |
|
425 |
+func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{36} } |
|
426 | 426 |
|
427 | 427 |
type ListClustersRequest_Filters struct { |
428 | 428 |
Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"` |
... | ... |
@@ -435,7 +484,7 @@ type ListClustersRequest_Filters struct { |
435 | 435 |
func (m *ListClustersRequest_Filters) Reset() { *m = ListClustersRequest_Filters{} } |
436 | 436 |
func (*ListClustersRequest_Filters) ProtoMessage() {} |
437 | 437 |
func (*ListClustersRequest_Filters) Descriptor() ([]byte, []int) { |
438 |
- return fileDescriptorControl, []int{34, 0} |
|
438 |
+ return fileDescriptorControl, []int{36, 0} |
|
439 | 439 |
} |
440 | 440 |
|
441 | 441 |
type ListClustersResponse struct { |
... | ... |
@@ -444,7 +493,7 @@ type ListClustersResponse struct { |
444 | 444 |
|
445 | 445 |
func (m *ListClustersResponse) Reset() { *m = ListClustersResponse{} } |
446 | 446 |
func (*ListClustersResponse) ProtoMessage() {} |
447 |
-func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{35} } |
|
447 |
+func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{37} } |
|
448 | 448 |
|
449 | 449 |
// KeyRotation tells UpdateCluster what items to rotate |
450 | 450 |
type KeyRotation struct { |
... | ... |
@@ -458,7 +507,7 @@ type KeyRotation struct { |
458 | 458 |
|
459 | 459 |
func (m *KeyRotation) Reset() { *m = KeyRotation{} } |
460 | 460 |
func (*KeyRotation) ProtoMessage() {} |
461 |
-func (*KeyRotation) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{36} } |
|
461 |
+func (*KeyRotation) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{38} } |
|
462 | 462 |
|
463 | 463 |
type UpdateClusterRequest struct { |
464 | 464 |
// ClusterID is the cluster ID to update. |
... | ... |
@@ -473,7 +522,7 @@ type UpdateClusterRequest struct { |
473 | 473 |
|
474 | 474 |
func (m *UpdateClusterRequest) Reset() { *m = UpdateClusterRequest{} } |
475 | 475 |
func (*UpdateClusterRequest) ProtoMessage() {} |
476 |
-func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{37} } |
|
476 |
+func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{39} } |
|
477 | 477 |
|
478 | 478 |
type UpdateClusterResponse struct { |
479 | 479 |
Cluster *Cluster `protobuf:"bytes,1,opt,name=cluster" json:"cluster,omitempty"` |
... | ... |
@@ -481,7 +530,7 @@ type UpdateClusterResponse struct { |
481 | 481 |
|
482 | 482 |
func (m *UpdateClusterResponse) Reset() { *m = UpdateClusterResponse{} } |
483 | 483 |
func (*UpdateClusterResponse) ProtoMessage() {} |
484 |
-func (*UpdateClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{38} } |
|
484 |
+func (*UpdateClusterResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{40} } |
|
485 | 485 |
|
486 | 486 |
// GetSecretRequest is the request to get a `Secret` object given a secret id. |
487 | 487 |
type GetSecretRequest struct { |
... | ... |
@@ -490,7 +539,7 @@ type GetSecretRequest struct { |
490 | 490 |
|
491 | 491 |
func (m *GetSecretRequest) Reset() { *m = GetSecretRequest{} } |
492 | 492 |
func (*GetSecretRequest) ProtoMessage() {} |
493 |
-func (*GetSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{39} } |
|
493 |
+func (*GetSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{41} } |
|
494 | 494 |
|
495 | 495 |
// GetSecretResponse contains the Secret corresponding to the id in |
496 | 496 |
// `GetSecretRequest`, but the `Secret.Spec.Data` field in each `Secret` |
... | ... |
@@ -501,7 +550,7 @@ type GetSecretResponse struct { |
501 | 501 |
|
502 | 502 |
func (m *GetSecretResponse) Reset() { *m = GetSecretResponse{} } |
503 | 503 |
func (*GetSecretResponse) ProtoMessage() {} |
504 |
-func (*GetSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{40} } |
|
504 |
+func (*GetSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{42} } |
|
505 | 505 |
|
506 | 506 |
type UpdateSecretRequest struct { |
507 | 507 |
// SecretID is the secret ID to update. |
... | ... |
@@ -515,7 +564,7 @@ type UpdateSecretRequest struct { |
515 | 515 |
|
516 | 516 |
func (m *UpdateSecretRequest) Reset() { *m = UpdateSecretRequest{} } |
517 | 517 |
func (*UpdateSecretRequest) ProtoMessage() {} |
518 |
-func (*UpdateSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{41} } |
|
518 |
+func (*UpdateSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{43} } |
|
519 | 519 |
|
520 | 520 |
type UpdateSecretResponse struct { |
521 | 521 |
Secret *Secret `protobuf:"bytes,1,opt,name=secret" json:"secret,omitempty"` |
... | ... |
@@ -523,7 +572,7 @@ type UpdateSecretResponse struct { |
523 | 523 |
|
524 | 524 |
func (m *UpdateSecretResponse) Reset() { *m = UpdateSecretResponse{} } |
525 | 525 |
func (*UpdateSecretResponse) ProtoMessage() {} |
526 |
-func (*UpdateSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{42} } |
|
526 |
+func (*UpdateSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{44} } |
|
527 | 527 |
|
528 | 528 |
// ListSecretRequest is the request to list all non-internal secrets in the secret store, |
529 | 529 |
// or all secrets filtered by (name or name prefix or id prefix) and labels. |
... | ... |
@@ -533,7 +582,7 @@ type ListSecretsRequest struct { |
533 | 533 |
|
534 | 534 |
func (m *ListSecretsRequest) Reset() { *m = ListSecretsRequest{} } |
535 | 535 |
func (*ListSecretsRequest) ProtoMessage() {} |
536 |
-func (*ListSecretsRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{43} } |
|
536 |
+func (*ListSecretsRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{45} } |
|
537 | 537 |
|
538 | 538 |
type ListSecretsRequest_Filters struct { |
539 | 539 |
Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"` |
... | ... |
@@ -545,7 +594,7 @@ type ListSecretsRequest_Filters struct { |
545 | 545 |
func (m *ListSecretsRequest_Filters) Reset() { *m = ListSecretsRequest_Filters{} } |
546 | 546 |
func (*ListSecretsRequest_Filters) ProtoMessage() {} |
547 | 547 |
func (*ListSecretsRequest_Filters) Descriptor() ([]byte, []int) { |
548 |
- return fileDescriptorControl, []int{43, 0} |
|
548 |
+ return fileDescriptorControl, []int{45, 0} |
|
549 | 549 |
} |
550 | 550 |
|
551 | 551 |
// ListSecretResponse contains a list of all the secrets that match the name or |
... | ... |
@@ -558,7 +607,7 @@ type ListSecretsResponse struct { |
558 | 558 |
|
559 | 559 |
func (m *ListSecretsResponse) Reset() { *m = ListSecretsResponse{} } |
560 | 560 |
func (*ListSecretsResponse) ProtoMessage() {} |
561 |
-func (*ListSecretsResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{44} } |
|
561 |
+func (*ListSecretsResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{46} } |
|
562 | 562 |
|
563 | 563 |
// CreateSecretRequest specifies a new secret (it will not update an existing |
564 | 564 |
// secret) to create. |
... | ... |
@@ -568,7 +617,7 @@ type CreateSecretRequest struct { |
568 | 568 |
|
569 | 569 |
func (m *CreateSecretRequest) Reset() { *m = CreateSecretRequest{} } |
570 | 570 |
func (*CreateSecretRequest) ProtoMessage() {} |
571 |
-func (*CreateSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{45} } |
|
571 |
+func (*CreateSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{47} } |
|
572 | 572 |
|
573 | 573 |
// CreateSecretResponse contains the newly created `Secret` corresponding to the |
574 | 574 |
// name in `CreateSecretRequest`. The `Secret.Spec.Data` field should be nil instead |
... | ... |
@@ -579,7 +628,7 @@ type CreateSecretResponse struct { |
579 | 579 |
|
580 | 580 |
func (m *CreateSecretResponse) Reset() { *m = CreateSecretResponse{} } |
581 | 581 |
func (*CreateSecretResponse) ProtoMessage() {} |
582 |
-func (*CreateSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{46} } |
|
582 |
+func (*CreateSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{48} } |
|
583 | 583 |
|
584 | 584 |
// RemoveSecretRequest contains the ID of the secret that should be removed. This |
585 | 585 |
// removes all versions of the secret. |
... | ... |
@@ -589,7 +638,7 @@ type RemoveSecretRequest struct { |
589 | 589 |
|
590 | 590 |
func (m *RemoveSecretRequest) Reset() { *m = RemoveSecretRequest{} } |
591 | 591 |
func (*RemoveSecretRequest) ProtoMessage() {} |
592 |
-func (*RemoveSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{47} } |
|
592 |
+func (*RemoveSecretRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{49} } |
|
593 | 593 |
|
594 | 594 |
// RemoveSecretResponse is an empty object indicating the successful removal of |
595 | 595 |
// a secret. |
... | ... |
@@ -598,7 +647,7 @@ type RemoveSecretResponse struct { |
598 | 598 |
|
599 | 599 |
func (m *RemoveSecretResponse) Reset() { *m = RemoveSecretResponse{} } |
600 | 600 |
func (*RemoveSecretResponse) ProtoMessage() {} |
601 |
-func (*RemoveSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{48} } |
|
601 |
+func (*RemoveSecretResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{50} } |
|
602 | 602 |
|
603 | 603 |
// GetConfigRequest is the request to get a `Config` object given a config id. |
604 | 604 |
type GetConfigRequest struct { |
... | ... |
@@ -607,7 +656,7 @@ type GetConfigRequest struct { |
607 | 607 |
|
608 | 608 |
func (m *GetConfigRequest) Reset() { *m = GetConfigRequest{} } |
609 | 609 |
func (*GetConfigRequest) ProtoMessage() {} |
610 |
-func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{49} } |
|
610 |
+func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{51} } |
|
611 | 611 |
|
612 | 612 |
// GetConfigResponse contains the Config corresponding to the id in |
613 | 613 |
// `GetConfigRequest`. |
... | ... |
@@ -617,7 +666,7 @@ type GetConfigResponse struct { |
617 | 617 |
|
618 | 618 |
func (m *GetConfigResponse) Reset() { *m = GetConfigResponse{} } |
619 | 619 |
func (*GetConfigResponse) ProtoMessage() {} |
620 |
-func (*GetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{50} } |
|
620 |
+func (*GetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{52} } |
|
621 | 621 |
|
622 | 622 |
type UpdateConfigRequest struct { |
623 | 623 |
// ConfigID is the config ID to update. |
... | ... |
@@ -631,7 +680,7 @@ type UpdateConfigRequest struct { |
631 | 631 |
|
632 | 632 |
func (m *UpdateConfigRequest) Reset() { *m = UpdateConfigRequest{} } |
633 | 633 |
func (*UpdateConfigRequest) ProtoMessage() {} |
634 |
-func (*UpdateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{51} } |
|
634 |
+func (*UpdateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{53} } |
|
635 | 635 |
|
636 | 636 |
type UpdateConfigResponse struct { |
637 | 637 |
Config *Config `protobuf:"bytes,1,opt,name=config" json:"config,omitempty"` |
... | ... |
@@ -639,7 +688,7 @@ type UpdateConfigResponse struct { |
639 | 639 |
|
640 | 640 |
func (m *UpdateConfigResponse) Reset() { *m = UpdateConfigResponse{} } |
641 | 641 |
func (*UpdateConfigResponse) ProtoMessage() {} |
642 |
-func (*UpdateConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{52} } |
|
642 |
+func (*UpdateConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{54} } |
|
643 | 643 |
|
644 | 644 |
// ListConfigRequest is the request to list all configs in the config store, |
645 | 645 |
// or all configs filtered by (name or name prefix or id prefix) and labels. |
... | ... |
@@ -649,7 +698,7 @@ type ListConfigsRequest struct { |
649 | 649 |
|
650 | 650 |
func (m *ListConfigsRequest) Reset() { *m = ListConfigsRequest{} } |
651 | 651 |
func (*ListConfigsRequest) ProtoMessage() {} |
652 |
-func (*ListConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{53} } |
|
652 |
+func (*ListConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{55} } |
|
653 | 653 |
|
654 | 654 |
type ListConfigsRequest_Filters struct { |
655 | 655 |
Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"` |
... | ... |
@@ -661,7 +710,7 @@ type ListConfigsRequest_Filters struct { |
661 | 661 |
func (m *ListConfigsRequest_Filters) Reset() { *m = ListConfigsRequest_Filters{} } |
662 | 662 |
func (*ListConfigsRequest_Filters) ProtoMessage() {} |
663 | 663 |
func (*ListConfigsRequest_Filters) Descriptor() ([]byte, []int) { |
664 |
- return fileDescriptorControl, []int{53, 0} |
|
664 |
+ return fileDescriptorControl, []int{55, 0} |
|
665 | 665 |
} |
666 | 666 |
|
667 | 667 |
// ListConfigResponse contains a list of all the configs that match the name or |
... | ... |
@@ -672,7 +721,7 @@ type ListConfigsResponse struct { |
672 | 672 |
|
673 | 673 |
func (m *ListConfigsResponse) Reset() { *m = ListConfigsResponse{} } |
674 | 674 |
func (*ListConfigsResponse) ProtoMessage() {} |
675 |
-func (*ListConfigsResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{54} } |
|
675 |
+func (*ListConfigsResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{56} } |
|
676 | 676 |
|
677 | 677 |
// CreateConfigRequest specifies a new config (it will not update an existing |
678 | 678 |
// config) to create. |
... | ... |
@@ -682,7 +731,7 @@ type CreateConfigRequest struct { |
682 | 682 |
|
683 | 683 |
func (m *CreateConfigRequest) Reset() { *m = CreateConfigRequest{} } |
684 | 684 |
func (*CreateConfigRequest) ProtoMessage() {} |
685 |
-func (*CreateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{55} } |
|
685 |
+func (*CreateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{57} } |
|
686 | 686 |
|
687 | 687 |
// CreateConfigResponse contains the newly created `Config` corresponding to the |
688 | 688 |
// name in `CreateConfigRequest`. |
... | ... |
@@ -692,7 +741,7 @@ type CreateConfigResponse struct { |
692 | 692 |
|
693 | 693 |
func (m *CreateConfigResponse) Reset() { *m = CreateConfigResponse{} } |
694 | 694 |
func (*CreateConfigResponse) ProtoMessage() {} |
695 |
-func (*CreateConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{56} } |
|
695 |
+func (*CreateConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{58} } |
|
696 | 696 |
|
697 | 697 |
// RemoveConfigRequest contains the ID of the config that should be removed. This |
698 | 698 |
// removes all versions of the config. |
... | ... |
@@ -702,7 +751,7 @@ type RemoveConfigRequest struct { |
702 | 702 |
|
703 | 703 |
func (m *RemoveConfigRequest) Reset() { *m = RemoveConfigRequest{} } |
704 | 704 |
func (*RemoveConfigRequest) ProtoMessage() {} |
705 |
-func (*RemoveConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{57} } |
|
705 |
+func (*RemoveConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{59} } |
|
706 | 706 |
|
707 | 707 |
// RemoveConfigResponse is an empty object indicating the successful removal of |
708 | 708 |
// a config. |
... | ... |
@@ -711,7 +760,7 @@ type RemoveConfigResponse struct { |
711 | 711 |
|
712 | 712 |
func (m *RemoveConfigResponse) Reset() { *m = RemoveConfigResponse{} } |
713 | 713 |
func (*RemoveConfigResponse) ProtoMessage() {} |
714 |
-func (*RemoveConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{58} } |
|
714 |
+func (*RemoveConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{60} } |
|
715 | 715 |
|
716 | 716 |
// CreateExtensionRequest creates a new extension as specified by the provided |
717 | 717 |
// parameters |
... | ... |
@@ -722,7 +771,7 @@ type CreateExtensionRequest struct { |
722 | 722 |
|
723 | 723 |
func (m *CreateExtensionRequest) Reset() { *m = CreateExtensionRequest{} } |
724 | 724 |
func (*CreateExtensionRequest) ProtoMessage() {} |
725 |
-func (*CreateExtensionRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{59} } |
|
725 |
+func (*CreateExtensionRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{61} } |
|
726 | 726 |
|
727 | 727 |
// CreateExtensionResponse contains the newly created `Extension` corresponding |
728 | 728 |
// to the parameters in the CreateExtensionRequest. |
... | ... |
@@ -732,7 +781,7 @@ type CreateExtensionResponse struct { |
732 | 732 |
|
733 | 733 |
func (m *CreateExtensionResponse) Reset() { *m = CreateExtensionResponse{} } |
734 | 734 |
func (*CreateExtensionResponse) ProtoMessage() {} |
735 |
-func (*CreateExtensionResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{60} } |
|
735 |
+func (*CreateExtensionResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{62} } |
|
736 | 736 |
|
737 | 737 |
// RemoveExtensionRequest contains the ID of the extension that should be removed. This |
738 | 738 |
// removes all versions of the extension. |
... | ... |
@@ -742,7 +791,7 @@ type RemoveExtensionRequest struct { |
742 | 742 |
|
743 | 743 |
func (m *RemoveExtensionRequest) Reset() { *m = RemoveExtensionRequest{} } |
744 | 744 |
func (*RemoveExtensionRequest) ProtoMessage() {} |
745 |
-func (*RemoveExtensionRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{61} } |
|
745 |
+func (*RemoveExtensionRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{63} } |
|
746 | 746 |
|
747 | 747 |
// RemoveExtensionResponse is an empty object indicating the successful removal |
748 | 748 |
// of an extension. |
... | ... |
@@ -751,7 +800,7 @@ type RemoveExtensionResponse struct { |
751 | 751 |
|
752 | 752 |
func (m *RemoveExtensionResponse) Reset() { *m = RemoveExtensionResponse{} } |
753 | 753 |
func (*RemoveExtensionResponse) ProtoMessage() {} |
754 |
-func (*RemoveExtensionResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{62} } |
|
754 |
+func (*RemoveExtensionResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{64} } |
|
755 | 755 |
|
756 | 756 |
// GetResourceRequest is the request to get a Extension object given a extension id. |
757 | 757 |
type GetExtensionRequest struct { |
... | ... |
@@ -760,7 +809,7 @@ type GetExtensionRequest struct { |
760 | 760 |
|
761 | 761 |
func (m *GetExtensionRequest) Reset() { *m = GetExtensionRequest{} } |
762 | 762 |
func (*GetExtensionRequest) ProtoMessage() {} |
763 |
-func (*GetExtensionRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{63} } |
|
763 |
+func (*GetExtensionRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{65} } |
|
764 | 764 |
|
765 | 765 |
// GetExtensionResponse contains the Extension corresponding to the id in |
766 | 766 |
// `GetExtensionRequest`. |
... | ... |
@@ -770,7 +819,7 @@ type GetExtensionResponse struct { |
770 | 770 |
|
771 | 771 |
func (m *GetExtensionResponse) Reset() { *m = GetExtensionResponse{} } |
772 | 772 |
func (*GetExtensionResponse) ProtoMessage() {} |
773 |
-func (*GetExtensionResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{64} } |
|
773 |
+func (*GetExtensionResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{66} } |
|
774 | 774 |
|
775 | 775 |
// CreateResourceRequest creates a new resource specified by the included |
776 | 776 |
// resource object. An existing resource will not be updated. |
... | ... |
@@ -782,7 +831,7 @@ type CreateResourceRequest struct { |
782 | 782 |
|
783 | 783 |
func (m *CreateResourceRequest) Reset() { *m = CreateResourceRequest{} } |
784 | 784 |
func (*CreateResourceRequest) ProtoMessage() {} |
785 |
-func (*CreateResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{65} } |
|
785 |
+func (*CreateResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{67} } |
|
786 | 786 |
|
787 | 787 |
// CreateResourceResponse contains the newly created `Resource` corresponding |
788 | 788 |
// to the resource in the CreateResourceRequest. |
... | ... |
@@ -792,7 +841,7 @@ type CreateResourceResponse struct { |
792 | 792 |
|
793 | 793 |
func (m *CreateResourceResponse) Reset() { *m = CreateResourceResponse{} } |
794 | 794 |
func (*CreateResourceResponse) ProtoMessage() {} |
795 |
-func (*CreateResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{66} } |
|
795 |
+func (*CreateResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{68} } |
|
796 | 796 |
|
797 | 797 |
// RemoveResourceRequest contains the ID of the resource that should be removed. This |
798 | 798 |
// removes all versions of the resource. |
... | ... |
@@ -802,7 +851,7 @@ type RemoveResourceRequest struct { |
802 | 802 |
|
803 | 803 |
func (m *RemoveResourceRequest) Reset() { *m = RemoveResourceRequest{} } |
804 | 804 |
func (*RemoveResourceRequest) ProtoMessage() {} |
805 |
-func (*RemoveResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{67} } |
|
805 |
+func (*RemoveResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{69} } |
|
806 | 806 |
|
807 | 807 |
// RemoveResourceResponse is an empty object indicating the successful removal |
808 | 808 |
// of a resource. |
... | ... |
@@ -811,7 +860,7 @@ type RemoveResourceResponse struct { |
811 | 811 |
|
812 | 812 |
func (m *RemoveResourceResponse) Reset() { *m = RemoveResourceResponse{} } |
813 | 813 |
func (*RemoveResourceResponse) ProtoMessage() {} |
814 |
-func (*RemoveResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{68} } |
|
814 |
+func (*RemoveResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{70} } |
|
815 | 815 |
|
816 | 816 |
// UpdateResourceRequest updates the resource specified by the given resource object. |
817 | 817 |
type UpdateResourceRequest struct { |
... | ... |
@@ -828,7 +877,7 @@ type UpdateResourceRequest struct { |
828 | 828 |
|
829 | 829 |
func (m *UpdateResourceRequest) Reset() { *m = UpdateResourceRequest{} } |
830 | 830 |
func (*UpdateResourceRequest) ProtoMessage() {} |
831 |
-func (*UpdateResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{69} } |
|
831 |
+func (*UpdateResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{71} } |
|
832 | 832 |
|
833 | 833 |
type UpdateResourceResponse struct { |
834 | 834 |
Resource *Resource `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"` |
... | ... |
@@ -836,7 +885,7 @@ type UpdateResourceResponse struct { |
836 | 836 |
|
837 | 837 |
func (m *UpdateResourceResponse) Reset() { *m = UpdateResourceResponse{} } |
838 | 838 |
func (*UpdateResourceResponse) ProtoMessage() {} |
839 |
-func (*UpdateResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{70} } |
|
839 |
+func (*UpdateResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{72} } |
|
840 | 840 |
|
841 | 841 |
// GetResourceRequest is the request to get a Resource object given a resource id. |
842 | 842 |
type GetResourceRequest struct { |
... | ... |
@@ -845,7 +894,7 @@ type GetResourceRequest struct { |
845 | 845 |
|
846 | 846 |
func (m *GetResourceRequest) Reset() { *m = GetResourceRequest{} } |
847 | 847 |
func (*GetResourceRequest) ProtoMessage() {} |
848 |
-func (*GetResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{71} } |
|
848 |
+func (*GetResourceRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{73} } |
|
849 | 849 |
|
850 | 850 |
// GetResourceResponse contains the Resource corresponding to the id in |
851 | 851 |
// `GetResourceRequest`. |
... | ... |
@@ -855,7 +904,7 @@ type GetResourceResponse struct { |
855 | 855 |
|
856 | 856 |
func (m *GetResourceResponse) Reset() { *m = GetResourceResponse{} } |
857 | 857 |
func (*GetResourceResponse) ProtoMessage() {} |
858 |
-func (*GetResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{72} } |
|
858 |
+func (*GetResourceResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{74} } |
|
859 | 859 |
|
860 | 860 |
// ListResourcesRequest is the request to list all resources in the raft store, |
861 | 861 |
// or all resources filtered by (name or name prefix or id prefix), labels and extension. |
... | ... |
@@ -865,7 +914,7 @@ type ListResourcesRequest struct { |
865 | 865 |
|
866 | 866 |
func (m *ListResourcesRequest) Reset() { *m = ListResourcesRequest{} } |
867 | 867 |
func (*ListResourcesRequest) ProtoMessage() {} |
868 |
-func (*ListResourcesRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{73} } |
|
868 |
+func (*ListResourcesRequest) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{75} } |
|
869 | 869 |
|
870 | 870 |
type ListResourcesRequest_Filters struct { |
871 | 871 |
Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"` |
... | ... |
@@ -878,7 +927,7 @@ type ListResourcesRequest_Filters struct { |
878 | 878 |
func (m *ListResourcesRequest_Filters) Reset() { *m = ListResourcesRequest_Filters{} } |
879 | 879 |
func (*ListResourcesRequest_Filters) ProtoMessage() {} |
880 | 880 |
func (*ListResourcesRequest_Filters) Descriptor() ([]byte, []int) { |
881 |
- return fileDescriptorControl, []int{73, 0} |
|
881 |
+ return fileDescriptorControl, []int{75, 0} |
|
882 | 882 |
} |
883 | 883 |
|
884 | 884 |
// ListResourcesResponse contains a list of all the resources that match the name or |
... | ... |
@@ -889,7 +938,7 @@ type ListResourcesResponse struct { |
889 | 889 |
|
890 | 890 |
func (m *ListResourcesResponse) Reset() { *m = ListResourcesResponse{} } |
891 | 891 |
func (*ListResourcesResponse) ProtoMessage() {} |
892 |
-func (*ListResourcesResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{74} } |
|
892 |
+func (*ListResourcesResponse) Descriptor() ([]byte, []int) { return fileDescriptorControl, []int{76} } |
|
893 | 893 |
|
894 | 894 |
func init() { |
895 | 895 |
proto.RegisterType((*GetNodeRequest)(nil), "docker.swarmkit.v1.GetNodeRequest") |
... | ... |
@@ -919,6 +968,9 @@ func init() { |
919 | 919 |
proto.RegisterType((*ListServicesRequest)(nil), "docker.swarmkit.v1.ListServicesRequest") |
920 | 920 |
proto.RegisterType((*ListServicesRequest_Filters)(nil), "docker.swarmkit.v1.ListServicesRequest.Filters") |
921 | 921 |
proto.RegisterType((*ListServicesResponse)(nil), "docker.swarmkit.v1.ListServicesResponse") |
922 |
+ proto.RegisterType((*ListServiceStatusesRequest)(nil), "docker.swarmkit.v1.ListServiceStatusesRequest") |
|
923 |
+ proto.RegisterType((*ListServiceStatusesResponse)(nil), "docker.swarmkit.v1.ListServiceStatusesResponse") |
|
924 |
+ proto.RegisterType((*ListServiceStatusesResponse_ServiceStatus)(nil), "docker.swarmkit.v1.ListServiceStatusesResponse.ServiceStatus") |
|
922 | 925 |
proto.RegisterType((*CreateNetworkRequest)(nil), "docker.swarmkit.v1.CreateNetworkRequest") |
923 | 926 |
proto.RegisterType((*CreateNetworkResponse)(nil), "docker.swarmkit.v1.CreateNetworkResponse") |
924 | 927 |
proto.RegisterType((*GetNetworkRequest)(nil), "docker.swarmkit.v1.GetNetworkRequest") |
... | ... |
@@ -1086,6 +1138,14 @@ func (p *authenticatedWrapperControlServer) RemoveService(ctx context.Context, r |
1086 | 1086 |
return p.local.RemoveService(ctx, r) |
1087 | 1087 |
} |
1088 | 1088 |
|
1089 |
+func (p *authenticatedWrapperControlServer) ListServiceStatuses(ctx context.Context, r *ListServiceStatusesRequest) (*ListServiceStatusesResponse, error) { |
|
1090 |
+ |
|
1091 |
+ if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil { |
|
1092 |
+ return nil, err |
|
1093 |
+ } |
|
1094 |
+ return p.local.ListServiceStatuses(ctx, r) |
|
1095 |
+} |
|
1096 |
+ |
|
1089 | 1097 |
func (p *authenticatedWrapperControlServer) GetNetwork(ctx context.Context, r *GetNetworkRequest) (*GetNetworkResponse, error) { |
1090 | 1098 |
|
1091 | 1099 |
if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil { |
... | ... |
@@ -1864,6 +1924,64 @@ func (m *ListServicesResponse) CopyFrom(src interface{}) { |
1864 | 1864 |
|
1865 | 1865 |
} |
1866 | 1866 |
|
1867 |
+func (m *ListServiceStatusesRequest) Copy() *ListServiceStatusesRequest { |
|
1868 |
+ if m == nil { |
|
1869 |
+ return nil |
|
1870 |
+ } |
|
1871 |
+ o := &ListServiceStatusesRequest{} |
|
1872 |
+ o.CopyFrom(m) |
|
1873 |
+ return o |
|
1874 |
+} |
|
1875 |
+ |
|
1876 |
+func (m *ListServiceStatusesRequest) CopyFrom(src interface{}) { |
|
1877 |
+ |
|
1878 |
+ o := src.(*ListServiceStatusesRequest) |
|
1879 |
+ *m = *o |
|
1880 |
+ if o.Services != nil { |
|
1881 |
+ m.Services = make([]string, len(o.Services)) |
|
1882 |
+ copy(m.Services, o.Services) |
|
1883 |
+ } |
|
1884 |
+ |
|
1885 |
+} |
|
1886 |
+ |
|
1887 |
+func (m *ListServiceStatusesResponse) Copy() *ListServiceStatusesResponse { |
|
1888 |
+ if m == nil { |
|
1889 |
+ return nil |
|
1890 |
+ } |
|
1891 |
+ o := &ListServiceStatusesResponse{} |
|
1892 |
+ o.CopyFrom(m) |
|
1893 |
+ return o |
|
1894 |
+} |
|
1895 |
+ |
|
1896 |
+func (m *ListServiceStatusesResponse) CopyFrom(src interface{}) { |
|
1897 |
+ |
|
1898 |
+ o := src.(*ListServiceStatusesResponse) |
|
1899 |
+ *m = *o |
|
1900 |
+ if o.Statuses != nil { |
|
1901 |
+ m.Statuses = make([]*ListServiceStatusesResponse_ServiceStatus, len(o.Statuses)) |
|
1902 |
+ for i := range m.Statuses { |
|
1903 |
+ m.Statuses[i] = &ListServiceStatusesResponse_ServiceStatus{} |
|
1904 |
+ deepcopy.Copy(m.Statuses[i], o.Statuses[i]) |
|
1905 |
+ } |
|
1906 |
+ } |
|
1907 |
+ |
|
1908 |
+} |
|
1909 |
+ |
|
1910 |
+func (m *ListServiceStatusesResponse_ServiceStatus) Copy() *ListServiceStatusesResponse_ServiceStatus { |
|
1911 |
+ if m == nil { |
|
1912 |
+ return nil |
|
1913 |
+ } |
|
1914 |
+ o := &ListServiceStatusesResponse_ServiceStatus{} |
|
1915 |
+ o.CopyFrom(m) |
|
1916 |
+ return o |
|
1917 |
+} |
|
1918 |
+ |
|
1919 |
+func (m *ListServiceStatusesResponse_ServiceStatus) CopyFrom(src interface{}) { |
|
1920 |
+ |
|
1921 |
+ o := src.(*ListServiceStatusesResponse_ServiceStatus) |
|
1922 |
+ *m = *o |
|
1923 |
+} |
|
1924 |
+ |
|
1867 | 1925 |
func (m *CreateNetworkRequest) Copy() *CreateNetworkRequest { |
1868 | 1926 |
if m == nil { |
1869 | 1927 |
return nil |
... | ... |
@@ -2993,6 +3111,13 @@ type ControlClient interface { |
2993 | 2993 |
CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*CreateServiceResponse, error) |
2994 | 2994 |
UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*UpdateServiceResponse, error) |
2995 | 2995 |
RemoveService(ctx context.Context, in *RemoveServiceRequest, opts ...grpc.CallOption) (*RemoveServiceResponse, error) |
2996 |
+ // ListServiceStatuses returns a `ListServiceStatusesResponse` with the |
|
2997 |
+ // status of the requested services, formed by computing the number of |
|
2998 |
+ // running vs desired tasks. It is provided as a shortcut or helper method, |
|
2999 |
+ // which allows a client to avoid having to calculate this value by listing |
|
3000 |
+ // all Tasks. If any service requested does not exist, it will be returned |
|
3001 |
+ // but with empty status values. |
|
3002 |
+ ListServiceStatuses(ctx context.Context, in *ListServiceStatusesRequest, opts ...grpc.CallOption) (*ListServiceStatusesResponse, error) |
|
2996 | 3003 |
GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error) |
2997 | 3004 |
ListNetworks(ctx context.Context, in *ListNetworksRequest, opts ...grpc.CallOption) (*ListNetworksResponse, error) |
2998 | 3005 |
CreateNetwork(ctx context.Context, in *CreateNetworkRequest, opts ...grpc.CallOption) (*CreateNetworkResponse, error) |
... | ... |
@@ -3222,6 +3347,15 @@ func (c *controlClient) RemoveService(ctx context.Context, in *RemoveServiceRequ |
3222 | 3222 |
return out, nil |
3223 | 3223 |
} |
3224 | 3224 |
|
3225 |
+func (c *controlClient) ListServiceStatuses(ctx context.Context, in *ListServiceStatusesRequest, opts ...grpc.CallOption) (*ListServiceStatusesResponse, error) { |
|
3226 |
+ out := new(ListServiceStatusesResponse) |
|
3227 |
+ err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Control/ListServiceStatuses", in, out, c.cc, opts...) |
|
3228 |
+ if err != nil { |
|
3229 |
+ return nil, err |
|
3230 |
+ } |
|
3231 |
+ return out, nil |
|
3232 |
+} |
|
3233 |
+ |
|
3225 | 3234 |
func (c *controlClient) GetNetwork(ctx context.Context, in *GetNetworkRequest, opts ...grpc.CallOption) (*GetNetworkResponse, error) { |
3226 | 3235 |
out := new(GetNetworkResponse) |
3227 | 3236 |
err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Control/GetNetwork", in, out, c.cc, opts...) |
... | ... |
@@ -3462,6 +3596,13 @@ type ControlServer interface { |
3462 | 3462 |
CreateService(context.Context, *CreateServiceRequest) (*CreateServiceResponse, error) |
3463 | 3463 |
UpdateService(context.Context, *UpdateServiceRequest) (*UpdateServiceResponse, error) |
3464 | 3464 |
RemoveService(context.Context, *RemoveServiceRequest) (*RemoveServiceResponse, error) |
3465 |
+ // ListServiceStatuses returns a `ListServiceStatusesResponse` with the |
|
3466 |
+ // status of the requested services, formed by computing the number of |
|
3467 |
+ // running vs desired tasks. It is provided as a shortcut or helper method, |
|
3468 |
+ // which allows a client to avoid having to calculate this value by listing |
|
3469 |
+ // all Tasks. If any service requested does not exist, it will be returned |
|
3470 |
+ // but with empty status values. |
|
3471 |
+ ListServiceStatuses(context.Context, *ListServiceStatusesRequest) (*ListServiceStatusesResponse, error) |
|
3465 | 3472 |
GetNetwork(context.Context, *GetNetworkRequest) (*GetNetworkResponse, error) |
3466 | 3473 |
ListNetworks(context.Context, *ListNetworksRequest) (*ListNetworksResponse, error) |
3467 | 3474 |
CreateNetwork(context.Context, *CreateNetworkRequest) (*CreateNetworkResponse, error) |
... | ... |
@@ -3795,6 +3936,24 @@ func _Control_RemoveService_Handler(srv interface{}, ctx context.Context, dec fu |
3795 | 3795 |
return interceptor(ctx, in, info, handler) |
3796 | 3796 |
} |
3797 | 3797 |
|
3798 |
+func _Control_ListServiceStatuses_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
|
3799 |
+ in := new(ListServiceStatusesRequest) |
|
3800 |
+ if err := dec(in); err != nil { |
|
3801 |
+ return nil, err |
|
3802 |
+ } |
|
3803 |
+ if interceptor == nil { |
|
3804 |
+ return srv.(ControlServer).ListServiceStatuses(ctx, in) |
|
3805 |
+ } |
|
3806 |
+ info := &grpc.UnaryServerInfo{ |
|
3807 |
+ Server: srv, |
|
3808 |
+ FullMethod: "/docker.swarmkit.v1.Control/ListServiceStatuses", |
|
3809 |
+ } |
|
3810 |
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) { |
|
3811 |
+ return srv.(ControlServer).ListServiceStatuses(ctx, req.(*ListServiceStatusesRequest)) |
|
3812 |
+ } |
|
3813 |
+ return interceptor(ctx, in, info, handler) |
|
3814 |
+} |
|
3815 |
+ |
|
3798 | 3816 |
func _Control_GetNetwork_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { |
3799 | 3817 |
in := new(GetNetworkRequest) |
3800 | 3818 |
if err := dec(in); err != nil { |
... | ... |
@@ -4298,6 +4457,10 @@ var _Control_serviceDesc = grpc.ServiceDesc{ |
4298 | 4298 |
Handler: _Control_RemoveService_Handler, |
4299 | 4299 |
}, |
4300 | 4300 |
{ |
4301 |
+ MethodName: "ListServiceStatuses", |
|
4302 |
+ Handler: _Control_ListServiceStatuses_Handler, |
|
4303 |
+ }, |
|
4304 |
+ { |
|
4301 | 4305 |
MethodName: "GetNetwork", |
4302 | 4306 |
Handler: _Control_GetNetwork_Handler, |
4303 | 4307 |
}, |
... | ... |
@@ -5431,6 +5594,103 @@ func (m *ListServicesResponse) MarshalTo(dAtA []byte) (int, error) { |
5431 | 5431 |
return i, nil |
5432 | 5432 |
} |
5433 | 5433 |
|
5434 |
+func (m *ListServiceStatusesRequest) Marshal() (dAtA []byte, err error) { |
|
5435 |
+ size := m.Size() |
|
5436 |
+ dAtA = make([]byte, size) |
|
5437 |
+ n, err := m.MarshalTo(dAtA) |
|
5438 |
+ if err != nil { |
|
5439 |
+ return nil, err |
|
5440 |
+ } |
|
5441 |
+ return dAtA[:n], nil |
|
5442 |
+} |
|
5443 |
+ |
|
5444 |
+func (m *ListServiceStatusesRequest) MarshalTo(dAtA []byte) (int, error) { |
|
5445 |
+ var i int |
|
5446 |
+ _ = i |
|
5447 |
+ var l int |
|
5448 |
+ _ = l |
|
5449 |
+ if len(m.Services) > 0 { |
|
5450 |
+ for _, s := range m.Services { |
|
5451 |
+ dAtA[i] = 0xa |
|
5452 |
+ i++ |
|
5453 |
+ l = len(s) |
|
5454 |
+ for l >= 1<<7 { |
|
5455 |
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80) |
|
5456 |
+ l >>= 7 |
|
5457 |
+ i++ |
|
5458 |
+ } |
|
5459 |
+ dAtA[i] = uint8(l) |
|
5460 |
+ i++ |
|
5461 |
+ i += copy(dAtA[i:], s) |
|
5462 |
+ } |
|
5463 |
+ } |
|
5464 |
+ return i, nil |
|
5465 |
+} |
|
5466 |
+ |
|
5467 |
+func (m *ListServiceStatusesResponse) Marshal() (dAtA []byte, err error) { |
|
5468 |
+ size := m.Size() |
|
5469 |
+ dAtA = make([]byte, size) |
|
5470 |
+ n, err := m.MarshalTo(dAtA) |
|
5471 |
+ if err != nil { |
|
5472 |
+ return nil, err |
|
5473 |
+ } |
|
5474 |
+ return dAtA[:n], nil |
|
5475 |
+} |
|
5476 |
+ |
|
5477 |
+func (m *ListServiceStatusesResponse) MarshalTo(dAtA []byte) (int, error) { |
|
5478 |
+ var i int |
|
5479 |
+ _ = i |
|
5480 |
+ var l int |
|
5481 |
+ _ = l |
|
5482 |
+ if len(m.Statuses) > 0 { |
|
5483 |
+ for _, msg := range m.Statuses { |
|
5484 |
+ dAtA[i] = 0xa |
|
5485 |
+ i++ |
|
5486 |
+ i = encodeVarintControl(dAtA, i, uint64(msg.Size())) |
|
5487 |
+ n, err := msg.MarshalTo(dAtA[i:]) |
|
5488 |
+ if err != nil { |
|
5489 |
+ return 0, err |
|
5490 |
+ } |
|
5491 |
+ i += n |
|
5492 |
+ } |
|
5493 |
+ } |
|
5494 |
+ return i, nil |
|
5495 |
+} |
|
5496 |
+ |
|
5497 |
+func (m *ListServiceStatusesResponse_ServiceStatus) Marshal() (dAtA []byte, err error) { |
|
5498 |
+ size := m.Size() |
|
5499 |
+ dAtA = make([]byte, size) |
|
5500 |
+ n, err := m.MarshalTo(dAtA) |
|
5501 |
+ if err != nil { |
|
5502 |
+ return nil, err |
|
5503 |
+ } |
|
5504 |
+ return dAtA[:n], nil |
|
5505 |
+} |
|
5506 |
+ |
|
5507 |
+func (m *ListServiceStatusesResponse_ServiceStatus) MarshalTo(dAtA []byte) (int, error) { |
|
5508 |
+ var i int |
|
5509 |
+ _ = i |
|
5510 |
+ var l int |
|
5511 |
+ _ = l |
|
5512 |
+ if len(m.ServiceID) > 0 { |
|
5513 |
+ dAtA[i] = 0xa |
|
5514 |
+ i++ |
|
5515 |
+ i = encodeVarintControl(dAtA, i, uint64(len(m.ServiceID))) |
|
5516 |
+ i += copy(dAtA[i:], m.ServiceID) |
|
5517 |
+ } |
|
5518 |
+ if m.DesiredTasks != 0 { |
|
5519 |
+ dAtA[i] = 0x10 |
|
5520 |
+ i++ |
|
5521 |
+ i = encodeVarintControl(dAtA, i, uint64(m.DesiredTasks)) |
|
5522 |
+ } |
|
5523 |
+ if m.RunningTasks != 0 { |
|
5524 |
+ dAtA[i] = 0x18 |
|
5525 |
+ i++ |
|
5526 |
+ i = encodeVarintControl(dAtA, i, uint64(m.RunningTasks)) |
|
5527 |
+ } |
|
5528 |
+ return i, nil |
|
5529 |
+} |
|
5530 |
+ |
|
5434 | 5531 |
func (m *CreateNetworkRequest) Marshal() (dAtA []byte, err error) { |
5435 | 5532 |
size := m.Size() |
5436 | 5533 |
dAtA = make([]byte, size) |
... | ... |
@@ -7819,6 +8079,41 @@ func (p *raftProxyControlServer) RemoveService(ctx context.Context, r *RemoveSer |
7819 | 7819 |
return resp, err |
7820 | 7820 |
} |
7821 | 7821 |
|
7822 |
+func (p *raftProxyControlServer) ListServiceStatuses(ctx context.Context, r *ListServiceStatusesRequest) (*ListServiceStatusesResponse, error) { |
|
7823 |
+ |
|
7824 |
+ conn, err := p.connSelector.LeaderConn(ctx) |
|
7825 |
+ if err != nil { |
|
7826 |
+ if err == raftselector.ErrIsLeader { |
|
7827 |
+ ctx, err = p.runCtxMods(ctx, p.localCtxMods) |
|
7828 |
+ if err != nil { |
|
7829 |
+ return nil, err |
|
7830 |
+ } |
|
7831 |
+ return p.local.ListServiceStatuses(ctx, r) |
|
7832 |
+ } |
|
7833 |
+ return nil, err |
|
7834 |
+ } |
|
7835 |
+ modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods) |
|
7836 |
+ if err != nil { |
|
7837 |
+ return nil, err |
|
7838 |
+ } |
|
7839 |
+ |
|
7840 |
+ resp, err := NewControlClient(conn).ListServiceStatuses(modCtx, r) |
|
7841 |
+ if err != nil { |
|
7842 |
+ if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") { |
|
7843 |
+ return resp, err |
|
7844 |
+ } |
|
7845 |
+ conn, err := p.pollNewLeaderConn(ctx) |
|
7846 |
+ if err != nil { |
|
7847 |
+ if err == raftselector.ErrIsLeader { |
|
7848 |
+ return p.local.ListServiceStatuses(ctx, r) |
|
7849 |
+ } |
|
7850 |
+ return nil, err |
|
7851 |
+ } |
|
7852 |
+ return NewControlClient(conn).ListServiceStatuses(modCtx, r) |
|
7853 |
+ } |
|
7854 |
+ return resp, err |
|
7855 |
+} |
|
7856 |
+ |
|
7822 | 7857 |
func (p *raftProxyControlServer) GetNetwork(ctx context.Context, r *GetNetworkRequest) (*GetNetworkResponse, error) { |
7823 | 7858 |
|
7824 | 7859 |
conn, err := p.connSelector.LeaderConn(ctx) |
... | ... |
@@ -9099,6 +9394,46 @@ func (m *ListServicesResponse) Size() (n int) { |
9099 | 9099 |
return n |
9100 | 9100 |
} |
9101 | 9101 |
|
9102 |
+func (m *ListServiceStatusesRequest) Size() (n int) { |
|
9103 |
+ var l int |
|
9104 |
+ _ = l |
|
9105 |
+ if len(m.Services) > 0 { |
|
9106 |
+ for _, s := range m.Services { |
|
9107 |
+ l = len(s) |
|
9108 |
+ n += 1 + l + sovControl(uint64(l)) |
|
9109 |
+ } |
|
9110 |
+ } |
|
9111 |
+ return n |
|
9112 |
+} |
|
9113 |
+ |
|
9114 |
+func (m *ListServiceStatusesResponse) Size() (n int) { |
|
9115 |
+ var l int |
|
9116 |
+ _ = l |
|
9117 |
+ if len(m.Statuses) > 0 { |
|
9118 |
+ for _, e := range m.Statuses { |
|
9119 |
+ l = e.Size() |
|
9120 |
+ n += 1 + l + sovControl(uint64(l)) |
|
9121 |
+ } |
|
9122 |
+ } |
|
9123 |
+ return n |
|
9124 |
+} |
|
9125 |
+ |
|
9126 |
+func (m *ListServiceStatusesResponse_ServiceStatus) Size() (n int) { |
|
9127 |
+ var l int |
|
9128 |
+ _ = l |
|
9129 |
+ l = len(m.ServiceID) |
|
9130 |
+ if l > 0 { |
|
9131 |
+ n += 1 + l + sovControl(uint64(l)) |
|
9132 |
+ } |
|
9133 |
+ if m.DesiredTasks != 0 { |
|
9134 |
+ n += 1 + sovControl(uint64(m.DesiredTasks)) |
|
9135 |
+ } |
|
9136 |
+ if m.RunningTasks != 0 { |
|
9137 |
+ n += 1 + sovControl(uint64(m.RunningTasks)) |
|
9138 |
+ } |
|
9139 |
+ return n |
|
9140 |
+} |
|
9141 |
+ |
|
9102 | 9142 |
func (m *CreateNetworkRequest) Size() (n int) { |
9103 | 9143 |
var l int |
9104 | 9144 |
_ = l |
... | ... |
@@ -10171,6 +10506,38 @@ func (this *ListServicesResponse) String() string { |
10171 | 10171 |
}, "") |
10172 | 10172 |
return s |
10173 | 10173 |
} |
10174 |
+func (this *ListServiceStatusesRequest) String() string { |
|
10175 |
+ if this == nil { |
|
10176 |
+ return "nil" |
|
10177 |
+ } |
|
10178 |
+ s := strings.Join([]string{`&ListServiceStatusesRequest{`, |
|
10179 |
+ `Services:` + fmt.Sprintf("%v", this.Services) + `,`, |
|
10180 |
+ `}`, |
|
10181 |
+ }, "") |
|
10182 |
+ return s |
|
10183 |
+} |
|
10184 |
+func (this *ListServiceStatusesResponse) String() string { |
|
10185 |
+ if this == nil { |
|
10186 |
+ return "nil" |
|
10187 |
+ } |
|
10188 |
+ s := strings.Join([]string{`&ListServiceStatusesResponse{`, |
|
10189 |
+ `Statuses:` + strings.Replace(fmt.Sprintf("%v", this.Statuses), "ListServiceStatusesResponse_ServiceStatus", "ListServiceStatusesResponse_ServiceStatus", 1) + `,`, |
|
10190 |
+ `}`, |
|
10191 |
+ }, "") |
|
10192 |
+ return s |
|
10193 |
+} |
|
10194 |
+func (this *ListServiceStatusesResponse_ServiceStatus) String() string { |
|
10195 |
+ if this == nil { |
|
10196 |
+ return "nil" |
|
10197 |
+ } |
|
10198 |
+ s := strings.Join([]string{`&ListServiceStatusesResponse_ServiceStatus{`, |
|
10199 |
+ `ServiceID:` + fmt.Sprintf("%v", this.ServiceID) + `,`, |
|
10200 |
+ `DesiredTasks:` + fmt.Sprintf("%v", this.DesiredTasks) + `,`, |
|
10201 |
+ `RunningTasks:` + fmt.Sprintf("%v", this.RunningTasks) + `,`, |
|
10202 |
+ `}`, |
|
10203 |
+ }, "") |
|
10204 |
+ return s |
|
10205 |
+} |
|
10174 | 10206 |
func (this *CreateNetworkRequest) String() string { |
10175 | 10207 |
if this == nil { |
10176 | 10208 |
return "nil" |
... | ... |
@@ -14068,6 +14435,283 @@ func (m *ListServicesResponse) Unmarshal(dAtA []byte) error { |
14068 | 14068 |
} |
14069 | 14069 |
return nil |
14070 | 14070 |
} |
14071 |
+func (m *ListServiceStatusesRequest) Unmarshal(dAtA []byte) error { |
|
14072 |
+ l := len(dAtA) |
|
14073 |
+ iNdEx := 0 |
|
14074 |
+ for iNdEx < l { |
|
14075 |
+ preIndex := iNdEx |
|
14076 |
+ var wire uint64 |
|
14077 |
+ for shift := uint(0); ; shift += 7 { |
|
14078 |
+ if shift >= 64 { |
|
14079 |
+ return ErrIntOverflowControl |
|
14080 |
+ } |
|
14081 |
+ if iNdEx >= l { |
|
14082 |
+ return io.ErrUnexpectedEOF |
|
14083 |
+ } |
|
14084 |
+ b := dAtA[iNdEx] |
|
14085 |
+ iNdEx++ |
|
14086 |
+ wire |= (uint64(b) & 0x7F) << shift |
|
14087 |
+ if b < 0x80 { |
|
14088 |
+ break |
|
14089 |
+ } |
|
14090 |
+ } |
|
14091 |
+ fieldNum := int32(wire >> 3) |
|
14092 |
+ wireType := int(wire & 0x7) |
|
14093 |
+ if wireType == 4 { |
|
14094 |
+ return fmt.Errorf("proto: ListServiceStatusesRequest: wiretype end group for non-group") |
|
14095 |
+ } |
|
14096 |
+ if fieldNum <= 0 { |
|
14097 |
+ return fmt.Errorf("proto: ListServiceStatusesRequest: illegal tag %d (wire type %d)", fieldNum, wire) |
|
14098 |
+ } |
|
14099 |
+ switch fieldNum { |
|
14100 |
+ case 1: |
|
14101 |
+ if wireType != 2 { |
|
14102 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Services", wireType) |
|
14103 |
+ } |
|
14104 |
+ var stringLen uint64 |
|
14105 |
+ for shift := uint(0); ; shift += 7 { |
|
14106 |
+ if shift >= 64 { |
|
14107 |
+ return ErrIntOverflowControl |
|
14108 |
+ } |
|
14109 |
+ if iNdEx >= l { |
|
14110 |
+ return io.ErrUnexpectedEOF |
|
14111 |
+ } |
|
14112 |
+ b := dAtA[iNdEx] |
|
14113 |
+ iNdEx++ |
|
14114 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
14115 |
+ if b < 0x80 { |
|
14116 |
+ break |
|
14117 |
+ } |
|
14118 |
+ } |
|
14119 |
+ intStringLen := int(stringLen) |
|
14120 |
+ if intStringLen < 0 { |
|
14121 |
+ return ErrInvalidLengthControl |
|
14122 |
+ } |
|
14123 |
+ postIndex := iNdEx + intStringLen |
|
14124 |
+ if postIndex > l { |
|
14125 |
+ return io.ErrUnexpectedEOF |
|
14126 |
+ } |
|
14127 |
+ m.Services = append(m.Services, string(dAtA[iNdEx:postIndex])) |
|
14128 |
+ iNdEx = postIndex |
|
14129 |
+ default: |
|
14130 |
+ iNdEx = preIndex |
|
14131 |
+ skippy, err := skipControl(dAtA[iNdEx:]) |
|
14132 |
+ if err != nil { |
|
14133 |
+ return err |
|
14134 |
+ } |
|
14135 |
+ if skippy < 0 { |
|
14136 |
+ return ErrInvalidLengthControl |
|
14137 |
+ } |
|
14138 |
+ if (iNdEx + skippy) > l { |
|
14139 |
+ return io.ErrUnexpectedEOF |
|
14140 |
+ } |
|
14141 |
+ iNdEx += skippy |
|
14142 |
+ } |
|
14143 |
+ } |
|
14144 |
+ |
|
14145 |
+ if iNdEx > l { |
|
14146 |
+ return io.ErrUnexpectedEOF |
|
14147 |
+ } |
|
14148 |
+ return nil |
|
14149 |
+} |
|
14150 |
+func (m *ListServiceStatusesResponse) Unmarshal(dAtA []byte) error { |
|
14151 |
+ l := len(dAtA) |
|
14152 |
+ iNdEx := 0 |
|
14153 |
+ for iNdEx < l { |
|
14154 |
+ preIndex := iNdEx |
|
14155 |
+ var wire uint64 |
|
14156 |
+ for shift := uint(0); ; shift += 7 { |
|
14157 |
+ if shift >= 64 { |
|
14158 |
+ return ErrIntOverflowControl |
|
14159 |
+ } |
|
14160 |
+ if iNdEx >= l { |
|
14161 |
+ return io.ErrUnexpectedEOF |
|
14162 |
+ } |
|
14163 |
+ b := dAtA[iNdEx] |
|
14164 |
+ iNdEx++ |
|
14165 |
+ wire |= (uint64(b) & 0x7F) << shift |
|
14166 |
+ if b < 0x80 { |
|
14167 |
+ break |
|
14168 |
+ } |
|
14169 |
+ } |
|
14170 |
+ fieldNum := int32(wire >> 3) |
|
14171 |
+ wireType := int(wire & 0x7) |
|
14172 |
+ if wireType == 4 { |
|
14173 |
+ return fmt.Errorf("proto: ListServiceStatusesResponse: wiretype end group for non-group") |
|
14174 |
+ } |
|
14175 |
+ if fieldNum <= 0 { |
|
14176 |
+ return fmt.Errorf("proto: ListServiceStatusesResponse: illegal tag %d (wire type %d)", fieldNum, wire) |
|
14177 |
+ } |
|
14178 |
+ switch fieldNum { |
|
14179 |
+ case 1: |
|
14180 |
+ if wireType != 2 { |
|
14181 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Statuses", wireType) |
|
14182 |
+ } |
|
14183 |
+ var msglen int |
|
14184 |
+ for shift := uint(0); ; shift += 7 { |
|
14185 |
+ if shift >= 64 { |
|
14186 |
+ return ErrIntOverflowControl |
|
14187 |
+ } |
|
14188 |
+ if iNdEx >= l { |
|
14189 |
+ return io.ErrUnexpectedEOF |
|
14190 |
+ } |
|
14191 |
+ b := dAtA[iNdEx] |
|
14192 |
+ iNdEx++ |
|
14193 |
+ msglen |= (int(b) & 0x7F) << shift |
|
14194 |
+ if b < 0x80 { |
|
14195 |
+ break |
|
14196 |
+ } |
|
14197 |
+ } |
|
14198 |
+ if msglen < 0 { |
|
14199 |
+ return ErrInvalidLengthControl |
|
14200 |
+ } |
|
14201 |
+ postIndex := iNdEx + msglen |
|
14202 |
+ if postIndex > l { |
|
14203 |
+ return io.ErrUnexpectedEOF |
|
14204 |
+ } |
|
14205 |
+ m.Statuses = append(m.Statuses, &ListServiceStatusesResponse_ServiceStatus{}) |
|
14206 |
+ if err := m.Statuses[len(m.Statuses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { |
|
14207 |
+ return err |
|
14208 |
+ } |
|
14209 |
+ iNdEx = postIndex |
|
14210 |
+ default: |
|
14211 |
+ iNdEx = preIndex |
|
14212 |
+ skippy, err := skipControl(dAtA[iNdEx:]) |
|
14213 |
+ if err != nil { |
|
14214 |
+ return err |
|
14215 |
+ } |
|
14216 |
+ if skippy < 0 { |
|
14217 |
+ return ErrInvalidLengthControl |
|
14218 |
+ } |
|
14219 |
+ if (iNdEx + skippy) > l { |
|
14220 |
+ return io.ErrUnexpectedEOF |
|
14221 |
+ } |
|
14222 |
+ iNdEx += skippy |
|
14223 |
+ } |
|
14224 |
+ } |
|
14225 |
+ |
|
14226 |
+ if iNdEx > l { |
|
14227 |
+ return io.ErrUnexpectedEOF |
|
14228 |
+ } |
|
14229 |
+ return nil |
|
14230 |
+} |
|
14231 |
+func (m *ListServiceStatusesResponse_ServiceStatus) Unmarshal(dAtA []byte) error { |
|
14232 |
+ l := len(dAtA) |
|
14233 |
+ iNdEx := 0 |
|
14234 |
+ for iNdEx < l { |
|
14235 |
+ preIndex := iNdEx |
|
14236 |
+ var wire uint64 |
|
14237 |
+ for shift := uint(0); ; shift += 7 { |
|
14238 |
+ if shift >= 64 { |
|
14239 |
+ return ErrIntOverflowControl |
|
14240 |
+ } |
|
14241 |
+ if iNdEx >= l { |
|
14242 |
+ return io.ErrUnexpectedEOF |
|
14243 |
+ } |
|
14244 |
+ b := dAtA[iNdEx] |
|
14245 |
+ iNdEx++ |
|
14246 |
+ wire |= (uint64(b) & 0x7F) << shift |
|
14247 |
+ if b < 0x80 { |
|
14248 |
+ break |
|
14249 |
+ } |
|
14250 |
+ } |
|
14251 |
+ fieldNum := int32(wire >> 3) |
|
14252 |
+ wireType := int(wire & 0x7) |
|
14253 |
+ if wireType == 4 { |
|
14254 |
+ return fmt.Errorf("proto: ServiceStatus: wiretype end group for non-group") |
|
14255 |
+ } |
|
14256 |
+ if fieldNum <= 0 { |
|
14257 |
+ return fmt.Errorf("proto: ServiceStatus: illegal tag %d (wire type %d)", fieldNum, wire) |
|
14258 |
+ } |
|
14259 |
+ switch fieldNum { |
|
14260 |
+ case 1: |
|
14261 |
+ if wireType != 2 { |
|
14262 |
+ return fmt.Errorf("proto: wrong wireType = %d for field ServiceID", wireType) |
|
14263 |
+ } |
|
14264 |
+ var stringLen uint64 |
|
14265 |
+ for shift := uint(0); ; shift += 7 { |
|
14266 |
+ if shift >= 64 { |
|
14267 |
+ return ErrIntOverflowControl |
|
14268 |
+ } |
|
14269 |
+ if iNdEx >= l { |
|
14270 |
+ return io.ErrUnexpectedEOF |
|
14271 |
+ } |
|
14272 |
+ b := dAtA[iNdEx] |
|
14273 |
+ iNdEx++ |
|
14274 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
14275 |
+ if b < 0x80 { |
|
14276 |
+ break |
|
14277 |
+ } |
|
14278 |
+ } |
|
14279 |
+ intStringLen := int(stringLen) |
|
14280 |
+ if intStringLen < 0 { |
|
14281 |
+ return ErrInvalidLengthControl |
|
14282 |
+ } |
|
14283 |
+ postIndex := iNdEx + intStringLen |
|
14284 |
+ if postIndex > l { |
|
14285 |
+ return io.ErrUnexpectedEOF |
|
14286 |
+ } |
|
14287 |
+ m.ServiceID = string(dAtA[iNdEx:postIndex]) |
|
14288 |
+ iNdEx = postIndex |
|
14289 |
+ case 2: |
|
14290 |
+ if wireType != 0 { |
|
14291 |
+ return fmt.Errorf("proto: wrong wireType = %d for field DesiredTasks", wireType) |
|
14292 |
+ } |
|
14293 |
+ m.DesiredTasks = 0 |
|
14294 |
+ for shift := uint(0); ; shift += 7 { |
|
14295 |
+ if shift >= 64 { |
|
14296 |
+ return ErrIntOverflowControl |
|
14297 |
+ } |
|
14298 |
+ if iNdEx >= l { |
|
14299 |
+ return io.ErrUnexpectedEOF |
|
14300 |
+ } |
|
14301 |
+ b := dAtA[iNdEx] |
|
14302 |
+ iNdEx++ |
|
14303 |
+ m.DesiredTasks |= (uint64(b) & 0x7F) << shift |
|
14304 |
+ if b < 0x80 { |
|
14305 |
+ break |
|
14306 |
+ } |
|
14307 |
+ } |
|
14308 |
+ case 3: |
|
14309 |
+ if wireType != 0 { |
|
14310 |
+ return fmt.Errorf("proto: wrong wireType = %d for field RunningTasks", wireType) |
|
14311 |
+ } |
|
14312 |
+ m.RunningTasks = 0 |
|
14313 |
+ for shift := uint(0); ; shift += 7 { |
|
14314 |
+ if shift >= 64 { |
|
14315 |
+ return ErrIntOverflowControl |
|
14316 |
+ } |
|
14317 |
+ if iNdEx >= l { |
|
14318 |
+ return io.ErrUnexpectedEOF |
|
14319 |
+ } |
|
14320 |
+ b := dAtA[iNdEx] |
|
14321 |
+ iNdEx++ |
|
14322 |
+ m.RunningTasks |= (uint64(b) & 0x7F) << shift |
|
14323 |
+ if b < 0x80 { |
|
14324 |
+ break |
|
14325 |
+ } |
|
14326 |
+ } |
|
14327 |
+ default: |
|
14328 |
+ iNdEx = preIndex |
|
14329 |
+ skippy, err := skipControl(dAtA[iNdEx:]) |
|
14330 |
+ if err != nil { |
|
14331 |
+ return err |
|
14332 |
+ } |
|
14333 |
+ if skippy < 0 { |
|
14334 |
+ return ErrInvalidLengthControl |
|
14335 |
+ } |
|
14336 |
+ if (iNdEx + skippy) > l { |
|
14337 |
+ return io.ErrUnexpectedEOF |
|
14338 |
+ } |
|
14339 |
+ iNdEx += skippy |
|
14340 |
+ } |
|
14341 |
+ } |
|
14342 |
+ |
|
14343 |
+ if iNdEx > l { |
|
14344 |
+ return io.ErrUnexpectedEOF |
|
14345 |
+ } |
|
14346 |
+ return nil |
|
14347 |
+} |
|
14071 | 14348 |
func (m *CreateNetworkRequest) Unmarshal(dAtA []byte) error { |
14072 | 14349 |
l := len(dAtA) |
14073 | 14350 |
iNdEx := 0 |
... | ... |
@@ -19981,171 +20625,177 @@ var ( |
19981 | 19981 |
func init() { proto.RegisterFile("github.com/docker/swarmkit/api/control.proto", fileDescriptorControl) } |
19982 | 19982 |
|
19983 | 19983 |
var fileDescriptorControl = []byte{ |
19984 |
- // 2641 bytes of a gzipped FileDescriptorProto |
|
19985 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xc9, 0x6f, 0x1b, 0xc9, |
|
19986 |
- 0xf5, 0x36, 0x29, 0x4a, 0x22, 0x1f, 0xb5, 0xb9, 0x2c, 0xdb, 0x1c, 0x8e, 0x7f, 0x92, 0xd1, 0xfe, |
|
19987 |
- 0xd9, 0xa6, 0x1d, 0x87, 0x9c, 0xa1, 0x33, 0x19, 0xc7, 0x33, 0x93, 0xc4, 0xb2, 0xbc, 0xd0, 0x8b, |
|
19988 |
- 0x6c, 0xb4, 0x6c, 0x23, 0x97, 0x40, 0x68, 0x91, 0x25, 0x4d, 0x9b, 0x54, 0x37, 0xd3, 0xdd, 0xf4, |
|
19989 |
- 0x58, 0x08, 0x12, 0x64, 0x71, 0xfe, 0x84, 0x00, 0x41, 0x0e, 0x01, 0x72, 0x0a, 0x90, 0x43, 0x0e, |
|
19990 |
- 0x39, 0xe5, 0x90, 0x3f, 0xc0, 0xc8, 0x29, 0xc7, 0x9c, 0x94, 0x8c, 0x80, 0x00, 0x39, 0xe5, 0x9a, |
|
19991 |
- 0x63, 0x82, 0xda, 0x7a, 0x29, 0x56, 0x2f, 0x5c, 0x00, 0xcf, 0x49, 0x62, 0xf5, 0xf7, 0xea, 0xbd, |
|
19992 |
- 0xaa, 0xf7, 0xd5, 0x57, 0xd5, 0xaf, 0x1a, 0xae, 0xed, 0x9b, 0xde, 0xe7, 0x83, 0xdd, 0x7a, 0xdb, |
|
19993 |
- 0x3e, 0x68, 0x74, 0xec, 0x76, 0x17, 0x3b, 0x0d, 0xf7, 0x0b, 0xc3, 0x39, 0xe8, 0x9a, 0x5e, 0xc3, |
|
19994 |
- 0xe8, 0x9b, 0x8d, 0xb6, 0x6d, 0x79, 0x8e, 0xdd, 0xab, 0xf7, 0x1d, 0xdb, 0xb3, 0x11, 0x62, 0x90, |
|
19995 |
- 0xba, 0x80, 0xd4, 0x5f, 0x7d, 0x58, 0xbd, 0x9a, 0xd2, 0x83, 0xdb, 0xc7, 0x6d, 0x97, 0xd9, 0x57, |
|
19996 |
- 0xd3, 0xbc, 0xd9, 0xbb, 0x2f, 0x71, 0xdb, 0x13, 0xe8, 0xb4, 0x9e, 0xbd, 0xc3, 0x3e, 0x16, 0xd8, |
|
19997 |
- 0xd5, 0x7d, 0x7b, 0xdf, 0xa6, 0xff, 0x36, 0xc8, 0x7f, 0xbc, 0xf5, 0xbd, 0x7d, 0xdb, 0xde, 0xef, |
|
19998 |
- 0xe1, 0x06, 0xfd, 0xb5, 0x3b, 0xd8, 0x6b, 0x18, 0xd6, 0x21, 0x7f, 0xf4, 0x71, 0x42, 0xe7, 0x3e, |
|
19999 |
- 0xbc, 0xdf, 0x1b, 0xec, 0x9b, 0x16, 0xff, 0xc3, 0x0c, 0xb5, 0x8f, 0x60, 0xe9, 0x1e, 0xf6, 0xb6, |
|
20000 |
- 0xec, 0x0e, 0xd6, 0xf1, 0x0f, 0x06, 0xd8, 0xf5, 0xd0, 0x05, 0x98, 0xb7, 0xec, 0x0e, 0xde, 0x31, |
|
20001 |
- 0x3b, 0x95, 0xdc, 0xf9, 0x5c, 0xad, 0xb4, 0x01, 0xc7, 0x47, 0xeb, 0x73, 0x04, 0xd1, 0xda, 0xd4, |
|
20002 |
- 0xe7, 0xc8, 0xa3, 0x56, 0x47, 0xfb, 0x0e, 0x2c, 0xfb, 0x66, 0x6e, 0xdf, 0xb6, 0x5c, 0x8c, 0xae, |
|
20003 |
- 0x41, 0x81, 0x3c, 0xa4, 0x46, 0xe5, 0x66, 0xa5, 0x3e, 0x3c, 0xb9, 0x75, 0x8a, 0xa7, 0x28, 0xed, |
|
20004 |
- 0xcd, 0x2c, 0xac, 0x3c, 0x32, 0x5d, 0xda, 0x85, 0x2b, 0x5c, 0xdf, 0x85, 0xf9, 0x3d, 0xb3, 0xe7, |
|
20005 |
- 0x61, 0xc7, 0xe5, 0xbd, 0x5c, 0x53, 0xf5, 0x22, 0x9b, 0xd5, 0xef, 0x32, 0x1b, 0x5d, 0x18, 0x57, |
|
20006 |
- 0x7f, 0x57, 0x80, 0x79, 0xde, 0x88, 0x56, 0x61, 0xd6, 0x32, 0x0e, 0x30, 0xe9, 0x71, 0xa6, 0x56, |
|
20007 |
- 0xd2, 0xd9, 0x0f, 0xd4, 0x80, 0xb2, 0xd9, 0xd9, 0xe9, 0x3b, 0x78, 0xcf, 0x7c, 0x8d, 0xdd, 0x4a, |
|
20008 |
- 0x9e, 0x3c, 0xdb, 0x58, 0x3a, 0x3e, 0x5a, 0x87, 0xd6, 0xe6, 0x53, 0xde, 0xaa, 0x83, 0xd9, 0x11, |
|
20009 |
- 0xff, 0xa3, 0xa7, 0x30, 0xd7, 0x33, 0x76, 0x71, 0xcf, 0xad, 0xcc, 0x9c, 0x9f, 0xa9, 0x95, 0x9b, |
|
20010 |
- 0x37, 0x46, 0x89, 0xac, 0xfe, 0x88, 0x9a, 0xde, 0xb1, 0x3c, 0xe7, 0x50, 0xe7, 0xfd, 0xa0, 0xc7, |
|
20011 |
- 0x50, 0x3e, 0xc0, 0x07, 0xbb, 0xd8, 0x71, 0x3f, 0x37, 0xfb, 0x6e, 0xa5, 0x70, 0x7e, 0xa6, 0xb6, |
|
20012 |
- 0xd4, 0xbc, 0x1c, 0x37, 0x6d, 0xdb, 0x7d, 0xdc, 0xae, 0x3f, 0xf6, 0xf1, 0x1b, 0xf9, 0x95, 0x13, |
|
20013 |
- 0x7a, 0xd8, 0x1e, 0x7d, 0x13, 0x66, 0x1d, 0xbb, 0x87, 0xdd, 0xca, 0x2c, 0xed, 0xe8, 0x5c, 0xec, |
|
20014 |
- 0xfc, 0xdb, 0x3d, 0x4c, 0xad, 0x19, 0x1c, 0x5d, 0x80, 0x45, 0x32, 0x25, 0xc1, 0x5c, 0xcc, 0xd1, |
|
20015 |
- 0x79, 0x5a, 0x20, 0x8d, 0xfe, 0xe8, 0xbf, 0x0f, 0x65, 0xca, 0x09, 0x3e, 0x05, 0xf3, 0x74, 0x0a, |
|
20016 |
- 0x3e, 0x1d, 0x69, 0x0a, 0x48, 0x63, 0x78, 0x1a, 0xc0, 0xf2, 0x1b, 0xaa, 0xdf, 0x82, 0x72, 0xe8, |
|
20017 |
- 0x11, 0x5a, 0x81, 0x99, 0x2e, 0x3e, 0x64, 0xec, 0xd3, 0xc9, 0xbf, 0x24, 0x89, 0xaf, 0x8c, 0xde, |
|
20018 |
- 0x00, 0x57, 0xf2, 0xb4, 0x8d, 0xfd, 0xb8, 0x99, 0xbf, 0x91, 0xab, 0x7e, 0x06, 0xcb, 0x52, 0xcf, |
|
20019 |
- 0xa3, 0x98, 0x6b, 0xb7, 0xe1, 0x64, 0x28, 0x62, 0xce, 0xe4, 0x3a, 0xcc, 0x92, 0xe0, 0x18, 0x65, |
|
20020 |
- 0x92, 0xa8, 0xcc, 0x60, 0xda, 0xef, 0x73, 0x70, 0xf2, 0x79, 0xbf, 0x63, 0x78, 0x78, 0xd4, 0x75, |
|
20021 |
- 0x84, 0xbe, 0x0d, 0x0b, 0x14, 0xf4, 0x0a, 0x3b, 0xae, 0x69, 0x5b, 0x34, 0xc0, 0x72, 0xf3, 0x7d, |
|
20022 |
- 0x95, 0xc7, 0x17, 0x0c, 0xa2, 0xd3, 0x4c, 0xf0, 0x1f, 0xe8, 0x03, 0x28, 0x10, 0x45, 0xaa, 0xcc, |
|
20023 |
- 0x50, 0xbb, 0x73, 0x49, 0xec, 0xd1, 0x29, 0x52, 0xdb, 0x00, 0x14, 0x8e, 0x75, 0xac, 0xc5, 0xbb, |
|
20024 |
- 0x05, 0x27, 0x75, 0x7c, 0x60, 0xbf, 0x1a, 0x7d, 0xbc, 0xab, 0x30, 0xbb, 0x67, 0x3b, 0x6d, 0x96, |
|
20025 |
- 0x89, 0xa2, 0xce, 0x7e, 0x68, 0xab, 0x80, 0xc2, 0xfd, 0xb1, 0x98, 0xb8, 0x34, 0x3d, 0x33, 0xdc, |
|
20026 |
- 0x6e, 0xc8, 0x85, 0x67, 0xb8, 0x5d, 0xc9, 0x05, 0x41, 0x10, 0x17, 0xe4, 0x91, 0x2f, 0x4d, 0xcc, |
|
20027 |
- 0x2c, 0x18, 0x1d, 0x79, 0x98, 0x34, 0x3a, 0x8a, 0xa7, 0x28, 0xed, 0x86, 0x18, 0xdd, 0xc8, 0xae, |
|
20028 |
- 0xfd, 0x71, 0x84, 0xbd, 0x6b, 0x7f, 0x2e, 0x30, 0xa9, 0x23, 0x8d, 0x63, 0x48, 0x5d, 0xd8, 0x6c, |
|
20029 |
- 0x58, 0xea, 0xfe, 0x3e, 0xf3, 0xee, 0xa4, 0x4e, 0x15, 0x99, 0x52, 0xea, 0x1a, 0x50, 0x76, 0xb1, |
|
20030 |
- 0xf3, 0xca, 0x6c, 0x13, 0x76, 0x30, 0xa9, 0xe3, 0x21, 0x6c, 0xb3, 0xe6, 0xd6, 0xa6, 0xab, 0x03, |
|
20031 |
- 0x87, 0xb4, 0x3a, 0x2e, 0xba, 0x04, 0x45, 0xce, 0x25, 0xa6, 0x67, 0xa5, 0x8d, 0xf2, 0xf1, 0xd1, |
|
20032 |
- 0xfa, 0x3c, 0x23, 0x93, 0xab, 0xcf, 0x33, 0x36, 0xb9, 0xe8, 0x3e, 0x2c, 0x75, 0xb0, 0x6b, 0x3a, |
|
20033 |
- 0xb8, 0xb3, 0xe3, 0x7a, 0x86, 0xc7, 0xd5, 0x6b, 0xa9, 0xf9, 0x7f, 0x71, 0x29, 0xde, 0x26, 0x28, |
|
20034 |
- 0x2a, 0x7f, 0x8b, 0xdc, 0x90, 0xb6, 0x28, 0x64, 0x70, 0x5e, 0x21, 0x83, 0xe7, 0x00, 0x06, 0xfd, |
|
20035 |
- 0x1d, 0xcf, 0xde, 0x21, 0xeb, 0xa7, 0x52, 0xa4, 0x14, 0x2e, 0x0e, 0xfa, 0xcf, 0xec, 0x4d, 0xc3, |
|
20036 |
- 0xc3, 0xa8, 0x0a, 0x45, 0x67, 0x60, 0x79, 0x26, 0xc9, 0x40, 0x89, 0x5a, 0xfb, 0xbf, 0x27, 0x50, |
|
20037 |
- 0x38, 0x21, 0x51, 0x7c, 0xb2, 0x03, 0x89, 0x22, 0x9c, 0x4b, 0x94, 0x28, 0x4a, 0x42, 0x06, 0xd3, |
|
20038 |
- 0x1e, 0xc2, 0xea, 0x6d, 0x07, 0x1b, 0x1e, 0xe6, 0x13, 0x2e, 0x68, 0x78, 0x9d, 0xeb, 0x07, 0xe3, |
|
20039 |
- 0xe0, 0xba, 0xaa, 0x1b, 0x6e, 0x11, 0x92, 0x90, 0x2d, 0x38, 0x2d, 0x75, 0xc6, 0xa3, 0xfa, 0x08, |
|
20040 |
- 0xe6, 0x79, 0x12, 0x79, 0x87, 0xef, 0x27, 0x74, 0xa8, 0x0b, 0xac, 0xf6, 0x12, 0x4e, 0xde, 0xc3, |
|
20041 |
- 0x9e, 0x14, 0xd9, 0x35, 0x80, 0x80, 0x33, 0x7c, 0xcd, 0x2d, 0x1e, 0x1f, 0xad, 0x97, 0x7c, 0xca, |
|
20042 |
- 0xe8, 0x25, 0x9f, 0x31, 0xe8, 0x32, 0x2c, 0x9b, 0x96, 0x8b, 0x1d, 0x6f, 0xa7, 0x83, 0xf7, 0x8c, |
|
20043 |
- 0x41, 0xcf, 0x73, 0xb9, 0xc2, 0x2c, 0xb1, 0xe6, 0x4d, 0xde, 0xaa, 0x3d, 0x04, 0x14, 0xf6, 0x35, |
|
20044 |
- 0x59, 0xe0, 0x7f, 0xcc, 0xc3, 0x2a, 0x13, 0xd3, 0x89, 0x82, 0xdf, 0x84, 0x65, 0x81, 0x1e, 0x61, |
|
20045 |
- 0x1f, 0x58, 0xe2, 0x36, 0x62, 0x2b, 0xb8, 0x1e, 0xd9, 0x0a, 0xb2, 0xa5, 0x12, 0x3d, 0x86, 0xa2, |
|
20046 |
- 0x63, 0xf7, 0x7a, 0xbb, 0x46, 0xbb, 0x5b, 0x29, 0x9c, 0xcf, 0xd5, 0x96, 0x9a, 0x1f, 0xaa, 0x0c, |
|
20047 |
- 0x55, 0x83, 0xac, 0xeb, 0xdc, 0x50, 0xf7, 0xbb, 0xd0, 0x34, 0x28, 0x8a, 0x56, 0x54, 0x84, 0xc2, |
|
20048 |
- 0xd6, 0x93, 0xad, 0x3b, 0x2b, 0x27, 0xd0, 0x02, 0x14, 0x9f, 0xea, 0x77, 0x5e, 0xb4, 0x9e, 0x3c, |
|
20049 |
- 0xdf, 0x5e, 0xc9, 0x11, 0xf6, 0x48, 0xdd, 0x4d, 0x96, 0x84, 0x4d, 0x58, 0x65, 0xa2, 0x3b, 0x49, |
|
20050 |
- 0x0e, 0xb4, 0xb3, 0x70, 0x5a, 0xea, 0x85, 0xab, 0xf7, 0x9b, 0x19, 0x38, 0x45, 0xd6, 0x1f, 0x6f, |
|
20051 |
- 0xf7, 0x05, 0xbc, 0x25, 0x0b, 0x78, 0x23, 0x4e, 0x26, 0x25, 0xcb, 0x61, 0x0d, 0xff, 0x6d, 0x7e, |
|
20052 |
- 0xea, 0x1a, 0xbe, 0x2d, 0x69, 0xf8, 0x27, 0x23, 0x06, 0xa7, 0x94, 0xf1, 0x21, 0x8d, 0x2c, 0x28, |
|
20053 |
- 0x34, 0x32, 0xac, 0x82, 0xb3, 0xd3, 0x53, 0xc1, 0x27, 0xb0, 0x1a, 0x0d, 0x97, 0x93, 0xe6, 0x63, |
|
20054 |
- 0x28, 0xf2, 0x24, 0x0a, 0x2d, 0x4c, 0x64, 0x8d, 0x0f, 0x0e, 0x14, 0x71, 0x0b, 0x7b, 0x5f, 0xd8, |
|
20055 |
- 0x4e, 0x77, 0x04, 0x45, 0xe4, 0x16, 0x2a, 0x45, 0xf4, 0x3b, 0x0b, 0x38, 0x6d, 0xb1, 0xa6, 0x24, |
|
20056 |
- 0x4e, 0x0b, 0x2b, 0x81, 0xd5, 0x9e, 0x53, 0x45, 0x94, 0x22, 0x43, 0x50, 0x20, 0x33, 0xcd, 0xe7, |
|
20057 |
- 0x8b, 0xfe, 0x4f, 0x48, 0xce, 0x6d, 0x08, 0xc9, 0xf3, 0x01, 0xc9, 0xb9, 0x2d, 0x21, 0x39, 0x07, |
|
20058 |
- 0xb4, 0x3a, 0x5c, 0xfc, 0xa6, 0x14, 0xe3, 0xf7, 0xc4, 0xba, 0x9b, 0x7a, 0x98, 0xfe, 0x5a, 0x94, |
|
20059 |
- 0x22, 0xd5, 0xfe, 0x95, 0x67, 0x6b, 0x91, 0xb7, 0x8f, 0xb1, 0x16, 0x25, 0xcb, 0xe1, 0xb5, 0xf8, |
|
20060 |
- 0x8b, 0x77, 0xb8, 0x16, 0x63, 0x82, 0x1b, 0x7b, 0x2d, 0x4e, 0x61, 0xbd, 0x05, 0x21, 0x05, 0xeb, |
|
20061 |
- 0x8d, 0x27, 0x2a, 0x71, 0xbd, 0x89, 0xcc, 0xf9, 0x60, 0xed, 0x16, 0xa5, 0xf4, 0xed, 0xde, 0xc0, |
|
20062 |
- 0xf5, 0xb0, 0x13, 0xd2, 0xe8, 0x36, 0x6b, 0x91, 0x34, 0x9a, 0xe3, 0x08, 0x2f, 0x38, 0xc0, 0xa7, |
|
20063 |
- 0xaf, 0xdf, 0x45, 0x40, 0x5f, 0x0e, 0x49, 0xa2, 0xaf, 0xb0, 0x12, 0x58, 0x9f, 0x4b, 0xfc, 0xc1, |
|
20064 |
- 0x18, 0x5c, 0x92, 0x2c, 0xbf, 0x5a, 0x5c, 0x8a, 0x09, 0xee, 0x5d, 0x72, 0x29, 0x08, 0x29, 0xe0, |
|
20065 |
- 0x12, 0xcf, 0x46, 0x22, 0x97, 0x44, 0xea, 0x7c, 0xb0, 0xf6, 0xcb, 0x1c, 0x94, 0x1f, 0xe2, 0x43, |
|
20066 |
- 0xdd, 0xf6, 0x0c, 0x8f, 0x1c, 0x7d, 0xae, 0xc2, 0x49, 0x42, 0x32, 0xec, 0xec, 0xbc, 0xb4, 0x4d, |
|
20067 |
- 0x6b, 0xc7, 0xb3, 0xbb, 0xd8, 0xa2, 0xa1, 0x15, 0xf5, 0x65, 0xf6, 0xe0, 0x81, 0x6d, 0x5a, 0xcf, |
|
20068 |
- 0x48, 0x33, 0xba, 0x06, 0xe8, 0xc0, 0xb0, 0x8c, 0xfd, 0x28, 0x98, 0x1d, 0x16, 0x57, 0xf8, 0x13, |
|
20069 |
- 0x25, 0x7a, 0x60, 0xf5, 0xec, 0x76, 0x77, 0x87, 0x8c, 0x7a, 0x26, 0x82, 0x7e, 0x4e, 0x1f, 0x3c, |
|
20070 |
- 0xc4, 0x87, 0xda, 0xcf, 0xfc, 0xf3, 0xe0, 0x24, 0x3c, 0x27, 0xe7, 0x41, 0x81, 0x1e, 0xe5, 0x3c, |
|
20071 |
- 0xc8, 0x6d, 0x46, 0x38, 0x0f, 0x72, 0xef, 0xa1, 0xf3, 0xe0, 0x2d, 0x72, 0x1e, 0x64, 0xb3, 0x4a, |
|
20072 |
- 0xcf, 0x83, 0x31, 0x86, 0xa1, 0xc9, 0xdf, 0x28, 0xbc, 0x3d, 0x5a, 0x3f, 0xa1, 0xfb, 0x66, 0xc1, |
|
20073 |
- 0xf9, 0x6e, 0x4a, 0x0b, 0xf5, 0x33, 0x58, 0xa1, 0x27, 0xf6, 0xb6, 0x83, 0x3d, 0x31, 0x9f, 0x57, |
|
20074 |
- 0xa0, 0xe4, 0xd2, 0x86, 0x60, 0x3a, 0x17, 0x8e, 0x8f, 0xd6, 0x8b, 0x0c, 0xd5, 0xda, 0x24, 0xfb, |
|
20075 |
- 0x3c, 0xfd, 0xaf, 0xa3, 0xdd, 0xe3, 0x2f, 0x17, 0xcc, 0x9c, 0x87, 0xd2, 0x84, 0x39, 0x06, 0xe0, |
|
20076 |
- 0x91, 0x54, 0xd5, 0x67, 0x06, 0x6a, 0xc3, 0x91, 0xda, 0x9f, 0x72, 0x70, 0x4a, 0x1c, 0x5c, 0xc7, |
|
20077 |
- 0x8b, 0x05, 0x6d, 0xc0, 0x12, 0x87, 0x8e, 0x90, 0xd7, 0x45, 0x66, 0x22, 0xd2, 0xda, 0x8c, 0xa4, |
|
20078 |
- 0x75, 0x2d, 0x3e, 0xf0, 0xd0, 0xf1, 0xe4, 0x41, 0xf0, 0x9a, 0x32, 0xf1, 0x34, 0xfc, 0x33, 0x0f, |
|
20079 |
- 0x88, 0x9d, 0xc4, 0xc8, 0x4f, 0x5f, 0x36, 0xef, 0xcb, 0xb2, 0x59, 0x8f, 0x3f, 0x71, 0x86, 0x0d, |
|
20080 |
- 0x87, 0x55, 0xf3, 0xcd, 0xf4, 0x55, 0x53, 0x97, 0x54, 0xf3, 0xe6, 0x68, 0xb1, 0xbd, 0x13, 0xd1, |
|
20081 |
- 0x7c, 0x28, 0x5e, 0x3b, 0x78, 0x44, 0x3c, 0x65, 0xdf, 0x20, 0x2f, 0x49, 0xb4, 0x89, 0x4b, 0x66, |
|
20082 |
- 0x52, 0xce, 0x04, 0x54, 0x6b, 0xc1, 0x29, 0xf1, 0xc6, 0x1e, 0xa6, 0x6e, 0x33, 0x72, 0xd6, 0xcd, |
|
20083 |
- 0xcc, 0xa5, 0x68, 0x57, 0x13, 0x70, 0xe9, 0xbb, 0x70, 0x4a, 0xbc, 0x74, 0x8d, 0xb9, 0xba, 0xcf, |
|
20084 |
- 0x04, 0x2f, 0x7f, 0xe1, 0x68, 0xb8, 0x68, 0xdc, 0xb6, 0xad, 0x3d, 0x73, 0x3f, 0xd4, 0x6d, 0x9b, |
|
20085 |
- 0x36, 0x48, 0xdd, 0x32, 0x14, 0xe9, 0x96, 0x3d, 0xf6, 0x45, 0x43, 0x98, 0x07, 0x23, 0x64, 0x80, |
|
20086 |
- 0xa4, 0x11, 0x72, 0x1b, 0x8e, 0x0c, 0x89, 0xc6, 0xb8, 0xb1, 0x10, 0xd1, 0xe0, 0xd0, 0x51, 0x44, |
|
20087 |
- 0x83, 0x99, 0x8c, 0x20, 0x1a, 0xcc, 0xb3, 0x4a, 0x34, 0xa6, 0x30, 0x0d, 0x42, 0x34, 0x58, 0xf3, |
|
20088 |
- 0x18, 0xa2, 0x11, 0x35, 0xfc, 0x6a, 0x89, 0x86, 0x3a, 0xb6, 0x77, 0x29, 0x1a, 0x7e, 0x44, 0x81, |
|
20089 |
- 0x68, 0xb0, 0x44, 0x24, 0x8a, 0x06, 0xcf, 0x99, 0x80, 0x06, 0xa2, 0x11, 0xa5, 0x6e, 0x06, 0xd1, |
|
20090 |
- 0x50, 0x71, 0x29, 0xda, 0xd5, 0x04, 0x5c, 0xf2, 0x45, 0x63, 0xec, 0xd5, 0xed, 0x8b, 0x46, 0x34, |
|
20091 |
- 0x1a, 0xed, 0x47, 0x70, 0x86, 0x45, 0x79, 0xe7, 0xb5, 0x87, 0x2d, 0xba, 0x8e, 0x78, 0xe7, 0xb7, |
|
20092 |
- 0xa0, 0x6c, 0x58, 0x16, 0x3f, 0xe1, 0xb8, 0x49, 0xb5, 0x81, 0x5b, 0x01, 0x4c, 0x0f, 0xdb, 0xa0, |
|
20093 |
- 0xf3, 0x50, 0xee, 0x60, 0xb7, 0xed, 0x98, 0x7d, 0x4f, 0xac, 0xe1, 0x92, 0x1e, 0x6e, 0xd2, 0x5e, |
|
20094 |
- 0xc0, 0xd9, 0x21, 0xf7, 0x7c, 0x9e, 0x3e, 0x81, 0x12, 0x16, 0x8d, 0xdc, 0xbb, 0xb2, 0xc4, 0x1d, |
|
20095 |
- 0x58, 0x06, 0x78, 0xed, 0x11, 0x9c, 0x61, 0xc3, 0x1d, 0x1a, 0x56, 0x13, 0x16, 0x7c, 0x58, 0x30, |
|
20096 |
- 0x6d, 0xcb, 0xc7, 0x47, 0xeb, 0x65, 0x1f, 0xdb, 0xda, 0xd4, 0xcb, 0x3e, 0xa8, 0xd5, 0xd1, 0xde, |
|
20097 |
- 0x83, 0xb3, 0x43, 0xbd, 0xf1, 0xf9, 0x6b, 0xc1, 0xa9, 0x7b, 0xd8, 0x9b, 0x8a, 0x97, 0x6d, 0x58, |
|
20098 |
- 0x8d, 0x76, 0x35, 0x8d, 0x89, 0xf8, 0x4d, 0x4e, 0x94, 0x69, 0x74, 0xec, 0xda, 0x03, 0x27, 0xa8, |
|
20099 |
- 0x15, 0x4e, 0x21, 0xbf, 0x08, 0x0a, 0x5d, 0xd3, 0xe2, 0xc5, 0x0d, 0x9d, 0xfe, 0x8f, 0xea, 0x30, |
|
20100 |
- 0xdf, 0x37, 0x0e, 0x7b, 0xb6, 0xd1, 0xe1, 0xca, 0xbb, 0x5a, 0x67, 0x57, 0xf8, 0x75, 0x71, 0x27, |
|
20101 |
- 0x5f, 0xbf, 0x65, 0x1d, 0xea, 0x02, 0xa4, 0xe9, 0x82, 0x80, 0x41, 0x7c, 0x7c, 0xdc, 0x37, 0xa0, |
|
20102 |
- 0xe8, 0xf0, 0x36, 0x1e, 0x9d, 0xf2, 0xae, 0xcf, 0xb7, 0xf3, 0xd1, 0xda, 0x7d, 0x51, 0x4c, 0x91, |
|
20103 |
- 0xc7, 0xdc, 0x80, 0xb2, 0x00, 0x05, 0x59, 0xa1, 0x82, 0x28, 0x90, 0xad, 0x4d, 0x1d, 0x04, 0xa4, |
|
20104 |
- 0xd5, 0xd1, 0x2a, 0x82, 0x47, 0x72, 0x74, 0xda, 0xcf, 0xf3, 0xe2, 0xcc, 0x3f, 0xa9, 0x13, 0x74, |
|
20105 |
- 0x17, 0x56, 0x7c, 0x83, 0x11, 0xf6, 0xbb, 0x65, 0x61, 0x24, 0x76, 0x3c, 0x29, 0xa3, 0x33, 0x63, |
|
20106 |
- 0x64, 0x34, 0x94, 0xbd, 0x42, 0xc6, 0xec, 0xc9, 0x93, 0x30, 0x71, 0xf6, 0xee, 0xd0, 0x92, 0xc7, |
|
20107 |
- 0xc4, 0xa9, 0x7b, 0x42, 0x57, 0xe6, 0x14, 0xe3, 0xfa, 0x6f, 0x9e, 0xbd, 0xd3, 0x8b, 0x47, 0xfe, |
|
20108 |
- 0x96, 0xfe, 0x40, 0xde, 0xd2, 0x3f, 0x88, 0xdb, 0x36, 0x65, 0xd3, 0xe1, 0x4d, 0xfd, 0xd7, 0xd3, |
|
20109 |
- 0xdf, 0xd4, 0x9f, 0x49, 0x9b, 0xfa, 0xa7, 0xa3, 0x46, 0x37, 0x7e, 0x61, 0x5c, 0x08, 0xc4, 0x6c, |
|
20110 |
- 0x20, 0x10, 0x93, 0x6c, 0xf5, 0xdb, 0x70, 0x5a, 0x8a, 0x93, 0x27, 0xf5, 0x26, 0x94, 0x44, 0x9a, |
|
20111 |
- 0xc4, 0x76, 0x9f, 0x9c, 0xd5, 0x00, 0xde, 0xfc, 0x8f, 0x06, 0xf3, 0xb7, 0xd9, 0x37, 0x52, 0xc8, |
|
20112 |
- 0x84, 0x79, 0xfe, 0x89, 0x0f, 0xd2, 0x54, 0xf6, 0xd1, 0xcf, 0x86, 0xaa, 0x17, 0x12, 0x31, 0x5c, |
|
20113 |
- 0x28, 0x4e, 0xff, 0xe5, 0x0f, 0xff, 0xfe, 0x55, 0x7e, 0x19, 0x16, 0x29, 0xe8, 0xeb, 0xbc, 0x80, |
|
20114 |
- 0x82, 0x6c, 0x28, 0xf9, 0x5f, 0x61, 0xa0, 0xff, 0xcf, 0xf2, 0x59, 0x49, 0xf5, 0x62, 0x0a, 0x2a, |
|
20115 |
- 0xd9, 0xa1, 0x03, 0x10, 0x7c, 0x04, 0x81, 0x2e, 0xc6, 0x5f, 0x79, 0x85, 0x47, 0x78, 0x29, 0x0d, |
|
20116 |
- 0x96, 0xea, 0x33, 0xf8, 0xc8, 0x41, 0xed, 0x73, 0xe8, 0xa3, 0x0a, 0xb5, 0x4f, 0xc5, 0xb7, 0x12, |
|
20117 |
- 0x31, 0x3e, 0x59, 0x0e, 0x9f, 0x19, 0x6e, 0x37, 0x36, 0x87, 0xa1, 0x8f, 0x1c, 0x62, 0x73, 0x18, |
|
20118 |
- 0xf9, 0x9c, 0x21, 0x39, 0x87, 0xf4, 0x9a, 0x3a, 0x3e, 0x87, 0xe1, 0x4f, 0x06, 0xe2, 0x73, 0x18, |
|
20119 |
- 0xb9, 0xeb, 0x4e, 0x9d, 0x4f, 0x3a, 0xbc, 0x84, 0xf9, 0x0c, 0x8f, 0xf0, 0x52, 0x1a, 0x2c, 0xd5, |
|
20120 |
- 0x67, 0x70, 0x7b, 0xac, 0xf6, 0x39, 0x74, 0x93, 0xad, 0xf6, 0x39, 0x7c, 0x09, 0x1d, 0xe7, 0xf3, |
|
20121 |
- 0x35, 0x2c, 0x84, 0x6f, 0xbe, 0xd0, 0xe5, 0x8c, 0x57, 0x79, 0xd5, 0x5a, 0x3a, 0x30, 0xd9, 0xf3, |
|
20122 |
- 0x0f, 0x61, 0x31, 0x72, 0xcf, 0x8f, 0x94, 0x3d, 0xaa, 0xbe, 0x2b, 0xa8, 0x5e, 0xc9, 0x80, 0x4c, |
|
20123 |
- 0x75, 0x1e, 0xb9, 0x26, 0x56, 0x3b, 0x57, 0x5d, 0x4c, 0xab, 0x9d, 0x2b, 0xef, 0x9c, 0x13, 0x9c, |
|
20124 |
- 0x47, 0x6e, 0x83, 0xd5, 0xce, 0x55, 0xd7, 0xce, 0x6a, 0xe7, 0xea, 0xab, 0xe5, 0x44, 0x92, 0xf1, |
|
20125 |
- 0x1b, 0x94, 0x58, 0x92, 0x45, 0x6f, 0xdd, 0x62, 0x49, 0x26, 0x5f, 0xa1, 0x25, 0x93, 0x4c, 0x5c, |
|
20126 |
- 0xf7, 0xc4, 0x93, 0x4c, 0xba, 0xa3, 0x8a, 0x27, 0x99, 0x7c, 0x73, 0x94, 0x4a, 0x32, 0x31, 0xe0, |
|
20127 |
- 0x04, 0x92, 0x49, 0x63, 0xbe, 0x92, 0x01, 0x99, 0x31, 0xcf, 0x89, 0xce, 0x55, 0xd7, 0x9c, 0x49, |
|
20128 |
- 0x79, 0xce, 0xe8, 0x9c, 0xe5, 0x99, 0xd7, 0xbb, 0x63, 0xf3, 0x1c, 0xbd, 0x49, 0x88, 0xcd, 0xb3, |
|
20129 |
- 0x54, 0x6c, 0x4f, 0xc9, 0xb3, 0xb8, 0x8a, 0x89, 0xcf, 0xb3, 0x74, 0x7f, 0x14, 0x9f, 0x67, 0xf9, |
|
20130 |
- 0x56, 0x27, 0x75, 0x3d, 0x8b, 0x01, 0x27, 0xac, 0x67, 0x69, 0xcc, 0x57, 0x32, 0x20, 0x53, 0x37, |
|
20131 |
- 0x27, 0xff, 0x12, 0x40, 0xbd, 0x39, 0xc9, 0x57, 0x0c, 0xd5, 0x8b, 0x29, 0xa8, 0xd4, 0x79, 0x0e, |
|
20132 |
- 0x57, 0xdc, 0xd5, 0xf3, 0xac, 0xb8, 0x4d, 0xa8, 0xd6, 0xd2, 0x81, 0xc9, 0x9e, 0x07, 0x50, 0x0e, |
|
20133 |
- 0xd5, 0x8d, 0xd1, 0xa5, 0x6c, 0xa5, 0xee, 0xea, 0xe5, 0x54, 0x5c, 0xea, 0x80, 0xc3, 0x65, 0x61, |
|
20134 |
- 0xf5, 0x80, 0x15, 0x35, 0xe8, 0x6a, 0x2d, 0x1d, 0x98, 0xea, 0x39, 0x5c, 0x02, 0x56, 0x7b, 0x56, |
|
20135 |
- 0x94, 0x99, 0xab, 0xb5, 0x74, 0x60, 0x16, 0x56, 0xb1, 0x22, 0x52, 0x2c, 0xab, 0x22, 0x55, 0xaa, |
|
20136 |
- 0x58, 0x56, 0x49, 0x95, 0xa8, 0x34, 0x56, 0x71, 0x9f, 0x09, 0xac, 0x8a, 0xba, 0xad, 0xa5, 0x03, |
|
20137 |
- 0x33, 0xb1, 0x8a, 0x17, 0x16, 0xe3, 0x59, 0x15, 0xad, 0x85, 0xc6, 0xb3, 0x4a, 0xaa, 0x50, 0xa6, |
|
20138 |
- 0xb2, 0x2a, 0x69, 0xc0, 0x8a, 0x22, 0x65, 0x12, 0xab, 0x32, 0x4f, 0x75, 0xb8, 0x46, 0x98, 0xc4, |
|
20139 |
- 0xaa, 0x0c, 0x9e, 0x95, 0xe5, 0xc6, 0x78, 0xcf, 0xe1, 0xd2, 0x97, 0xda, 0xb3, 0xa2, 0xce, 0xa6, |
|
20140 |
- 0xf6, 0xac, 0xaa, 0xa2, 0xc5, 0x79, 0xfe, 0x69, 0x0e, 0x96, 0xa5, 0x0a, 0x24, 0xba, 0x1a, 0x3f, |
|
20141 |
- 0x91, 0x43, 0x01, 0x7c, 0x2d, 0x13, 0x36, 0x3d, 0x06, 0xa9, 0xbe, 0xa8, 0x8e, 0x41, 0x5d, 0xd2, |
|
20142 |
- 0x54, 0xc7, 0x10, 0x57, 0xb0, 0x8c, 0x27, 0x7b, 0xa8, 0x5a, 0x82, 0xe2, 0xb6, 0x5c, 0xa9, 0x2a, |
|
20143 |
- 0x53, 0xbd, 0x9c, 0x8a, 0x4b, 0x76, 0xfb, 0x63, 0x58, 0x8a, 0xd6, 0x8f, 0x50, 0xc2, 0xc6, 0x27, |
|
20144 |
- 0x3b, 0xbf, 0x9a, 0x05, 0x9a, 0xba, 0x43, 0x47, 0x2a, 0x0a, 0xa8, 0x96, 0xb5, 0x38, 0xa2, 0xde, |
|
20145 |
- 0xa1, 0x95, 0xe5, 0x89, 0x84, 0xc1, 0x47, 0x4b, 0x9f, 0x28, 0xe1, 0x74, 0x97, 0x69, 0xf0, 0xea, |
|
20146 |
- 0x4a, 0x6a, 0x82, 0xff, 0x68, 0x71, 0x13, 0x25, 0x1c, 0xf0, 0x32, 0xf9, 0x8f, 0xa9, 0x95, 0xaa, |
|
20147 |
- 0xfd, 0x6f, 0x54, 0xde, 0x7e, 0xb9, 0x76, 0xe2, 0x6f, 0x5f, 0xae, 0x9d, 0xf8, 0xc9, 0xf1, 0x5a, |
|
20148 |
- 0xee, 0xed, 0xf1, 0x5a, 0xee, 0xaf, 0xc7, 0x6b, 0xb9, 0x7f, 0x1c, 0xaf, 0xe5, 0x76, 0xe7, 0x68, |
|
20149 |
- 0xb5, 0xf1, 0xfa, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0e, 0xa1, 0x5f, 0x52, 0xdc, 0x36, 0x00, |
|
20150 |
- 0x00, |
|
19984 |
+ // 2744 bytes of a gzipped FileDescriptorProto |
|
19985 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x49, 0x6f, 0x1b, 0xc9, |
|
19986 |
+ 0x15, 0x36, 0x29, 0x4a, 0x22, 0x1f, 0xb5, 0xb9, 0x2c, 0xdb, 0x1c, 0xda, 0x91, 0x8c, 0xf6, 0x46, |
|
19987 |
+ 0x3b, 0x0e, 0x39, 0x43, 0x67, 0x32, 0x8e, 0x67, 0x9c, 0xc4, 0xb2, 0xbc, 0xd0, 0x8b, 0x6c, 0xb4, |
|
19988 |
+ 0x64, 0x23, 0x39, 0x04, 0x02, 0x45, 0x96, 0x34, 0x6d, 0x52, 0xdd, 0x4c, 0x77, 0xd3, 0x63, 0x21, |
|
19989 |
+ 0x48, 0x90, 0xc5, 0xc1, 0x9c, 0x72, 0x0c, 0x10, 0xe4, 0x10, 0x20, 0xa7, 0x00, 0x39, 0xe4, 0x90, |
|
19990 |
+ 0x53, 0x0e, 0xf9, 0x01, 0x46, 0x4e, 0x39, 0xe6, 0xa4, 0x64, 0x04, 0x04, 0xc8, 0x29, 0x7f, 0x21, |
|
19991 |
+ 0x83, 0xda, 0x7a, 0x29, 0x56, 0x2f, 0x5c, 0x00, 0xcf, 0x49, 0x62, 0xf5, 0xf7, 0xea, 0xbd, 0x7a, |
|
19992 |
+ 0xef, 0xf5, 0x57, 0xd5, 0xef, 0x15, 0x5c, 0xdb, 0x33, 0xdc, 0x4f, 0xfb, 0x3b, 0xd5, 0x96, 0xb5, |
|
19993 |
+ 0x5f, 0x6b, 0x5b, 0xad, 0x0e, 0xb6, 0x6b, 0xce, 0x67, 0x4d, 0x7b, 0xbf, 0x63, 0xb8, 0xb5, 0x66, |
|
19994 |
+ 0xcf, 0xa8, 0xb5, 0x2c, 0xd3, 0xb5, 0xad, 0x6e, 0xb5, 0x67, 0x5b, 0xae, 0x85, 0x10, 0x83, 0x54, |
|
19995 |
+ 0x05, 0xa4, 0xfa, 0xea, 0x83, 0xf2, 0xd5, 0x84, 0x19, 0x9c, 0x1e, 0x6e, 0x39, 0x4c, 0xbe, 0x9c, |
|
19996 |
+ 0xa4, 0xcd, 0xda, 0x79, 0x89, 0x5b, 0xae, 0x40, 0x27, 0xcd, 0xec, 0x1e, 0xf4, 0xb0, 0xc0, 0x2e, |
|
19997 |
+ 0xef, 0x59, 0x7b, 0x16, 0xfd, 0xb7, 0x46, 0xfe, 0xe3, 0xa3, 0xef, 0xed, 0x59, 0xd6, 0x5e, 0x17, |
|
19998 |
+ 0xd7, 0xe8, 0xaf, 0x9d, 0xfe, 0x6e, 0xad, 0x69, 0x1e, 0xf0, 0x47, 0x1f, 0xc5, 0x4c, 0xee, 0xc1, |
|
19999 |
+ 0x7b, 0xdd, 0xfe, 0x9e, 0x61, 0xf2, 0x3f, 0x4c, 0x50, 0xfb, 0x10, 0x16, 0xee, 0x63, 0x77, 0xc3, |
|
20000 |
+ 0x6a, 0x63, 0x1d, 0xff, 0xa8, 0x8f, 0x1d, 0x17, 0x9d, 0x87, 0x59, 0xd3, 0x6a, 0xe3, 0x6d, 0xa3, |
|
20001 |
+ 0x5d, 0xca, 0x9c, 0xcb, 0x54, 0x0a, 0x6b, 0x70, 0x74, 0xb8, 0x3a, 0x43, 0x10, 0x8d, 0x75, 0x7d, |
|
20002 |
+ 0x86, 0x3c, 0x6a, 0xb4, 0xb5, 0xef, 0xc2, 0xa2, 0x27, 0xe6, 0xf4, 0x2c, 0xd3, 0xc1, 0xe8, 0x1a, |
|
20003 |
+ 0xe4, 0xc8, 0x43, 0x2a, 0x54, 0xac, 0x97, 0xaa, 0x83, 0xce, 0xad, 0x52, 0x3c, 0x45, 0x69, 0x6f, |
|
20004 |
+ 0xa6, 0x61, 0xe9, 0xb1, 0xe1, 0xd0, 0x29, 0x1c, 0xa1, 0xfa, 0x1e, 0xcc, 0xee, 0x1a, 0x5d, 0x17, |
|
20005 |
+ 0xdb, 0x0e, 0x9f, 0xe5, 0x9a, 0x6a, 0x16, 0x59, 0xac, 0x7a, 0x8f, 0xc9, 0xe8, 0x42, 0xb8, 0xfc, |
|
20006 |
+ 0xc7, 0x1c, 0xcc, 0xf2, 0x41, 0xb4, 0x0c, 0xd3, 0x66, 0x73, 0x1f, 0x93, 0x19, 0xa7, 0x2a, 0x05, |
|
20007 |
+ 0x9d, 0xfd, 0x40, 0x35, 0x28, 0x1a, 0xed, 0xed, 0x9e, 0x8d, 0x77, 0x8d, 0xd7, 0xd8, 0x29, 0x65, |
|
20008 |
+ 0xc9, 0xb3, 0xb5, 0x85, 0xa3, 0xc3, 0x55, 0x68, 0xac, 0x3f, 0xe3, 0xa3, 0x3a, 0x18, 0x6d, 0xf1, |
|
20009 |
+ 0x3f, 0x7a, 0x06, 0x33, 0xdd, 0xe6, 0x0e, 0xee, 0x3a, 0xa5, 0xa9, 0x73, 0x53, 0x95, 0x62, 0xfd, |
|
20010 |
+ 0xc6, 0x30, 0x96, 0x55, 0x1f, 0x53, 0xd1, 0xbb, 0xa6, 0x6b, 0x1f, 0xe8, 0x7c, 0x1e, 0xf4, 0x04, |
|
20011 |
+ 0x8a, 0xfb, 0x78, 0x7f, 0x07, 0xdb, 0xce, 0xa7, 0x46, 0xcf, 0x29, 0xe5, 0xce, 0x4d, 0x55, 0x16, |
|
20012 |
+ 0xea, 0x97, 0xa3, 0xdc, 0xb6, 0xd9, 0xc3, 0xad, 0xea, 0x13, 0x0f, 0xbf, 0x96, 0x5d, 0x3a, 0xa6, |
|
20013 |
+ 0x07, 0xe5, 0xd1, 0xb7, 0x60, 0xda, 0xb6, 0xba, 0xd8, 0x29, 0x4d, 0xd3, 0x89, 0xce, 0x46, 0xfa, |
|
20014 |
+ 0xdf, 0xea, 0x62, 0x2a, 0xcd, 0xe0, 0xe8, 0x3c, 0xcc, 0x13, 0x97, 0xf8, 0xbe, 0x98, 0xa1, 0x7e, |
|
20015 |
+ 0x9a, 0x23, 0x83, 0xde, 0xea, 0x7f, 0x08, 0x45, 0x9a, 0x13, 0xdc, 0x05, 0xb3, 0xd4, 0x05, 0x9f, |
|
20016 |
+ 0x0c, 0xe5, 0x02, 0x32, 0x18, 0x74, 0x03, 0x98, 0xde, 0x40, 0xf9, 0xdb, 0x50, 0x0c, 0x3c, 0x42, |
|
20017 |
+ 0x4b, 0x30, 0xd5, 0xc1, 0x07, 0x2c, 0xfb, 0x74, 0xf2, 0x2f, 0x09, 0xe2, 0xab, 0x66, 0xb7, 0x8f, |
|
20018 |
+ 0x4b, 0x59, 0x3a, 0xc6, 0x7e, 0xdc, 0xcc, 0xde, 0xc8, 0x94, 0x6f, 0xc1, 0xa2, 0x34, 0xf3, 0x30, |
|
20019 |
+ 0xe2, 0xda, 0x1d, 0x38, 0x1e, 0xb0, 0x98, 0x67, 0x72, 0x15, 0xa6, 0x89, 0x71, 0x2c, 0x65, 0xe2, |
|
20020 |
+ 0x52, 0x99, 0xc1, 0xb4, 0x3f, 0x65, 0xe0, 0xf8, 0xf3, 0x5e, 0xbb, 0xe9, 0xe2, 0x61, 0xdf, 0x23, |
|
20021 |
+ 0xf4, 0x1d, 0x98, 0xa3, 0xa0, 0x57, 0xd8, 0x76, 0x0c, 0xcb, 0xa4, 0x06, 0x16, 0xeb, 0x67, 0x54, |
|
20022 |
+ 0x1a, 0x5f, 0x30, 0x88, 0x4e, 0x23, 0xc1, 0x7f, 0xa0, 0xf7, 0x21, 0x47, 0x18, 0xa9, 0x34, 0x45, |
|
20023 |
+ 0xe5, 0xce, 0xc6, 0x65, 0x8f, 0x4e, 0x91, 0xda, 0x1a, 0xa0, 0xa0, 0xad, 0x23, 0xbd, 0xbc, 0x1b, |
|
20024 |
+ 0x70, 0x5c, 0xc7, 0xfb, 0xd6, 0xab, 0xe1, 0xd7, 0xbb, 0x0c, 0xd3, 0xbb, 0x96, 0xdd, 0x62, 0x91, |
|
20025 |
+ 0xc8, 0xeb, 0xec, 0x87, 0xb6, 0x0c, 0x28, 0x38, 0x1f, 0xb3, 0x89, 0x53, 0xd3, 0x56, 0xd3, 0xe9, |
|
20026 |
+ 0x04, 0x54, 0xb8, 0x4d, 0xa7, 0x23, 0xa9, 0x20, 0x08, 0xa2, 0x82, 0x3c, 0xf2, 0xa8, 0x89, 0x89, |
|
20027 |
+ 0xf9, 0xab, 0x23, 0x0f, 0xe3, 0x56, 0x47, 0xf1, 0x14, 0xa5, 0xdd, 0x10, 0xab, 0x1b, 0x5a, 0xb5, |
|
20028 |
+ 0xb7, 0x8e, 0xa0, 0x76, 0xed, 0x6f, 0x39, 0x46, 0x75, 0x64, 0x70, 0x04, 0xaa, 0x0b, 0x8a, 0x0d, |
|
20029 |
+ 0x52, 0xdd, 0xbf, 0xa6, 0xde, 0x1d, 0xd5, 0xa9, 0x2c, 0x53, 0x52, 0x5d, 0x0d, 0x8a, 0x0e, 0xb6, |
|
20030 |
+ 0x5f, 0x19, 0x2d, 0x92, 0x1d, 0x8c, 0xea, 0xb8, 0x09, 0x9b, 0x6c, 0xb8, 0xb1, 0xee, 0xe8, 0xc0, |
|
20031 |
+ 0x21, 0x8d, 0xb6, 0x83, 0x2e, 0x41, 0x9e, 0xe7, 0x12, 0xe3, 0xb3, 0xc2, 0x5a, 0xf1, 0xe8, 0x70, |
|
20032 |
+ 0x75, 0x96, 0x25, 0x93, 0xa3, 0xcf, 0xb2, 0x6c, 0x72, 0xd0, 0x03, 0x58, 0x68, 0x63, 0xc7, 0xb0, |
|
20033 |
+ 0x71, 0x7b, 0xdb, 0x71, 0x9b, 0x2e, 0x67, 0xaf, 0x85, 0xfa, 0xd7, 0xa2, 0x42, 0xbc, 0x49, 0x50, |
|
20034 |
+ 0x94, 0xfe, 0xe6, 0xb9, 0x20, 0x1d, 0x51, 0xd0, 0xe0, 0xac, 0x82, 0x06, 0xcf, 0x02, 0xf4, 0x7b, |
|
20035 |
+ 0xdb, 0xae, 0xb5, 0x4d, 0xde, 0x9f, 0x52, 0x9e, 0xa6, 0x70, 0xbe, 0xdf, 0xdb, 0xb2, 0xd6, 0x9b, |
|
20036 |
+ 0x2e, 0x46, 0x65, 0xc8, 0xdb, 0x7d, 0xd3, 0x35, 0x48, 0x04, 0x0a, 0x54, 0xda, 0xfb, 0x3d, 0x06, |
|
20037 |
+ 0xc3, 0x09, 0x8a, 0xe2, 0xce, 0xf6, 0x29, 0x8a, 0xe4, 0x5c, 0x2c, 0x45, 0xd1, 0x24, 0x64, 0x30, |
|
20038 |
+ 0xed, 0x11, 0x2c, 0xdf, 0xb1, 0x71, 0xd3, 0xc5, 0xdc, 0xe1, 0x22, 0x0d, 0xaf, 0x73, 0xfe, 0x60, |
|
20039 |
+ 0x39, 0xb8, 0xaa, 0x9a, 0x86, 0x4b, 0x04, 0x28, 0x64, 0x03, 0x4e, 0x4a, 0x93, 0x71, 0xab, 0x3e, |
|
20040 |
+ 0x84, 0x59, 0x1e, 0x44, 0x3e, 0xe1, 0x99, 0x98, 0x09, 0x75, 0x81, 0xd5, 0x5e, 0xc2, 0xf1, 0xfb, |
|
20041 |
+ 0xd8, 0x95, 0x2c, 0xbb, 0x06, 0xe0, 0xe7, 0x0c, 0x7f, 0xe7, 0xe6, 0x8f, 0x0e, 0x57, 0x0b, 0x5e, |
|
20042 |
+ 0xca, 0xe8, 0x05, 0x2f, 0x63, 0xd0, 0x65, 0x58, 0x34, 0x4c, 0x07, 0xdb, 0xee, 0x76, 0x1b, 0xef, |
|
20043 |
+ 0x36, 0xfb, 0x5d, 0xd7, 0xe1, 0x0c, 0xb3, 0xc0, 0x86, 0xd7, 0xf9, 0xa8, 0xf6, 0x08, 0x50, 0x50, |
|
20044 |
+ 0xd7, 0x78, 0x86, 0xff, 0x25, 0x0b, 0xcb, 0x8c, 0x4c, 0xc7, 0x32, 0x7e, 0x1d, 0x16, 0x05, 0x7a, |
|
20045 |
+ 0x88, 0x7d, 0x60, 0x81, 0xcb, 0x88, 0xad, 0xe0, 0x7a, 0x68, 0x2b, 0x48, 0x17, 0x4a, 0xf4, 0x04, |
|
20046 |
+ 0xf2, 0xb6, 0xd5, 0xed, 0xee, 0x34, 0x5b, 0x9d, 0x52, 0xee, 0x5c, 0xa6, 0xb2, 0x50, 0xff, 0x40, |
|
20047 |
+ 0x25, 0xa8, 0x5a, 0x64, 0x55, 0xe7, 0x82, 0xba, 0x37, 0x85, 0xa6, 0x41, 0x5e, 0x8c, 0xa2, 0x3c, |
|
20048 |
+ 0xe4, 0x36, 0x9e, 0x6e, 0xdc, 0x5d, 0x3a, 0x86, 0xe6, 0x20, 0xff, 0x4c, 0xbf, 0xfb, 0xa2, 0xf1, |
|
20049 |
+ 0xf4, 0xf9, 0xe6, 0x52, 0x86, 0x64, 0x8f, 0x34, 0xdd, 0x78, 0x41, 0x58, 0x87, 0x65, 0x46, 0xba, |
|
20050 |
+ 0xe3, 0xc4, 0x40, 0x3b, 0x0d, 0x27, 0xa5, 0x59, 0x38, 0x7b, 0xbf, 0x99, 0x82, 0x13, 0xe4, 0xfd, |
|
20051 |
+ 0xe3, 0xe3, 0x1e, 0x81, 0x37, 0x64, 0x02, 0xaf, 0x45, 0xd1, 0xa4, 0x24, 0x39, 0xc8, 0xe1, 0x7f, |
|
20052 |
+ 0xc8, 0x4e, 0x9c, 0xc3, 0x37, 0x25, 0x0e, 0xff, 0x78, 0x48, 0xe3, 0x94, 0x34, 0x3e, 0xc0, 0x91, |
|
20053 |
+ 0x39, 0x05, 0x47, 0x06, 0x59, 0x70, 0x7a, 0x72, 0x2c, 0xf8, 0x14, 0x96, 0xc3, 0xe6, 0xf2, 0xa4, |
|
20054 |
+ 0xf9, 0x08, 0xf2, 0x3c, 0x88, 0x82, 0x0b, 0x63, 0xb3, 0xc6, 0x03, 0x6b, 0x37, 0xa0, 0x1c, 0x98, |
|
20055 |
+ 0x90, 0xec, 0x02, 0x7d, 0xc7, 0x8f, 0x6e, 0x59, 0x9a, 0xb6, 0x10, 0x90, 0xfc, 0x45, 0x16, 0xce, |
|
20056 |
+ 0x28, 0x45, 0xb9, 0x49, 0x3f, 0x80, 0xbc, 0xc3, 0xc7, 0xb8, 0x49, 0xb7, 0x12, 0xbc, 0x2f, 0x4f, |
|
20057 |
+ 0x51, 0x0d, 0x8d, 0xeb, 0xde, 0x74, 0xe5, 0xcf, 0x33, 0x30, 0x1f, 0x7a, 0x36, 0x24, 0xd3, 0x9c, |
|
20058 |
+ 0x07, 0xb1, 0xed, 0x6d, 0xb3, 0xed, 0x83, 0xf8, 0x39, 0xa7, 0xcf, 0xf1, 0x41, 0xba, 0xc7, 0x10, |
|
20059 |
+ 0x90, 0xdd, 0x37, 0x4d, 0xc3, 0xdc, 0xe3, 0xa0, 0x29, 0x06, 0xe2, 0x83, 0x5b, 0xe1, 0x0d, 0x65, |
|
20060 |
+ 0x03, 0xbb, 0x9f, 0x59, 0x76, 0x67, 0x88, 0x0d, 0x85, 0x4b, 0xa8, 0x36, 0x14, 0x6f, 0x32, 0x9f, |
|
20061 |
+ 0x12, 0x4c, 0x36, 0x14, 0x47, 0x09, 0x42, 0x4a, 0x60, 0xb5, 0xe7, 0x74, 0x43, 0x91, 0x2c, 0x43, |
|
20062 |
+ 0x90, 0x23, 0x89, 0xca, 0xd3, 0x8d, 0xfe, 0x4f, 0xbc, 0xc7, 0x65, 0x88, 0xf7, 0xb2, 0xbe, 0xf7, |
|
20063 |
+ 0xb8, 0x2c, 0xf1, 0x1e, 0x07, 0x34, 0xda, 0x7c, 0xef, 0x98, 0x90, 0x8d, 0xdf, 0x17, 0xb4, 0x35, |
|
20064 |
+ 0x71, 0x33, 0x3d, 0x2a, 0x93, 0x2c, 0xd5, 0xfe, 0x9b, 0x65, 0x54, 0xc6, 0xc7, 0x47, 0xa0, 0x32, |
|
20065 |
+ 0x49, 0x72, 0x90, 0xca, 0x7e, 0xf5, 0x0e, 0xa9, 0x2c, 0xc2, 0xb8, 0x91, 0xa9, 0x6c, 0x02, 0x74, |
|
20066 |
+ 0xe5, 0x9b, 0xe4, 0xd3, 0x15, 0x0f, 0x54, 0x2c, 0x5d, 0x89, 0xc8, 0x79, 0x60, 0xed, 0x36, 0x4d, |
|
20067 |
+ 0xe9, 0x3b, 0xdd, 0xbe, 0xe3, 0x62, 0x3b, 0xb0, 0xc5, 0xb5, 0xd8, 0x88, 0xf4, 0xf2, 0x73, 0x1c, |
|
20068 |
+ 0xc9, 0x0b, 0x0e, 0xf0, 0xd2, 0xd7, 0x9b, 0xc2, 0x4f, 0x5f, 0x0e, 0x89, 0x4b, 0x5f, 0x21, 0x25, |
|
20069 |
+ 0xb0, 0x5e, 0x2e, 0xf1, 0x07, 0x23, 0xe4, 0x92, 0x24, 0xf9, 0xd5, 0xca, 0xa5, 0x08, 0xe3, 0xde, |
|
20070 |
+ 0x65, 0x2e, 0xf9, 0x26, 0xf9, 0xb9, 0xc4, 0xa3, 0x11, 0x9b, 0x4b, 0x22, 0x74, 0x1e, 0x58, 0xfb, |
|
20071 |
+ 0x4d, 0x06, 0x8a, 0x8f, 0xf0, 0x81, 0x6e, 0xb9, 0x4d, 0x97, 0x9c, 0x1c, 0xaf, 0xc2, 0x71, 0x92, |
|
20072 |
+ 0x64, 0xd8, 0xde, 0x7e, 0x69, 0x19, 0xe6, 0xb6, 0x6b, 0x75, 0xb0, 0x49, 0x4d, 0xcb, 0xeb, 0x8b, |
|
20073 |
+ 0xec, 0xc1, 0x43, 0xcb, 0x30, 0xb7, 0xc8, 0x30, 0xba, 0x06, 0x68, 0xbf, 0x69, 0x36, 0xf7, 0xc2, |
|
20074 |
+ 0x60, 0x76, 0xd6, 0x5e, 0xe2, 0x4f, 0x94, 0xe8, 0xbe, 0xd9, 0xb5, 0x5a, 0x9d, 0x6d, 0xb2, 0xea, |
|
20075 |
+ 0xa9, 0x10, 0xfa, 0x39, 0x7d, 0xf0, 0x08, 0x1f, 0x90, 0x8d, 0x95, 0x1f, 0xa7, 0xc7, 0xc9, 0x73, |
|
20076 |
+ 0x72, 0x9c, 0x16, 0xe8, 0x61, 0x8e, 0xd3, 0x5c, 0x66, 0x88, 0xe3, 0x34, 0xd7, 0x1e, 0x38, 0x4e, |
|
20077 |
+ 0xdf, 0x26, 0xc7, 0x69, 0xe6, 0x55, 0x7a, 0x9c, 0x8e, 0x10, 0x0c, 0x38, 0x7f, 0x2d, 0xf7, 0xf6, |
|
20078 |
+ 0x70, 0xf5, 0x98, 0xee, 0x89, 0xf9, 0xc7, 0xe3, 0x09, 0xbd, 0xa8, 0xb7, 0x60, 0x89, 0x7e, 0xf0, |
|
20079 |
+ 0xb4, 0x6c, 0xec, 0x0a, 0x7f, 0x5e, 0x81, 0x82, 0x43, 0x07, 0x7c, 0x77, 0xce, 0x1d, 0x1d, 0xae, |
|
20080 |
+ 0xe6, 0x19, 0xaa, 0xb1, 0x4e, 0x0e, 0x3b, 0xf4, 0xbf, 0xb6, 0x76, 0x9f, 0x7f, 0x9b, 0x31, 0x71, |
|
20081 |
+ 0x6e, 0x4a, 0x1d, 0x66, 0x18, 0x80, 0x5b, 0x52, 0x56, 0x1f, 0xb9, 0xa8, 0x0c, 0x47, 0x6a, 0x7f, |
|
20082 |
+ 0xcd, 0xc0, 0x09, 0x71, 0xee, 0x1f, 0xcd, 0x16, 0xb4, 0x06, 0x0b, 0x1c, 0x3a, 0x44, 0x5c, 0xe7, |
|
20083 |
+ 0x99, 0x88, 0x08, 0x6b, 0x3d, 0x14, 0xd6, 0x95, 0x68, 0xc3, 0x03, 0xc7, 0x93, 0x87, 0xfe, 0x57, |
|
20084 |
+ 0xde, 0xd8, 0x6e, 0xf8, 0x4f, 0x16, 0x10, 0x3b, 0xf9, 0x91, 0x9f, 0x1e, 0x6d, 0x3e, 0x90, 0x69, |
|
20085 |
+ 0xb3, 0x1a, 0x7d, 0x64, 0x0c, 0x0a, 0x0e, 0xb2, 0xe6, 0x9b, 0xc9, 0xb3, 0xa6, 0x2e, 0xb1, 0xe6, |
|
20086 |
+ 0xcd, 0xe1, 0x6c, 0x7b, 0x27, 0xa4, 0xf9, 0x48, 0x7c, 0xb5, 0x71, 0x8b, 0x78, 0xc8, 0xbe, 0x49, |
|
20087 |
+ 0xbe, 0x31, 0xe9, 0x10, 0xa7, 0xcc, 0xb8, 0x98, 0x09, 0xa8, 0xd6, 0x80, 0x13, 0xa2, 0xe0, 0x11, |
|
20088 |
+ 0x4c, 0xdd, 0x7a, 0xe8, 0xac, 0x9b, 0x3a, 0x97, 0xc2, 0x53, 0x8d, 0x91, 0x4b, 0xdf, 0x83, 0x13, |
|
20089 |
+ 0xe2, 0x9b, 0x75, 0xc4, 0xb7, 0xfb, 0x94, 0xff, 0xed, 0x1c, 0xb4, 0x86, 0x93, 0xc6, 0x1d, 0xcb, |
|
20090 |
+ 0xdc, 0x35, 0xf6, 0x02, 0xd3, 0xb6, 0xe8, 0x80, 0x34, 0x2d, 0x43, 0x91, 0x69, 0xd9, 0x63, 0x8f, |
|
20091 |
+ 0x34, 0x84, 0xb8, 0xbf, 0x42, 0x06, 0x88, 0x5b, 0x21, 0x97, 0xe1, 0xc8, 0x00, 0x69, 0x8c, 0x6a, |
|
20092 |
+ 0x0b, 0x21, 0x0d, 0x0e, 0x1d, 0x86, 0x34, 0x98, 0xc8, 0x10, 0xa4, 0xc1, 0x34, 0xab, 0x48, 0x63, |
|
20093 |
+ 0x02, 0x6e, 0x10, 0xa4, 0xc1, 0x86, 0x47, 0x20, 0x8d, 0xb0, 0xe0, 0x57, 0x8b, 0x34, 0xd4, 0xb6, |
|
20094 |
+ 0xbd, 0x4b, 0xd2, 0xf0, 0x2c, 0xf2, 0x49, 0x83, 0x05, 0x22, 0x96, 0x34, 0x78, 0xcc, 0x04, 0xd4, |
|
20095 |
+ 0x27, 0x8d, 0x70, 0xea, 0xa6, 0x20, 0x0d, 0x55, 0x2e, 0x85, 0xa7, 0x1a, 0x23, 0x97, 0x3c, 0xd2, |
|
20096 |
+ 0x18, 0xf9, 0xed, 0xf6, 0x48, 0x23, 0x6c, 0x8d, 0xf6, 0x13, 0x38, 0xc5, 0xac, 0xbc, 0xfb, 0xda, |
|
20097 |
+ 0xc5, 0x26, 0x7d, 0x8f, 0xf8, 0xe4, 0xb7, 0xa1, 0xd8, 0x34, 0x4d, 0x7e, 0xc2, 0x71, 0xe2, 0x6a, |
|
20098 |
+ 0x03, 0xb7, 0x7d, 0x98, 0x1e, 0x94, 0x41, 0xe7, 0xa0, 0xd8, 0xc6, 0x4e, 0xcb, 0x36, 0x7a, 0xae, |
|
20099 |
+ 0x78, 0x87, 0x0b, 0x7a, 0x70, 0x48, 0x7b, 0x01, 0xa7, 0x07, 0xd4, 0x73, 0x3f, 0x7d, 0x0c, 0x05, |
|
20100 |
+ 0x2c, 0x06, 0xb9, 0x76, 0x65, 0x87, 0xc0, 0x97, 0xf4, 0xf1, 0xda, 0x63, 0x38, 0xc5, 0x96, 0x3b, |
|
20101 |
+ 0xb0, 0xac, 0x3a, 0xcc, 0x79, 0x30, 0xdf, 0x6d, 0x8b, 0x47, 0x87, 0xab, 0x45, 0x0f, 0xdb, 0x58, |
|
20102 |
+ 0xd7, 0x8b, 0x1e, 0xa8, 0xd1, 0xd6, 0xde, 0x83, 0xd3, 0x03, 0xb3, 0x71, 0xff, 0x35, 0xe0, 0xc4, |
|
20103 |
+ 0x7d, 0xec, 0x4e, 0x44, 0xcb, 0x26, 0x2c, 0x87, 0xa7, 0x9a, 0x84, 0x23, 0x7e, 0x9f, 0x11, 0x65, |
|
20104 |
+ 0x1a, 0x1d, 0x3b, 0x56, 0xdf, 0xf6, 0x4b, 0xad, 0x13, 0x88, 0x2f, 0x82, 0x5c, 0xc7, 0x30, 0x79, |
|
20105 |
+ 0x71, 0x43, 0xa7, 0xff, 0xa3, 0x2a, 0xcc, 0xf6, 0x9a, 0x07, 0x5d, 0xab, 0xd9, 0xe6, 0xcc, 0xbb, |
|
20106 |
+ 0x5c, 0x65, 0x37, 0x20, 0xaa, 0xe2, 0x4a, 0x43, 0xf5, 0xb6, 0x79, 0xa0, 0x0b, 0x90, 0xa6, 0x8b, |
|
20107 |
+ 0x04, 0xf4, 0xed, 0xe3, 0xeb, 0xbe, 0x01, 0x79, 0x9b, 0x8f, 0x71, 0xeb, 0x94, 0xad, 0x52, 0x4f, |
|
20108 |
+ 0xce, 0x43, 0x6b, 0x0f, 0x44, 0x31, 0x45, 0x5e, 0x73, 0x0d, 0x8a, 0x02, 0xe4, 0x47, 0x85, 0x12, |
|
20109 |
+ 0xa2, 0x40, 0x36, 0xd6, 0x75, 0x10, 0x90, 0x46, 0x5b, 0x2b, 0x89, 0x3c, 0x92, 0xad, 0xd3, 0x7e, |
|
20110 |
+ 0x99, 0x15, 0x67, 0xfe, 0x71, 0x95, 0xa0, 0x7b, 0xb0, 0xe4, 0x09, 0x0c, 0xb1, 0xdf, 0x2d, 0x0a, |
|
20111 |
+ 0x21, 0xb1, 0xe3, 0x49, 0x11, 0x9d, 0x1a, 0x21, 0xa2, 0x81, 0xe8, 0xe5, 0x52, 0x46, 0x4f, 0x76, |
|
20112 |
+ 0xc2, 0xd8, 0xd1, 0xbb, 0x4b, 0x4b, 0x1e, 0x63, 0x87, 0xee, 0x29, 0x7d, 0x33, 0x27, 0x68, 0xd7, |
|
20113 |
+ 0xff, 0xb3, 0xec, 0x9b, 0x5e, 0x3c, 0xf2, 0xb6, 0xf4, 0x87, 0xf2, 0x96, 0xfe, 0x7e, 0xd4, 0xb6, |
|
20114 |
+ 0x29, 0x8b, 0x0e, 0x6e, 0xea, 0xbf, 0x9b, 0xfc, 0xa6, 0xbe, 0x25, 0x6d, 0xea, 0x9f, 0x0c, 0x6b, |
|
20115 |
+ 0xdd, 0xe8, 0x7d, 0x05, 0x41, 0x10, 0xd3, 0x3e, 0x41, 0x8c, 0xb3, 0xd5, 0x6f, 0xc2, 0x49, 0xc9, |
|
20116 |
+ 0x4e, 0x1e, 0xd4, 0x9b, 0x50, 0x10, 0x61, 0x12, 0xdb, 0x7d, 0x7c, 0x54, 0x7d, 0x78, 0xfd, 0xf3, |
|
20117 |
+ 0x0b, 0x30, 0x7b, 0x87, 0x5d, 0x31, 0x43, 0x06, 0xcc, 0xf2, 0x1b, 0x52, 0x48, 0x53, 0xc9, 0x87, |
|
20118 |
+ 0x6f, 0x5d, 0x95, 0xcf, 0xc7, 0x62, 0x38, 0x51, 0x9c, 0xfc, 0xfb, 0x9f, 0xff, 0xf7, 0xdb, 0xec, |
|
20119 |
+ 0x22, 0xcc, 0x53, 0xd0, 0x37, 0x78, 0x01, 0x05, 0x59, 0x50, 0xf0, 0x2e, 0xb1, 0xa0, 0x0b, 0x69, |
|
20120 |
+ 0x6e, 0xe5, 0x94, 0x2f, 0x26, 0xa0, 0xe2, 0x15, 0xda, 0x00, 0xfe, 0x1d, 0x12, 0x74, 0x31, 0xba, |
|
20121 |
+ 0x63, 0x18, 0x5c, 0xe1, 0xa5, 0x24, 0x58, 0xa2, 0x4e, 0xff, 0x8e, 0x88, 0x5a, 0xe7, 0xc0, 0x9d, |
|
20122 |
+ 0x14, 0xb5, 0x4e, 0xc5, 0x55, 0x93, 0x08, 0x9d, 0x2c, 0x86, 0x5b, 0x4d, 0xa7, 0x13, 0x19, 0xc3, |
|
20123 |
+ 0xc0, 0x1d, 0x91, 0xc8, 0x18, 0x86, 0x6e, 0x83, 0xc4, 0xc7, 0x90, 0x75, 0x60, 0x2e, 0xa4, 0xb9, |
|
20124 |
+ 0x71, 0x11, 0x1d, 0xc3, 0xd0, 0x55, 0x81, 0x44, 0x7f, 0xd2, 0xe5, 0xc5, 0xf8, 0x33, 0xb8, 0xc2, |
|
20125 |
+ 0x4b, 0x49, 0xb0, 0x44, 0x9d, 0x7e, 0xf3, 0x5d, 0xad, 0x73, 0xe0, 0x22, 0x80, 0x5a, 0xe7, 0x60, |
|
20126 |
+ 0x0f, 0x3f, 0x4a, 0xe7, 0x6b, 0x98, 0x0b, 0x36, 0x0e, 0xd1, 0xe5, 0x94, 0x9d, 0xd0, 0x72, 0x25, |
|
20127 |
+ 0x19, 0x18, 0xaf, 0xf9, 0xc7, 0x30, 0x1f, 0xba, 0x26, 0x81, 0x94, 0x33, 0xaa, 0xae, 0x65, 0x94, |
|
20128 |
+ 0xaf, 0xa4, 0x40, 0x26, 0x2a, 0x0f, 0x75, 0xd9, 0xd5, 0xca, 0x55, 0x7d, 0x7d, 0xb5, 0x72, 0x65, |
|
20129 |
+ 0xcb, 0x3e, 0x46, 0x79, 0xa8, 0x99, 0xae, 0x56, 0xae, 0xea, 0xda, 0xab, 0x95, 0xab, 0x3b, 0xf3, |
|
20130 |
+ 0x11, 0xca, 0x7f, 0x9d, 0x09, 0x35, 0xec, 0x45, 0x6f, 0x15, 0x55, 0x53, 0x37, 0x61, 0x99, 0x25, |
|
20131 |
+ 0xb5, 0x21, 0x9b, 0xb6, 0xf1, 0x49, 0xcf, 0x3b, 0x3a, 0x91, 0x49, 0x1f, 0xee, 0x02, 0x46, 0x26, |
|
20132 |
+ 0xbd, 0xdc, 0xd2, 0x8b, 0x4f, 0x7a, 0xd1, 0x7e, 0x8a, 0x4e, 0x7a, 0xa9, 0x67, 0x16, 0x9d, 0xf4, |
|
20133 |
+ 0x72, 0x27, 0x2b, 0x31, 0xe9, 0xc5, 0x82, 0x63, 0x92, 0x5e, 0x5a, 0xf3, 0x95, 0x14, 0xc8, 0x94, |
|
20134 |
+ 0x79, 0x17, 0xab, 0x5c, 0xd5, 0x76, 0x8d, 0xcb, 0xbb, 0x94, 0xca, 0x59, 0x9c, 0x79, 0xfd, 0x3d, |
|
20135 |
+ 0x32, 0xce, 0xe1, 0xce, 0x46, 0x64, 0x9c, 0xa5, 0xe2, 0x7f, 0x42, 0x9c, 0x45, 0x6b, 0x28, 0x3a, |
|
20136 |
+ 0xce, 0x52, 0x3f, 0x2b, 0x3a, 0xce, 0x72, 0x97, 0x29, 0x91, 0x5f, 0xc4, 0x82, 0x63, 0xf8, 0x45, |
|
20137 |
+ 0x5a, 0xf3, 0x95, 0x14, 0xc8, 0xc4, 0xcd, 0xd2, 0x6b, 0x4a, 0xa8, 0x37, 0x4b, 0xb9, 0xe5, 0x51, |
|
20138 |
+ 0xbe, 0x98, 0x80, 0x4a, 0xf4, 0x73, 0xb0, 0x03, 0xa0, 0xf6, 0xb3, 0xa2, 0xbb, 0x51, 0xae, 0x24, |
|
20139 |
+ 0x03, 0xe3, 0x35, 0xf7, 0xa1, 0x18, 0xa8, 0x63, 0xa3, 0x4b, 0xe9, 0x4a, 0xef, 0xe5, 0xcb, 0x89, |
|
20140 |
+ 0xb8, 0xc4, 0x05, 0x07, 0xcb, 0xd4, 0xea, 0x05, 0x2b, 0x6a, 0xe2, 0xe5, 0x4a, 0x32, 0x30, 0x51, |
|
20141 |
+ 0x73, 0xb0, 0x24, 0xad, 0xd6, 0xac, 0x28, 0x7b, 0x97, 0x2b, 0xc9, 0xc0, 0x34, 0x59, 0xc5, 0x8a, |
|
20142 |
+ 0x5a, 0x91, 0x59, 0x15, 0xaa, 0x9a, 0x45, 0x66, 0x95, 0x54, 0x19, 0x4b, 0xca, 0x2a, 0xae, 0x33, |
|
20143 |
+ 0x26, 0xab, 0xc2, 0x6a, 0x2b, 0xc9, 0xc0, 0x54, 0x59, 0xc5, 0x0b, 0x9d, 0xd1, 0x59, 0x15, 0xae, |
|
20144 |
+ 0xcd, 0x46, 0x67, 0x95, 0x54, 0x31, 0x4d, 0xcc, 0xaa, 0xb8, 0x05, 0x2b, 0x8a, 0xa6, 0x71, 0x59, |
|
20145 |
+ 0x95, 0xda, 0xd5, 0xc1, 0x9a, 0x65, 0x5c, 0x56, 0xa5, 0xd0, 0xac, 0x2c, 0x7f, 0x46, 0x6b, 0x0e, |
|
20146 |
+ 0x96, 0xe2, 0xd4, 0x9a, 0x15, 0x75, 0x3f, 0xb5, 0x66, 0x55, 0x55, 0x2f, 0x4a, 0xf3, 0xcf, 0x33, |
|
20147 |
+ 0xb0, 0x28, 0x55, 0x44, 0xd1, 0xd5, 0x68, 0x47, 0x0e, 0x18, 0xf0, 0xf5, 0x54, 0xd8, 0x64, 0x1b, |
|
20148 |
+ 0xa4, 0x7a, 0xa7, 0xda, 0x06, 0x75, 0x89, 0x55, 0x6d, 0x43, 0x54, 0x01, 0x35, 0x3a, 0xd9, 0x03, |
|
20149 |
+ 0xd5, 0x1b, 0x14, 0xb5, 0xe5, 0x4a, 0x55, 0xa2, 0xf2, 0xe5, 0x44, 0x5c, 0xbc, 0xda, 0x9f, 0xc2, |
|
20150 |
+ 0x42, 0xb8, 0x9e, 0x85, 0x62, 0x36, 0x3e, 0x59, 0xf9, 0xd5, 0x34, 0xd0, 0xc4, 0x1d, 0x3a, 0x54, |
|
20151 |
+ 0xe1, 0x40, 0x95, 0xb4, 0xc5, 0x1a, 0xf5, 0x0e, 0xad, 0x2c, 0x97, 0xc4, 0x2c, 0x3e, 0x5c, 0x8a, |
|
20152 |
+ 0x45, 0x31, 0xa7, 0xbb, 0x54, 0x8b, 0x57, 0x57, 0x76, 0x63, 0xf4, 0x87, 0x8b, 0xad, 0x28, 0xe6, |
|
20153 |
+ 0x80, 0x97, 0x4a, 0x7f, 0x44, 0xed, 0x56, 0xad, 0x7f, 0xad, 0xf4, 0xf6, 0x8b, 0x95, 0x63, 0xff, |
|
20154 |
+ 0xfc, 0x62, 0xe5, 0xd8, 0xcf, 0x8e, 0x56, 0x32, 0x6f, 0x8f, 0x56, 0x32, 0xff, 0x38, 0x5a, 0xc9, |
|
20155 |
+ 0xfc, 0xfb, 0x68, 0x25, 0xb3, 0x33, 0x43, 0xab, 0x9f, 0xd7, 0xbf, 0x0c, 0x00, 0x00, 0xff, 0xff, |
|
20156 |
+ 0x83, 0x6a, 0xc0, 0xe5, 0xab, 0x38, 0x00, 0x00, |
|
20151 | 20157 |
} |
... | ... |
@@ -50,6 +50,16 @@ service Control { |
50 | 50 |
option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" }; |
51 | 51 |
}; |
52 | 52 |
|
53 |
+ // ListServiceStatuses returns a `ListServiceStatusesResponse` with the |
|
54 |
+ // status of the requested services, formed by computing the number of |
|
55 |
+ // running vs desired tasks. It is provided as a shortcut or helper method, |
|
56 |
+ // which allows a client to avoid having to calculate this value by listing |
|
57 |
+ // all Tasks. If any service requested does not exist, it will be returned |
|
58 |
+ // but with empty status values. |
|
59 |
+ rpc ListServiceStatuses(ListServiceStatusesRequest) returns (ListServiceStatusesResponse) { |
|
60 |
+ option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" }; |
|
61 |
+ }; |
|
62 |
+ |
|
53 | 63 |
rpc GetNetwork(GetNetworkRequest) returns (GetNetworkResponse) { |
54 | 64 |
option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" }; |
55 | 65 |
}; |
... | ... |
@@ -397,6 +407,37 @@ message ListServicesResponse { |
397 | 397 |
repeated Service services = 1; |
398 | 398 |
} |
399 | 399 |
|
400 |
+// ListServiceStatusesRequest is a request to get the aggregate status of a |
|
401 |
+// service by computing the number of running vs desired tasks. It includes |
|
402 |
+// only a service ID. |
|
403 |
+message ListServiceStatusesRequest { |
|
404 |
+ // Services is a list of service IDs to get statuses for. |
|
405 |
+ repeated string services = 1; |
|
406 |
+} |
|
407 |
+ |
|
408 |
+// ListServiceStatusesResponse is a response containing the aggregate status of |
|
409 |
+// a service, formed by computing the number of running vs desired tasks. The |
|
410 |
+// values returned are only valid for the point in time at which the request is |
|
411 |
+// made. |
|
412 |
+message ListServiceStatusesResponse { |
|
413 |
+ message ServiceStatus { |
|
414 |
+ // ServiceID is the ID of the service this status describes |
|
415 |
+ string service_id = 1; |
|
416 |
+ |
|
417 |
+ // DesiredTasks is the number of tasks desired to be running according to the |
|
418 |
+ // service definition at request time. It is a uint64 because that is what |
|
419 |
+ // the replicas field on the service spec is |
|
420 |
+ uint64 desired_tasks = 2; |
|
421 |
+ |
|
422 |
+ // RunningTasks is the number of tasks currently in the Running state at |
|
423 |
+ // request time. This may be larger than desired tasks if, for example, a |
|
424 |
+ // service has been scaled down. |
|
425 |
+ uint64 running_tasks = 3; |
|
426 |
+ } |
|
427 |
+ |
|
428 |
+ repeated ServiceStatus statuses = 1; |
|
429 |
+} |
|
430 |
+ |
|
400 | 431 |
message CreateNetworkRequest { |
401 | 432 |
NetworkSpec spec = 1; |
402 | 433 |
} |
... | ... |
@@ -636,6 +636,8 @@ type ContainerSpec struct { |
636 | 636 |
// |
637 | 637 |
// https://docs.docker.com/engine/reference/commandline/run/#configure-namespaced-kernel-parameters-sysctls-at-runtime |
638 | 638 |
Sysctls map[string]string `protobuf:"bytes,26,rep,name=sysctls" json:"sysctls,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
639 |
+ // Capabilities is the list of Linux capabilities to be available for container (this overrides the default set of capabilities) |
|
640 |
+ Capabilities []string `protobuf:"bytes,27,rep,name=capabilities" json:"capabilities,omitempty"` |
|
639 | 641 |
} |
640 | 642 |
|
641 | 643 |
func (m *ContainerSpec) Reset() { *m = ContainerSpec{} } |
... | ... |
@@ -1197,6 +1199,11 @@ func (m *ContainerSpec) CopyFrom(src interface{}) { |
1197 | 1197 |
} |
1198 | 1198 |
} |
1199 | 1199 |
|
1200 |
+ if o.Capabilities != nil { |
|
1201 |
+ m.Capabilities = make([]string, len(o.Capabilities)) |
|
1202 |
+ copy(m.Capabilities, o.Capabilities) |
|
1203 |
+ } |
|
1204 |
+ |
|
1200 | 1205 |
} |
1201 | 1206 |
|
1202 | 1207 |
func (m *ContainerSpec_PullOptions) Copy() *ContainerSpec_PullOptions { |
... | ... |
@@ -2104,6 +2111,23 @@ func (m *ContainerSpec) MarshalTo(dAtA []byte) (int, error) { |
2104 | 2104 |
i += copy(dAtA[i:], v) |
2105 | 2105 |
} |
2106 | 2106 |
} |
2107 |
+ if len(m.Capabilities) > 0 { |
|
2108 |
+ for _, s := range m.Capabilities { |
|
2109 |
+ dAtA[i] = 0xda |
|
2110 |
+ i++ |
|
2111 |
+ dAtA[i] = 0x1 |
|
2112 |
+ i++ |
|
2113 |
+ l = len(s) |
|
2114 |
+ for l >= 1<<7 { |
|
2115 |
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80) |
|
2116 |
+ l >>= 7 |
|
2117 |
+ i++ |
|
2118 |
+ } |
|
2119 |
+ dAtA[i] = uint8(l) |
|
2120 |
+ i++ |
|
2121 |
+ i += copy(dAtA[i:], s) |
|
2122 |
+ } |
|
2123 |
+ } |
|
2107 | 2124 |
return i, nil |
2108 | 2125 |
} |
2109 | 2126 |
|
... | ... |
@@ -2829,6 +2853,12 @@ func (m *ContainerSpec) Size() (n int) { |
2829 | 2829 |
n += mapEntrySize + 2 + sovSpecs(uint64(mapEntrySize)) |
2830 | 2830 |
} |
2831 | 2831 |
} |
2832 |
+ if len(m.Capabilities) > 0 { |
|
2833 |
+ for _, s := range m.Capabilities { |
|
2834 |
+ l = len(s) |
|
2835 |
+ n += 2 + l + sovSpecs(uint64(l)) |
|
2836 |
+ } |
|
2837 |
+ } |
|
2832 | 2838 |
return n |
2833 | 2839 |
} |
2834 | 2840 |
|
... | ... |
@@ -3188,6 +3218,7 @@ func (this *ContainerSpec) String() string { |
3188 | 3188 |
`Isolation:` + fmt.Sprintf("%v", this.Isolation) + `,`, |
3189 | 3189 |
`PidsLimit:` + fmt.Sprintf("%v", this.PidsLimit) + `,`, |
3190 | 3190 |
`Sysctls:` + mapStringForSysctls + `,`, |
3191 |
+ `Capabilities:` + fmt.Sprintf("%v", this.Capabilities) + `,`, |
|
3191 | 3192 |
`}`, |
3192 | 3193 |
}, "") |
3193 | 3194 |
return s |
... | ... |
@@ -5454,6 +5485,35 @@ func (m *ContainerSpec) Unmarshal(dAtA []byte) error { |
5454 | 5454 |
} |
5455 | 5455 |
m.Sysctls[mapkey] = mapvalue |
5456 | 5456 |
iNdEx = postIndex |
5457 |
+ case 27: |
|
5458 |
+ if wireType != 2 { |
|
5459 |
+ return fmt.Errorf("proto: wrong wireType = %d for field Capabilities", wireType) |
|
5460 |
+ } |
|
5461 |
+ var stringLen uint64 |
|
5462 |
+ for shift := uint(0); ; shift += 7 { |
|
5463 |
+ if shift >= 64 { |
|
5464 |
+ return ErrIntOverflowSpecs |
|
5465 |
+ } |
|
5466 |
+ if iNdEx >= l { |
|
5467 |
+ return io.ErrUnexpectedEOF |
|
5468 |
+ } |
|
5469 |
+ b := dAtA[iNdEx] |
|
5470 |
+ iNdEx++ |
|
5471 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
5472 |
+ if b < 0x80 { |
|
5473 |
+ break |
|
5474 |
+ } |
|
5475 |
+ } |
|
5476 |
+ intStringLen := int(stringLen) |
|
5477 |
+ if intStringLen < 0 { |
|
5478 |
+ return ErrInvalidLengthSpecs |
|
5479 |
+ } |
|
5480 |
+ postIndex := iNdEx + intStringLen |
|
5481 |
+ if postIndex > l { |
|
5482 |
+ return io.ErrUnexpectedEOF |
|
5483 |
+ } |
|
5484 |
+ m.Capabilities = append(m.Capabilities, string(dAtA[iNdEx:postIndex])) |
|
5485 |
+ iNdEx = postIndex |
|
5457 | 5486 |
default: |
5458 | 5487 |
iNdEx = preIndex |
5459 | 5488 |
skippy, err := skipSpecs(dAtA[iNdEx:]) |
... | ... |
@@ -6765,141 +6825,142 @@ var ( |
6765 | 6765 |
func init() { proto.RegisterFile("github.com/docker/swarmkit/api/specs.proto", fileDescriptorSpecs) } |
6766 | 6766 |
|
6767 | 6767 |
var fileDescriptorSpecs = []byte{ |
6768 |
- // 2166 bytes of a gzipped FileDescriptorProto |
|
6769 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4d, 0x6f, 0x1b, 0xc9, |
|
6770 |
- 0xd1, 0x16, 0x25, 0x8a, 0x1f, 0x35, 0x94, 0x4d, 0xf5, 0xda, 0xde, 0x11, 0x6d, 0x4b, 0x34, 0xd7, |
|
6771 |
- 0xeb, 0x57, 0xbb, 0x8b, 0x97, 0x42, 0x94, 0xc5, 0xc6, 0x6b, 0x67, 0x93, 0x90, 0x22, 0x57, 0x62, |
|
6772 |
- 0x6c, 0x4b, 0x44, 0x53, 0x56, 0x62, 0x20, 0x00, 0xd1, 0x9a, 0x69, 0x91, 0x03, 0x0d, 0xa7, 0x27, |
|
6773 |
- 0xdd, 0x4d, 0x19, 0xbc, 0xe5, 0xb8, 0x50, 0x7e, 0x83, 0x90, 0x43, 0x90, 0x7b, 0xf2, 0x2f, 0x7c, |
|
6774 |
- 0xcc, 0x31, 0xb9, 0x08, 0x59, 0x1d, 0xf2, 0x07, 0x72, 0xcb, 0x25, 0x41, 0xf7, 0xf4, 0xf0, 0x43, |
|
6775 |
- 0x1e, 0x59, 0x0e, 0xe2, 0x43, 0x6e, 0xdd, 0x35, 0xcf, 0x53, 0xfd, 0xf5, 0x54, 0x75, 0xf5, 0xc0, |
|
6776 |
- 0xe7, 0x3d, 0x4f, 0xf6, 0x87, 0x87, 0x55, 0x87, 0x0d, 0x36, 0x5c, 0xe6, 0x1c, 0x53, 0xbe, 0x21, |
|
6777 |
- 0x5e, 0x13, 0x3e, 0x38, 0xf6, 0xe4, 0x06, 0x09, 0xbd, 0x0d, 0x11, 0x52, 0x47, 0x54, 0x43, 0xce, |
|
6778 |
- 0x24, 0x43, 0x28, 0x02, 0x54, 0x63, 0x40, 0xf5, 0xe4, 0x07, 0xa5, 0xeb, 0xf8, 0x72, 0x14, 0x52, |
|
6779 |
- 0xc3, 0x2f, 0xdd, 0xea, 0xb1, 0x1e, 0xd3, 0xcd, 0x0d, 0xd5, 0x32, 0xd6, 0xd5, 0x1e, 0x63, 0x3d, |
|
6780 |
- 0x9f, 0x6e, 0xe8, 0xde, 0xe1, 0xf0, 0x68, 0xc3, 0x1d, 0x72, 0x22, 0x3d, 0x16, 0x98, 0xef, 0x2b, |
|
6781 |
- 0x97, 0xbf, 0x93, 0x60, 0x74, 0x15, 0xf5, 0x35, 0x27, 0x61, 0x48, 0xb9, 0x19, 0xb0, 0x72, 0x96, |
|
6782 |
- 0x86, 0xdc, 0x2e, 0x73, 0x69, 0x27, 0xa4, 0x0e, 0xda, 0x06, 0x8b, 0x04, 0x01, 0x93, 0xda, 0xb7, |
|
6783 |
- 0xb0, 0x53, 0xe5, 0xd4, 0xba, 0xb5, 0xb9, 0x56, 0x7d, 0x7b, 0x4d, 0xd5, 0xda, 0x04, 0x56, 0x4f, |
|
6784 |
- 0xbf, 0x39, 0x5f, 0x9b, 0xc3, 0xd3, 0x4c, 0xf4, 0x53, 0x28, 0xb8, 0x54, 0x78, 0x9c, 0xba, 0x5d, |
|
6785 |
- 0xce, 0x7c, 0x6a, 0xcf, 0x97, 0x53, 0xeb, 0x37, 0x36, 0xef, 0x25, 0x79, 0x52, 0x83, 0x63, 0xe6, |
|
6786 |
- 0x53, 0x6c, 0x19, 0x86, 0xea, 0xa0, 0x6d, 0x80, 0x01, 0x1d, 0x1c, 0x52, 0x2e, 0xfa, 0x5e, 0x68, |
|
6787 |
- 0x2f, 0x68, 0xfa, 0xff, 0x5d, 0x45, 0x57, 0x73, 0xaf, 0xbe, 0x18, 0xc3, 0xf1, 0x14, 0x15, 0xbd, |
|
6788 |
- 0x80, 0x02, 0x39, 0x21, 0x9e, 0x4f, 0x0e, 0x3d, 0xdf, 0x93, 0x23, 0x3b, 0xad, 0x5d, 0x7d, 0xf6, |
|
6789 |
- 0x4e, 0x57, 0xb5, 0x29, 0x02, 0x9e, 0xa1, 0x57, 0x5c, 0x80, 0xc9, 0x40, 0xe8, 0x11, 0x64, 0xdb, |
|
6790 |
- 0xcd, 0xdd, 0x46, 0x6b, 0x77, 0xbb, 0x38, 0x57, 0x5a, 0x39, 0x3d, 0x2b, 0xdf, 0x56, 0x3e, 0x26, |
|
6791 |
- 0x80, 0x36, 0x0d, 0x5c, 0x2f, 0xe8, 0xa1, 0x75, 0xc8, 0xd5, 0xb6, 0xb6, 0x9a, 0xed, 0xfd, 0x66, |
|
6792 |
- 0xa3, 0x98, 0x2a, 0x95, 0x4e, 0xcf, 0xca, 0x77, 0x66, 0x81, 0x35, 0xc7, 0xa1, 0xa1, 0xa4, 0x6e, |
|
6793 |
- 0x29, 0xfd, 0xdd, 0xef, 0x57, 0xe7, 0x2a, 0xdf, 0xa5, 0xa0, 0x30, 0x3d, 0x09, 0xf4, 0x08, 0x32, |
|
6794 |
- 0xb5, 0xad, 0xfd, 0xd6, 0x41, 0xb3, 0x38, 0x37, 0xa1, 0x4f, 0x23, 0x6a, 0x8e, 0xf4, 0x4e, 0x28, |
|
6795 |
- 0x7a, 0x08, 0x8b, 0xed, 0xda, 0xcb, 0x4e, 0xb3, 0x98, 0x9a, 0x4c, 0x67, 0x1a, 0xd6, 0x26, 0x43, |
|
6796 |
- 0xa1, 0x51, 0x0d, 0x5c, 0x6b, 0xed, 0x16, 0xe7, 0x93, 0x51, 0x0d, 0x4e, 0xbc, 0xc0, 0x4c, 0xe5, |
|
6797 |
- 0x77, 0x69, 0xb0, 0x3a, 0x94, 0x9f, 0x78, 0xce, 0x07, 0x96, 0xc8, 0x57, 0x90, 0x96, 0x44, 0x1c, |
|
6798 |
- 0x6b, 0x69, 0x58, 0xc9, 0xd2, 0xd8, 0x27, 0xe2, 0x58, 0x0d, 0x6a, 0xe8, 0x1a, 0xaf, 0x94, 0xc1, |
|
6799 |
- 0x69, 0xe8, 0x7b, 0x0e, 0x91, 0xd4, 0xd5, 0xca, 0xb0, 0x36, 0x3f, 0x4d, 0x62, 0xe3, 0x31, 0xca, |
|
6800 |
- 0xcc, 0x7f, 0x67, 0x0e, 0x4f, 0x51, 0xd1, 0x53, 0xc8, 0xf4, 0x7c, 0x76, 0x48, 0x7c, 0xad, 0x09, |
|
6801 |
- 0x6b, 0xf3, 0x41, 0x92, 0x93, 0x6d, 0x8d, 0x98, 0x38, 0x30, 0x14, 0xf4, 0x18, 0x32, 0xc3, 0xd0, |
|
6802 |
- 0x25, 0x92, 0xda, 0x19, 0x4d, 0x2e, 0x27, 0x91, 0x5f, 0x6a, 0xc4, 0x16, 0x0b, 0x8e, 0xbc, 0x1e, |
|
6803 |
- 0x36, 0x78, 0xf4, 0x0c, 0x72, 0x01, 0x95, 0xaf, 0x19, 0x3f, 0x16, 0x76, 0xb6, 0xbc, 0xb0, 0x6e, |
|
6804 |
- 0x6d, 0x7e, 0x91, 0x28, 0xc6, 0x08, 0x53, 0x93, 0x92, 0x38, 0xfd, 0x01, 0x0d, 0x64, 0xe4, 0xa6, |
|
6805 |
- 0x3e, 0x6f, 0xa7, 0xf0, 0xd8, 0x01, 0xfa, 0x31, 0xe4, 0x68, 0xe0, 0x86, 0xcc, 0x0b, 0xa4, 0x9d, |
|
6806 |
- 0xbb, 0x7a, 0x22, 0x4d, 0x83, 0x51, 0x9b, 0x89, 0xc7, 0x0c, 0xc5, 0xe6, 0xcc, 0xf7, 0x0f, 0x89, |
|
6807 |
- 0x73, 0x6c, 0xe7, 0xdf, 0x73, 0x19, 0x63, 0x46, 0x3d, 0x03, 0xe9, 0x01, 0x73, 0x69, 0x65, 0x03, |
|
6808 |
- 0x96, 0xdf, 0xda, 0x6a, 0x54, 0x82, 0x9c, 0xd9, 0xea, 0x48, 0x23, 0x69, 0x3c, 0xee, 0x57, 0x6e, |
|
6809 |
- 0xc2, 0xd2, 0xcc, 0xb6, 0x56, 0xfe, 0xb8, 0x08, 0xb9, 0xf8, 0xac, 0x51, 0x0d, 0xf2, 0x0e, 0x0b, |
|
6810 |
- 0x24, 0xf1, 0x02, 0xca, 0x8d, 0xbc, 0x12, 0x4f, 0x66, 0x2b, 0x06, 0x29, 0xd6, 0xce, 0x1c, 0x9e, |
|
6811 |
- 0xb0, 0xd0, 0xb7, 0x90, 0xe7, 0x54, 0xb0, 0x21, 0x77, 0xa8, 0x30, 0xfa, 0x5a, 0x4f, 0x56, 0x48, |
|
6812 |
- 0x04, 0xc2, 0xf4, 0xd7, 0x43, 0x8f, 0x53, 0xb5, 0xcb, 0x02, 0x4f, 0xa8, 0xe8, 0x29, 0x64, 0x39, |
|
6813 |
- 0x15, 0x92, 0x70, 0xf9, 0x2e, 0x89, 0xe0, 0x08, 0xd2, 0x66, 0xbe, 0xe7, 0x8c, 0x70, 0xcc, 0x40, |
|
6814 |
- 0x4f, 0x21, 0x1f, 0xfa, 0xc4, 0xd1, 0x5e, 0xed, 0x45, 0x4d, 0xbf, 0x9f, 0x44, 0x6f, 0xc7, 0x20, |
|
6815 |
- 0x3c, 0xc1, 0xa3, 0xaf, 0x01, 0x7c, 0xd6, 0xeb, 0xba, 0xdc, 0x3b, 0xa1, 0xdc, 0x48, 0xac, 0x94, |
|
6816 |
- 0xc4, 0x6e, 0x68, 0x04, 0xce, 0xfb, 0xac, 0x17, 0x35, 0xd1, 0xf6, 0x7f, 0xa5, 0xaf, 0x29, 0x6d, |
|
6817 |
- 0x3d, 0x03, 0x20, 0xe3, 0xaf, 0x46, 0x5d, 0x9f, 0xbd, 0x97, 0x2b, 0x73, 0x22, 0x53, 0x74, 0xf4, |
|
6818 |
- 0x00, 0x0a, 0x47, 0x8c, 0x3b, 0xb4, 0x6b, 0xa2, 0x26, 0xaf, 0x35, 0x61, 0x69, 0x5b, 0xa4, 0x2f, |
|
6819 |
- 0x54, 0x87, 0x6c, 0x8f, 0x06, 0x94, 0x7b, 0x8e, 0x0d, 0x7a, 0xb0, 0x47, 0x89, 0x01, 0x19, 0x41, |
|
6820 |
- 0xf0, 0x30, 0x90, 0xde, 0x80, 0x9a, 0x91, 0x62, 0x22, 0xfa, 0x15, 0x7c, 0x14, 0x1f, 0x5f, 0x97, |
|
6821 |
- 0xd3, 0x23, 0xca, 0x69, 0xa0, 0x34, 0x60, 0xe9, 0x7d, 0xf8, 0xf4, 0xdd, 0x1a, 0x30, 0x68, 0x93, |
|
6822 |
- 0x6c, 0x10, 0xbf, 0xfc, 0x41, 0xd4, 0xf3, 0x90, 0xe5, 0xd1, 0xb8, 0x95, 0xdf, 0xa6, 0x94, 0xea, |
|
6823 |
- 0x2f, 0x21, 0xd0, 0x06, 0x58, 0xe3, 0xe1, 0x3d, 0x57, 0xab, 0x37, 0x5f, 0xbf, 0x71, 0x71, 0xbe, |
|
6824 |
- 0x06, 0x31, 0xb6, 0xd5, 0x50, 0x39, 0xc8, 0xb4, 0x5d, 0xd4, 0x84, 0xa5, 0x31, 0x41, 0x95, 0x01, |
|
6825 |
- 0xe6, 0xa2, 0x2c, 0xbf, 0x6b, 0xa6, 0xfb, 0xa3, 0x90, 0xe2, 0x02, 0x9f, 0xea, 0x55, 0x7e, 0x09, |
|
6826 |
- 0xe8, 0xed, 0x7d, 0x41, 0x08, 0xd2, 0xc7, 0x5e, 0x60, 0xa6, 0x81, 0x75, 0x1b, 0x55, 0x21, 0x1b, |
|
6827 |
- 0x92, 0x91, 0xcf, 0x88, 0x6b, 0x02, 0xe3, 0x56, 0x35, 0x2a, 0x10, 0xaa, 0x71, 0x81, 0x50, 0xad, |
|
6828 |
- 0x05, 0x23, 0x1c, 0x83, 0x2a, 0xcf, 0xe0, 0x76, 0xe2, 0xf1, 0xa2, 0x4d, 0x28, 0x8c, 0x03, 0x6e, |
|
6829 |
- 0xb2, 0xd6, 0x9b, 0x17, 0xe7, 0x6b, 0xd6, 0x38, 0x32, 0x5b, 0x0d, 0x6c, 0x8d, 0x41, 0x2d, 0xb7, |
|
6830 |
- 0xf2, 0xf7, 0x02, 0x2c, 0xcd, 0x84, 0x2d, 0xba, 0x05, 0x8b, 0xde, 0x80, 0xf4, 0xa8, 0x99, 0x63, |
|
6831 |
- 0xd4, 0x41, 0x4d, 0xc8, 0xf8, 0xe4, 0x90, 0xfa, 0x2a, 0x78, 0xd5, 0xc1, 0xfd, 0xff, 0xb5, 0xf1, |
|
6832 |
- 0x5f, 0x7d, 0xae, 0xf1, 0xcd, 0x40, 0xf2, 0x11, 0x36, 0x64, 0x64, 0x43, 0xd6, 0x61, 0x83, 0x01, |
|
6833 |
- 0x09, 0xd4, 0x35, 0xb1, 0xb0, 0x9e, 0xc7, 0x71, 0x57, 0xed, 0x0c, 0xe1, 0x3d, 0x61, 0xa7, 0xb5, |
|
6834 |
- 0x59, 0xb7, 0x51, 0x11, 0x16, 0x68, 0x70, 0x62, 0x2f, 0x6a, 0x93, 0x6a, 0x2a, 0x8b, 0xeb, 0x45, |
|
6835 |
- 0xd1, 0x97, 0xc7, 0xaa, 0xa9, 0x78, 0x43, 0x41, 0xb9, 0x9d, 0x8d, 0x76, 0x54, 0xb5, 0xd1, 0x8f, |
|
6836 |
- 0x20, 0x33, 0x60, 0xc3, 0x40, 0x0a, 0x3b, 0xa7, 0x27, 0xbb, 0x92, 0x34, 0xd9, 0x17, 0x0a, 0x61, |
|
6837 |
- 0x94, 0x65, 0xe0, 0xa8, 0x09, 0xcb, 0x42, 0xb2, 0xb0, 0xdb, 0xe3, 0xc4, 0xa1, 0xdd, 0x90, 0x72, |
|
6838 |
- 0x8f, 0xb9, 0x26, 0x0d, 0xaf, 0xbc, 0x75, 0x28, 0x0d, 0x53, 0xf0, 0xe1, 0x9b, 0x8a, 0xb3, 0xad, |
|
6839 |
- 0x28, 0x6d, 0xcd, 0x40, 0x6d, 0x28, 0x84, 0x43, 0xdf, 0xef, 0xb2, 0x30, 0xba, 0x91, 0xa3, 0xd8, |
|
6840 |
- 0x79, 0x8f, 0x2d, 0x6b, 0x0f, 0x7d, 0x7f, 0x2f, 0x22, 0x61, 0x2b, 0x9c, 0x74, 0xd0, 0x1d, 0xc8, |
|
6841 |
- 0xf4, 0x38, 0x1b, 0x86, 0x51, 0xdc, 0xe4, 0xb1, 0xe9, 0xa1, 0x6f, 0x20, 0x2b, 0xa8, 0xc3, 0xa9, |
|
6842 |
- 0x14, 0x76, 0x41, 0x2f, 0xf5, 0x93, 0xa4, 0x41, 0x3a, 0x1a, 0x32, 0x8e, 0x09, 0x1c, 0x73, 0xd0, |
|
6843 |
- 0x0a, 0x2c, 0x48, 0x39, 0xb2, 0x97, 0xca, 0xa9, 0xf5, 0x5c, 0x3d, 0x7b, 0x71, 0xbe, 0xb6, 0xb0, |
|
6844 |
- 0xbf, 0xff, 0x0a, 0x2b, 0x9b, 0xba, 0x2d, 0xfa, 0x4c, 0xc8, 0x80, 0x0c, 0xa8, 0x7d, 0x43, 0xef, |
|
6845 |
- 0xed, 0xb8, 0x8f, 0x5e, 0x01, 0xb8, 0x81, 0xe8, 0x3a, 0x3a, 0x3d, 0xd9, 0x37, 0xf5, 0xea, 0xbe, |
|
6846 |
- 0xb8, 0x7e, 0x75, 0x8d, 0xdd, 0x8e, 0xb9, 0x31, 0x97, 0x2e, 0xce, 0xd7, 0xf2, 0xe3, 0x2e, 0xce, |
|
6847 |
- 0xbb, 0x81, 0x88, 0x9a, 0xa8, 0x0e, 0x56, 0x9f, 0x12, 0x5f, 0xf6, 0x9d, 0x3e, 0x75, 0x8e, 0xed, |
|
6848 |
- 0xe2, 0xd5, 0x57, 0xe0, 0x8e, 0x86, 0x19, 0x0f, 0xd3, 0x24, 0xa5, 0x60, 0x35, 0x55, 0x61, 0x2f, |
|
6849 |
- 0xeb, 0xbd, 0x8a, 0x3a, 0xe8, 0x3e, 0x00, 0x0b, 0x69, 0xd0, 0x15, 0xd2, 0xf5, 0x02, 0x1b, 0xa9, |
|
6850 |
- 0x25, 0xe3, 0xbc, 0xb2, 0x74, 0x94, 0x01, 0xdd, 0x55, 0x17, 0x14, 0x71, 0xbb, 0x2c, 0xf0, 0x47, |
|
6851 |
- 0xf6, 0x47, 0xfa, 0x6b, 0x4e, 0x19, 0xf6, 0x02, 0x7f, 0x84, 0xd6, 0xc0, 0xd2, 0xba, 0x10, 0x5e, |
|
6852 |
- 0x2f, 0x20, 0xbe, 0x7d, 0x4b, 0xef, 0x07, 0x28, 0x53, 0x47, 0x5b, 0xd4, 0x39, 0x44, 0xbb, 0x21, |
|
6853 |
- 0xec, 0xdb, 0x57, 0x9f, 0x83, 0x99, 0xec, 0xe4, 0x1c, 0x0c, 0x07, 0xfd, 0x04, 0x20, 0xe4, 0xde, |
|
6854 |
- 0x89, 0xe7, 0xd3, 0x1e, 0x15, 0xf6, 0x1d, 0xbd, 0xe8, 0xd5, 0xc4, 0x9b, 0x69, 0x8c, 0xc2, 0x53, |
|
6855 |
- 0x0c, 0x54, 0x85, 0xb4, 0x17, 0x78, 0xd2, 0xfe, 0xd8, 0xdc, 0x4a, 0x97, 0xa5, 0x5a, 0x67, 0xcc, |
|
6856 |
- 0x3f, 0x20, 0xfe, 0x90, 0x62, 0x8d, 0x43, 0x2d, 0xc8, 0x7b, 0x82, 0xf9, 0x5a, 0xbe, 0xb6, 0xad, |
|
6857 |
- 0xf3, 0xdb, 0x7b, 0x9c, 0x5f, 0x2b, 0xa6, 0xe0, 0x09, 0x1b, 0xdd, 0x83, 0x7c, 0xe8, 0xb9, 0xe2, |
|
6858 |
- 0xb9, 0x37, 0xf0, 0xa4, 0xbd, 0x52, 0x4e, 0xad, 0x2f, 0xe0, 0x89, 0x01, 0xed, 0x40, 0x56, 0x8c, |
|
6859 |
- 0x84, 0x23, 0x7d, 0x61, 0x97, 0xf4, 0xbe, 0x54, 0xaf, 0x1f, 0xa6, 0x13, 0x11, 0xa2, 0xc4, 0x11, |
|
6860 |
- 0xd3, 0x4b, 0x5f, 0x83, 0x35, 0x95, 0x50, 0x54, 0x22, 0x38, 0xa6, 0x23, 0x93, 0xa3, 0x54, 0x53, |
|
6861 |
- 0x9d, 0xfa, 0x89, 0x5a, 0xa2, 0x4e, 0xa2, 0x79, 0x1c, 0x75, 0x9e, 0xcc, 0x3f, 0x4e, 0x95, 0x36, |
|
6862 |
- 0xc1, 0x9a, 0x0a, 0x2c, 0xf4, 0x89, 0x4a, 0xf0, 0x3d, 0x4f, 0x48, 0x3e, 0xea, 0x92, 0xa1, 0xec, |
|
6863 |
- 0xdb, 0x3f, 0xd3, 0x84, 0x42, 0x6c, 0xac, 0x0d, 0x65, 0xbf, 0xd4, 0x85, 0x89, 0x3e, 0x51, 0x19, |
|
6864 |
- 0x2c, 0xa5, 0x7b, 0x41, 0xf9, 0x09, 0xe5, 0xaa, 0x78, 0x52, 0xb2, 0x9a, 0x36, 0xa9, 0xf8, 0x14, |
|
6865 |
- 0x94, 0x70, 0xa7, 0xaf, 0xd3, 0x63, 0x1e, 0x9b, 0x9e, 0xca, 0x77, 0x71, 0x12, 0x30, 0xf9, 0xce, |
|
6866 |
- 0x74, 0x4b, 0x4f, 0xa0, 0x30, 0xbd, 0xd0, 0xff, 0x64, 0x41, 0x95, 0x3f, 0xa5, 0x20, 0x3f, 0x3e, |
|
6867 |
- 0x0c, 0xf4, 0x25, 0x2c, 0xb7, 0x3a, 0x7b, 0xcf, 0x6b, 0xfb, 0xad, 0xbd, 0xdd, 0x6e, 0xa3, 0xf9, |
|
6868 |
- 0x6d, 0xed, 0xe5, 0xf3, 0xfd, 0xe2, 0x5c, 0xe9, 0xfe, 0xe9, 0x59, 0x79, 0x65, 0x92, 0xf7, 0x63, |
|
6869 |
- 0x78, 0x83, 0x1e, 0x91, 0xa1, 0x2f, 0x67, 0x59, 0x6d, 0xbc, 0xb7, 0xd5, 0xec, 0x74, 0x8a, 0xa9, |
|
6870 |
- 0xab, 0x58, 0x6d, 0xce, 0x1c, 0x2a, 0x04, 0xda, 0x84, 0xe2, 0x84, 0xb5, 0xf3, 0xaa, 0xdd, 0xc4, |
|
6871 |
- 0x07, 0xc5, 0xf9, 0xd2, 0xbd, 0xd3, 0xb3, 0xb2, 0xfd, 0x36, 0x69, 0x67, 0x14, 0x52, 0x7e, 0x60, |
|
6872 |
- 0x1e, 0x2d, 0xff, 0x48, 0x41, 0x61, 0xba, 0xe6, 0x45, 0x5b, 0x51, 0xad, 0xaa, 0x57, 0x7c, 0x63, |
|
6873 |
- 0x73, 0xe3, 0xba, 0x1a, 0x59, 0xdf, 0xb5, 0xfe, 0x50, 0xf9, 0x7d, 0xa1, 0x9e, 0xa7, 0x9a, 0x8c, |
|
6874 |
- 0xbe, 0x84, 0xc5, 0x90, 0x71, 0x19, 0xdf, 0x4a, 0xc9, 0x31, 0xc3, 0x78, 0x5c, 0x49, 0x45, 0xe0, |
|
6875 |
- 0x4a, 0x1f, 0x6e, 0xcc, 0x7a, 0x43, 0x0f, 0x61, 0xe1, 0xa0, 0xd5, 0x2e, 0xce, 0x95, 0xee, 0x9e, |
|
6876 |
- 0x9e, 0x95, 0x3f, 0x9e, 0xfd, 0x78, 0xe0, 0x71, 0x39, 0x24, 0x7e, 0xab, 0x8d, 0x3e, 0x87, 0xc5, |
|
6877 |
- 0xc6, 0x6e, 0x07, 0xe3, 0x62, 0xaa, 0xb4, 0x76, 0x7a, 0x56, 0xbe, 0x3b, 0x8b, 0x53, 0x9f, 0xd8, |
|
6878 |
- 0x30, 0x70, 0x31, 0x3b, 0x1c, 0x3f, 0xd5, 0xfe, 0x39, 0x0f, 0x96, 0xb9, 0xac, 0x3f, 0xf4, 0x6b, |
|
6879 |
- 0x7e, 0x29, 0xaa, 0x44, 0xe3, 0x2c, 0x3c, 0x7f, 0x6d, 0x41, 0x5a, 0x88, 0x08, 0x46, 0xd3, 0x0f, |
|
6880 |
- 0xa0, 0xe0, 0x85, 0x27, 0x5f, 0x75, 0x69, 0x40, 0x0e, 0x7d, 0xf3, 0x6a, 0xcb, 0x61, 0x4b, 0xd9, |
|
6881 |
- 0x9a, 0x91, 0x49, 0x5d, 0x01, 0x5e, 0x20, 0x29, 0x0f, 0xcc, 0x7b, 0x2c, 0x87, 0xc7, 0x7d, 0xf4, |
|
6882 |
- 0x0d, 0xa4, 0xbd, 0x90, 0x0c, 0x4c, 0x15, 0x9d, 0xb8, 0x82, 0x56, 0xbb, 0xf6, 0xc2, 0xc4, 0x5c, |
|
6883 |
- 0x3d, 0x77, 0x71, 0xbe, 0x96, 0x56, 0x06, 0xac, 0x69, 0x68, 0x35, 0x2e, 0x64, 0xd5, 0x48, 0xfa, |
|
6884 |
- 0x3a, 0xcf, 0xe1, 0x29, 0x8b, 0x8a, 0x1b, 0x2f, 0xe8, 0x71, 0x2a, 0x84, 0xbe, 0xd8, 0x73, 0x38, |
|
6885 |
- 0xee, 0xa2, 0x12, 0x64, 0x4d, 0x39, 0xac, 0xeb, 0xdf, 0xbc, 0x2a, 0x35, 0x8d, 0xa1, 0xbe, 0x04, |
|
6886 |
- 0x56, 0xb4, 0x1b, 0xdd, 0x23, 0xce, 0x06, 0x95, 0x7f, 0xa5, 0xc1, 0xda, 0xf2, 0x87, 0x42, 0x9a, |
|
6887 |
- 0xca, 0xe6, 0x83, 0x6d, 0xfe, 0x2b, 0x58, 0x26, 0xfa, 0xef, 0x00, 0x09, 0x54, 0x99, 0xa0, 0x5f, |
|
6888 |
- 0x19, 0xe6, 0x00, 0x1e, 0x26, 0xba, 0x1b, 0x83, 0xa3, 0x17, 0x49, 0x3d, 0xa3, 0x7c, 0xda, 0x29, |
|
6889 |
- 0x5c, 0x24, 0x97, 0xbe, 0xa0, 0x0e, 0x2c, 0x31, 0xee, 0xf4, 0xa9, 0x90, 0x51, 0x71, 0x61, 0x5e, |
|
6890 |
- 0xd3, 0x89, 0xff, 0x59, 0xf6, 0xa6, 0x81, 0xe6, 0x66, 0x8d, 0x66, 0x3b, 0xeb, 0x03, 0x3d, 0x86, |
|
6891 |
- 0x34, 0x27, 0x47, 0xf1, 0x8b, 0x29, 0x31, 0x48, 0x30, 0x39, 0x92, 0x33, 0x2e, 0x34, 0x03, 0xfd, |
|
6892 |
- 0x1c, 0xc0, 0xf5, 0x44, 0x48, 0xa4, 0xd3, 0xa7, 0xdc, 0x1c, 0x76, 0xe2, 0x12, 0x1b, 0x63, 0xd4, |
|
6893 |
- 0x8c, 0x97, 0x29, 0x36, 0x7a, 0x06, 0x79, 0x87, 0xc4, 0x72, 0xcd, 0x5c, 0xfd, 0x8b, 0x61, 0xab, |
|
6894 |
- 0x66, 0x5c, 0x14, 0x95, 0x8b, 0x8b, 0xf3, 0xb5, 0x5c, 0x6c, 0xc1, 0x39, 0x87, 0x18, 0xf9, 0x3e, |
|
6895 |
- 0x83, 0x25, 0x49, 0xc4, 0x71, 0xd7, 0x8d, 0xd2, 0x59, 0x24, 0x93, 0x2b, 0x2a, 0x05, 0xf5, 0x8e, |
|
6896 |
- 0x35, 0x69, 0x2f, 0x3e, 0xce, 0x82, 0x9c, 0xb2, 0xa1, 0x5f, 0xc0, 0x32, 0x0d, 0x1c, 0x3e, 0xd2, |
|
6897 |
- 0x62, 0x8d, 0x67, 0x98, 0xbb, 0x7a, 0xb1, 0xcd, 0x31, 0x78, 0x66, 0xb1, 0x45, 0x7a, 0xc9, 0x5e, |
|
6898 |
- 0xf9, 0x6b, 0x0a, 0x20, 0x2a, 0xbe, 0x3e, 0xac, 0x00, 0x11, 0xa4, 0x5d, 0x22, 0x89, 0xd6, 0x5c, |
|
6899 |
- 0x01, 0xeb, 0x36, 0x7a, 0x02, 0x20, 0xe9, 0x20, 0x54, 0xa9, 0x37, 0xe8, 0x19, 0xd9, 0xbc, 0x2b, |
|
6900 |
- 0x1d, 0x4c, 0xa1, 0xd1, 0x26, 0x64, 0xcc, 0xbb, 0x36, 0x7d, 0x2d, 0xcf, 0x20, 0x2b, 0x7f, 0x48, |
|
6901 |
- 0x01, 0x44, 0xcb, 0xfc, 0x9f, 0x5e, 0x5b, 0xdd, 0x7e, 0xf3, 0xfd, 0xea, 0xdc, 0x5f, 0xbe, 0x5f, |
|
6902 |
- 0x9d, 0xfb, 0xcd, 0xc5, 0x6a, 0xea, 0xcd, 0xc5, 0x6a, 0xea, 0xcf, 0x17, 0xab, 0xa9, 0xbf, 0x5d, |
|
6903 |
- 0xac, 0xa6, 0x0e, 0x33, 0xba, 0x3e, 0xfa, 0xe1, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x32, 0x89, |
|
6904 |
- 0x54, 0x8a, 0x4d, 0x16, 0x00, 0x00, |
|
6768 |
+ // 2178 bytes of a gzipped FileDescriptorProto |
|
6769 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x6f, 0x1b, 0xb9, |
|
6770 |
+ 0x15, 0xb7, 0x6c, 0x59, 0x7f, 0x9e, 0xe4, 0x44, 0xe6, 0x26, 0xd9, 0xb1, 0x92, 0xd8, 0x8a, 0x36, |
|
6771 |
+ 0x9b, 0x7a, 0x77, 0x51, 0x19, 0x75, 0x17, 0xdb, 0x6c, 0xd2, 0x6d, 0x2b, 0x59, 0x5a, 0x5b, 0x4d, |
|
6772 |
+ 0x62, 0x0b, 0x94, 0xe3, 0x36, 0x40, 0x01, 0x81, 0x9e, 0xa1, 0x25, 0xc2, 0xa3, 0xe1, 0x94, 0xa4, |
|
6773 |
+ 0x1c, 0xe8, 0xd6, 0xe3, 0xc2, 0xfd, 0x0c, 0x46, 0x0f, 0x45, 0xef, 0xed, 0xb7, 0xc8, 0xb1, 0xc7, |
|
6774 |
+ 0xf6, 0x62, 0x74, 0xfd, 0x15, 0x7a, 0xeb, 0xa5, 0x05, 0x39, 0x1c, 0xfd, 0x71, 0xe4, 0x38, 0x45, |
|
6775 |
+ 0x73, 0xe8, 0x8d, 0x7c, 0xf3, 0xfb, 0x3d, 0xfe, 0xfb, 0xbd, 0xc7, 0xc7, 0x81, 0xcf, 0xbb, 0x4c, |
|
6776 |
+ 0xf5, 0x06, 0x87, 0x15, 0x97, 0xf7, 0x37, 0x3c, 0xee, 0x1e, 0x53, 0xb1, 0x21, 0x5f, 0x13, 0xd1, |
|
6777 |
+ 0x3f, 0x66, 0x6a, 0x83, 0x84, 0x6c, 0x43, 0x86, 0xd4, 0x95, 0x95, 0x50, 0x70, 0xc5, 0x11, 0x8a, |
|
6778 |
+ 0x00, 0x95, 0x18, 0x50, 0x39, 0xf9, 0x51, 0xf1, 0x3a, 0xbe, 0x1a, 0x86, 0xd4, 0xf2, 0x8b, 0xb7, |
|
6779 |
+ 0xba, 0xbc, 0xcb, 0x4d, 0x73, 0x43, 0xb7, 0xac, 0x75, 0xb5, 0xcb, 0x79, 0xd7, 0xa7, 0x1b, 0xa6, |
|
6780 |
+ 0x77, 0x38, 0x38, 0xda, 0xf0, 0x06, 0x82, 0x28, 0xc6, 0x03, 0xfb, 0x7d, 0xe5, 0xf2, 0x77, 0x12, |
|
6781 |
+ 0x0c, 0xaf, 0xa2, 0xbe, 0x16, 0x24, 0x0c, 0xa9, 0xb0, 0x03, 0x96, 0xcf, 0x92, 0x90, 0xd9, 0xe5, |
|
6782 |
+ 0x1e, 0x6d, 0x87, 0xd4, 0x45, 0xdb, 0x90, 0x23, 0x41, 0xc0, 0x95, 0xf1, 0x2d, 0x9d, 0x44, 0x29, |
|
6783 |
+ 0xb1, 0x9e, 0xdb, 0x5c, 0xab, 0xbc, 0xbd, 0xa6, 0x4a, 0x75, 0x0c, 0xab, 0x25, 0xdf, 0x9c, 0xaf, |
|
6784 |
+ 0xcd, 0xe1, 0x49, 0x26, 0xfa, 0x39, 0xe4, 0x3d, 0x2a, 0x99, 0xa0, 0x5e, 0x47, 0x70, 0x9f, 0x3a, |
|
6785 |
+ 0xf3, 0xa5, 0xc4, 0xfa, 0x8d, 0xcd, 0x7b, 0xb3, 0x3c, 0xe9, 0xc1, 0x31, 0xf7, 0x29, 0xce, 0x59, |
|
6786 |
+ 0x86, 0xee, 0xa0, 0x6d, 0x80, 0x3e, 0xed, 0x1f, 0x52, 0x21, 0x7b, 0x2c, 0x74, 0x16, 0x0c, 0xfd, |
|
6787 |
+ 0x07, 0x57, 0xd1, 0xf5, 0xdc, 0x2b, 0x2f, 0x46, 0x70, 0x3c, 0x41, 0x45, 0x2f, 0x20, 0x4f, 0x4e, |
|
6788 |
+ 0x08, 0xf3, 0xc9, 0x21, 0xf3, 0x99, 0x1a, 0x3a, 0x49, 0xe3, 0xea, 0xb3, 0x77, 0xba, 0xaa, 0x4e, |
|
6789 |
+ 0x10, 0xf0, 0x14, 0xbd, 0xec, 0x01, 0x8c, 0x07, 0x42, 0x8f, 0x20, 0xdd, 0x6a, 0xec, 0xd6, 0x9b, |
|
6790 |
+ 0xbb, 0xdb, 0x85, 0xb9, 0xe2, 0xca, 0xe9, 0x59, 0xe9, 0xb6, 0xf6, 0x31, 0x06, 0xb4, 0x68, 0xe0, |
|
6791 |
+ 0xb1, 0xa0, 0x8b, 0xd6, 0x21, 0x53, 0xdd, 0xda, 0x6a, 0xb4, 0xf6, 0x1b, 0xf5, 0x42, 0xa2, 0x58, |
|
6792 |
+ 0x3c, 0x3d, 0x2b, 0xdd, 0x99, 0x06, 0x56, 0x5d, 0x97, 0x86, 0x8a, 0x7a, 0xc5, 0xe4, 0x77, 0x7f, |
|
6793 |
+ 0x5c, 0x9d, 0x2b, 0x7f, 0x97, 0x80, 0xfc, 0xe4, 0x24, 0xd0, 0x23, 0x48, 0x55, 0xb7, 0xf6, 0x9b, |
|
6794 |
+ 0x07, 0x8d, 0xc2, 0xdc, 0x98, 0x3e, 0x89, 0xa8, 0xba, 0x8a, 0x9d, 0x50, 0xf4, 0x10, 0x16, 0x5b, |
|
6795 |
+ 0xd5, 0x97, 0xed, 0x46, 0x21, 0x31, 0x9e, 0xce, 0x24, 0xac, 0x45, 0x06, 0xd2, 0xa0, 0xea, 0xb8, |
|
6796 |
+ 0xda, 0xdc, 0x2d, 0xcc, 0xcf, 0x46, 0xd5, 0x05, 0x61, 0x81, 0x9d, 0xca, 0x1f, 0x92, 0x90, 0x6b, |
|
6797 |
+ 0x53, 0x71, 0xc2, 0xdc, 0x0f, 0x2c, 0x91, 0xaf, 0x20, 0xa9, 0x88, 0x3c, 0x36, 0xd2, 0xc8, 0xcd, |
|
6798 |
+ 0x96, 0xc6, 0x3e, 0x91, 0xc7, 0x7a, 0x50, 0x4b, 0x37, 0x78, 0xad, 0x0c, 0x41, 0x43, 0x9f, 0xb9, |
|
6799 |
+ 0x44, 0x51, 0xcf, 0x28, 0x23, 0xb7, 0xf9, 0xe9, 0x2c, 0x36, 0x1e, 0xa1, 0xec, 0xfc, 0x77, 0xe6, |
|
6800 |
+ 0xf0, 0x04, 0x15, 0x3d, 0x85, 0x54, 0xd7, 0xe7, 0x87, 0xc4, 0x37, 0x9a, 0xc8, 0x6d, 0x3e, 0x98, |
|
6801 |
+ 0xe5, 0x64, 0xdb, 0x20, 0xc6, 0x0e, 0x2c, 0x05, 0x3d, 0x86, 0xd4, 0x20, 0xf4, 0x88, 0xa2, 0x4e, |
|
6802 |
+ 0xca, 0x90, 0x4b, 0xb3, 0xc8, 0x2f, 0x0d, 0x62, 0x8b, 0x07, 0x47, 0xac, 0x8b, 0x2d, 0x1e, 0x3d, |
|
6803 |
+ 0x83, 0x4c, 0x40, 0xd5, 0x6b, 0x2e, 0x8e, 0xa5, 0x93, 0x2e, 0x2d, 0xac, 0xe7, 0x36, 0xbf, 0x98, |
|
6804 |
+ 0x29, 0xc6, 0x08, 0x53, 0x55, 0x8a, 0xb8, 0xbd, 0x3e, 0x0d, 0x54, 0xe4, 0xa6, 0x36, 0xef, 0x24, |
|
6805 |
+ 0xf0, 0xc8, 0x01, 0xfa, 0x29, 0x64, 0x68, 0xe0, 0x85, 0x9c, 0x05, 0xca, 0xc9, 0x5c, 0x3d, 0x91, |
|
6806 |
+ 0x86, 0xc5, 0xe8, 0xcd, 0xc4, 0x23, 0x86, 0x66, 0x0b, 0xee, 0xfb, 0x87, 0xc4, 0x3d, 0x76, 0xb2, |
|
6807 |
+ 0xef, 0xb9, 0x8c, 0x11, 0xa3, 0x96, 0x82, 0x64, 0x9f, 0x7b, 0xb4, 0xbc, 0x01, 0xcb, 0x6f, 0x6d, |
|
6808 |
+ 0x35, 0x2a, 0x42, 0xc6, 0x6e, 0x75, 0xa4, 0x91, 0x24, 0x1e, 0xf5, 0xcb, 0x37, 0x61, 0x69, 0x6a, |
|
6809 |
+ 0x5b, 0xcb, 0x7f, 0x5e, 0x84, 0x4c, 0x7c, 0xd6, 0xa8, 0x0a, 0x59, 0x97, 0x07, 0x8a, 0xb0, 0x80, |
|
6810 |
+ 0x0a, 0x2b, 0xaf, 0x99, 0x27, 0xb3, 0x15, 0x83, 0x34, 0x6b, 0x67, 0x0e, 0x8f, 0x59, 0xe8, 0x5b, |
|
6811 |
+ 0xc8, 0x0a, 0x2a, 0xf9, 0x40, 0xb8, 0x54, 0x5a, 0x7d, 0xad, 0xcf, 0x56, 0x48, 0x04, 0xc2, 0xf4, |
|
6812 |
+ 0xb7, 0x03, 0x26, 0xa8, 0xde, 0x65, 0x89, 0xc7, 0x54, 0xf4, 0x14, 0xd2, 0x82, 0x4a, 0x45, 0x84, |
|
6813 |
+ 0x7a, 0x97, 0x44, 0x70, 0x04, 0x69, 0x71, 0x9f, 0xb9, 0x43, 0x1c, 0x33, 0xd0, 0x53, 0xc8, 0x86, |
|
6814 |
+ 0x3e, 0x71, 0x8d, 0x57, 0x67, 0xd1, 0xd0, 0xef, 0xcf, 0xa2, 0xb7, 0x62, 0x10, 0x1e, 0xe3, 0xd1, |
|
6815 |
+ 0xd7, 0x00, 0x3e, 0xef, 0x76, 0x3c, 0xc1, 0x4e, 0xa8, 0xb0, 0x12, 0x2b, 0xce, 0x62, 0xd7, 0x0d, |
|
6816 |
+ 0x02, 0x67, 0x7d, 0xde, 0x8d, 0x9a, 0x68, 0xfb, 0x7f, 0xd2, 0xd7, 0x84, 0xb6, 0x9e, 0x01, 0x90, |
|
6817 |
+ 0xd1, 0x57, 0xab, 0xae, 0xcf, 0xde, 0xcb, 0x95, 0x3d, 0x91, 0x09, 0x3a, 0x7a, 0x00, 0xf9, 0x23, |
|
6818 |
+ 0x2e, 0x5c, 0xda, 0xb1, 0x51, 0x93, 0x35, 0x9a, 0xc8, 0x19, 0x5b, 0xa4, 0x2f, 0x54, 0x83, 0x74, |
|
6819 |
+ 0x97, 0x06, 0x54, 0x30, 0xd7, 0x01, 0x33, 0xd8, 0xa3, 0x99, 0x01, 0x19, 0x41, 0xf0, 0x20, 0x50, |
|
6820 |
+ 0xac, 0x4f, 0xed, 0x48, 0x31, 0x11, 0xfd, 0x06, 0x3e, 0x8a, 0x8f, 0xaf, 0x23, 0xe8, 0x11, 0x15, |
|
6821 |
+ 0x34, 0xd0, 0x1a, 0xc8, 0x99, 0x7d, 0xf8, 0xf4, 0xdd, 0x1a, 0xb0, 0x68, 0x9b, 0x6c, 0x90, 0xb8, |
|
6822 |
+ 0xfc, 0x41, 0xd6, 0xb2, 0x90, 0x16, 0xd1, 0xb8, 0xe5, 0xdf, 0x27, 0xb4, 0xea, 0x2f, 0x21, 0xd0, |
|
6823 |
+ 0x06, 0xe4, 0x46, 0xc3, 0x33, 0xcf, 0xa8, 0x37, 0x5b, 0xbb, 0x71, 0x71, 0xbe, 0x06, 0x31, 0xb6, |
|
6824 |
+ 0x59, 0xd7, 0x39, 0xc8, 0xb6, 0x3d, 0xd4, 0x80, 0xa5, 0x11, 0x41, 0x97, 0x01, 0xf6, 0xa2, 0x2c, |
|
6825 |
+ 0xbd, 0x6b, 0xa6, 0xfb, 0xc3, 0x90, 0xe2, 0xbc, 0x98, 0xe8, 0x95, 0x7f, 0x0d, 0xe8, 0xed, 0x7d, |
|
6826 |
+ 0x41, 0x08, 0x92, 0xc7, 0x2c, 0xb0, 0xd3, 0xc0, 0xa6, 0x8d, 0x2a, 0x90, 0x0e, 0xc9, 0xd0, 0xe7, |
|
6827 |
+ 0xc4, 0xb3, 0x81, 0x71, 0xab, 0x12, 0x15, 0x08, 0x95, 0xb8, 0x40, 0xa8, 0x54, 0x83, 0x21, 0x8e, |
|
6828 |
+ 0x41, 0xe5, 0x67, 0x70, 0x7b, 0xe6, 0xf1, 0xa2, 0x4d, 0xc8, 0x8f, 0x02, 0x6e, 0xbc, 0xd6, 0x9b, |
|
6829 |
+ 0x17, 0xe7, 0x6b, 0xb9, 0x51, 0x64, 0x36, 0xeb, 0x38, 0x37, 0x02, 0x35, 0xbd, 0xf2, 0xe9, 0x12, |
|
6830 |
+ 0x2c, 0x4d, 0x85, 0x2d, 0xba, 0x05, 0x8b, 0xac, 0x4f, 0xba, 0xd4, 0xce, 0x31, 0xea, 0xa0, 0x06, |
|
6831 |
+ 0xa4, 0x7c, 0x72, 0x48, 0x7d, 0x1d, 0xbc, 0xfa, 0xe0, 0x7e, 0x78, 0x6d, 0xfc, 0x57, 0x9e, 0x1b, |
|
6832 |
+ 0x7c, 0x23, 0x50, 0x62, 0x88, 0x2d, 0x19, 0x39, 0x90, 0x76, 0x79, 0xbf, 0x4f, 0x02, 0x7d, 0x4d, |
|
6833 |
+ 0x2c, 0xac, 0x67, 0x71, 0xdc, 0xd5, 0x3b, 0x43, 0x44, 0x57, 0x3a, 0x49, 0x63, 0x36, 0x6d, 0x54, |
|
6834 |
+ 0x80, 0x05, 0x1a, 0x9c, 0x38, 0x8b, 0xc6, 0xa4, 0x9b, 0xda, 0xe2, 0xb1, 0x28, 0xfa, 0xb2, 0x58, |
|
6835 |
+ 0x37, 0x35, 0x6f, 0x20, 0xa9, 0x70, 0xd2, 0xd1, 0x8e, 0xea, 0x36, 0xfa, 0x09, 0xa4, 0xfa, 0x7c, |
|
6836 |
+ 0x10, 0x28, 0xe9, 0x64, 0xcc, 0x64, 0x57, 0x66, 0x4d, 0xf6, 0x85, 0x46, 0x58, 0x65, 0x59, 0x38, |
|
6837 |
+ 0x6a, 0xc0, 0xb2, 0x54, 0x3c, 0xec, 0x74, 0x05, 0x71, 0x69, 0x27, 0xa4, 0x82, 0x71, 0xcf, 0xa6, |
|
6838 |
+ 0xe1, 0x95, 0xb7, 0x0e, 0xa5, 0x6e, 0x0b, 0x3e, 0x7c, 0x53, 0x73, 0xb6, 0x35, 0xa5, 0x65, 0x18, |
|
6839 |
+ 0xa8, 0x05, 0xf9, 0x70, 0xe0, 0xfb, 0x1d, 0x1e, 0x46, 0x37, 0x72, 0x14, 0x3b, 0xef, 0xb1, 0x65, |
|
6840 |
+ 0xad, 0x81, 0xef, 0xef, 0x45, 0x24, 0x9c, 0x0b, 0xc7, 0x1d, 0x74, 0x07, 0x52, 0x5d, 0xc1, 0x07, |
|
6841 |
+ 0x61, 0x14, 0x37, 0x59, 0x6c, 0x7b, 0xe8, 0x1b, 0x48, 0x4b, 0xea, 0x0a, 0xaa, 0xa4, 0x93, 0x37, |
|
6842 |
+ 0x4b, 0xfd, 0x64, 0xd6, 0x20, 0x6d, 0x03, 0x19, 0xc5, 0x04, 0x8e, 0x39, 0x68, 0x05, 0x16, 0x94, |
|
6843 |
+ 0x1a, 0x3a, 0x4b, 0xa5, 0xc4, 0x7a, 0xa6, 0x96, 0xbe, 0x38, 0x5f, 0x5b, 0xd8, 0xdf, 0x7f, 0x85, |
|
6844 |
+ 0xb5, 0x4d, 0xdf, 0x16, 0x3d, 0x2e, 0x55, 0x40, 0xfa, 0xd4, 0xb9, 0x61, 0xf6, 0x76, 0xd4, 0x47, |
|
6845 |
+ 0xaf, 0x00, 0xbc, 0x40, 0x76, 0x5c, 0x93, 0x9e, 0x9c, 0x9b, 0x66, 0x75, 0x5f, 0x5c, 0xbf, 0xba, |
|
6846 |
+ 0xfa, 0x6e, 0xdb, 0xde, 0x98, 0x4b, 0x17, 0xe7, 0x6b, 0xd9, 0x51, 0x17, 0x67, 0xbd, 0x40, 0x46, |
|
6847 |
+ 0x4d, 0x54, 0x83, 0x5c, 0x8f, 0x12, 0x5f, 0xf5, 0xdc, 0x1e, 0x75, 0x8f, 0x9d, 0xc2, 0xd5, 0x57, |
|
6848 |
+ 0xe0, 0x8e, 0x81, 0x59, 0x0f, 0x93, 0x24, 0xad, 0x60, 0x3d, 0x55, 0xe9, 0x2c, 0x9b, 0xbd, 0x8a, |
|
6849 |
+ 0x3a, 0xe8, 0x3e, 0x00, 0x0f, 0x69, 0xd0, 0x91, 0xca, 0x63, 0x81, 0x83, 0xf4, 0x92, 0x71, 0x56, |
|
6850 |
+ 0x5b, 0xda, 0xda, 0x80, 0xee, 0xea, 0x0b, 0x8a, 0x78, 0x1d, 0x1e, 0xf8, 0x43, 0xe7, 0x23, 0xf3, |
|
6851 |
+ 0x35, 0xa3, 0x0d, 0x7b, 0x81, 0x3f, 0x44, 0x6b, 0x90, 0x33, 0xba, 0x90, 0xac, 0x1b, 0x10, 0xdf, |
|
6852 |
+ 0xb9, 0x65, 0xf6, 0x03, 0xb4, 0xa9, 0x6d, 0x2c, 0xfa, 0x1c, 0xa2, 0xdd, 0x90, 0xce, 0xed, 0xab, |
|
6853 |
+ 0xcf, 0xc1, 0x4e, 0x76, 0x7c, 0x0e, 0x96, 0x83, 0x7e, 0x06, 0x10, 0x0a, 0x76, 0xc2, 0x7c, 0xda, |
|
6854 |
+ 0xa5, 0xd2, 0xb9, 0x63, 0x16, 0xbd, 0x3a, 0xf3, 0x66, 0x1a, 0xa1, 0xf0, 0x04, 0x03, 0x55, 0x20, |
|
6855 |
+ 0xc9, 0x02, 0xa6, 0x9c, 0x8f, 0xed, 0xad, 0x74, 0x59, 0xaa, 0x35, 0xce, 0xfd, 0x03, 0xe2, 0x0f, |
|
6856 |
+ 0x28, 0x36, 0x38, 0xd4, 0x84, 0x2c, 0x93, 0xdc, 0x37, 0xf2, 0x75, 0x1c, 0x93, 0xdf, 0xde, 0xe3, |
|
6857 |
+ 0xfc, 0x9a, 0x31, 0x05, 0x8f, 0xd9, 0xe8, 0x1e, 0x64, 0x43, 0xe6, 0xc9, 0xe7, 0xac, 0xcf, 0x94, |
|
6858 |
+ 0xb3, 0x52, 0x4a, 0xac, 0x2f, 0xe0, 0xb1, 0x01, 0xed, 0x40, 0x5a, 0x0e, 0xa5, 0xab, 0x7c, 0xe9, |
|
6859 |
+ 0x14, 0xcd, 0xbe, 0x54, 0xae, 0x1f, 0xa6, 0x1d, 0x11, 0xa2, 0xc4, 0x11, 0xd3, 0x51, 0x19, 0xf2, |
|
6860 |
+ 0x2e, 0x09, 0xa3, 0x6a, 0x98, 0x51, 0xe9, 0xdc, 0x35, 0x67, 0x3b, 0x65, 0x2b, 0x7e, 0x0d, 0xb9, |
|
6861 |
+ 0x89, 0xa4, 0xa3, 0x93, 0xc5, 0x31, 0x1d, 0xda, 0x3c, 0xa6, 0x9b, 0x5a, 0x19, 0x27, 0x7a, 0x1b, |
|
6862 |
+ 0x4c, 0xa2, 0xcd, 0xe2, 0xa8, 0xf3, 0x64, 0xfe, 0x71, 0xa2, 0xb8, 0x09, 0xb9, 0x89, 0xe0, 0x43, |
|
6863 |
+ 0x9f, 0xe8, 0x4b, 0xa0, 0xcb, 0xa4, 0x12, 0xc3, 0x0e, 0x19, 0xa8, 0x9e, 0xf3, 0x0b, 0x43, 0xc8, |
|
6864 |
+ 0xc7, 0xc6, 0xea, 0x40, 0xf5, 0x8a, 0x1d, 0x18, 0x6b, 0x18, 0x95, 0x20, 0xa7, 0x63, 0x43, 0x52, |
|
6865 |
+ 0x71, 0x42, 0x85, 0x2e, 0xb0, 0xf4, 0xf4, 0x26, 0x4d, 0x3a, 0x86, 0x25, 0x25, 0xc2, 0xed, 0x99, |
|
6866 |
+ 0x14, 0x9a, 0xc5, 0xb6, 0xa7, 0x73, 0x62, 0x9c, 0x28, 0x6c, 0x4e, 0xb4, 0xdd, 0xe2, 0x13, 0xc8, |
|
6867 |
+ 0x4f, 0x6e, 0xc6, 0x7f, 0xb3, 0xa0, 0xf2, 0x5f, 0x12, 0x90, 0x1d, 0x1d, 0x18, 0xfa, 0x12, 0x96, |
|
6868 |
+ 0x9b, 0xed, 0xbd, 0xe7, 0xd5, 0xfd, 0xe6, 0xde, 0x6e, 0xa7, 0xde, 0xf8, 0xb6, 0xfa, 0xf2, 0xf9, |
|
6869 |
+ 0x7e, 0x61, 0xae, 0x78, 0xff, 0xf4, 0xac, 0xb4, 0x32, 0xbe, 0x1b, 0x62, 0x78, 0x9d, 0x1e, 0x91, |
|
6870 |
+ 0x81, 0xaf, 0xa6, 0x59, 0x2d, 0xbc, 0xb7, 0xd5, 0x68, 0xb7, 0x0b, 0x89, 0xab, 0x58, 0x2d, 0xc1, |
|
6871 |
+ 0x5d, 0x2a, 0x25, 0xda, 0x84, 0xc2, 0x98, 0xb5, 0xf3, 0xaa, 0xd5, 0xc0, 0x07, 0x85, 0xf9, 0xe2, |
|
6872 |
+ 0xbd, 0xd3, 0xb3, 0x92, 0xf3, 0x36, 0x69, 0x67, 0x18, 0x52, 0x71, 0x60, 0x1f, 0x36, 0xff, 0x4c, |
|
6873 |
+ 0x40, 0x7e, 0xb2, 0x2e, 0x46, 0x5b, 0x51, 0x3d, 0x6b, 0x56, 0x7c, 0x63, 0x73, 0xe3, 0xba, 0x3a, |
|
6874 |
+ 0xda, 0xdc, 0xc7, 0xfe, 0x40, 0xfb, 0x7d, 0xa1, 0x9f, 0xb0, 0x86, 0x8c, 0xbe, 0x84, 0xc5, 0x90, |
|
6875 |
+ 0x0b, 0x15, 0xdf, 0x5c, 0xb3, 0xe3, 0x8a, 0x8b, 0xb8, 0xda, 0x8a, 0xc0, 0xe5, 0x1e, 0xdc, 0x98, |
|
6876 |
+ 0xf6, 0x86, 0x1e, 0xc2, 0xc2, 0x41, 0xb3, 0x55, 0x98, 0x2b, 0xde, 0x3d, 0x3d, 0x2b, 0x7d, 0x3c, |
|
6877 |
+ 0xfd, 0xf1, 0x80, 0x09, 0x35, 0x20, 0x7e, 0xb3, 0x85, 0x3e, 0x87, 0xc5, 0xfa, 0x6e, 0x1b, 0xe3, |
|
6878 |
+ 0x42, 0xa2, 0xb8, 0x76, 0x7a, 0x56, 0xba, 0x3b, 0x8d, 0xd3, 0x9f, 0xf8, 0x20, 0xf0, 0x30, 0x3f, |
|
6879 |
+ 0x1c, 0x3d, 0xe7, 0xfe, 0x35, 0x0f, 0x39, 0x7b, 0xa1, 0x7f, 0xe8, 0x17, 0xff, 0x52, 0x54, 0xad, |
|
6880 |
+ 0xc6, 0x99, 0x7a, 0xfe, 0xda, 0xa2, 0x35, 0x1f, 0x11, 0xac, 0xa6, 0x1f, 0x40, 0x9e, 0x85, 0x27, |
|
6881 |
+ 0x5f, 0x75, 0x68, 0x40, 0x0e, 0x7d, 0xfb, 0xb2, 0xcb, 0xe0, 0x9c, 0xb6, 0x35, 0x22, 0x93, 0xbe, |
|
6882 |
+ 0x26, 0x58, 0xa0, 0xa8, 0x08, 0xec, 0x9b, 0x2d, 0x83, 0x47, 0x7d, 0xf4, 0x0d, 0x24, 0x59, 0x48, |
|
6883 |
+ 0xfa, 0xb6, 0xd2, 0x9e, 0xb9, 0x82, 0x66, 0xab, 0xfa, 0xc2, 0xc6, 0x5c, 0x2d, 0x73, 0x71, 0xbe, |
|
6884 |
+ 0x96, 0xd4, 0x06, 0x6c, 0x68, 0x68, 0x35, 0x2e, 0x76, 0xf5, 0x48, 0xe6, 0xca, 0xcf, 0xe0, 0x09, |
|
6885 |
+ 0x8b, 0x8e, 0x1b, 0x16, 0x74, 0x05, 0x95, 0xd2, 0x5c, 0xfe, 0x19, 0x1c, 0x77, 0x51, 0x11, 0xd2, |
|
6886 |
+ 0xb6, 0x64, 0x36, 0x35, 0x72, 0x56, 0x97, 0xa3, 0xd6, 0x50, 0x5b, 0x82, 0x5c, 0xb4, 0x1b, 0x9d, |
|
6887 |
+ 0x23, 0xc1, 0xfb, 0xe5, 0x7f, 0x27, 0x21, 0xb7, 0xe5, 0x0f, 0xa4, 0xb2, 0xd5, 0xcf, 0x07, 0xdb, |
|
6888 |
+ 0xfc, 0x57, 0xb0, 0x4c, 0xcc, 0x1f, 0x04, 0x12, 0xe8, 0x52, 0xc2, 0xbc, 0x44, 0xec, 0x01, 0x3c, |
|
6889 |
+ 0x9c, 0xe9, 0x6e, 0x04, 0x8e, 0x5e, 0x2d, 0xb5, 0x94, 0xf6, 0xe9, 0x24, 0x70, 0x81, 0x5c, 0xfa, |
|
6890 |
+ 0x82, 0xda, 0xb0, 0xc4, 0x85, 0xdb, 0xa3, 0x52, 0x45, 0x05, 0x88, 0x7d, 0x71, 0xcf, 0xfc, 0x17, |
|
6891 |
+ 0xb3, 0x37, 0x09, 0xb4, 0xb7, 0x6f, 0x34, 0xdb, 0x69, 0x1f, 0xe8, 0x31, 0x24, 0x05, 0x39, 0x8a, |
|
6892 |
+ 0x5f, 0x55, 0x33, 0x83, 0x04, 0x93, 0x23, 0x35, 0xe5, 0xc2, 0x30, 0xd0, 0x2f, 0x01, 0x3c, 0x26, |
|
6893 |
+ 0x43, 0xa2, 0xdc, 0x1e, 0x15, 0xf6, 0xb0, 0x67, 0x2e, 0xb1, 0x3e, 0x42, 0x4d, 0x79, 0x99, 0x60, |
|
6894 |
+ 0xa3, 0x67, 0x90, 0x75, 0x49, 0x2c, 0xd7, 0xd4, 0xd5, 0xbf, 0x21, 0xb6, 0xaa, 0xd6, 0x45, 0x41, |
|
6895 |
+ 0xbb, 0xb8, 0x38, 0x5f, 0xcb, 0xc4, 0x16, 0x9c, 0x71, 0x89, 0x95, 0xef, 0x33, 0x58, 0x52, 0x44, |
|
6896 |
+ 0x1e, 0x77, 0xbc, 0x28, 0x9d, 0x45, 0x32, 0xb9, 0xa2, 0x9a, 0xd0, 0x6f, 0x5d, 0x9b, 0xf6, 0xe2, |
|
6897 |
+ 0xe3, 0xcc, 0xab, 0x09, 0x1b, 0xfa, 0x15, 0x2c, 0xd3, 0xc0, 0x15, 0x43, 0x23, 0xd6, 0x78, 0x86, |
|
6898 |
+ 0x99, 0xab, 0x17, 0xdb, 0x18, 0x81, 0xa7, 0x16, 0x5b, 0xa0, 0x97, 0xec, 0xe5, 0xbf, 0x27, 0x00, |
|
6899 |
+ 0xa2, 0x02, 0xed, 0xc3, 0x0a, 0x10, 0x41, 0xd2, 0x23, 0x8a, 0x18, 0xcd, 0xe5, 0xb1, 0x69, 0xa3, |
|
6900 |
+ 0x27, 0x00, 0x8a, 0xf6, 0x43, 0x9d, 0x7a, 0x83, 0xae, 0x95, 0xcd, 0xbb, 0xd2, 0xc1, 0x04, 0x1a, |
|
6901 |
+ 0x6d, 0x42, 0xca, 0xbe, 0x7d, 0x93, 0xd7, 0xf2, 0x2c, 0xb2, 0xfc, 0xa7, 0x04, 0x40, 0xb4, 0xcc, |
|
6902 |
+ 0xff, 0xeb, 0xb5, 0xd5, 0x9c, 0x37, 0xdf, 0xaf, 0xce, 0xfd, 0xed, 0xfb, 0xd5, 0xb9, 0xdf, 0x5d, |
|
6903 |
+ 0xac, 0x26, 0xde, 0x5c, 0xac, 0x26, 0xfe, 0x7a, 0xb1, 0x9a, 0xf8, 0xc7, 0xc5, 0x6a, 0xe2, 0x30, |
|
6904 |
+ 0x65, 0x6a, 0xa8, 0x1f, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x9c, 0x13, 0x42, 0x73, 0x71, 0x16, |
|
6905 |
+ 0x00, 0x00, |
|
6905 | 6906 |
} |
... | ... |
@@ -333,6 +333,9 @@ message ContainerSpec { |
333 | 333 |
// |
334 | 334 |
// https://docs.docker.com/engine/reference/commandline/run/#configure-namespaced-kernel-parameters-sysctls-at-runtime |
335 | 335 |
map<string, string> sysctls = 26; |
336 |
+ |
|
337 |
+ // Capabilities is the list of Linux capabilities to be available for container (this overrides the default set of capabilities) |
|
338 |
+ repeated string capabilities = 27; |
|
336 | 339 |
} |
337 | 340 |
|
338 | 341 |
// EndpointSpec defines the properties that can be configured to |
... | ... |
@@ -184,7 +184,7 @@ func (a *Allocator) doNetworkAlloc(ctx context.Context, ev events.Event) { |
184 | 184 |
} |
185 | 185 |
if IsIngressNetwork(n) && nc.ingressNetwork != nil { |
186 | 186 |
log.G(ctx).Errorf("Cannot allocate ingress network %s (%s) because another ingress network is already present: %s (%s)", |
187 |
- n.ID, n.Spec.Annotations.Name, nc.ingressNetwork.ID, nc.ingressNetwork.Spec.Annotations) |
|
187 |
+ n.ID, n.Spec.Annotations.Name, nc.ingressNetwork.ID, nc.ingressNetwork.Spec.Annotations.Name) |
|
188 | 188 |
break |
189 | 189 |
} |
190 | 190 |
|
... | ... |
@@ -968,3 +968,67 @@ func (s *Server) ListServices(ctx context.Context, request *api.ListServicesRequ |
968 | 968 |
Services: services, |
969 | 969 |
}, nil |
970 | 970 |
} |
971 |
+ |
|
972 |
+// ListServiceStatuses returns a `ListServiceStatusesResponse` with the status |
|
973 |
+// of the requested services, formed by computing the number of running vs |
|
974 |
+// desired tasks. It is provided as a shortcut or helper method, which allows a |
|
975 |
+// client to avoid having to calculate this value by listing all Tasks. If any |
|
976 |
+// service requested does not exist, it will be returned but with empty status |
|
977 |
+// values. |
|
978 |
+func (s *Server) ListServiceStatuses(ctx context.Context, req *api.ListServiceStatusesRequest) (*api.ListServiceStatusesResponse, error) { |
|
979 |
+ resp := &api.ListServiceStatusesResponse{} |
|
980 |
+ if req == nil { |
|
981 |
+ return resp, nil |
|
982 |
+ } |
|
983 |
+ |
|
984 |
+ s.store.View(func(tx store.ReadTx) { |
|
985 |
+ for _, id := range req.Services { |
|
986 |
+ status := &api.ListServiceStatusesResponse_ServiceStatus{ |
|
987 |
+ ServiceID: id, |
|
988 |
+ } |
|
989 |
+ // no matter what, add this status to the list. |
|
990 |
+ resp.Statuses = append(resp.Statuses, status) |
|
991 |
+ |
|
992 |
+ tasks, findErr := store.FindTasks(tx, store.ByServiceID(id)) |
|
993 |
+ if findErr != nil { |
|
994 |
+ // if there is another kind of error here (not sure what it |
|
995 |
+ // could be) then still return 0/0 for this service. |
|
996 |
+ continue |
|
997 |
+ } |
|
998 |
+ |
|
999 |
+ // use a boolean to see global vs replicated. this avoids us having to |
|
1000 |
+ // iterate the task list twice. |
|
1001 |
+ global := false |
|
1002 |
+ service := store.GetService(tx, id) |
|
1003 |
+ // a service might be deleted, but it may still have tasks. in that |
|
1004 |
+ // case, we will be using 0 as the desired task count. |
|
1005 |
+ if service != nil { |
|
1006 |
+ // figure out how many tasks the service requires. for replicated |
|
1007 |
+ // services, this is easy: we can just check the replicas field. for |
|
1008 |
+ // global services, this is a bit harder and we'll need to do some |
|
1009 |
+ // numbercrunchin |
|
1010 |
+ if replicated := service.Spec.GetReplicated(); replicated != nil { |
|
1011 |
+ status.DesiredTasks = replicated.Replicas |
|
1012 |
+ } else { |
|
1013 |
+ global = true |
|
1014 |
+ } |
|
1015 |
+ } |
|
1016 |
+ |
|
1017 |
+ // now, figure out how many tasks are running. Pretty easy, and |
|
1018 |
+ // universal across both global and replicated services |
|
1019 |
+ for _, task := range tasks { |
|
1020 |
+ if task.Status.State == api.TaskStateRunning { |
|
1021 |
+ status.RunningTasks++ |
|
1022 |
+ } |
|
1023 |
+ // if the service is global, a shortcut for figuring out the |
|
1024 |
+ // number of tasks desired is to look at all tasks, and take a |
|
1025 |
+ // count of the ones whose desired state is not Shutdown. |
|
1026 |
+ if global && task.DesiredState == api.TaskStateRunning { |
|
1027 |
+ status.DesiredTasks++ |
|
1028 |
+ } |
|
1029 |
+ } |
|
1030 |
+ } |
|
1031 |
+ }) |
|
1032 |
+ |
|
1033 |
+ return resp, nil |
|
1034 |
+} |
... | ... |
@@ -76,8 +76,22 @@ func (ce *ConstraintEnforcer) rejectNoncompliantTasks(node *api.Node) { |
76 | 76 |
err error |
77 | 77 |
) |
78 | 78 |
|
79 |
+ services := map[string]*api.Service{} |
|
79 | 80 |
ce.store.View(func(tx store.ReadTx) { |
80 | 81 |
tasks, err = store.FindTasks(tx, store.ByNodeID(node.ID)) |
82 |
+ if err != nil { |
|
83 |
+ return |
|
84 |
+ } |
|
85 |
+ |
|
86 |
+ // Deduplicate service IDs using the services map. It's okay for the |
|
87 |
+ // values to be nil for now, we will look them up from the store next. |
|
88 |
+ for _, task := range tasks { |
|
89 |
+ services[task.ServiceID] = nil |
|
90 |
+ } |
|
91 |
+ |
|
92 |
+ for serviceID := range services { |
|
93 |
+ services[serviceID] = store.GetService(tx, serviceID) |
|
94 |
+ } |
|
81 | 95 |
}) |
82 | 96 |
|
83 | 97 |
if err != nil { |
... | ... |
@@ -105,10 +119,44 @@ loop: |
105 | 105 |
continue |
106 | 106 |
} |
107 | 107 |
|
108 |
- // Ensure that the task still meets scheduling |
|
109 |
- // constraints. |
|
110 |
- if t.Spec.Placement != nil && len(t.Spec.Placement.Constraints) != 0 { |
|
111 |
- constraints, _ := constraint.Parse(t.Spec.Placement.Constraints) |
|
108 |
+ // Ensure that the node still satisfies placement constraints. |
|
109 |
+ // NOTE: If the task is associacted with a service then we must use the |
|
110 |
+ // constraints from the current service spec rather than the |
|
111 |
+ // constraints from the task spec because they may be outdated. This |
|
112 |
+ // will happen if the service was previously updated in a way which |
|
113 |
+ // only changes the placement constraints and the node matched the |
|
114 |
+ // placement constraints both before and after that update. In the case |
|
115 |
+ // of such updates, the tasks are not considered "dirty" and are not |
|
116 |
+ // restarted but it will mean that the task spec's placement |
|
117 |
+ // constraints are outdated. Consider this example: |
|
118 |
+ // - A service is created with no constraints and a task is scheduled |
|
119 |
+ // to a node. |
|
120 |
+ // - The node is updated to add a label, this doesn't affect the task |
|
121 |
+ // on that node because it has no constraints. |
|
122 |
+ // - The service is updated to add a node label constraint which |
|
123 |
+ // matches the label which was just added to the node. The updater |
|
124 |
+ // does not shut down the task because the only the constraints have |
|
125 |
+ // changed and the node still matches the updated constraints. |
|
126 |
+ // - The node is updated to remove the node label. The node no longer |
|
127 |
+ // satisfies the placement constraints of the service, so the task |
|
128 |
+ // should be shutdown. However, the task's spec still has the |
|
129 |
+ // original and outdated constraints (that are still satisfied by |
|
130 |
+ // the node). If we used those original constraints then the task |
|
131 |
+ // would incorrectly not be removed. This is why the constraints |
|
132 |
+ // from the service spec should be used instead. |
|
133 |
+ var placement *api.Placement |
|
134 |
+ if service := services[t.ServiceID]; service != nil { |
|
135 |
+ // This task is associated with a service, so we use the service's |
|
136 |
+ // current placement constraints. |
|
137 |
+ placement = service.Spec.Task.Placement |
|
138 |
+ } else { |
|
139 |
+ // This task is not associated with a service (or the service no |
|
140 |
+ // longer exists), so we use the placement constraints from the |
|
141 |
+ // original task spec. |
|
142 |
+ placement = t.Spec.Placement |
|
143 |
+ } |
|
144 |
+ if placement != nil && len(placement.Constraints) > 0 { |
|
145 |
+ constraints, _ := constraint.Parse(placement.Constraints) |
|
112 | 146 |
if !constraint.NodeMatches(constraints, node) { |
113 | 147 |
removeTasks[t.ID] = t |
114 | 148 |
continue |
... | ... |
@@ -19,7 +19,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 |
19 | 19 |
github.com/docker/go-metrics d466d4f6fd960e01820085bd7e1a24426ee7ef18 |
20 | 20 |
|
21 | 21 |
# etcd/raft |
22 |
-github.com/coreos/etcd v3.3.9 |
|
22 |
+github.com/coreos/etcd d57e8b8d97adfc4a6c224fe116714bf1a1f3beb9 # v3.3.12 |
|
23 | 23 |
github.com/coreos/go-systemd v17 |
24 | 24 |
github.com/coreos/pkg v3 |
25 | 25 |
github.com/prometheus/client_golang v0.8.0 |
... | ... |
@@ -27,8 +27,8 @@ github.com/prometheus/client_model 6f3806018612930941127f2a7c6c453ba2c527d2 |
27 | 27 |
github.com/prometheus/common 7600349dcfe1abd18d72d3a1770870d9800a7801 |
28 | 28 |
github.com/prometheus/procfs 7d6f385de8bea29190f15ba9931442a0eaef9af7 |
29 | 29 |
|
30 |
-github.com/docker/distribution 83389a148052d74ac602f5f1d62f86ff2f3c4aa5 |
|
31 |
-github.com/docker/docker 5a718ef0f94f605fe4e4885937133c2f76ad2a41 |
|
30 |
+github.com/docker/distribution 0d3efadf0154c2b8a4e7b6621fff9809655cc580 |
|
31 |
+github.com/docker/docker 827cb09f87964ed38b46502f22a585f2ed4a78e1 |
|
32 | 32 |
github.com/docker/go-connections 7395e3f8aa162843a74ed6d48e79627d9792ac55 # v0.4.0 |
33 | 33 |
github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9 |
34 | 34 |
github.com/docker/go-units 9e638d38cf6977a37a8ea0078f3ee75a7cdb2dd1 |
... | ... |
@@ -45,7 +45,7 @@ github.com/sirupsen/logrus v1.0.6 |
45 | 45 |
github.com/beorn7/perks 3a771d992973f24aa725d07868b467d1ddfceaf |
46 | 46 |
github.com/cloudflare/cfssl 1.3.2 |
47 | 47 |
github.com/dustin/go-humanize 8929fe90cee4b2cb9deb468b51fb34eba64d1bf0 |
48 |
-github.com/fernet/fernet-go 1b2437bc582b3cfbb341ee5a29f8ef5b42912ff2 |
|
48 |
+github.com/fernet/fernet-go 9eac43b88a5efb8651d24de9b68e87567e029736 |
|
49 | 49 |
github.com/google/certificate-transparency-go v1.0.20 |
50 | 50 |
github.com/hashicorp/go-immutable-radix 826af9ccf0feeee615d546d69b11f8e98da8c8f1 git://github.com/tonistiigi/go-immutable-radix.git |
51 | 51 |
github.com/hashicorp/go-memdb cb9a474f84cc5e41b273b20c6927680b2a8776ad |
... | ... |
@@ -67,7 +67,7 @@ func verify(msg, tok []byte, ttl time.Duration, now time.Time, k *Key) []byte { |
67 | 67 |
return nil |
68 | 68 |
} |
69 | 69 |
ts := time.Unix(int64(binary.BigEndian.Uint64(tok[1:])), 0) |
70 |
- if ttl >= 0 && (now.After(ts.Add(ttl)) || ts.After(now.Add(maxClockSkew))) { |
|
70 |
+ if ttl > 0 && (now.After(ts.Add(ttl)) || ts.After(now.Add(maxClockSkew))) { |
|
71 | 71 |
return nil |
72 | 72 |
} |
73 | 73 |
n := len(tok) - sha256.Size |