chore(all): auto-regenerate .pb.go files (#643)
This is an auto-generated regeneration of the .pb.go files by
cloud.google.com/go/internal/gapicgen. Once this PR is submitted, genbot will
update the corresponding PR to depend on the newer version of go-genproto, and
assign reviewers. Whilst this or any regen PR is open in go-genproto, genbot
will not create any more regeneration PRs. If all regen PRs are closed,
gapicgen will create a new set of regeneration PRs once per night.
If you have been assigned to review this PR, please:
- Ensure that CI is passing. If it's failing, it requires your manual attention.
- Approve and submit this PR if you believe it's ready to ship. That will prompt
genbot to assign reviewers to the google-cloud-go PR.
Corresponding google-cloud-go PR: googleapis/google-cloud-go#4478
Changes:
chore: regenerate API index
Source-Link: https://github.com/googleapis/googleapis/commit/3859723d77717f5082e78b4b0565c6d08b3eedfe
feat!: storagetransfer public protos update BREAKING CHANGE: field annotations are added. Allowing this since no client libraries were generated based on old protos.
Committer: @alexander-fenster
PiperOrigin-RevId: 386124227
Source-Link: https://github.com/googleapis/googleapis/commit/2d0aae27bbc728dffdc8ef920fbac8d395c9c2ef
fix: add missing dependency configmanagement.proto, cloudauditlogging.proto, metering.proto, multiclusteringress.proto, servicemesh.proto to v1alpha client
fix: add missing dependency configmanagement.proto, metering.proto, multiclusteringress.proto to v1beta client
Committer: @chingor13
PiperOrigin-RevId: 386025193
Source-Link: https://github.com/googleapis/googleapis/commit/e8d2996cc44d20d430413f60e88c45fdccc20e4c
diff --git a/googleapis/storagetransfer/v1/transfer.pb.go b/googleapis/storagetransfer/v1/transfer.pb.go
index b1637bf..332d37b 100644
--- a/googleapis/storagetransfer/v1/transfer.pb.go
+++ b/googleapis/storagetransfer/v1/transfer.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -26,11 +26,13 @@
sync "sync"
_ "google.golang.org/genproto/googleapis/api/annotations"
+ longrunning "google.golang.org/genproto/googleapis/longrunning"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ _ "google.golang.org/protobuf/types/known/durationpb"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
)
@@ -48,9 +50,8 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The ID of the Google Cloud Platform Console project that the Google service
- // account is associated with.
- // Required.
+ // Required. The ID of the Google Cloud Platform Console project that the
+ // Google service account is associated with.
ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}
@@ -99,8 +100,7 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The job to create.
- // Required.
+ // Required. The job to create.
TransferJob *TransferJob `protobuf:"bytes,1,opt,name=transfer_job,json=transferJob,proto3" json:"transfer_job,omitempty"`
}
@@ -149,24 +149,33 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The name of job to update.
- // Required.
+ // Required. The name of job to update.
JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
- // The ID of the Google Cloud Platform Console project that owns the job.
- // Required.
+ // Required. The ID of the Google Cloud Platform Console project that owns the
+ // job.
ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
- // The job to update. `transferJob` is expected to specify only three fields:
- // `description`, `transferSpec`, and `status`. An UpdateTransferJobRequest
- // that specifies other fields will be rejected with an error
- // `INVALID_ARGUMENT`.
- // Required.
+ // Required. The job to update. `transferJob` is expected to specify only
+ // four fields:
+ // [description][google.storagetransfer.v1.TransferJob.description],
+ // [transfer_spec][google.storagetransfer.v1.TransferJob.transfer_spec],
+ // [notification_config][google.storagetransfer.v1.TransferJob.notification_config],
+ // and [status][google.storagetransfer.v1.TransferJob.status]. An
+ // `UpdateTransferJobRequest` that specifies other fields are rejected with
+ // the error [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. Updating a
+ // job status to
+ // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED] requires
+ // `storagetransfer.jobs.delete` permissions.
TransferJob *TransferJob `protobuf:"bytes,3,opt,name=transfer_job,json=transferJob,proto3" json:"transfer_job,omitempty"`
// The field mask of the fields in `transferJob` that are to be updated in
// this request. Fields in `transferJob` that can be updated are:
- // `description`, `transferSpec`, and `status`. To update the `transferSpec`
- // of the job, a complete transfer specification has to be provided. An
- // incomplete specification which misses any required fields will be rejected
- // with the error `INVALID_ARGUMENT`.
+ // [description][google.storagetransfer.v1.TransferJob.description],
+ // [transfer_spec][google.storagetransfer.v1.TransferJob.transfer_spec],
+ // [notification_config][google.storagetransfer.v1.TransferJob.notification_config],
+ // and [status][google.storagetransfer.v1.TransferJob.status]. To update the
+ // `transfer_spec` of the job, a complete transfer specification must be
+ // provided. An incomplete specification missing any required fields is
+ // rejected with the error
+ // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
UpdateTransferJobFieldMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_transfer_job_field_mask,json=updateTransferJobFieldMask,proto3" json:"update_transfer_job_field_mask,omitempty"`
}
@@ -236,11 +245,11 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+ // Required.
// The job to get.
- // Required.
JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
- // The ID of the Google Cloud Platform Console project that owns the job.
- // Required.
+ // Required. The ID of the Google Cloud Platform Console project that owns the
+ // job.
ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
}
@@ -290,21 +299,25 @@
return ""
}
-// `project_id`, `job_names`, and `job_statuses` are query parameters that can
+// `projectId`, `jobNames`, and `jobStatuses` are query parameters that can
// be specified when listing transfer jobs.
type ListTransferJobsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // A list of query parameters specified as JSON text in the form of
- // {"project_id":"my_project_id",
- // "job_names":["jobid1","jobid2",...],
- // "job_statuses":["status1","status2",...]}.
- // Since `job_names` and `job_statuses` support multiple values, their values
- // must be specified with array notation. `project_id` is required.
- // `job_names` and `job_statuses` are optional. The valid values for
- // `job_statuses` are case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.
+ // Required. A list of query parameters specified as JSON text in the form of:
+ // `{"projectId":"my_project_id",
+ // "jobNames":["jobid1","jobid2",...],
+ // "jobStatuses":["status1","status2",...]}`
+ //
+ // Since `jobNames` and `jobStatuses` support multiple values, their values
+ // must be specified with array notation. `projectId` is required.
+ // `jobNames` and `jobStatuses` are optional. The valid values for
+ // `jobStatuses` are case-insensitive:
+ // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED],
+ // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], and
+ // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED].
Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
// The list page size. The max allowed value is 256.
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
@@ -429,8 +442,7 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The name of the transfer operation.
- // Required.
+ // Required. The name of the transfer operation.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
@@ -479,8 +491,7 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The name of the transfer operation.
- // Required.
+ // Required. The name of the transfer operation.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
@@ -523,6 +534,65 @@
return ""
}
+// Request passed to RunTransferJob.
+type RunTransferJobRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The name of the transfer job.
+ JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"`
+ // Required. The ID of the Google Cloud Platform Console project that owns the
+ // transfer job.
+ ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
+}
+
+func (x *RunTransferJobRequest) Reset() {
+ *x = RunTransferJobRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storagetransfer_v1_transfer_proto_msgTypes[8]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RunTransferJobRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RunTransferJobRequest) ProtoMessage() {}
+
+func (x *RunTransferJobRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storagetransfer_v1_transfer_proto_msgTypes[8]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RunTransferJobRequest.ProtoReflect.Descriptor instead.
+func (*RunTransferJobRequest) Descriptor() ([]byte, []int) {
+ return file_google_storagetransfer_v1_transfer_proto_rawDescGZIP(), []int{8}
+}
+
+func (x *RunTransferJobRequest) GetJobName() string {
+ if x != nil {
+ return x.JobName
+ }
+ return ""
+}
+
+func (x *RunTransferJobRequest) GetProjectId() string {
+ if x != nil {
+ return x.ProjectId
+ }
+ return ""
+}
+
var File_google_storagetransfer_v1_transfer_proto protoreflect.FileDescriptor
var file_google_storagetransfer_v1_transfer_proto_rawDesc = []byte{
@@ -532,153 +602,189 @@
0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
- 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
- 0x74, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61,
- 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
- 0x49, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76,
- 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x0b, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0xff, 0x01, 0x0a, 0x18, 0x55,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61,
- 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
- 0x64, 0x12, 0x49, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f,
- 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52,
- 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x5e, 0x0a, 0x1e,
- 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f,
- 0x6a, 0x6f, 0x62, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b,
- 0x52, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
- 0x4a, 0x6f, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x51, 0x0a, 0x15,
- 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65,
- 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22,
- 0x6d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
- 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,
- 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
- 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f,
- 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
- 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e,
- 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
- 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
- 0x22, 0x33, 0x0a, 0x1d, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
- 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x32, 0xf9, 0x08, 0x0a, 0x16,
- 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47,
- 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
- 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2e,
- 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x98,
- 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
- 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31,
- 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
- 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f,
+ 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62,
+ 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
+ 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
+ 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x22, 0x44, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x6a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f,
+ 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f,
- 0x62, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x0c, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0x9b, 0x01, 0x0a, 0x11, 0x55, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12,
- 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
- 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31,
- 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0x29, 0x82, 0xd3,
- 0xe4, 0x93, 0x02, 0x23, 0x32, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x6e,
- 0x61, 0x6d, 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73,
- 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x4a, 0x6f, 0x62, 0x22, 0x8e, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1e, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x49, 0x64, 0x12, 0x4e, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73,
- 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
- 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
- 0x72, 0x4a, 0x6f, 0x62, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x76,
- 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e,
- 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0x95, 0x01, 0x0a,
- 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62,
- 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
- 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76,
- 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f,
- 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
- 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x72,
- 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
- 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73,
+ 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
+ 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x5e, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
+ 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a,
+ 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a,
+ 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49,
+ 0x64, 0x22, 0x72, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06,
+ 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
+ 0x02, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67,
+ 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
+ 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
+ 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a,
+ 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f,
+ 0x62, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12,
+ 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61,
+ 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x38, 0x0a, 0x1d, 0x50, 0x61, 0x75, 0x73, 0x65,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x22, 0x39, 0x0a, 0x1e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x15,
+ 0x52, 0x75, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6a, 0x6f,
+ 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09,
+ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x32, 0x8d, 0x0b, 0x0a, 0x16, 0x53, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x2e, 0x82, 0xd3,
+ 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f,
+ 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x98, 0x01, 0x0a,
+ 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
+ 0x6f, 0x62, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22,
+ 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x12, 0x9b, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x33, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x23, 0x32, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a,
+ 0x2a, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x92, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
+ 0x6f, 0x62, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x76, 0x31, 0x2f,
+ 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x4c,
+ 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12,
+ 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12,
+ 0x12, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f,
+ 0x62, 0x73, 0x12, 0x9d, 0x01, 0x0a, 0x16, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72,
+ 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
+ 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x3a,
+ 0x01, 0x2a, 0x12, 0xa0, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d,
0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
- 0x79, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
+ 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x27, 0x2f, 0x76, 0x31, 0x2f, 0x7b,
0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x70, 0x61, 0x75, 0x73,
- 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xa0, 0x01, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73,
- 0x75, 0x6d, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
- 0x70, 0x74, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x27, 0x2f, 0x76, 0x31,
- 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f,
- 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x65,
- 0x73, 0x75, 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x42, 0xc5, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42,
- 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x48,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
- 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x1f, 0x47, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1f,
- 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5c, 0x56, 0x31, 0x62,
- 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x73, 0x75,
+ 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xbd, 0x01, 0x0a, 0x0e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
+ 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5a, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x27, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x2a,
+ 0x7d, 0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
+ 0x74, 0x79, 0x12, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x52, 0xca, 0x41, 0x1e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73,
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xea, 0x01, 0x0a, 0x23, 0x63, 0x6f,
+ 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x42, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x5a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
+ 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x1f,
+ 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x56, 0x31, 0xca,
+ 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x53,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5c, 0x56,
+ 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75,
+ 0x64, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -693,7 +799,7 @@
return file_google_storagetransfer_v1_transfer_proto_rawDescData
}
-var file_google_storagetransfer_v1_transfer_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
+var file_google_storagetransfer_v1_transfer_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_google_storagetransfer_v1_transfer_proto_goTypes = []interface{}{
(*GetGoogleServiceAccountRequest)(nil), // 0: google.storagetransfer.v1.GetGoogleServiceAccountRequest
(*CreateTransferJobRequest)(nil), // 1: google.storagetransfer.v1.CreateTransferJobRequest
@@ -703,16 +809,18 @@
(*ListTransferJobsResponse)(nil), // 5: google.storagetransfer.v1.ListTransferJobsResponse
(*PauseTransferOperationRequest)(nil), // 6: google.storagetransfer.v1.PauseTransferOperationRequest
(*ResumeTransferOperationRequest)(nil), // 7: google.storagetransfer.v1.ResumeTransferOperationRequest
- (*TransferJob)(nil), // 8: google.storagetransfer.v1.TransferJob
- (*fieldmaskpb.FieldMask)(nil), // 9: google.protobuf.FieldMask
- (*GoogleServiceAccount)(nil), // 10: google.storagetransfer.v1.GoogleServiceAccount
- (*emptypb.Empty)(nil), // 11: google.protobuf.Empty
+ (*RunTransferJobRequest)(nil), // 8: google.storagetransfer.v1.RunTransferJobRequest
+ (*TransferJob)(nil), // 9: google.storagetransfer.v1.TransferJob
+ (*fieldmaskpb.FieldMask)(nil), // 10: google.protobuf.FieldMask
+ (*GoogleServiceAccount)(nil), // 11: google.storagetransfer.v1.GoogleServiceAccount
+ (*emptypb.Empty)(nil), // 12: google.protobuf.Empty
+ (*longrunning.Operation)(nil), // 13: google.longrunning.Operation
}
var file_google_storagetransfer_v1_transfer_proto_depIdxs = []int32{
- 8, // 0: google.storagetransfer.v1.CreateTransferJobRequest.transfer_job:type_name -> google.storagetransfer.v1.TransferJob
- 8, // 1: google.storagetransfer.v1.UpdateTransferJobRequest.transfer_job:type_name -> google.storagetransfer.v1.TransferJob
- 9, // 2: google.storagetransfer.v1.UpdateTransferJobRequest.update_transfer_job_field_mask:type_name -> google.protobuf.FieldMask
- 8, // 3: google.storagetransfer.v1.ListTransferJobsResponse.transfer_jobs:type_name -> google.storagetransfer.v1.TransferJob
+ 9, // 0: google.storagetransfer.v1.CreateTransferJobRequest.transfer_job:type_name -> google.storagetransfer.v1.TransferJob
+ 9, // 1: google.storagetransfer.v1.UpdateTransferJobRequest.transfer_job:type_name -> google.storagetransfer.v1.TransferJob
+ 10, // 2: google.storagetransfer.v1.UpdateTransferJobRequest.update_transfer_job_field_mask:type_name -> google.protobuf.FieldMask
+ 9, // 3: google.storagetransfer.v1.ListTransferJobsResponse.transfer_jobs:type_name -> google.storagetransfer.v1.TransferJob
0, // 4: google.storagetransfer.v1.StorageTransferService.GetGoogleServiceAccount:input_type -> google.storagetransfer.v1.GetGoogleServiceAccountRequest
1, // 5: google.storagetransfer.v1.StorageTransferService.CreateTransferJob:input_type -> google.storagetransfer.v1.CreateTransferJobRequest
2, // 6: google.storagetransfer.v1.StorageTransferService.UpdateTransferJob:input_type -> google.storagetransfer.v1.UpdateTransferJobRequest
@@ -720,15 +828,17 @@
4, // 8: google.storagetransfer.v1.StorageTransferService.ListTransferJobs:input_type -> google.storagetransfer.v1.ListTransferJobsRequest
6, // 9: google.storagetransfer.v1.StorageTransferService.PauseTransferOperation:input_type -> google.storagetransfer.v1.PauseTransferOperationRequest
7, // 10: google.storagetransfer.v1.StorageTransferService.ResumeTransferOperation:input_type -> google.storagetransfer.v1.ResumeTransferOperationRequest
- 10, // 11: google.storagetransfer.v1.StorageTransferService.GetGoogleServiceAccount:output_type -> google.storagetransfer.v1.GoogleServiceAccount
- 8, // 12: google.storagetransfer.v1.StorageTransferService.CreateTransferJob:output_type -> google.storagetransfer.v1.TransferJob
- 8, // 13: google.storagetransfer.v1.StorageTransferService.UpdateTransferJob:output_type -> google.storagetransfer.v1.TransferJob
- 8, // 14: google.storagetransfer.v1.StorageTransferService.GetTransferJob:output_type -> google.storagetransfer.v1.TransferJob
- 5, // 15: google.storagetransfer.v1.StorageTransferService.ListTransferJobs:output_type -> google.storagetransfer.v1.ListTransferJobsResponse
- 11, // 16: google.storagetransfer.v1.StorageTransferService.PauseTransferOperation:output_type -> google.protobuf.Empty
- 11, // 17: google.storagetransfer.v1.StorageTransferService.ResumeTransferOperation:output_type -> google.protobuf.Empty
- 11, // [11:18] is the sub-list for method output_type
- 4, // [4:11] is the sub-list for method input_type
+ 8, // 11: google.storagetransfer.v1.StorageTransferService.RunTransferJob:input_type -> google.storagetransfer.v1.RunTransferJobRequest
+ 11, // 12: google.storagetransfer.v1.StorageTransferService.GetGoogleServiceAccount:output_type -> google.storagetransfer.v1.GoogleServiceAccount
+ 9, // 13: google.storagetransfer.v1.StorageTransferService.CreateTransferJob:output_type -> google.storagetransfer.v1.TransferJob
+ 9, // 14: google.storagetransfer.v1.StorageTransferService.UpdateTransferJob:output_type -> google.storagetransfer.v1.TransferJob
+ 9, // 15: google.storagetransfer.v1.StorageTransferService.GetTransferJob:output_type -> google.storagetransfer.v1.TransferJob
+ 5, // 16: google.storagetransfer.v1.StorageTransferService.ListTransferJobs:output_type -> google.storagetransfer.v1.ListTransferJobsResponse
+ 12, // 17: google.storagetransfer.v1.StorageTransferService.PauseTransferOperation:output_type -> google.protobuf.Empty
+ 12, // 18: google.storagetransfer.v1.StorageTransferService.ResumeTransferOperation:output_type -> google.protobuf.Empty
+ 13, // 19: google.storagetransfer.v1.StorageTransferService.RunTransferJob:output_type -> google.longrunning.Operation
+ 12, // [12:20] is the sub-list for method output_type
+ 4, // [4:12] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
@@ -837,6 +947,18 @@
return nil
}
}
+ file_google_storagetransfer_v1_transfer_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RunTransferJobRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
}
type x struct{}
out := protoimpl.TypeBuilder{
@@ -844,7 +966,7 @@
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_storagetransfer_v1_transfer_proto_rawDesc,
NumEnums: 0,
- NumMessages: 8,
+ NumMessages: 9,
NumExtensions: 0,
NumServices: 1,
},
@@ -882,8 +1004,13 @@
// Creates a transfer job that runs periodically.
CreateTransferJob(ctx context.Context, in *CreateTransferJobRequest, opts ...grpc.CallOption) (*TransferJob, error)
// Updates a transfer job. Updating a job's transfer spec does not affect
- // transfer operations that are running already. Updating the scheduling
- // of a job is not allowed.
+ // transfer operations that are running already.
+ //
+ // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status]
+ // field can be modified using this RPC (for example, to set a job's status to
+ // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED],
+ // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or
+ // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]).
UpdateTransferJob(ctx context.Context, in *UpdateTransferJobRequest, opts ...grpc.CallOption) (*TransferJob, error)
// Gets a transfer job.
GetTransferJob(ctx context.Context, in *GetTransferJobRequest, opts ...grpc.CallOption) (*TransferJob, error)
@@ -893,6 +1020,10 @@
PauseTransferOperation(ctx context.Context, in *PauseTransferOperationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Resumes a transfer operation that is paused.
ResumeTransferOperation(ctx context.Context, in *ResumeTransferOperationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Attempts to start a new TransferOperation for the current TransferJob. A
+ // TransferJob has a maximum of one active TransferOperation. If this method
+ // is called while a TransferOperation is active, an error wil be returned.
+ RunTransferJob(ctx context.Context, in *RunTransferJobRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
}
type storageTransferServiceClient struct {
@@ -966,6 +1097,15 @@
return out, nil
}
+func (c *storageTransferServiceClient) RunTransferJob(ctx context.Context, in *RunTransferJobRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
+ out := new(longrunning.Operation)
+ err := c.cc.Invoke(ctx, "/google.storagetransfer.v1.StorageTransferService/RunTransferJob", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// StorageTransferServiceServer is the server API for StorageTransferService service.
type StorageTransferServiceServer interface {
// Returns the Google service account that is used by Storage Transfer
@@ -980,8 +1120,13 @@
// Creates a transfer job that runs periodically.
CreateTransferJob(context.Context, *CreateTransferJobRequest) (*TransferJob, error)
// Updates a transfer job. Updating a job's transfer spec does not affect
- // transfer operations that are running already. Updating the scheduling
- // of a job is not allowed.
+ // transfer operations that are running already.
+ //
+ // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status]
+ // field can be modified using this RPC (for example, to set a job's status to
+ // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED],
+ // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or
+ // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]).
UpdateTransferJob(context.Context, *UpdateTransferJobRequest) (*TransferJob, error)
// Gets a transfer job.
GetTransferJob(context.Context, *GetTransferJobRequest) (*TransferJob, error)
@@ -991,6 +1136,10 @@
PauseTransferOperation(context.Context, *PauseTransferOperationRequest) (*emptypb.Empty, error)
// Resumes a transfer operation that is paused.
ResumeTransferOperation(context.Context, *ResumeTransferOperationRequest) (*emptypb.Empty, error)
+ // Attempts to start a new TransferOperation for the current TransferJob. A
+ // TransferJob has a maximum of one active TransferOperation. If this method
+ // is called while a TransferOperation is active, an error wil be returned.
+ RunTransferJob(context.Context, *RunTransferJobRequest) (*longrunning.Operation, error)
}
// UnimplementedStorageTransferServiceServer can be embedded to have forward compatible implementations.
@@ -1018,6 +1167,9 @@
func (*UnimplementedStorageTransferServiceServer) ResumeTransferOperation(context.Context, *ResumeTransferOperationRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method ResumeTransferOperation not implemented")
}
+func (*UnimplementedStorageTransferServiceServer) RunTransferJob(context.Context, *RunTransferJobRequest) (*longrunning.Operation, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method RunTransferJob not implemented")
+}
func RegisterStorageTransferServiceServer(s *grpc.Server, srv StorageTransferServiceServer) {
s.RegisterService(&_StorageTransferService_serviceDesc, srv)
@@ -1149,6 +1301,24 @@
return interceptor(ctx, in, info, handler)
}
+func _StorageTransferService_RunTransferJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(RunTransferJobRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageTransferServiceServer).RunTransferJob(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storagetransfer.v1.StorageTransferService/RunTransferJob",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageTransferServiceServer).RunTransferJob(ctx, req.(*RunTransferJobRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
var _StorageTransferService_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.storagetransfer.v1.StorageTransferService",
HandlerType: (*StorageTransferServiceServer)(nil),
@@ -1181,6 +1351,10 @@
MethodName: "ResumeTransferOperation",
Handler: _StorageTransferService_ResumeTransferOperation_Handler,
},
+ {
+ MethodName: "RunTransferJob",
+ Handler: _StorageTransferService_RunTransferJob_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "google/storagetransfer/v1/transfer.proto",
diff --git a/googleapis/storagetransfer/v1/transfer_types.pb.go b/googleapis/storagetransfer/v1/transfer_types.pb.go
index 68d1931..59f04f9 100644
--- a/googleapis/storagetransfer/v1/transfer_types.pb.go
+++ b/googleapis/storagetransfer/v1/transfer_types.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2017 Google Inc.
+// Copyright 2021 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -30,6 +30,7 @@
timeofday "google.golang.org/genproto/googleapis/type/timeofday"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ _ "google.golang.org/protobuf/types/known/anypb"
durationpb "google.golang.org/protobuf/types/known/durationpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
@@ -53,7 +54,8 @@
TransferJob_DISABLED TransferJob_Status = 2
// This is a soft delete state. After a transfer job is set to this
// state, the job and all the transfer executions are subject to
- // garbage collection.
+ // garbage collection. Transfer jobs become eligible for garbage collection
+ // 30 days after their status is set to `DELETED`.
TransferJob_DELETED TransferJob_Status = 3
)
@@ -97,7 +99,127 @@
// Deprecated: Use TransferJob_Status.Descriptor instead.
func (TransferJob_Status) EnumDescriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{9, 0}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{11, 0}
+}
+
+// Enum for specifying event types for which notifications are to be
+// published.
+//
+// Additional event types may be added in the future. Clients should either
+// safely ignore unrecognized event types or explicitly specify which event
+// types they are prepared to accept.
+type NotificationConfig_EventType int32
+
+const (
+ // Illegal value, to avoid allowing a default.
+ NotificationConfig_EVENT_TYPE_UNSPECIFIED NotificationConfig_EventType = 0
+ // `TransferOperation` completed with status
+ // [SUCCESS][google.storagetransfer.v1.TransferOperation.Status.SUCCESS].
+ NotificationConfig_TRANSFER_OPERATION_SUCCESS NotificationConfig_EventType = 1
+ // `TransferOperation` completed with status
+ // [FAILED][google.storagetransfer.v1.TransferOperation.Status.FAILED].
+ NotificationConfig_TRANSFER_OPERATION_FAILED NotificationConfig_EventType = 2
+ // `TransferOperation` completed with status
+ // [ABORTED][google.storagetransfer.v1.TransferOperation.Status.ABORTED].
+ NotificationConfig_TRANSFER_OPERATION_ABORTED NotificationConfig_EventType = 3
+)
+
+// Enum value maps for NotificationConfig_EventType.
+var (
+ NotificationConfig_EventType_name = map[int32]string{
+ 0: "EVENT_TYPE_UNSPECIFIED",
+ 1: "TRANSFER_OPERATION_SUCCESS",
+ 2: "TRANSFER_OPERATION_FAILED",
+ 3: "TRANSFER_OPERATION_ABORTED",
+ }
+ NotificationConfig_EventType_value = map[string]int32{
+ "EVENT_TYPE_UNSPECIFIED": 0,
+ "TRANSFER_OPERATION_SUCCESS": 1,
+ "TRANSFER_OPERATION_FAILED": 2,
+ "TRANSFER_OPERATION_ABORTED": 3,
+ }
+)
+
+func (x NotificationConfig_EventType) Enum() *NotificationConfig_EventType {
+ p := new(NotificationConfig_EventType)
+ *p = x
+ return p
+}
+
+func (x NotificationConfig_EventType) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (NotificationConfig_EventType) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_storagetransfer_v1_transfer_types_proto_enumTypes[1].Descriptor()
+}
+
+func (NotificationConfig_EventType) Type() protoreflect.EnumType {
+ return &file_google_storagetransfer_v1_transfer_types_proto_enumTypes[1]
+}
+
+func (x NotificationConfig_EventType) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use NotificationConfig_EventType.Descriptor instead.
+func (NotificationConfig_EventType) EnumDescriptor() ([]byte, []int) {
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{15, 0}
+}
+
+// Enum for specifying the format of a notification message's payload.
+type NotificationConfig_PayloadFormat int32
+
+const (
+ // Illegal value, to avoid allowing a default.
+ NotificationConfig_PAYLOAD_FORMAT_UNSPECIFIED NotificationConfig_PayloadFormat = 0
+ // No payload is included with the notification.
+ NotificationConfig_NONE NotificationConfig_PayloadFormat = 1
+ // `TransferOperation` is [formatted as a JSON
+ // response](https://developers.google.com/protocol-buffers/docs/proto3#json),
+ // in application/json.
+ NotificationConfig_JSON NotificationConfig_PayloadFormat = 2
+)
+
+// Enum value maps for NotificationConfig_PayloadFormat.
+var (
+ NotificationConfig_PayloadFormat_name = map[int32]string{
+ 0: "PAYLOAD_FORMAT_UNSPECIFIED",
+ 1: "NONE",
+ 2: "JSON",
+ }
+ NotificationConfig_PayloadFormat_value = map[string]int32{
+ "PAYLOAD_FORMAT_UNSPECIFIED": 0,
+ "NONE": 1,
+ "JSON": 2,
+ }
+)
+
+func (x NotificationConfig_PayloadFormat) Enum() *NotificationConfig_PayloadFormat {
+ p := new(NotificationConfig_PayloadFormat)
+ *p = x
+ return p
+}
+
+func (x NotificationConfig_PayloadFormat) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (NotificationConfig_PayloadFormat) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_storagetransfer_v1_transfer_types_proto_enumTypes[2].Descriptor()
+}
+
+func (NotificationConfig_PayloadFormat) Type() protoreflect.EnumType {
+ return &file_google_storagetransfer_v1_transfer_types_proto_enumTypes[2]
+}
+
+func (x NotificationConfig_PayloadFormat) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use NotificationConfig_PayloadFormat.Descriptor instead.
+func (NotificationConfig_PayloadFormat) EnumDescriptor() ([]byte, []int) {
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{15, 1}
}
// The status of a TransferOperation.
@@ -116,6 +238,8 @@
TransferOperation_FAILED TransferOperation_Status = 4
// Aborted by the user.
TransferOperation_ABORTED TransferOperation_Status = 5
+ // Temporarily delayed by the system. No user action is required.
+ TransferOperation_QUEUED TransferOperation_Status = 6
)
// Enum value maps for TransferOperation_Status.
@@ -127,6 +251,7 @@
3: "SUCCESS",
4: "FAILED",
5: "ABORTED",
+ 6: "QUEUED",
}
TransferOperation_Status_value = map[string]int32{
"STATUS_UNSPECIFIED": 0,
@@ -135,6 +260,7 @@
"SUCCESS": 3,
"FAILED": 4,
"ABORTED": 5,
+ "QUEUED": 6,
}
)
@@ -149,11 +275,11 @@
}
func (TransferOperation_Status) Descriptor() protoreflect.EnumDescriptor {
- return file_google_storagetransfer_v1_transfer_types_proto_enumTypes[1].Descriptor()
+ return file_google_storagetransfer_v1_transfer_types_proto_enumTypes[3].Descriptor()
}
func (TransferOperation_Status) Type() protoreflect.EnumType {
- return &file_google_storagetransfer_v1_transfer_types_proto_enumTypes[1]
+ return &file_google_storagetransfer_v1_transfer_types_proto_enumTypes[3]
}
func (x TransferOperation_Status) Number() protoreflect.EnumNumber {
@@ -162,7 +288,7 @@
// Deprecated: Use TransferOperation_Status.Descriptor instead.
func (TransferOperation_Status) EnumDescriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{13, 0}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{16, 0}
}
// Google service account
@@ -171,8 +297,10 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required.
+ // Email address of the service account.
AccountEmail string `protobuf:"bytes,1,opt,name=account_email,json=accountEmail,proto3" json:"account_email,omitempty"`
+ // Unique identifier for the service account.
+ SubjectId string `protobuf:"bytes,2,opt,name=subject_id,json=subjectId,proto3" json:"subject_id,omitempty"`
}
func (x *GoogleServiceAccount) Reset() {
@@ -214,19 +342,28 @@
return ""
}
+func (x *GoogleServiceAccount) GetSubjectId() string {
+ if x != nil {
+ return x.SubjectId
+ }
+ return ""
+}
+
// AWS access key (see
// [AWS Security
-// Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).
+// Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).
+//
+// For information on our data retention policy for user credentials, see
+// [User credentials](/storage-transfer/docs/data-retention#user-credentials).
type AwsAccessKey struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // AWS access key ID.
- // Required.
+ // Required. AWS access key ID.
AccessKeyId string `protobuf:"bytes,1,opt,name=access_key_id,json=accessKeyId,proto3" json:"access_key_id,omitempty"`
- // AWS secret access key. This field is not returned in RPC responses.
- // Required.
+ // Required. AWS secret access key. This field is not returned in RPC
+ // responses.
SecretAccessKey string `protobuf:"bytes,2,opt,name=secret_access_key,json=secretAccessKey,proto3" json:"secret_access_key,omitempty"`
}
@@ -276,69 +413,187 @@
return ""
}
-// Conditions that determine which objects will be transferred.
+// Azure credentials
+//
+// For information on our data retention policy for user credentials, see
+// [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+type AzureCredentials struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Azure shared access signature (SAS).
+ //
+ // <aside class="note">
+ // <strong>Note:</strong>Copying data from Azure Data Lake
+ // Storage (ADLS) Gen 2 is in [Preview](/products/#product-launch-stages).
+ // During Preview, if you are copying data from ADLS Gen 2, you must use an
+ // account SAS.
+ // </aside>
+ //
+ // For more information about SAS, see
+ // [Grant limited access to Azure Storage resources using shared access
+ // signatures
+ // (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview).
+ SasToken string `protobuf:"bytes,2,opt,name=sas_token,json=sasToken,proto3" json:"sas_token,omitempty"`
+}
+
+func (x *AzureCredentials) Reset() {
+ *x = AzureCredentials{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[2]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AzureCredentials) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AzureCredentials) ProtoMessage() {}
+
+func (x *AzureCredentials) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[2]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AzureCredentials.ProtoReflect.Descriptor instead.
+func (*AzureCredentials) Descriptor() ([]byte, []int) {
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{2}
+}
+
+func (x *AzureCredentials) GetSasToken() string {
+ if x != nil {
+ return x.SasToken
+ }
+ return ""
+}
+
+// Conditions that determine which objects will be transferred. Applies only
+// to Cloud Data Sources such as S3, Azure, and Cloud Storage.
+//
+// The "last modification time" refers to the time of the
+// last change to the object's content or metadata — specifically, this is
+// the `updated` property of Cloud Storage objects, the `LastModified` field
+// of S3 objects, and the `Last-Modified` header of Azure blobs.
type ObjectConditions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // If unspecified, `minTimeElapsedSinceLastModification` takes a zero value
- // and `maxTimeElapsedSinceLastModification` takes the maximum possible
- // value of Duration. Objects that satisfy the object conditions
- // must either have a `lastModificationTime` greater or equal to
- // `NOW` - `maxTimeElapsedSinceLastModification` and less than
- // `NOW` - `minTimeElapsedSinceLastModification`, or not have a
- // `lastModificationTime`.
+ // If specified, only objects with a "last modification time" before
+ // `NOW` - `min_time_elapsed_since_last_modification` and objects that don't
+ // have a "last modification time" are transferred.
+ //
+ // For each [TransferOperation][google.storagetransfer.v1.TransferOperation]
+ // started by this [TransferJob][google.storagetransfer.v1.TransferJob], `NOW`
+ // refers to the [start_time]
+ // [google.storagetransfer.v1.TransferOperation.start_time] of the
+ // `TransferOperation`.
MinTimeElapsedSinceLastModification *durationpb.Duration `protobuf:"bytes,1,opt,name=min_time_elapsed_since_last_modification,json=minTimeElapsedSinceLastModification,proto3" json:"min_time_elapsed_since_last_modification,omitempty"`
- // `maxTimeElapsedSinceLastModification` is the complement to
- // `minTimeElapsedSinceLastModification`.
+ // If specified, only objects with a "last modification time" on or after
+ // `NOW` - `max_time_elapsed_since_last_modification` and objects that don't
+ // have a "last modification time" are transferred.
+ //
+ // For each [TransferOperation][google.storagetransfer.v1.TransferOperation]
+ // started by this [TransferJob][google.storagetransfer.v1.TransferJob],
+ // `NOW` refers to the [start_time]
+ // [google.storagetransfer.v1.TransferOperation.start_time] of the
+ // `TransferOperation`.
MaxTimeElapsedSinceLastModification *durationpb.Duration `protobuf:"bytes,2,opt,name=max_time_elapsed_since_last_modification,json=maxTimeElapsedSinceLastModification,proto3" json:"max_time_elapsed_since_last_modification,omitempty"`
- // If `includePrefixes` is specified, objects that satisfy the object
- // conditions must have names that start with one of the `includePrefixes`
- // and that do not start with any of the `excludePrefixes`. If
- // `includePrefixes` is not specified, all objects except those that have
- // names starting with one of the `excludePrefixes` must satisfy the object
- // conditions.
+ // If you specify `include_prefixes`, Storage Transfer Service uses the items
+ // in the `include_prefixes` array to determine which objects to include in a
+ // transfer. Objects must start with one of the matching `include_prefixes`
+ // for inclusion in the transfer. If [exclude_prefixes]
+ // [google.storagetransfer.v1.ObjectConditions.exclude_prefixes] is specified,
+ // objects must not start with any of the `exclude_prefixes` specified for
+ // inclusion in the transfer.
//
- // Requirements:
+ // The following are requirements of `include_prefixes`:
//
- // * Each include-prefix and exclude-prefix can contain any sequence of
- // Unicode characters, of max length 1024 bytes when UTF8-encoded, and
- // must not contain Carriage Return or Line Feed characters. Wildcard
- // matching and regular expression matching are not supported.
+ // * Each include-prefix can contain any sequence of Unicode characters, to
+ // a max length of 1024 bytes when UTF8-encoded, and must not contain
+ // Carriage Return or Line Feed characters. Wildcard matching and regular
+ // expression matching are not supported.
//
- // * Each include-prefix and exclude-prefix must omit the leading slash.
- // For example, to include the `requests.gz` object in a transfer from
- // `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include
- // prefix as `logs/y=2015/requests.gz`.
+ // * Each include-prefix must omit the leading slash. For example, to
+ // include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`,
+ // specify the include-prefix as `logs/y=2015/requests.gz`.
//
- // * None of the include-prefix or the exclude-prefix values can be empty,
- // if specified.
+ // * None of the include-prefix values can be empty, if specified.
//
// * Each include-prefix must include a distinct portion of the object
- // namespace, i.e., no include-prefix may be a prefix of another
+ // namespace. No include-prefix may be a prefix of another
// include-prefix.
//
+ // The max size of `include_prefixes` is 1000.
+ //
+ // For more information, see [Filtering objects from
+ // transfers](/storage-transfer/docs/filtering-objects-from-transfers).
+ IncludePrefixes []string `protobuf:"bytes,3,rep,name=include_prefixes,json=includePrefixes,proto3" json:"include_prefixes,omitempty"`
+ // If you specify `exclude_prefixes`, Storage Transfer Service uses the items
+ // in the `exclude_prefixes` array to determine which objects to exclude from
+ // a transfer. Objects must not start with one of the matching
+ // `exclude_prefixes` for inclusion in a transfer.
+ //
+ // The following are requirements of `exclude_prefixes`:
+ //
+ // * Each exclude-prefix can contain any sequence of Unicode characters, to
+ // a max length of 1024 bytes when UTF8-encoded, and must not contain
+ // Carriage Return or Line Feed characters. Wildcard matching and regular
+ // expression matching are not supported.
+ //
+ // * Each exclude-prefix must omit the leading slash. For example, to
+ // exclude the object `s3://my-aws-bucket/logs/y=2015/requests.gz`,
+ // specify the exclude-prefix as `logs/y=2015/requests.gz`.
+ //
+ // * None of the exclude-prefix values can be empty, if specified.
+ //
// * Each exclude-prefix must exclude a distinct portion of the object
- // namespace, i.e., no exclude-prefix may be a prefix of another
+ // namespace. No exclude-prefix may be a prefix of another
// exclude-prefix.
//
- // * If `includePrefixes` is specified, then each exclude-prefix must start
- // with the value of a path explicitly included by `includePrefixes`.
+ // * If [include_prefixes]
+ // [google.storagetransfer.v1.ObjectConditions.include_prefixes] is
+ // specified, then each exclude-prefix must start with the value of a path
+ // explicitly included by `include_prefixes`.
//
- // The max size of `includePrefixes` is 1000.
- IncludePrefixes []string `protobuf:"bytes,3,rep,name=include_prefixes,json=includePrefixes,proto3" json:"include_prefixes,omitempty"`
- // `excludePrefixes` must follow the requirements described for
- // `includePrefixes`.
+ // The max size of `exclude_prefixes` is 1000.
//
- // The max size of `excludePrefixes` is 1000.
+ // For more information, see [Filtering objects from
+ // transfers](/storage-transfer/docs/filtering-objects-from-transfers).
ExcludePrefixes []string `protobuf:"bytes,4,rep,name=exclude_prefixes,json=excludePrefixes,proto3" json:"exclude_prefixes,omitempty"`
+ // If specified, only objects with a "last modification time" on or after
+ // this timestamp and objects that don't have a "last modification time" are
+ // transferred.
+ //
+ // The `last_modified_since` and `last_modified_before` fields can be used
+ // together for chunked data processing. For example, consider a script that
+ // processes each day's worth of data at a time. For that you'd set each
+ // of the fields as follows:
+ //
+ // * `last_modified_since` to the start of the day
+ //
+ // * `last_modified_before` to the end of the day
+ LastModifiedSince *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_modified_since,json=lastModifiedSince,proto3" json:"last_modified_since,omitempty"`
+ // If specified, only objects with a "last modification time" before this
+ // timestamp and objects that don't have a "last modification time" will be
+ // transferred.
+ LastModifiedBefore *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_modified_before,json=lastModifiedBefore,proto3" json:"last_modified_before,omitempty"`
}
func (x *ObjectConditions) Reset() {
*x = ObjectConditions{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[2]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -351,7 +606,7 @@
func (*ObjectConditions) ProtoMessage() {}
func (x *ObjectConditions) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[2]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -364,7 +619,7 @@
// Deprecated: Use ObjectConditions.ProtoReflect.Descriptor instead.
func (*ObjectConditions) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{2}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{3}
}
func (x *ObjectConditions) GetMinTimeElapsedSinceLastModification() *durationpb.Duration {
@@ -395,25 +650,47 @@
return nil
}
-// In a GcsData, an object's name is the Google Cloud Storage object's name and
-// its `lastModificationTime` refers to the object's updated time, which changes
-// when the content or the metadata of the object is updated.
+func (x *ObjectConditions) GetLastModifiedSince() *timestamppb.Timestamp {
+ if x != nil {
+ return x.LastModifiedSince
+ }
+ return nil
+}
+
+func (x *ObjectConditions) GetLastModifiedBefore() *timestamppb.Timestamp {
+ if x != nil {
+ return x.LastModifiedBefore
+ }
+ return nil
+}
+
+// In a GcsData resource, an object's name is the Cloud Storage object's
+// name and its "last modification time" refers to the object's `updated`
+// property of Cloud Storage objects, which changes when the content or the
+// metadata of the object is updated.
type GcsData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Google Cloud Storage bucket name (see
- // [Bucket Name
- // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
- // Required.
+ // Required. Cloud Storage bucket name. Must meet
+ // [Bucket Name Requirements](/storage/docs/naming#requirements).
BucketName string `protobuf:"bytes,1,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
+ // Root path to transfer objects.
+ //
+ // Must be an empty string or full path name that ends with a '/'. This field
+ // is treated as an object prefix. As such, it should generally not begin with
+ // a '/'.
+ //
+ // The root path value must meet
+ // [Object Name Requirements](/storage/docs/naming#objectnames).
+ Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
}
func (x *GcsData) Reset() {
*x = GcsData{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[3]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -426,7 +703,7 @@
func (*GcsData) ProtoMessage() {}
func (x *GcsData) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[3]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -439,7 +716,7 @@
// Deprecated: Use GcsData.ProtoReflect.Descriptor instead.
func (*GcsData) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{3}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{4}
}
func (x *GcsData) GetBucketName() string {
@@ -449,29 +726,50 @@
return ""
}
-// An AwsS3Data can be a data source, but not a data sink.
-// In an AwsS3Data, an object's name is the S3 object's key name.
+func (x *GcsData) GetPath() string {
+ if x != nil {
+ return x.Path
+ }
+ return ""
+}
+
+// An AwsS3Data resource can be a data source, but not a data sink.
+// In an AwsS3Data resource, an object's name is the S3 object's key name.
type AwsS3Data struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // S3 Bucket name (see
+ // Required. S3 Bucket name (see
// [Creating a
- // bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).
- // Required.
+ // bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).
BucketName string `protobuf:"bytes,1,opt,name=bucket_name,json=bucketName,proto3" json:"bucket_name,omitempty"`
- // AWS access key used to sign the API requests to the AWS S3 bucket.
- // Permissions on the bucket must be granted to the access ID of the
- // AWS access key.
- // Required.
+ // Input only. AWS access key used to sign the API requests to the AWS S3
+ // bucket. Permissions on the bucket must be granted to the access ID of the
+ // AWS access key. This field is required.
+ //
+ // For information on our data retention policy for user credentials, see
+ // [User credentials](/storage-transfer/docs/data-retention#user-credentials).
AwsAccessKey *AwsAccessKey `protobuf:"bytes,2,opt,name=aws_access_key,json=awsAccessKey,proto3" json:"aws_access_key,omitempty"`
+ // Root path to transfer objects.
+ //
+ // Must be an empty string or full path name that ends with a '/'. This field
+ // is treated as an object prefix. As such, it should generally not begin with
+ // a '/'.
+ Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
+ // Input only. Role arn to support temporary credentials via
+ // AssumeRoleWithWebIdentity.
+ //
+ // When role arn is provided, transfer service will fetch temporary
+ // credentials for the session using AssumeRoleWithWebIdentity call for the
+ // provided role using the [GoogleServiceAccount] for this project.
+ RoleArn string `protobuf:"bytes,4,opt,name=role_arn,json=roleArn,proto3" json:"role_arn,omitempty"`
}
func (x *AwsS3Data) Reset() {
*x = AwsS3Data{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[4]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -484,7 +782,7 @@
func (*AwsS3Data) ProtoMessage() {}
func (x *AwsS3Data) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[4]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -497,7 +795,7 @@
// Deprecated: Use AwsS3Data.ProtoReflect.Descriptor instead.
func (*AwsS3Data) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{4}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{5}
}
func (x *AwsS3Data) GetBucketName() string {
@@ -514,22 +812,126 @@
return nil
}
-// An HttpData specifies a list of objects on the web to be transferred over
-// HTTP. The information of the objects to be transferred is contained in a
-// file referenced by a URL. The first line in the file must be
-// "TsvHttpData-1.0", which specifies the format of the file. Subsequent lines
-// specify the information of the list of objects, one object per list entry.
-// Each entry has the following tab-delimited fields:
+func (x *AwsS3Data) GetPath() string {
+ if x != nil {
+ return x.Path
+ }
+ return ""
+}
+
+func (x *AwsS3Data) GetRoleArn() string {
+ if x != nil {
+ return x.RoleArn
+ }
+ return ""
+}
+
+// An AzureBlobStorageData resource can be a data source, but not a data sink.
+// An AzureBlobStorageData resource represents one Azure container. The storage
+// account determines the [Azure
+// endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints).
+// In an AzureBlobStorageData resource, a blobs's name is the [Azure Blob
+// Storage blob's key
+// name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names).
+type AzureBlobStorageData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The name of the Azure Storage account.
+ StorageAccount string `protobuf:"bytes,1,opt,name=storage_account,json=storageAccount,proto3" json:"storage_account,omitempty"`
+ // Required. Input only. Credentials used to authenticate API requests to
+ // Azure.
+ //
+ // For information on our data retention policy for user credentials, see
+ // [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+ AzureCredentials *AzureCredentials `protobuf:"bytes,2,opt,name=azure_credentials,json=azureCredentials,proto3" json:"azure_credentials,omitempty"`
+ // Required. The container to transfer from the Azure Storage account.
+ Container string `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
+ // Root path to transfer objects.
+ //
+ // Must be an empty string or full path name that ends with a '/'. This field
+ // is treated as an object prefix. As such, it should generally not begin with
+ // a '/'.
+ Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"`
+}
+
+func (x *AzureBlobStorageData) Reset() {
+ *x = AzureBlobStorageData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[6]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *AzureBlobStorageData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*AzureBlobStorageData) ProtoMessage() {}
+
+func (x *AzureBlobStorageData) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[6]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use AzureBlobStorageData.ProtoReflect.Descriptor instead.
+func (*AzureBlobStorageData) Descriptor() ([]byte, []int) {
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{6}
+}
+
+func (x *AzureBlobStorageData) GetStorageAccount() string {
+ if x != nil {
+ return x.StorageAccount
+ }
+ return ""
+}
+
+func (x *AzureBlobStorageData) GetAzureCredentials() *AzureCredentials {
+ if x != nil {
+ return x.AzureCredentials
+ }
+ return nil
+}
+
+func (x *AzureBlobStorageData) GetContainer() string {
+ if x != nil {
+ return x.Container
+ }
+ return ""
+}
+
+func (x *AzureBlobStorageData) GetPath() string {
+ if x != nil {
+ return x.Path
+ }
+ return ""
+}
+
+// An HttpData resource specifies a list of objects on the web to be transferred
+// over HTTP. The information of the objects to be transferred is contained in
+// a file referenced by a URL. The first line in the file must be
+// `"TsvHttpData-1.0"`, which specifies the format of the file. Subsequent
+// lines specify the information of the list of objects, one object per list
+// entry. Each entry has the following tab-delimited fields:
//
-// * HTTP URL - The location of the object.
+// * **HTTP URL** — The location of the object.
//
-// * Length - The size of the object in bytes.
+// * **Length** — The size of the object in bytes.
//
-// * MD5 - The base64-encoded MD5 hash of the object.
+// * **MD5** — The base64-encoded MD5 hash of the object.
//
// For an example of a valid TSV file, see
// [Transferring data from
-// URLs](https://cloud.google.com/storage/transfer/create-url-list).
+// URLs](https://cloud.google.com/storage-transfer/docs/create-url-list).
//
// When transferring data based on a URL list, keep the following in mind:
//
@@ -541,37 +943,34 @@
// object fetched, the object will not be transferred.
//
// * If the specified MD5 does not match the MD5 computed from the transferred
-// bytes, the object transfer will fail. For more information, see
-// [Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)
+// bytes, the object transfer will fail.
//
// * Ensure that each URL you specify is publicly accessible. For
-// example, in Google Cloud Storage you can
+// example, in Cloud Storage you can
// [share an object publicly]
-// (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get
-// a link to it.
+// (/storage/docs/cloud-console#_sharingdata) and get a link to it.
//
// * Storage Transfer Service obeys `robots.txt` rules and requires the source
// HTTP server to support `Range` requests and to return a `Content-Length`
// header in each response.
//
-// * [ObjectConditions](#ObjectConditions) have no effect when filtering objects
-// to transfer.
+// * [ObjectConditions][google.storagetransfer.v1.ObjectConditions] have no
+// effect when filtering objects to transfer.
type HttpData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The URL that points to the file that stores the object list entries.
- // This file must allow public access. Currently, only URLs with HTTP and
- // HTTPS schemes are supported.
- // Required.
+ // Required. The URL that points to the file that stores the object list
+ // entries. This file must allow public access. Currently, only URLs with
+ // HTTP and HTTPS schemes are supported.
ListUrl string `protobuf:"bytes,1,opt,name=list_url,json=listUrl,proto3" json:"list_url,omitempty"`
}
func (x *HttpData) Reset() {
*x = HttpData{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[5]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -584,7 +983,7 @@
func (*HttpData) ProtoMessage() {}
func (x *HttpData) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[5]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -597,7 +996,7 @@
// Deprecated: Use HttpData.ProtoReflect.Descriptor instead.
func (*HttpData) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{5}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{7}
}
func (x *HttpData) GetListUrl() string {
@@ -607,29 +1006,36 @@
return ""
}
-// TransferOptions uses three boolean parameters to define the actions
-// to be performed on objects in a transfer.
+// TransferOptions define the actions to be performed on objects in a transfer.
type TransferOptions struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Whether overwriting objects that already exist in the sink is allowed.
+ // When to overwrite objects that already exist in the sink. The default is
+ // that only objects that are different from the source are ovewritten. If
+ // true, all objects in the sink whose name matches an object in the source
+ // will be overwritten with the source object.
OverwriteObjectsAlreadyExistingInSink bool `protobuf:"varint,1,opt,name=overwrite_objects_already_existing_in_sink,json=overwriteObjectsAlreadyExistingInSink,proto3" json:"overwrite_objects_already_existing_in_sink,omitempty"`
- // Whether objects that exist only in the sink should be deleted. Note that
- // this option and `deleteObjectsFromSourceAfterTransfer` are mutually
- // exclusive.
+ // Whether objects that exist only in the sink should be deleted.
+ //
+ // **Note:** This option and [delete_objects_from_source_after_transfer]
+ // [google.storagetransfer.v1.TransferOptions.delete_objects_from_source_after_transfer]
+ // are mutually exclusive.
DeleteObjectsUniqueInSink bool `protobuf:"varint,2,opt,name=delete_objects_unique_in_sink,json=deleteObjectsUniqueInSink,proto3" json:"delete_objects_unique_in_sink,omitempty"`
// Whether objects should be deleted from the source after they are
- // transferred to the sink. Note that this option and
- // `deleteObjectsUniqueInSink` are mutually exclusive.
+ // transferred to the sink.
+ //
+ // **Note:** This option and [delete_objects_unique_in_sink]
+ // [google.storagetransfer.v1.TransferOptions.delete_objects_unique_in_sink]
+ // are mutually exclusive.
DeleteObjectsFromSourceAfterTransfer bool `protobuf:"varint,3,opt,name=delete_objects_from_source_after_transfer,json=deleteObjectsFromSourceAfterTransfer,proto3" json:"delete_objects_from_source_after_transfer,omitempty"`
}
func (x *TransferOptions) Reset() {
*x = TransferOptions{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[6]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -642,7 +1048,7 @@
func (*TransferOptions) ProtoMessage() {}
func (x *TransferOptions) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[6]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -655,7 +1061,7 @@
// Deprecated: Use TransferOptions.ProtoReflect.Descriptor instead.
func (*TransferOptions) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{6}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{8}
}
func (x *TransferOptions) GetOverwriteObjectsAlreadyExistingInSink() bool {
@@ -685,32 +1091,35 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
+ // The write sink for the data.
+ //
+ // Types that are assignable to DataSink:
+ // *TransferSpec_GcsDataSink
+ DataSink isTransferSpec_DataSink `protobuf_oneof:"data_sink"`
// The read source of the data.
//
// Types that are assignable to DataSource:
// *TransferSpec_GcsDataSource
// *TransferSpec_AwsS3DataSource
// *TransferSpec_HttpDataSource
+ // *TransferSpec_AzureBlobStorageDataSource
DataSource isTransferSpec_DataSource `protobuf_oneof:"data_source"`
- // The write sink for the data.
- //
- // Types that are assignable to DataSink:
- // *TransferSpec_GcsDataSink
- DataSink isTransferSpec_DataSink `protobuf_oneof:"data_sink"`
// Only objects that satisfy these object conditions are included in the set
// of data source and data sink objects. Object conditions based on
- // objects' `lastModificationTime` do not exclude objects in a data sink.
+ // objects' "last modification time" do not exclude objects in a data sink.
ObjectConditions *ObjectConditions `protobuf:"bytes,5,opt,name=object_conditions,json=objectConditions,proto3" json:"object_conditions,omitempty"`
- // If the option `deleteObjectsUniqueInSink` is `true`, object conditions
- // based on objects' `lastModificationTime` are ignored and do not exclude
- // objects in a data source or a data sink.
+ // If the option
+ // [delete_objects_unique_in_sink][google.storagetransfer.v1.TransferOptions.delete_objects_unique_in_sink]
+ // is `true` and time-based object conditions such as 'last modification time'
+ // are specified, the request fails with an
+ // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error.
TransferOptions *TransferOptions `protobuf:"bytes,6,opt,name=transfer_options,json=transferOptions,proto3" json:"transfer_options,omitempty"`
}
func (x *TransferSpec) Reset() {
*x = TransferSpec{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[7]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -723,7 +1132,7 @@
func (*TransferSpec) ProtoMessage() {}
func (x *TransferSpec) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[7]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -736,7 +1145,21 @@
// Deprecated: Use TransferSpec.ProtoReflect.Descriptor instead.
func (*TransferSpec) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{7}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{9}
+}
+
+func (m *TransferSpec) GetDataSink() isTransferSpec_DataSink {
+ if m != nil {
+ return m.DataSink
+ }
+ return nil
+}
+
+func (x *TransferSpec) GetGcsDataSink() *GcsData {
+ if x, ok := x.GetDataSink().(*TransferSpec_GcsDataSink); ok {
+ return x.GcsDataSink
+ }
+ return nil
}
func (m *TransferSpec) GetDataSource() isTransferSpec_DataSource {
@@ -767,16 +1190,9 @@
return nil
}
-func (m *TransferSpec) GetDataSink() isTransferSpec_DataSink {
- if m != nil {
- return m.DataSink
- }
- return nil
-}
-
-func (x *TransferSpec) GetGcsDataSink() *GcsData {
- if x, ok := x.GetDataSink().(*TransferSpec_GcsDataSink); ok {
- return x.GcsDataSink
+func (x *TransferSpec) GetAzureBlobStorageDataSource() *AzureBlobStorageData {
+ if x, ok := x.GetDataSource().(*TransferSpec_AzureBlobStorageDataSource); ok {
+ return x.AzureBlobStorageDataSource
}
return nil
}
@@ -795,12 +1211,23 @@
return nil
}
+type isTransferSpec_DataSink interface {
+ isTransferSpec_DataSink()
+}
+
+type TransferSpec_GcsDataSink struct {
+ // A Cloud Storage data sink.
+ GcsDataSink *GcsData `protobuf:"bytes,4,opt,name=gcs_data_sink,json=gcsDataSink,proto3,oneof"`
+}
+
+func (*TransferSpec_GcsDataSink) isTransferSpec_DataSink() {}
+
type isTransferSpec_DataSource interface {
isTransferSpec_DataSource()
}
type TransferSpec_GcsDataSource struct {
- // A Google Cloud Storage data source.
+ // A Cloud Storage data source.
GcsDataSource *GcsData `protobuf:"bytes,1,opt,name=gcs_data_source,json=gcsDataSource,proto3,oneof"`
}
@@ -814,22 +1241,18 @@
HttpDataSource *HttpData `protobuf:"bytes,3,opt,name=http_data_source,json=httpDataSource,proto3,oneof"`
}
+type TransferSpec_AzureBlobStorageDataSource struct {
+ // An Azure Blob Storage data source.
+ AzureBlobStorageDataSource *AzureBlobStorageData `protobuf:"bytes,8,opt,name=azure_blob_storage_data_source,json=azureBlobStorageDataSource,proto3,oneof"`
+}
+
func (*TransferSpec_GcsDataSource) isTransferSpec_DataSource() {}
func (*TransferSpec_AwsS3DataSource) isTransferSpec_DataSource() {}
func (*TransferSpec_HttpDataSource) isTransferSpec_DataSource() {}
-type isTransferSpec_DataSink interface {
- isTransferSpec_DataSink()
-}
-
-type TransferSpec_GcsDataSink struct {
- // A Google Cloud Storage data sink.
- GcsDataSink *GcsData `protobuf:"bytes,4,opt,name=gcs_data_sink,json=gcsDataSink,proto3,oneof"`
-}
-
-func (*TransferSpec_GcsDataSink) isTransferSpec_DataSink() {}
+func (*TransferSpec_AzureBlobStorageDataSource) isTransferSpec_DataSource() {}
// Transfers can be scheduled to recur or to run just once.
type Schedule struct {
@@ -837,29 +1260,77 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The first day the recurring transfer is scheduled to run. If
- // `scheduleStartDate` is in the past, the transfer will run for the first
- // time on the following day.
- // Required.
+ // Required. The start date of a transfer. Date boundaries are determined
+ // relative to UTC time. If `schedule_start_date` and
+ // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day]
+ // are in the past relative to the job's creation time, the transfer starts
+ // the day after you schedule the transfer request.
+ //
+ // **Note:** When starting jobs at or near midnight UTC it is possible that
+ // a job will start later than expected. For example, if you send an outbound
+ // request on June 1 one millisecond prior to midnight UTC and the Storage
+ // Transfer Service server receives the request on June 2, then it will create
+ // a TransferJob with `schedule_start_date` set to June 2 and a
+ // `start_time_of_day` set to midnight UTC. The first scheduled
+ // [TransferOperation][google.storagetransfer.v1.TransferOperation] will take
+ // place on June 3 at midnight UTC.
ScheduleStartDate *date.Date `protobuf:"bytes,1,opt,name=schedule_start_date,json=scheduleStartDate,proto3" json:"schedule_start_date,omitempty"`
- // The last day the recurring transfer will be run. If `scheduleEndDate`
- // is the same as `scheduleStartDate`, the transfer will be executed only
- // once.
+ // The last day a transfer runs. Date boundaries are determined relative to
+ // UTC time. A job will run once per 24 hours within the following guidelines:
+ //
+ // * If `schedule_end_date` and
+ // [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date]
+ // are the same and in
+ // the future relative to UTC, the transfer is executed only one time.
+ // * If `schedule_end_date` is later than `schedule_start_date` and
+ // `schedule_end_date` is in the future relative to UTC, the job will
+ // run each day at
+ // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day]
+ // through `schedule_end_date`.
ScheduleEndDate *date.Date `protobuf:"bytes,2,opt,name=schedule_end_date,json=scheduleEndDate,proto3" json:"schedule_end_date,omitempty"`
- // The time in UTC at which the transfer will be scheduled to start in a day.
- // Transfers may start later than this time. If not specified, recurring and
- // one-time transfers that are scheduled to run today will run immediately;
- // recurring transfers that are scheduled to run on a future date will start
- // at approximately midnight UTC on that date. Note that when configuring a
- // transfer with the Cloud Platform Console, the transfer's start time in a
- // day is specified in your local timezone.
+ // The time in UTC that a transfer job is scheduled to run. Transfers may
+ // start later than this time.
+ //
+ // If `start_time_of_day` is not specified:
+ //
+ // * One-time transfers run immediately.
+ // * Recurring transfers run immediately, and each day at midnight UTC,
+ // through
+ // [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date].
+ //
+ // If `start_time_of_day` is specified:
+ //
+ // * One-time transfers run at the specified time.
+ // * Recurring transfers run at the specified time each day, through
+ // `schedule_end_date`.
StartTimeOfDay *timeofday.TimeOfDay `protobuf:"bytes,3,opt,name=start_time_of_day,json=startTimeOfDay,proto3" json:"start_time_of_day,omitempty"`
+ // The time in UTC that no further transfer operations are scheduled. Combined
+ // with
+ // [schedule_end_date][google.storagetransfer.v1.Schedule.schedule_end_date],
+ // `end_time_of_day` specifies the end date and time for starting new transfer
+ // operations. This field must be greater than or equal to the timestamp
+ // corresponding to the combintation of
+ // [schedule_start_date][google.storagetransfer.v1.Schedule.schedule_start_date]
+ // and
+ // [start_time_of_day][google.storagetransfer.v1.Schedule.start_time_of_day],
+ // and is subject to the following:
+ //
+ // * If `end_time_of_day` is not set and `schedule_end_date` is set, then
+ // a default value of `23:59:59` is used for `end_time_of_day`.
+ //
+ // * If `end_time_of_day` is set and `schedule_end_date` is not set, then
+ // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] is returned.
+ EndTimeOfDay *timeofday.TimeOfDay `protobuf:"bytes,4,opt,name=end_time_of_day,json=endTimeOfDay,proto3" json:"end_time_of_day,omitempty"`
+ // Interval between the start of each scheduled TransferOperation. If
+ // unspecified, the default value is 24 hours. This value may not be less than
+ // 1 hour.
+ RepeatInterval *durationpb.Duration `protobuf:"bytes,5,opt,name=repeat_interval,json=repeatInterval,proto3" json:"repeat_interval,omitempty"`
}
func (x *Schedule) Reset() {
*x = Schedule{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[8]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -872,7 +1343,7 @@
func (*Schedule) ProtoMessage() {}
func (x *Schedule) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[8]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -885,7 +1356,7 @@
// Deprecated: Use Schedule.ProtoReflect.Descriptor instead.
func (*Schedule) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{8}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{10}
}
func (x *Schedule) GetScheduleStartDate() *date.Date {
@@ -909,6 +1380,20 @@
return nil
}
+func (x *Schedule) GetEndTimeOfDay() *timeofday.TimeOfDay {
+ if x != nil {
+ return x.EndTimeOfDay
+ }
+ return nil
+}
+
+func (x *Schedule) GetRepeatInterval() *durationpb.Duration {
+ if x != nil {
+ return x.RepeatInterval
+ }
+ return nil
+}
+
// This resource represents the configuration of a transfer job that runs
// periodically.
type TransferJob struct {
@@ -916,40 +1401,62 @@
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // A globally unique name assigned by Storage Transfer Service when the
- // job is created. This field should be left empty in requests to create a new
- // transfer job; otherwise, the requests result in an `INVALID_ARGUMENT`
- // error.
+ // A unique name (within the transfer project) assigned when the job is
+ // created. If this field is empty in a CreateTransferJobRequest, Storage
+ // Transfer Service will assign a unique name. Otherwise, the specified name
+ // is used as the unique name for this job.
+ //
+ // If the specified name is in use by a job, the creation request fails with
+ // an [ALREADY_EXISTS][google.rpc.Code.ALREADY_EXISTS] error.
+ //
+ // This name must start with `"transferJobs/"` prefix and end with a letter or
+ // a number, and should be no more than 128 characters. This name must not
+ // start with 'transferJobs/OPI'. 'transferJobs/OPI' is a reserved prefix.
+ // Example:
+ // `"transferJobs/^(?!OPI)[A-Za-z0-9-._~]*[A-Za-z0-9]$"`
+ //
+ // Invalid job names will fail with an
+ // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// A description provided by the user for the job. Its max length is 1024
// bytes when Unicode-encoded.
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
- // The ID of the Google Cloud Platform Console project that owns the job.
+ // The ID of the Google Cloud Platform Project that owns the job.
ProjectId string `protobuf:"bytes,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
// Transfer specification.
TransferSpec *TransferSpec `protobuf:"bytes,4,opt,name=transfer_spec,json=transferSpec,proto3" json:"transfer_spec,omitempty"`
- // Schedule specification.
+ // Notification configuration.
+ NotificationConfig *NotificationConfig `protobuf:"bytes,11,opt,name=notification_config,json=notificationConfig,proto3" json:"notification_config,omitempty"`
+ // Specifies schedule for the transfer job.
+ // This is an optional field. When the field is not set, the job will never
+ // execute a transfer, unless you invoke RunTransferJob or update the job to
+ // have a non-empty schedule.
Schedule *Schedule `protobuf:"bytes,5,opt,name=schedule,proto3" json:"schedule,omitempty"`
// Status of the job. This value MUST be specified for
// `CreateTransferJobRequests`.
//
- // NOTE: The effect of the new job status takes place during a subsequent job
- // run. For example, if you change the job status from `ENABLED` to
- // `DISABLED`, and an operation spawned by the transfer is running, the status
- // change would not affect the current operation.
+ // **Note:** The effect of the new job status takes place during a subsequent
+ // job run. For example, if you change the job status from
+ // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED] to
+ // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], and an
+ // operation spawned by the transfer is running, the status change would not
+ // affect the current operation.
Status TransferJob_Status `protobuf:"varint,6,opt,name=status,proto3,enum=google.storagetransfer.v1.TransferJob_Status" json:"status,omitempty"`
- // This field cannot be changed by user requests.
+ // Output only. The time that the transfer job was created.
CreationTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
- // This field cannot be changed by user requests.
+ // Output only. The time that the transfer job was last modified.
LastModificationTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_modification_time,json=lastModificationTime,proto3" json:"last_modification_time,omitempty"`
- // This field cannot be changed by user requests.
+ // Output only. The time that the transfer job was deleted.
DeletionTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=deletion_time,json=deletionTime,proto3" json:"deletion_time,omitempty"`
+ // The name of the most recently started TransferOperation of this JobConfig.
+ // Present if a TransferOperation has been created for this JobConfig.
+ LatestOperationName string `protobuf:"bytes,12,opt,name=latest_operation_name,json=latestOperationName,proto3" json:"latest_operation_name,omitempty"`
}
func (x *TransferJob) Reset() {
*x = TransferJob{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[9]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -962,7 +1469,7 @@
func (*TransferJob) ProtoMessage() {}
func (x *TransferJob) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[9]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -975,7 +1482,7 @@
// Deprecated: Use TransferJob.ProtoReflect.Descriptor instead.
func (*TransferJob) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{9}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{11}
}
func (x *TransferJob) GetName() string {
@@ -1006,6 +1513,13 @@
return nil
}
+func (x *TransferJob) GetNotificationConfig() *NotificationConfig {
+ if x != nil {
+ return x.NotificationConfig
+ }
+ return nil
+}
+
func (x *TransferJob) GetSchedule() *Schedule {
if x != nil {
return x.Schedule
@@ -1041,15 +1555,21 @@
return nil
}
+func (x *TransferJob) GetLatestOperationName() string {
+ if x != nil {
+ return x.LatestOperationName
+ }
+ return ""
+}
+
// An entry describing an error that has occurred.
type ErrorLogEntry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // A URL that refers to the target (a data source, a data sink,
+ // Required. A URL that refers to the target (a data source, a data sink,
// or an object) with which the error is associated.
- // Required.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// A list of messages that carry the error details.
ErrorDetails []string `protobuf:"bytes,3,rep,name=error_details,json=errorDetails,proto3" json:"error_details,omitempty"`
@@ -1058,7 +1578,7 @@
func (x *ErrorLogEntry) Reset() {
*x = ErrorLogEntry{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[10]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1071,7 +1591,7 @@
func (*ErrorLogEntry) ProtoMessage() {}
func (x *ErrorLogEntry) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[10]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1084,7 +1604,7 @@
// Deprecated: Use ErrorLogEntry.ProtoReflect.Descriptor instead.
func (*ErrorLogEntry) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{10}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{12}
}
func (x *ErrorLogEntry) GetUrl() string {
@@ -1110,17 +1630,19 @@
// Required.
ErrorCode code.Code `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3,enum=google.rpc.Code" json:"error_code,omitempty"`
- // Count of this type of error.
- // Required.
+ // Required. Count of this type of error.
ErrorCount int64 `protobuf:"varint,2,opt,name=error_count,json=errorCount,proto3" json:"error_count,omitempty"`
// Error samples.
+ //
+ // At most 5 error log entries will be recorded for a given
+ // error code for a single transfer operation.
ErrorLogEntries []*ErrorLogEntry `protobuf:"bytes,3,rep,name=error_log_entries,json=errorLogEntries,proto3" json:"error_log_entries,omitempty"`
}
func (x *ErrorSummary) Reset() {
*x = ErrorSummary{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[11]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1133,7 +1655,7 @@
func (*ErrorSummary) ProtoMessage() {}
func (x *ErrorSummary) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[11]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1146,7 +1668,7 @@
// Deprecated: Use ErrorSummary.ProtoReflect.Descriptor instead.
func (*ErrorSummary) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{11}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{13}
}
func (x *ErrorSummary) GetErrorCode() code.Code {
@@ -1206,9 +1728,11 @@
ObjectsDeletedFromSink int64 `protobuf:"varint,11,opt,name=objects_deleted_from_sink,json=objectsDeletedFromSink,proto3" json:"objects_deleted_from_sink,omitempty"`
// Bytes that are deleted from the data sink.
BytesDeletedFromSink int64 `protobuf:"varint,12,opt,name=bytes_deleted_from_sink,json=bytesDeletedFromSink,proto3" json:"bytes_deleted_from_sink,omitempty"`
- // Objects in the data source that failed during the transfer.
+ // Objects in the data source that failed to be transferred or that failed
+ // to be deleted after being transferred.
ObjectsFromSourceFailed int64 `protobuf:"varint,13,opt,name=objects_from_source_failed,json=objectsFromSourceFailed,proto3" json:"objects_from_source_failed,omitempty"`
- // Bytes in the data source that failed during the transfer.
+ // Bytes in the data source that failed to be transferred or that failed to
+ // be deleted after being transferred.
BytesFromSourceFailed int64 `protobuf:"varint,14,opt,name=bytes_from_source_failed,json=bytesFromSourceFailed,proto3" json:"bytes_from_source_failed,omitempty"`
// Objects that failed to be deleted from the data sink.
ObjectsFailedToDeleteFromSink int64 `protobuf:"varint,15,opt,name=objects_failed_to_delete_from_sink,json=objectsFailedToDeleteFromSink,proto3" json:"objects_failed_to_delete_from_sink,omitempty"`
@@ -1219,7 +1743,7 @@
func (x *TransferCounters) Reset() {
*x = TransferCounters{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[12]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1232,7 +1756,7 @@
func (*TransferCounters) ProtoMessage() {}
func (x *TransferCounters) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[12]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1245,7 +1769,7 @@
// Deprecated: Use TransferCounters.ProtoReflect.Descriptor instead.
func (*TransferCounters) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{12}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{14}
}
func (x *TransferCounters) GetObjectsFoundFromSource() int64 {
@@ -1360,6 +1884,98 @@
return 0
}
+// Specification to configure notifications published to Cloud Pub/Sub.
+// Notifications will be published to the customer-provided topic using the
+// following `PubsubMessage.attributes`:
+//
+// * `"eventType"`: one of the
+// [EventType][google.storagetransfer.v1.NotificationConfig.EventType] values
+// * `"payloadFormat"`: one of the
+// [PayloadFormat][google.storagetransfer.v1.NotificationConfig.PayloadFormat]
+// values
+// * `"projectId"`: the
+// [project_id][google.storagetransfer.v1.TransferOperation.project_id] of the
+// `TransferOperation`
+// * `"transferJobName"`: the
+// [transfer_job_name][google.storagetransfer.v1.TransferOperation.transfer_job_name]
+// of the `TransferOperation`
+// * `"transferOperationName"`: the
+// [name][google.storagetransfer.v1.TransferOperation.name] of the
+// `TransferOperation`
+//
+// The `PubsubMessage.data` will contain a
+// [TransferOperation][google.storagetransfer.v1.TransferOperation] resource
+// formatted according to the specified `PayloadFormat`.
+type NotificationConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish
+ // notifications. Must be of the format: `projects/{project}/topics/{topic}`.
+ // Not matching this format will result in an
+ // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT] error.
+ PubsubTopic string `protobuf:"bytes,1,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"`
+ // Event types for which a notification is desired. If empty, send
+ // notifications for all event types.
+ EventTypes []NotificationConfig_EventType `protobuf:"varint,2,rep,packed,name=event_types,json=eventTypes,proto3,enum=google.storagetransfer.v1.NotificationConfig_EventType" json:"event_types,omitempty"`
+ // Required. The desired format of the notification message payloads.
+ PayloadFormat NotificationConfig_PayloadFormat `protobuf:"varint,3,opt,name=payload_format,json=payloadFormat,proto3,enum=google.storagetransfer.v1.NotificationConfig_PayloadFormat" json:"payload_format,omitempty"`
+}
+
+func (x *NotificationConfig) Reset() {
+ *x = NotificationConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *NotificationConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*NotificationConfig) ProtoMessage() {}
+
+func (x *NotificationConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use NotificationConfig.ProtoReflect.Descriptor instead.
+func (*NotificationConfig) Descriptor() ([]byte, []int) {
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *NotificationConfig) GetPubsubTopic() string {
+ if x != nil {
+ return x.PubsubTopic
+ }
+ return ""
+}
+
+func (x *NotificationConfig) GetEventTypes() []NotificationConfig_EventType {
+ if x != nil {
+ return x.EventTypes
+ }
+ return nil
+}
+
+func (x *NotificationConfig) GetPayloadFormat() NotificationConfig_PayloadFormat {
+ if x != nil {
+ return x.PayloadFormat
+ }
+ return NotificationConfig_PAYLOAD_FORMAT_UNSPECIFIED
+}
+
// A description of the execution of a transfer.
type TransferOperation struct {
state protoimpl.MessageState
@@ -1368,12 +1984,12 @@
// A globally unique ID assigned by the system.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // The ID of the Google Cloud Platform Console project that owns the
- // operation. Required.
+ // The ID of the Google Cloud Platform Project that owns the operation.
ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
// Transfer specification.
- // Required.
TransferSpec *TransferSpec `protobuf:"bytes,3,opt,name=transfer_spec,json=transferSpec,proto3" json:"transfer_spec,omitempty"`
+ // Notification configuration.
+ NotificationConfig *NotificationConfig `protobuf:"bytes,10,opt,name=notification_config,json=notificationConfig,proto3" json:"notification_config,omitempty"`
// Start time of this transfer execution.
StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
// End time of this transfer execution.
@@ -1391,7 +2007,7 @@
func (x *TransferOperation) Reset() {
*x = TransferOperation{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[13]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1404,7 +2020,7 @@
func (*TransferOperation) ProtoMessage() {}
func (x *TransferOperation) ProtoReflect() protoreflect.Message {
- mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[13]
+ mi := &file_google_storagetransfer_v1_transfer_types_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1417,7 +2033,7 @@
// Deprecated: Use TransferOperation.ProtoReflect.Descriptor instead.
func (*TransferOperation) Descriptor() ([]byte, []int) {
- return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{13}
+ return file_google_storagetransfer_v1_transfer_types_proto_rawDescGZIP(), []int{16}
}
func (x *TransferOperation) GetName() string {
@@ -1441,6 +2057,13 @@
return nil
}
+func (x *TransferOperation) GetNotificationConfig() *NotificationConfig {
+ if x != nil {
+ return x.NotificationConfig
+ }
+ return nil
+}
+
func (x *TransferOperation) GetStartTime() *timestamppb.Timestamp {
if x != nil {
return x.StartTime
@@ -1492,293 +2115,397 @@
0x12, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
- 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64,
- 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x66, 0x64, 0x61, 0x79,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3b, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23,
- 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d,
- 0x61, 0x69, 0x6c, 0x22, 0x5e, 0x0a, 0x0c, 0x41, 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65,
- 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x72, 0x65,
+ 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
+ 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72,
+ 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79,
+ 0x70, 0x65, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x66, 0x64, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x14, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12,
+ 0x1d, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x68,
+ 0x0a, 0x0c, 0x41, 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x27,
+ 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x72, 0x65,
0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x4b, 0x65, 0x79, 0x22, 0xcc, 0x02, 0x0a, 0x10, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f,
- 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x28, 0x6d, 0x69, 0x6e, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e,
- 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x23, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6c,
- 0x61, 0x70, 0x73, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f,
- 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x70, 0x0a, 0x28, 0x6d, 0x61,
- 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x73,
- 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
- 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65,
- 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74,
- 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10,
- 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50,
- 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75,
- 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x0f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
- 0x65, 0x73, 0x22, 0x2a, 0x0a, 0x07, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a,
- 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7b,
- 0x0a, 0x09, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x62,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0e,
- 0x61, 0x77, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31,
- 0x2e, 0x41, 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x52, 0x0c, 0x61,
- 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x22, 0x25, 0x0a, 0x08, 0x48,
- 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x5f,
- 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x73, 0x74, 0x55,
- 0x72, 0x6c, 0x22, 0x87, 0x02, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72,
- 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x61, 0x6c, 0x72, 0x65,
- 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x5f,
- 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x6f, 0x76, 0x65, 0x72,
- 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x6c, 0x72, 0x65,
- 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x53, 0x69, 0x6e,
- 0x6b, 0x12, 0x40, 0x0a, 0x1d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x69,
- 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
- 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x6e, 0x53,
- 0x69, 0x6e, 0x6b, 0x12, 0x57, 0x0a, 0x29, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41,
- 0x66, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x22, 0x99, 0x04, 0x0a,
- 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4c, 0x0a,
- 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0d, 0x67, 0x63,
- 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x61,
- 0x77, 0x73, 0x5f, 0x73, 0x33, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
- 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52,
- 0x0f, 0x61, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x12, 0x4f, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73,
- 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x48,
- 0x00, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69,
- 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41,
+ 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x22, 0x34, 0x0a, 0x10, 0x41, 0x7a, 0x75, 0x72,
+ 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x09,
+ 0x73, 0x61, 0x73, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x61, 0x73, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xe6,
+ 0x03, 0x0a, 0x10, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x12, 0x70, 0x0a, 0x28, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
+ 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61,
+ 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x23, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64,
+ 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x70, 0x0a, 0x28, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x69, 0x6d,
+ 0x65, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x23, 0x6d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6c, 0x61, 0x70, 0x73,
+ 0x65, 0x64, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75,
+ 0x64, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
+ 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72,
+ 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x4a, 0x0a,
+ 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x73,
+ 0x69, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69,
+ 0x66, 0x69, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x6c, 0x61, 0x73,
+ 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72,
+ 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
+ 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65,
+ 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x22, 0x43, 0x0a, 0x07, 0x47, 0x63, 0x73, 0x44, 0x61,
+ 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xb9, 0x01, 0x0a,
+ 0x09, 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x62, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65,
+ 0x12, 0x52, 0x0a, 0x0e, 0x61, 0x77, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b,
+ 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
- 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0b,
- 0x67, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x58, 0x0a, 0x11, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65,
+ 0x79, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x0c, 0x61, 0x77, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65,
+ 0x5f, 0x61, 0x72, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52,
+ 0x07, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x72, 0x6e, 0x22, 0xdd, 0x01, 0x0a, 0x14, 0x41, 0x7a, 0x75,
+ 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
+ 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x60, 0x0a, 0x11, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74,
+ 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64,
+ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, 0x52,
+ 0x10, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c,
+ 0x73, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61,
+ 0x69, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x2a, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x6c,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x73,
+ 0x74, 0x55, 0x72, 0x6c, 0x22, 0x87, 0x02, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x59, 0x0a, 0x2a, 0x6f, 0x76, 0x65, 0x72,
+ 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x61, 0x6c,
+ 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69,
+ 0x6e, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x25, 0x6f, 0x76,
+ 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x41, 0x6c,
+ 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x53,
+ 0x69, 0x6e, 0x6b, 0x12, 0x40, 0x0a, 0x1d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f,
+ 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49,
+ 0x6e, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x57, 0x0a, 0x29, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x24, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x41, 0x66, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x22, 0x90,
+ 0x05, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12,
+ 0x48, 0x0a, 0x0d, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
- 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
- 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x74, 0x72, 0x61,
- 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0d, 0x0a, 0x0b,
- 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x64,
- 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x22, 0xcf, 0x01, 0x0a, 0x08, 0x53, 0x63, 0x68,
- 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
- 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
- 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53,
- 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65,
- 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
- 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
- 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74,
- 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
- 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72,
- 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x22, 0xd6, 0x04, 0x0a, 0x0b, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20,
- 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12,
- 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65, 0x63,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0b, 0x67, 0x63,
+ 0x73, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x4c, 0x0a, 0x0f, 0x67, 0x63, 0x73,
+ 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+ 0x63, 0x73, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0d, 0x67, 0x63, 0x73, 0x44, 0x61, 0x74,
+ 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x61, 0x77, 0x73, 0x5f, 0x73,
+ 0x33, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x41, 0x77, 0x73, 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x61, 0x77, 0x73,
+ 0x53, 0x33, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x10,
+ 0x68, 0x74, 0x74, 0x70, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e,
- 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52,
- 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3f, 0x0a,
- 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65,
- 0x64, 0x75, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x45,
- 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,
- 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d,
- 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
- 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
- 0x6d, 0x70, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
- 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x6c,
- 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e,
- 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45,
- 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41,
- 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45,
- 0x44, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
- 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65,
- 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x0c,
- 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2f, 0x0a, 0x0a,
- 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f,
- 0x64, 0x65, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a,
- 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x03, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x54,
- 0x0a, 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72,
- 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
- 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74,
- 0x72, 0x69, 0x65, 0x73, 0x22, 0xf0, 0x07, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
- 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f,
- 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f,
- 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e,
- 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x1c, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c,
- 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f,
- 0x6e, 0x6c, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3a, 0x0a, 0x1a, 0x62,
- 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f,
- 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x16, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x46,
- 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x4b, 0x0a, 0x23, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73,
- 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f,
- 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x79,
- 0x53, 0x79, 0x6e, 0x63, 0x12, 0x47, 0x0a, 0x21, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x72,
- 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65,
- 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x1c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
- 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x33, 0x0a,
- 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f,
- 0x74, 0x6f, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x53, 0x69,
- 0x6e, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69,
- 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x54, 0x6f, 0x53,
- 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x0a, 0x1b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
- 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65,
- 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a,
- 0x19, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
- 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03,
- 0x52, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
- 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65,
- 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73,
- 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73,
- 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12,
- 0x3b, 0x0a, 0x1a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20,
- 0x01, 0x28, 0x03, 0x52, 0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x72, 0x6f, 0x6d,
- 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x18,
- 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15,
- 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
- 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x22, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73,
- 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74,
- 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x1d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
- 0x54, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b,
- 0x12, 0x45, 0x0a, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
- 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
- 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x62, 0x79, 0x74, 0x65,
- 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46,
- 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0x81, 0x05, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
+ 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0e, 0x68,
+ 0x74, 0x74, 0x70, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x75, 0x0a,
+ 0x1e, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76,
+ 0x31, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x42, 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x1a, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x42,
+ 0x6c, 0x6f, 0x62, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x10, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55,
+ 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65,
+ 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69,
+ 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x46,
+ 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x42, 0x03,
+ 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
+ 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
+ 0x44, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x45, 0x6e,
+ 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x12, 0x3d, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x64, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69,
+ 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xf9, 0x05, 0x0a, 0x0b,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x12, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
+ 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64,
0x12, 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x65,
- 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63,
- 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x39,
- 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
- 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64,
- 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
- 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65,
- 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61,
- 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53,
- 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a,
- 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x5e,
+ 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63,
+ 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x6e, 0x6f, 0x74, 0x69,
+ 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f,
+ 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68,
+ 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12,
+ 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e,
- 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52, 0x08, 0x63, 0x6f,
- 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
- 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72,
- 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72,
- 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x72,
- 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4a,
- 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
- 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50,
- 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55,
- 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53,
- 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0b,
- 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x42, 0xc5, 0x01, 0x0a, 0x23,
- 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x42, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70,
- 0x65, 0x73, 0x5a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
- 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0xf8, 0x01, 0x01, 0xaa,
- 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x56,
- 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64,
- 0x5c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72,
- 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x73, 0x66, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06,
+ 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c,
+ 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x16,
+ 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x6c,
+ 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x6c,
+ 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6c, 0x61, 0x74,
+ 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74,
+ 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x48, 0x0a,
+ 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55,
+ 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
+ 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08,
+ 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45,
+ 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x4b, 0x0a, 0x0d, 0x45, 0x72, 0x72, 0x6f, 0x72,
+ 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12,
+ 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
+ 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74,
+ 0x61, 0x69, 0x6c, 0x73, 0x22, 0xc0, 0x01, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75,
+ 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x34, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63,
+ 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02,
+ 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
+ 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x75, 0x6e,
+ 0x74, 0x12, 0x54, 0x0a, 0x11, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65,
+ 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f,
+ 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4c, 0x6f, 0x67,
+ 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xf0, 0x07, 0x0a, 0x10, 0x54, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x19,
+ 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72,
+ 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f,
+ 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x79, 0x74, 0x65, 0x73,
+ 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46,
+ 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3e,
+ 0x0a, 0x1c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f,
+ 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x6f, 0x75,
+ 0x6e, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3a,
+ 0x0a, 0x1a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6f, 0x6e,
+ 0x6c, 0x79, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x16, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x4f, 0x6e,
+ 0x6c, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x4b, 0x0a, 0x23, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6e,
+ 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73,
+ 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65,
+ 0x64, 0x42, 0x79, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x47, 0x0a, 0x21, 0x62, 0x79, 0x74, 0x65, 0x73,
+ 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6b, 0x69,
+ 0x70, 0x70, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x1c, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x79, 0x53, 0x79, 0x6e, 0x63,
+ 0x12, 0x33, 0x0a, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x70, 0x69,
+ 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x54,
+ 0x6f, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x2f, 0x0a, 0x14, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63,
+ 0x6f, 0x70, 0x69, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x11, 0x62, 0x79, 0x74, 0x65, 0x73, 0x43, 0x6f, 0x70, 0x69, 0x65, 0x64,
+ 0x54, 0x6f, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x3d, 0x0a, 0x1b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x62, 0x79, 0x74, 0x65, 0x73, 0x44,
+ 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x12, 0x39, 0x0a, 0x19, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0b, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x12, 0x35, 0x0a, 0x17, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f,
+ 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x62, 0x79,
+ 0x74, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69,
+ 0x6e, 0x6b, 0x12, 0x3b, 0x0a, 0x1a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x66, 0x72,
+ 0x6f, 0x6d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
+ 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46,
+ 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12,
+ 0x37, 0x0a, 0x18, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x15, 0x62, 0x79, 0x74, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x49, 0x0a, 0x22, 0x6f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x0f,
+ 0x20, 0x01, 0x28, 0x03, 0x52, 0x1d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x46, 0x61, 0x69,
+ 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53,
+ 0x69, 0x6e, 0x6b, 0x12, 0x45, 0x0a, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x61, 0x69,
+ 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x72,
+ 0x6f, 0x6d, 0x5f, 0x73, 0x69, 0x6e, 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1b, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x6f, 0x44, 0x65, 0x6c, 0x65,
+ 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x69, 0x6e, 0x6b, 0x22, 0xcd, 0x03, 0x0a, 0x12, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69,
+ 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x75,
+ 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x58, 0x0a, 0x0b, 0x65, 0x76, 0x65,
+ 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x37,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x76,
+ 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x66,
+ 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f,
+ 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70,
+ 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x86, 0x01, 0x0a,
+ 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x56,
+ 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46,
+ 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x55, 0x43,
+ 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46,
+ 0x45, 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49,
+ 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45,
+ 0x52, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x42, 0x4f, 0x52,
+ 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x43, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
+ 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41,
+ 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01,
+ 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0xed, 0x05, 0x0a, 0x11, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f,
+ 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53,
+ 0x70, 0x65, 0x63, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x53, 0x70, 0x65,
+ 0x63, 0x12, 0x5e, 0x0a, 0x13, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x74,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x6e,
+ 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08,
+ 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54,
+ 0x69, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x12, 0x47, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x54,
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x52,
+ 0x08, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x65, 0x72, 0x72,
+ 0x6f, 0x72, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x18, 0x08, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x12, 0x2a, 0x0a,
+ 0x11, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66,
+ 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6f, 0x0a, 0x06, 0x53, 0x74, 0x61,
+ 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e,
+ 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49,
+ 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06,
+ 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43,
+ 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10,
+ 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0a,
+ 0x0a, 0x06, 0x51, 0x55, 0x45, 0x55, 0x45, 0x44, 0x10, 0x06, 0x42, 0xea, 0x01, 0x0a, 0x23, 0x63,
+ 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x42, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x5a, 0x48, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
+ 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0xf8, 0x01, 0x01, 0xaa, 0x02,
+ 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x53, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x2e, 0x56, 0x31,
+ 0xca, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5c,
+ 0x56, 0x31, 0xea, 0x02, 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f,
+ 0x75, 0x64, 0x3a, 0x3a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73,
+ 0x66, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1793,63 +2520,78 @@
return file_google_storagetransfer_v1_transfer_types_proto_rawDescData
}
-var file_google_storagetransfer_v1_transfer_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
-var file_google_storagetransfer_v1_transfer_types_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
+var file_google_storagetransfer_v1_transfer_types_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_google_storagetransfer_v1_transfer_types_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_google_storagetransfer_v1_transfer_types_proto_goTypes = []interface{}{
- (TransferJob_Status)(0), // 0: google.storagetransfer.v1.TransferJob.Status
- (TransferOperation_Status)(0), // 1: google.storagetransfer.v1.TransferOperation.Status
- (*GoogleServiceAccount)(nil), // 2: google.storagetransfer.v1.GoogleServiceAccount
- (*AwsAccessKey)(nil), // 3: google.storagetransfer.v1.AwsAccessKey
- (*ObjectConditions)(nil), // 4: google.storagetransfer.v1.ObjectConditions
- (*GcsData)(nil), // 5: google.storagetransfer.v1.GcsData
- (*AwsS3Data)(nil), // 6: google.storagetransfer.v1.AwsS3Data
- (*HttpData)(nil), // 7: google.storagetransfer.v1.HttpData
- (*TransferOptions)(nil), // 8: google.storagetransfer.v1.TransferOptions
- (*TransferSpec)(nil), // 9: google.storagetransfer.v1.TransferSpec
- (*Schedule)(nil), // 10: google.storagetransfer.v1.Schedule
- (*TransferJob)(nil), // 11: google.storagetransfer.v1.TransferJob
- (*ErrorLogEntry)(nil), // 12: google.storagetransfer.v1.ErrorLogEntry
- (*ErrorSummary)(nil), // 13: google.storagetransfer.v1.ErrorSummary
- (*TransferCounters)(nil), // 14: google.storagetransfer.v1.TransferCounters
- (*TransferOperation)(nil), // 15: google.storagetransfer.v1.TransferOperation
- (*durationpb.Duration)(nil), // 16: google.protobuf.Duration
- (*date.Date)(nil), // 17: google.type.Date
- (*timeofday.TimeOfDay)(nil), // 18: google.type.TimeOfDay
- (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp
- (code.Code)(0), // 20: google.rpc.Code
+ (TransferJob_Status)(0), // 0: google.storagetransfer.v1.TransferJob.Status
+ (NotificationConfig_EventType)(0), // 1: google.storagetransfer.v1.NotificationConfig.EventType
+ (NotificationConfig_PayloadFormat)(0), // 2: google.storagetransfer.v1.NotificationConfig.PayloadFormat
+ (TransferOperation_Status)(0), // 3: google.storagetransfer.v1.TransferOperation.Status
+ (*GoogleServiceAccount)(nil), // 4: google.storagetransfer.v1.GoogleServiceAccount
+ (*AwsAccessKey)(nil), // 5: google.storagetransfer.v1.AwsAccessKey
+ (*AzureCredentials)(nil), // 6: google.storagetransfer.v1.AzureCredentials
+ (*ObjectConditions)(nil), // 7: google.storagetransfer.v1.ObjectConditions
+ (*GcsData)(nil), // 8: google.storagetransfer.v1.GcsData
+ (*AwsS3Data)(nil), // 9: google.storagetransfer.v1.AwsS3Data
+ (*AzureBlobStorageData)(nil), // 10: google.storagetransfer.v1.AzureBlobStorageData
+ (*HttpData)(nil), // 11: google.storagetransfer.v1.HttpData
+ (*TransferOptions)(nil), // 12: google.storagetransfer.v1.TransferOptions
+ (*TransferSpec)(nil), // 13: google.storagetransfer.v1.TransferSpec
+ (*Schedule)(nil), // 14: google.storagetransfer.v1.Schedule
+ (*TransferJob)(nil), // 15: google.storagetransfer.v1.TransferJob
+ (*ErrorLogEntry)(nil), // 16: google.storagetransfer.v1.ErrorLogEntry
+ (*ErrorSummary)(nil), // 17: google.storagetransfer.v1.ErrorSummary
+ (*TransferCounters)(nil), // 18: google.storagetransfer.v1.TransferCounters
+ (*NotificationConfig)(nil), // 19: google.storagetransfer.v1.NotificationConfig
+ (*TransferOperation)(nil), // 20: google.storagetransfer.v1.TransferOperation
+ (*durationpb.Duration)(nil), // 21: google.protobuf.Duration
+ (*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp
+ (*date.Date)(nil), // 23: google.type.Date
+ (*timeofday.TimeOfDay)(nil), // 24: google.type.TimeOfDay
+ (code.Code)(0), // 25: google.rpc.Code
}
var file_google_storagetransfer_v1_transfer_types_proto_depIdxs = []int32{
- 16, // 0: google.storagetransfer.v1.ObjectConditions.min_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration
- 16, // 1: google.storagetransfer.v1.ObjectConditions.max_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration
- 3, // 2: google.storagetransfer.v1.AwsS3Data.aws_access_key:type_name -> google.storagetransfer.v1.AwsAccessKey
- 5, // 3: google.storagetransfer.v1.TransferSpec.gcs_data_source:type_name -> google.storagetransfer.v1.GcsData
- 6, // 4: google.storagetransfer.v1.TransferSpec.aws_s3_data_source:type_name -> google.storagetransfer.v1.AwsS3Data
- 7, // 5: google.storagetransfer.v1.TransferSpec.http_data_source:type_name -> google.storagetransfer.v1.HttpData
- 5, // 6: google.storagetransfer.v1.TransferSpec.gcs_data_sink:type_name -> google.storagetransfer.v1.GcsData
- 4, // 7: google.storagetransfer.v1.TransferSpec.object_conditions:type_name -> google.storagetransfer.v1.ObjectConditions
- 8, // 8: google.storagetransfer.v1.TransferSpec.transfer_options:type_name -> google.storagetransfer.v1.TransferOptions
- 17, // 9: google.storagetransfer.v1.Schedule.schedule_start_date:type_name -> google.type.Date
- 17, // 10: google.storagetransfer.v1.Schedule.schedule_end_date:type_name -> google.type.Date
- 18, // 11: google.storagetransfer.v1.Schedule.start_time_of_day:type_name -> google.type.TimeOfDay
- 9, // 12: google.storagetransfer.v1.TransferJob.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec
- 10, // 13: google.storagetransfer.v1.TransferJob.schedule:type_name -> google.storagetransfer.v1.Schedule
- 0, // 14: google.storagetransfer.v1.TransferJob.status:type_name -> google.storagetransfer.v1.TransferJob.Status
- 19, // 15: google.storagetransfer.v1.TransferJob.creation_time:type_name -> google.protobuf.Timestamp
- 19, // 16: google.storagetransfer.v1.TransferJob.last_modification_time:type_name -> google.protobuf.Timestamp
- 19, // 17: google.storagetransfer.v1.TransferJob.deletion_time:type_name -> google.protobuf.Timestamp
- 20, // 18: google.storagetransfer.v1.ErrorSummary.error_code:type_name -> google.rpc.Code
- 12, // 19: google.storagetransfer.v1.ErrorSummary.error_log_entries:type_name -> google.storagetransfer.v1.ErrorLogEntry
- 9, // 20: google.storagetransfer.v1.TransferOperation.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec
- 19, // 21: google.storagetransfer.v1.TransferOperation.start_time:type_name -> google.protobuf.Timestamp
- 19, // 22: google.storagetransfer.v1.TransferOperation.end_time:type_name -> google.protobuf.Timestamp
- 1, // 23: google.storagetransfer.v1.TransferOperation.status:type_name -> google.storagetransfer.v1.TransferOperation.Status
- 14, // 24: google.storagetransfer.v1.TransferOperation.counters:type_name -> google.storagetransfer.v1.TransferCounters
- 13, // 25: google.storagetransfer.v1.TransferOperation.error_breakdowns:type_name -> google.storagetransfer.v1.ErrorSummary
- 26, // [26:26] is the sub-list for method output_type
- 26, // [26:26] is the sub-list for method input_type
- 26, // [26:26] is the sub-list for extension type_name
- 26, // [26:26] is the sub-list for extension extendee
- 0, // [0:26] is the sub-list for field type_name
+ 21, // 0: google.storagetransfer.v1.ObjectConditions.min_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration
+ 21, // 1: google.storagetransfer.v1.ObjectConditions.max_time_elapsed_since_last_modification:type_name -> google.protobuf.Duration
+ 22, // 2: google.storagetransfer.v1.ObjectConditions.last_modified_since:type_name -> google.protobuf.Timestamp
+ 22, // 3: google.storagetransfer.v1.ObjectConditions.last_modified_before:type_name -> google.protobuf.Timestamp
+ 5, // 4: google.storagetransfer.v1.AwsS3Data.aws_access_key:type_name -> google.storagetransfer.v1.AwsAccessKey
+ 6, // 5: google.storagetransfer.v1.AzureBlobStorageData.azure_credentials:type_name -> google.storagetransfer.v1.AzureCredentials
+ 8, // 6: google.storagetransfer.v1.TransferSpec.gcs_data_sink:type_name -> google.storagetransfer.v1.GcsData
+ 8, // 7: google.storagetransfer.v1.TransferSpec.gcs_data_source:type_name -> google.storagetransfer.v1.GcsData
+ 9, // 8: google.storagetransfer.v1.TransferSpec.aws_s3_data_source:type_name -> google.storagetransfer.v1.AwsS3Data
+ 11, // 9: google.storagetransfer.v1.TransferSpec.http_data_source:type_name -> google.storagetransfer.v1.HttpData
+ 10, // 10: google.storagetransfer.v1.TransferSpec.azure_blob_storage_data_source:type_name -> google.storagetransfer.v1.AzureBlobStorageData
+ 7, // 11: google.storagetransfer.v1.TransferSpec.object_conditions:type_name -> google.storagetransfer.v1.ObjectConditions
+ 12, // 12: google.storagetransfer.v1.TransferSpec.transfer_options:type_name -> google.storagetransfer.v1.TransferOptions
+ 23, // 13: google.storagetransfer.v1.Schedule.schedule_start_date:type_name -> google.type.Date
+ 23, // 14: google.storagetransfer.v1.Schedule.schedule_end_date:type_name -> google.type.Date
+ 24, // 15: google.storagetransfer.v1.Schedule.start_time_of_day:type_name -> google.type.TimeOfDay
+ 24, // 16: google.storagetransfer.v1.Schedule.end_time_of_day:type_name -> google.type.TimeOfDay
+ 21, // 17: google.storagetransfer.v1.Schedule.repeat_interval:type_name -> google.protobuf.Duration
+ 13, // 18: google.storagetransfer.v1.TransferJob.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec
+ 19, // 19: google.storagetransfer.v1.TransferJob.notification_config:type_name -> google.storagetransfer.v1.NotificationConfig
+ 14, // 20: google.storagetransfer.v1.TransferJob.schedule:type_name -> google.storagetransfer.v1.Schedule
+ 0, // 21: google.storagetransfer.v1.TransferJob.status:type_name -> google.storagetransfer.v1.TransferJob.Status
+ 22, // 22: google.storagetransfer.v1.TransferJob.creation_time:type_name -> google.protobuf.Timestamp
+ 22, // 23: google.storagetransfer.v1.TransferJob.last_modification_time:type_name -> google.protobuf.Timestamp
+ 22, // 24: google.storagetransfer.v1.TransferJob.deletion_time:type_name -> google.protobuf.Timestamp
+ 25, // 25: google.storagetransfer.v1.ErrorSummary.error_code:type_name -> google.rpc.Code
+ 16, // 26: google.storagetransfer.v1.ErrorSummary.error_log_entries:type_name -> google.storagetransfer.v1.ErrorLogEntry
+ 1, // 27: google.storagetransfer.v1.NotificationConfig.event_types:type_name -> google.storagetransfer.v1.NotificationConfig.EventType
+ 2, // 28: google.storagetransfer.v1.NotificationConfig.payload_format:type_name -> google.storagetransfer.v1.NotificationConfig.PayloadFormat
+ 13, // 29: google.storagetransfer.v1.TransferOperation.transfer_spec:type_name -> google.storagetransfer.v1.TransferSpec
+ 19, // 30: google.storagetransfer.v1.TransferOperation.notification_config:type_name -> google.storagetransfer.v1.NotificationConfig
+ 22, // 31: google.storagetransfer.v1.TransferOperation.start_time:type_name -> google.protobuf.Timestamp
+ 22, // 32: google.storagetransfer.v1.TransferOperation.end_time:type_name -> google.protobuf.Timestamp
+ 3, // 33: google.storagetransfer.v1.TransferOperation.status:type_name -> google.storagetransfer.v1.TransferOperation.Status
+ 18, // 34: google.storagetransfer.v1.TransferOperation.counters:type_name -> google.storagetransfer.v1.TransferCounters
+ 17, // 35: google.storagetransfer.v1.TransferOperation.error_breakdowns:type_name -> google.storagetransfer.v1.ErrorSummary
+ 36, // [36:36] is the sub-list for method output_type
+ 36, // [36:36] is the sub-list for method input_type
+ 36, // [36:36] is the sub-list for extension type_name
+ 36, // [36:36] is the sub-list for extension extendee
+ 0, // [0:36] is the sub-list for field type_name
}
func init() { file_google_storagetransfer_v1_transfer_types_proto_init() }
@@ -1883,7 +2625,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ObjectConditions); i {
+ switch v := v.(*AzureCredentials); i {
case 0:
return &v.state
case 1:
@@ -1895,7 +2637,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GcsData); i {
+ switch v := v.(*ObjectConditions); i {
case 0:
return &v.state
case 1:
@@ -1907,7 +2649,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*AwsS3Data); i {
+ switch v := v.(*GcsData); i {
case 0:
return &v.state
case 1:
@@ -1919,7 +2661,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*HttpData); i {
+ switch v := v.(*AwsS3Data); i {
case 0:
return &v.state
case 1:
@@ -1931,7 +2673,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TransferOptions); i {
+ switch v := v.(*AzureBlobStorageData); i {
case 0:
return &v.state
case 1:
@@ -1943,7 +2685,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TransferSpec); i {
+ switch v := v.(*HttpData); i {
case 0:
return &v.state
case 1:
@@ -1955,7 +2697,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Schedule); i {
+ switch v := v.(*TransferOptions); i {
case 0:
return &v.state
case 1:
@@ -1967,7 +2709,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TransferJob); i {
+ switch v := v.(*TransferSpec); i {
case 0:
return &v.state
case 1:
@@ -1979,7 +2721,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ErrorLogEntry); i {
+ switch v := v.(*Schedule); i {
case 0:
return &v.state
case 1:
@@ -1991,7 +2733,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ErrorSummary); i {
+ switch v := v.(*TransferJob); i {
case 0:
return &v.state
case 1:
@@ -2003,7 +2745,7 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*TransferCounters); i {
+ switch v := v.(*ErrorLogEntry); i {
case 0:
return &v.state
case 1:
@@ -2015,6 +2757,42 @@
}
}
file_google_storagetransfer_v1_transfer_types_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ErrorSummary); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storagetransfer_v1_transfer_types_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*TransferCounters); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storagetransfer_v1_transfer_types_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*NotificationConfig); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storagetransfer_v1_transfer_types_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TransferOperation); i {
case 0:
return &v.state
@@ -2027,19 +2805,20 @@
}
}
}
- file_google_storagetransfer_v1_transfer_types_proto_msgTypes[7].OneofWrappers = []interface{}{
+ file_google_storagetransfer_v1_transfer_types_proto_msgTypes[9].OneofWrappers = []interface{}{
+ (*TransferSpec_GcsDataSink)(nil),
(*TransferSpec_GcsDataSource)(nil),
(*TransferSpec_AwsS3DataSource)(nil),
(*TransferSpec_HttpDataSource)(nil),
- (*TransferSpec_GcsDataSink)(nil),
+ (*TransferSpec_AzureBlobStorageDataSource)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_storagetransfer_v1_transfer_types_proto_rawDesc,
- NumEnums: 2,
- NumMessages: 14,
+ NumEnums: 4,
+ NumMessages: 17,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/regen.txt b/regen.txt
index 652d89d..a204dcc 100644
--- a/regen.txt
+++ b/regen.txt
@@ -1 +1 @@
-70e4a5b60914de1724c6fceb45a1588defe3e553
\ No newline at end of file
+3859723d77717f5082e78b4b0565c6d08b3eedfe
\ No newline at end of file